The complexity paradox: An analysis of modeling education through the lens of complexity science
Abstract
Modeling seeks to tame complexity during software development, by supporting design, analysis, and stakeholder communication. Paradoxically, experiences made by educators indicate that students often perceive modeling as adding complexity, instead of reducing it. In this position paper, I analyse modeling education from the lens of complexity science, a theoretical framework for the study of complex systems. I revisit pedagogical literature where complexity science has been used as a framework for general education and subject-specific education in disciplines such as medicine, project management, and sustainability. I revisit complexity-related challenges from modeling education literature, discuss them in the light of complexity and present recommendations for taming complexity when teaching modeling.
I Introduction
Modern software is inherently complex: it typically needs to address a huge variety of interactions with users, hardware devices, physical application contexts, and other software systems, typically in highly dynamic and continuously changing real-world environments. As a tool to deal with complexity during software development, companies rely on modeling. Brook’s famous essay on essential and accidental complexity [1] offers a framework for motivating the use of models, as a tool that abstracts from the accidental complexity involved in low-level programming, and allows developers to focus on the unavoidable, essential complexity of the problem at hand.
Paradoxically, experiences in software engineering education indicate that students often perceive modeling as adding, instead of removing, complexity during software development, and struggle with the associated challenges [2]. Modeling is usually taught in undergraduate courses, either in dedicated courses on software design, or as a section in broader introductory courses on software engineering. In these courses, students typically engage with small modeling tasks. In such contexts, explicitly designing software systems in a new language presents a radical departure from the programming activities that students are familiar with, and students often struggle with using dedicated tools that they perceive as complex and not particularly user-friendly.
In this position paper, I analyse modeling education from the lens of the theoretical framework of complexity science [3, 4]. Complexity science is involved with the study of systems that are highly dynamic, uncertain and non-linear in nature. It has previously been used as a framework to problematize and suggest improvements to educational practice, both in general [3, 4] and subject-specific education [5, 6, 7]. As such, complexity science provides a vocabulary that allows exploring connections between challenges in modeling education and the previous pedagogical literature, and drawing inspiration from other disciplines’ ways of dealing with complexity. I provide an overview of background in this direction in Sect. II.
To analyse complexity-related challenges in modeling education, I apply a lens of interpretation based on the distinction of two mindsets—an analytical one and a complexivist one–, lifted from educational literature. I motivate and explain this approach in Sect. III. Through this lens of interpretation, in Sect. IV, I revisit recurring challenges reported in modeling education literature and discuss them in the light of complexity science, with a focus on misalignments between analytical-mindset teaching practices and the complex situations that students will encounter in practice, which require a complexitivist mindset. To address the identified challenges, in Sect. V, I present recommendations for addressing complexity.
II Background
I now revisit complexity science and its use as a framework for discussing education. In particular, I describe how complexity science has previously been employed as a framework for problematizing aspects of higher education.
Complexity science [8, 9, 10] deals with systems that are dynamic, uncertain and non-linear, the so-called complex systems. Complex systems have several qualities that make them particularly complicated. They are usually made up by independent actors who show some sense of self-organization. The behavior of the constituent actors leads to phenomena of emergence: observations that cannot be explained only by the behavior of individual constituent elements. The actors in such systems are defined by their relationships, where short-range relationships are vital for determining the system’s overall behavior. The structure of a complex system continuously evolves, which allows it learn over time, especially to respond to pertubations (e.g., disruptions, stress).
Complexity as a framework for explaining education. Davis and Sumara have presented a positioning of complexity science as a theory for education [3, 4]. Their positioning challenges traditional views on education that emphasize dichotomies, e.g., viewing knowledge and knowers as entities that exist independently from each other, which they contrast with the notion of simultaneity, referring to phenomena that exist or operate at the same time. In this context, they emphasize the view of the classroom as a complex learning system which brings forward knowledge as an emergent phenomenon, arising from teachers and learners in their unique context, including personal, societal, cultural, and ecological levels.
From their theoretical framework, Davis and Sumara derive consequences for teaching methods. A key distinction is between two mindsets, the analytical and the complexivist one [11]. The analytical mindset, which is advocated by traditional teaching methods, is focused on linear, analytical knowledge, teaching students skills that are suited for systems of limited complexity. A key tenet of the analytical mindset is reductionism, which seeks to remove complications from the analysis of situations to reduce them to the essential elements. A criticism is that this mindset might not be adequate to prepare students to real-world situations, in which they are faced with the complications inherent to complex systems. To foster the capacity for dealing with complexity, they propose to engage with learning activities that are conducive to a mindset that embraces complexity, a so-called complexivist mindset.
Using complexity science to guide the design of learning activities. The abovementioned educational framework has inspired contributions that apply complexity science to develop learning activities in specific disciplines. I now discuss selected examples from four disciplines.
In computing education, Fabricatore et al. [12] adopted a complexity-science-based teaching strategy in a game design course. Towards the course goal of developing a game for a museum, the course included three project milestones, project workshops, lectures, and formative tasks. The course was designed in an adaptive way, by considering the emerging evidence as the course was given. Applied complexity principles included decentralised control and self-organisation within teams, frequent and unexpected perturbations (in the form of consultant feedback) triggering adaptive dynamics, selection of course contents based on external, contextual factors, and iterative, incremental teaching applying concepts at increasing levels of depth and complexity.
In medical education, educators need to prepare students for multi-faceted clinical situations with complicating factors such as time pressure, sensitive human aspects, and ethical dilemmas. Gormley and Fenwick present a ward-based simulation exercise [5], in which students interact with actors during a realistic ward situation. The situation is made increasingly more complex, to include aspects of inappropriate patient and colleague behavior, and life-and-death-related decision making. Data collected during a run of the simulation allowed the uncovering of complexity-related patterns. They derive a set of strategies for managing complexity, namely: taking time to size up the system; attuning to what emerges; reducing complexity; boundary practices; and working with uncertainty.
Project management education has traditionally been informed by professional standards such as PMBOK and APM, describing formalized, context-independent processes [6]. To better prepare project managers for complex projects with sudden changes, disruptions and interpersonal challenges, Thomas and Mengel propose a re-shift of project manager education towards the development of “emotionally and spiritually intelligent” project leaders, who comfortably navigate complex systems in the transition between a stable and a perturbed state [6]. They suggest project-based learning modes that take complexity science seriously, fostering an ability to adapt to change and to develop new approaches on the fly.
In sustainability education, it has been long recognized that sustainability problems are wicked problems [7] that cannot be addressed in terms of isolated factors, as they typically involve an interplay of complex societal and ecological circumstances. Complexity science offers mathematical methods for describing complex phenomena that can be used to support an explicit analysis of such factors in educational activities. Weber et al. [7] report on a workshop in which participants from diverse backgrounds were prompted to prepare graph-based system representations of a selected sustainability problem, which were then discussed in-plenum. Feedback indicates that the activity furthered the participants’ interdisciplinary thinking.
III Lens of interpretation
In this paper, I apply a complexity-science-based lens of interpretation to discuss and inform the design of learning activities in modeling education. This lens comprises two basic tenets that build on the conception of analytical and complexitivist mindsets [11], as introduced earlier: Methodologically, this approach is inspired by model papers [13], a type of conceptual article that summarizes arguments about a focal construct as a set of logical statements, in this case, the tenets.
1. Several of the major challenges in modeling education arise from a misalignment of mindsets: At the time that students first engage with modeling, their previous education has guided them to develop an analytical mindset. In contrast, problems of a type in which modeling becomes beneficial require the adoption of a complexivist mindset. 2. Learning activities in modeling education should facilitate a shift between these mindsets. To that end, they should be explicitly designed with complexity in mind.
Before taking a modeling course, students have typically participated in first-year programming courses, potentially in addition to high-school courses and hobby projects, where they dealt with problems that were linear in nature, facilitating the adoption of an analytical mindset. Such problems have several key commonalities: First, they can be solved entirely by an reductionist approach, in which the overall problem is reduced to several smaller, sub-problems (the “divide and conquer” paradigm; see the standard examples in programming courses, such as searching and sorting). Second, these problems grow linearly in size, in terms of the number of entities in the system. For example, adding a filter in a “pipes and filter” architecture requires adding code at one specific location in the overall codebase, instead of modifications at many places. Third, problems are specified in a clearly delineated “box” (input and output specifications of an algorithm), abstracting away from real-world intricacies, and their inherent uncertainty. For such basic problems, students are well-prepared with the contents of first-year programming courses.
In contrast, the nature of complex real-world problems that software deals with, in which modeling unfolds its potential, require a complexivist mindset [11] to cope with complexity. Complexity arises because software systems are deployed to the real world, and as such, are prone to changes, require to make decisions in a certain context, might be affected by uncertainty, and involve people in various roles, who may or may not have shared understandings, perspectives, and interests. Drawing a parallel to recent developments in other disciplines affected by such factors (discussed in Sect. II), I make a case that modeling education could greatly benefit from a mindset shift: To support the development of a mindset that prepares students for complexity, we need learning activities that explicitly take aspects of complex systems into account.
IV Discussing challenges in modeling education
I now revisit recurring reported challenges retrieved from field-specific literature and discuss them from the chosen lens of interpretation. The focus of this section is on a problem analysis, before describing solutions in the next section.
Unclear added value. Modeling is a design activity [14]: it produces an artifact that is not yet a fully worked-out solution, but provides the design for one. Developing an actual, full solution from a model involves writing a certain, potentially large amount of software code. While advanced tools (especially in MDE [15]) allow automating some of the programming via code generation, there typically remains a large portion of code to be written by developers.
Students often question the added value of models [16] as an additional artifact that takes effort to be created and maintained. We can apply our interpretative lens to analyse this concern, which seems particularly justified in an analytical mindset: There is no essential reason why models are required for building a software system. The system itself consists of code that provides the required functionality. A complexivist mindset acknowledges the effort invested into modeling, but, in turn, draws attention to the effort that is saved from the use of models, in the context of realistic development settings: Communication problems, misunderstandings and design flaws can be discovered early, before the system is built, which can help avoid significantly greater effort and time for fixing problems after the system has been built. To support development of this mindset, educational activities should be designed in a way that makes it likely for students to encounter situations that allow them to appreciate the advantages of modeling, e.g., in terms of saved effort.
Understanding abstraction. Abstraction is an inherent principle of modeling: To support analysis and design, models are created on an higher abstraction level than code, focusing on aspects of interest while intentionally removing details currently deemed outside of interest. For example, a UML sequence diagram focuses on the interaction of external actors and system components in terms of message exchanges, while abstracting away from all questions of how the components come up with the messages they send to the outside world.
Students regularly struggle with abstraction, and, consequently, deem modeling as too far away from programming [2, 15]. These observations can be explained with the analytical-mindset-oriented tasks and problems that students consider in their pre-modeling education: small-scale programming problems do not evoke a need for abstraction; it is sufficient to have a fully-worked out solution with all details in one place. In fairness, such problems and the associated mindsets are adequate for their educational purpose: for the “first steps” into computing, it is effective to deal with simple problems, which encourage a mindset focused on solving such problems. Yet, at some point, students need to deal with the complexity of real-world software. In a complevixist mindset, abstraction is a necessary means to that end: The behavior of a system arises from the interaction of its components. In the crucial notion of levels of emergence [3], phenomena need to be understood at the level of their emergence, and cannot be understood in terms of lower-level, more detailed activities. For modeling education, this implies that, for students to understand the need for abstraction, we need to expose them to problems that cannot be solved without it.
Putting things in context. Since modeling involves the use of modeling languages, learning to model also entails learning a new language. As such, there is a tendency in courses to put an emphasis on understanding particular languages and associated tools. For example, the typical first modeling language that students encounter is UML [17]. Much effort in such courses is invested into learning to use the language, typically by building small examples illustrating the main concepts.
With the focus on modeling languages, there is a tendency in courses to lack guidance regarding the context in which modeling is performed, specifically: the problems that modeling tries to solve, the scope within the real world in which these problems occur, and the positioning of modeling in the development process [16]. In an analytical mindset, it is tempting to view this as a non-issue. Following the reductionist approach, problems are given in the form of an exact specification and problem solving entails splitting the problem in smaller sub-problems, solving each sub-problem independently, by using available problem-solving tools. A complexivist mindset acknowledges the importance of learning in context. Software addresses particular problems whose exact formulation my not be clear to begin with, and different involved actors, including the potential users, could have disagreeing views and interests in the solution. Solving it might require deep understanding of the application domain, which might not necessary be one in which the developer has expertise in. A complexivist mindset naturally encourages the use of project-based learning [18], which provides opportunities to understand a phenomenon in a rich, realistic context.
Tool-related challenges. Modeling education typically encourages the use of industry-grade modeling tools [16]. Arguably, using the same tools as professionals contributes to authenticity and allows students to benefit from useful features. In addition, students can benefit from useful tool functionality, either directly (e.g., support for layouting and automated feedback through validity checks) or in the long run (e.g., collaboration and versioning support).
However, students struggle with available modeling tools [15, 19, 16]. Their learning experience is affected by the perceived complexity and lack of user-friendliness in these tools, leading to decreased motivation. From an analytical mindset, it is tempting to discourage the use of realistic tools in the first place: as a problem-solving device, it would be equally valid to create models using PowerPoint or on paper; factors that add accidental complexity [1] could be seen as noise and should be discouraged in education. From a complexitivist mindset, using authentic tools seems generally welcome, as it allows students to explore modeling in a realistic context, with all of the associated benefits and drawbacks. However, the degree of realism needs to be managed, mirroring some concerns that the influence of allowing unrestricted complexity in education might not necessarily be positive [20]. It is the teacher’s responsibility to ensure that accidental tool issues do not get in the way with learning and forming a deeper understanding. This theme bears a connection to the issue of facilitating independent problem solving when learning under guidance, which is explored in Vygotsky’s idea of the Zone of Proximal Development, and the notion of scaffolding [21].
V Recommendations
I now present recommendations to address complexity in modeling education. As put forward in Section III, their underlying principle is to facilitate the adoption of a complexivist mindset, preparing the students for complex problems they will encounter in the real world, and explaining the role of modeling as a tool in this context. Where I draw from cases from other disciplines, I reference them accordingly.
Taking time to size up the system is a recommendation lifted from Gormley and Fenwick [5], who observed that students performed better and were less prone to distractions when they took time to familiarize themselves with the environment before the exercise. In modeling education, sources of complexity are tools, application domains, and the addressed problems. Teachers can minimize the detrimental impact of accidental complexity inherent to tools by providing high-quality tutorials, which allows students to build a solid mental model for the tools during their first steps of using them. In addition, for the considered application domain, they should provide students with domain expertise in a high-quality form, through descriptive text and media, as well as access to domain experts. Teachers can support students during this process by dedicated tasks for exploring the tools and application domain, and by starting with simple, tutorial-like problems before moving to more ambitious ones (see the following item).
Iterative and incremental teaching is based on a practice by Fabricatore and López [12], who apply a spiral process for studying concepts and frameworks at increasing level of depth, allowing understanding to increasingly deepen. This advice transfers to modeling education in a direct way, given the complex nature of modeling languages of tools. Educators should be mindful about the use of industry-grade languages and tools in beginner-level education. When expected to work with them, students should be provided with clear usage explanations, possibly by pointing them to the particular parts of the tools to be used in assignments (usually a small subset). Considering learnability- and usability-oriented languages [22, 23], or tools with a beginner mode (e.g., MagicDraw) is a viable alternative. Tasks should be chosen in such a way that they naturally increase over time in difficulty and required expertise level.
Offering a rich, realistic learning scenario to enhance authenticity is a common theme in the considered studies, e.g., dealing with patient behavior [5], having a real stakeholder [12], or emulating realistic projects [6]. In modeling education, the associated advice is to move from toy examples to realistic scenarios in meaningful application domains. To be able to give meaningful task descriptions and feedback, the lecturer should either be an expert (e.g., from developing relevant applications [24]) or have access to experts in the application domain, possibly in the form of an actual stakeholder. Of interest are scenarios that span multiple disciplines, mirroring Fabricatore and Lopez’ advice to foster the emergence of specialisation [12]. An example domain is robotics [25], which combines expertise from hardware, physics, navigation, and planning. Choosing the right scenario requires deliberate navigation to reach an appropriate amount of complexity. Replicating the full complexity of modern software systems in a typical university setting is, arguably infeasible, due to resource constraints and limited knowledge of educators and students [26]. Still, the cases from other disciplines discussed before suggest that a “sweet spot” between toy problems and full-fledged real-world complexity is attainable.
Perturbations triggering adaptive dynamics is based on a recommendation from Fabricatore and López [12], who used consultant feedback and evaluations as a means to expose game design students to frequent and often unexpected pertubations, which required the groups to adapt. In the case of modeling education, this strategy seems useful as well for exposing students to the intricateness of real-world software projects, where requirements can be vague and, especially in the case of agile development [27], subject to frequent changes. Pertubations could come from simulated stakeholders, who repeatedly change their needs, or changes between successive assignments. Descriptions can contain deliberately vagueness and contradictions that become apparent during modeling. Planned pertubations require a certain degree of moderation, as students may feel cheated when they are faced with changing assignments in an educational context. At the same time, there is a risk of overexplaining. I recommend to have several general disclaimers in course materials and early course meetings that the coursework might involve changing and unclear requirements, explaining the educational purpose.
Planned non-linearity, a new recommendation informed by the very definition of complex systems, acknowledges that complex software is non-linear. Non-linearity arises when new features are developed that can potentially interact with all other existing features, leading to the so-called feature interactions [28]. Another source of non-linearity are feedback loops in software with machine learning components [29], in which decisions made by a machine learning model can influence the system’s outcomes and leak into newly included training data, eventually leading to unintentional amplification of signals from the initial training data. Including sources of non-linearity in problem descriptions leads to complex programming problems, where models can help students to gain awareness and a better understanding of interactions and feedback loops, for example, by visualizing dependencies in component diagrams.
VI Conclusion
Studying the educational practice from other disciplines can be insightful to inform the teaching of modeling. The most important direction for future work is to study the impact of complexity in modeling education empirically.
I revisited recurring challenges in modeling education from the lens of complexity science, and offered recommendations for improved teaching practices. Drawing from complexity-science-inspired strategies in the educational practice of four other disciplines, I presented five recommendations with the common goal of supporting the adoption of a complexivist mindsets by students.
A future work, first, I envision an a empirical study of the usefulness of the proposed recommendations, studying short-term implications on course outcomes, and long-term effects based on feedback from students who moved on to developer roles. Second, a more comprehensive study of complexity-science-based teaching practices in various disciplines and their potential impact to modeling education.
Acknowledgement
The author wishes to thank the teachers and participants from Gothenburg University’s course Teaching and Learning in Higher Education 3: Applied Analysis (PIL103), especially Janna Meyer-Beining, for high-quality feedback and insightful discussions on previous versions of this article.
References
- [1] F. Brooks, “No silver bullet: essence and accidents in software engineering,” IEEE Computer, vol. 20, no. 4, pp. 10–19, 1987.
- [2] P. Brosch, G. Kappel, M. Seidl, and M. Wimmer, “Teaching model engineering in the large,” in MODELS Educators’ Symposium, 2009.
- [3] B. Davis and D. J. Sumara, “Challenging images of knowing: Complexity science and educational research,” International journal of qualitative studies in education, vol. 18, no. 3, pp. 305–321, 2005.
- [4] B. Davis and D. J. Sumara, Complexity and Education: Inquiries Into Learning, Teaching, and Research. Psychology Press, 2006.
- [5] G. J. Gormley and T. Fenwick, “Learning to manage complexity through simulation: students’ challenges and possible strategies,” Perspectives on medical education, vol. 5, pp. 138–146, 2016.
- [6] J. Thomas and T. Mengel, “Preparing project managers to deal with complexity–advanced project management education,” International journal of project management, vol. 26, no. 3, pp. 304–315, 2008.
- [7] J. M. Weber, A. Lückmann, and C. M. Maldonado, “Teaching sustainability as complex systems approach: a sustainable development goals workshop,” International Journal of Sustainability in Higher Education, 2021.
- [8] B. Zimmerman, C. Lindberg, and P. Plsek, “A complexity science primer: What is complexity science and why should I learn about it,” Adapted From: Edgeware: Lessons From Complexity Science for Health Care Leaders, Dallas, TX: VHA Inc, 1998.
- [9] S. M. Manson, “Simplifying complexity: a review of complexity theory,” Geoforum, vol. 32, no. 3, pp. 405–414, 2001.
- [10] S. E. Phelan, “What is complexity science, really?,” Emergence, A Journal of Complexity Issues in Organizations and Management, vol. 3, no. 1, pp. 120–136, 2001.
- [11] B. Davis and D. Sumara, “’if things were simple…’: complexity in education,” Journal of Evaluation in Clinical Practice, vol. 16, no. 4, pp. 856–860, 2010.
- [12] C. Fabricatore and X. M. López, “Complexity-based learning and teaching: a case study in higher education,” Innovations in Education and Teaching International, vol. 51, no. 6, pp. 618–630, 2014.
- [13] E. Jaakkola, “Designing conceptual articles: four approaches,” AMS review, vol. 10, no. 1-2, pp. 18–26, 2020.
- [14] K. E. Kendall, J. E. Kendall, K. E. Kendall, and J. A. Kendall, Systems analysis and design, vol. 4. Prentice Hall Upper Saddle River, NJ, 2002.
- [15] F. Ciccozzi, M. Famelis, G. Kappel, L. Lambers, S. Mosser, R. F. Paige, et al., “How do we teach modelling and model-driven engineering? a survey,” in MODELS Educators’ Symposium, pp. 122–129, ACM, 2018.
- [16] R. F. Paige, F. A. Polack, D. S. Kolovos, L. M. Rose, N. D. Matragkas, and J. R. Williams, “Bad modelling teaching practices,” in EduSymp@ MoDELS, pp. 1–12, 2014.
- [17] M. Seidl, M. Scholz, C. Huemer, and G. Kappel, UML Classroom: An Introduction to Object-Oriented Modeling. Springer, 2012.
- [18] D. Kokotsaki, V. Menzies, and A. Wiggins, “Project-based learning: A review of the literature,” Improving schools, vol. 19, no. 3, pp. 267–277, 2016.
- [19] D. Batory and M. Azanza, “Teaching model-driven engineering from a relational database perspective,” Software and Systems Modeling, vol. 16, pp. 443–467, 2017.
- [20] M. Hardman, “Is complexity theory useful in describing classroom learning?,” Beyond fragmentation: Didactics, learning and teaching in Europe, pp. 355–366, 2011.
- [21] L. S. Vygotsky and M. Cole, Mind in society: Development of higher psychological processes. Harvard university press, 1978.
- [22] V. Acreţoaie, H. Störrle, and D. Strüber, “Vmtl: a language for end-user model transformation,” Software & Systems Modeling, vol. 17, pp. 1139–1167, 2018.
- [23] D. Strüber, K. Born, K. D. Gill, R. Groner, T. Kehrer, M. Ohrndorf, and M. Tichy, “Henshin: A usability-focused framework for emf model transformation development,” in ICGT 2017, pp. 196–208, Springer, 2017.
- [24] D. Priefer, W. Rost, D. Strüber, G. Taentzer, and P. Kneisel, “Applying mdd in the content management system domain: Scenarios, tooling, and a mixed-method empirical assessment,” Software and Systems Modeling, vol. 20, pp. 1919–1943, 2021.
- [25] S. García, D. Strüber, D. Brugali, T. Berger, and P. Pelliccione, “Robotics software engineering: A perspective from the service robotics domain,” in ESEC/FSE, pp. 593–604, 2020.
- [26] I. Sommerville, D. Cliff, R. Calinescu, J. Keen, T. Kelly, M. Kwiatkowska, J. McDermid, and R. Paige, “Large-scale complex IT systems,” Communications of the ACM, vol. 55, no. 7, pp. 71–77, 2012.
- [27] R. C. Martin, Agile software development: principles, patterns, and practices. Prentice Hall PTR, 2003.
- [28] E. J. Cameron and H. Velthuijsen, “Feature interactions in telecommunications systems,” IEEE Communications Magazine, vol. 31, no. 8, pp. 18–23, 1993.
- [29] D. Sculley, G. Holt, D. Golovin, E. Davydov, T. Phillips, D. Ebner, V. Chaudhary, M. Young, J.-F. Crespo, and D. Dennison, “Hidden technical debt in machine learning systems,” Advances in neural information processing systems, vol. 28, 2015.