Reflections on “Systems – the Science of Everything”
This seems to be true across many disciplines. We’re all so specialised that we have to concentrate on the specifics of our own topics, whether it’s computer science, economics, biochemistry, cognitive science, or anything else. Discipline-specific knowledge is key, of course, but across all these areas there are also higher-order, abstract systems principles at play that we can recognise and think about and teach about. We can attempt at least a science of everything – a principled, rigorous, formalisable way to approach complex systems, whether they are ecologies or economies, neural networks or social networks, organisms or organisations.
That is what my colleagues and I set out to do with a new module that we recently taught for the first time at Trinity College Dublin. It is called (a bit presumptuously) “Systems – the Science of Everything”. This is one of a diverse set of modules known as Trinity Electives, which are open to students from disciplines across the university, taken in their second or third years. My co-coordinators for the module were Prof. Harun Siljak from the School of Engineering and Prof. Mary Lee Rhodes from the Trinity Business School. Here’s what we said in our blurb about this module:
“Humanity faces a growing number of ‘wicked problems’, from pandemics, to climate change, to threats to democracy. It is clear that the solutions to these problems will not come from any one discipline, acting in isolation. Yet our educational and research systems are still aligned into traditional disciplinary silos, defined by distinct methods, jargon, perspectives, and conceptual frameworks. However, across diverse disciplines, there are often common principles at play, which can be highlighted by a focus on systems. From organisms to corporations, ecologies to economies, neural networks to social networks, there are shared dynamics, abstract mechanisms, and emergent functions that arise through the organisation of elements, whether those elements are cells, transistors, people, or corporations.
The aim of this module is to explore those principles, to recognise commonalities and deep correspondences between seemingly diverse phenomena, to introduce students to the meta-science of systems, and to promote interdisciplinary or even supradisciplinary thinking. Ideas will be presented conceptually, with examples of convergence across diverse areas, including: genetics, neuroscience, computer science, business, economics, engineering, ecology, biochemistry, physics, evolution, medicine, climatology, and sociology.”
The challenge was to develop a course that surveyed the many different theories that collectively make up “systems science” – network theory, information theory, dynamical systems theory, and so on – but at a level that was accessible to mid-career students from diverse disciplines. In particular, we could not assume any real level of mathematical or programming expertise. Our goal was not to make students expert in any of these areas but rather to expose them to these mostly unfamiliar ways of thinking and send them back to their own disciplines with a fresh perspective and an arsenal of new, powerful concepts.
That’s certainly how I’ve felt over my own career whenever I’ve learned these kinds of ideas – I felt like it made me smarter. Like I didn’t have to try and work out complicated stuff from first principles every time I encountered some new topic. Instead, I could often recognise the dynamics at play and make sense of what was going on (or at least what kind of thing was going on) with reference to these general principles.
We faced a big problem in developing this curriculum – not in deciding what to include, but in accepting all the things that we couldn’t include! The course was organised in two, two-hour sessions per week for eleven weeks of the semester. Our Tuesday sessions were devoted to lectures and our Thursday sessions to tutorials and group work, using a software system for agent-based modelling called NetLogo – more on that below. That meant we had only two hours to cover each topic we chose, and we wanted to do it from the diverse perspectives of the module coordinators – engineered systems, living systems, and social systems. In addition, we had brief guest contributions by colleagues from other disciplines across the university for many of these topics.
So, we couldn’t go deep – all we could really do was introduce the various ideas, show students that theories about these topics exist, and hope to engage them in deploying these ideas in the context of a group project and an individual reflective essay (more on those below too).
There is no right way to structure this kind of course, but what we tried to do was introduce the simplest ideas first and build from there. This is the curriculum we landed on:
1. Introduction and overview
2. History and philosophy of systems thinking
3. System structures
4. System functions
5. System dynamics
6. Information and Meaning
8. Evolution and Learning
10. System failures
Here’s an outline of what each of those sessions touched on:
1. Systems intro and overview
· Systems challenges – need for systems solutions
· What is a system?
· Idea of common, abstract underlying principles – why a science of organisation is possible
· Personal reflections of module coordinators
2. History and key concepts
· Overview and timeline of systems approaches/theories
· Historical examples: General systems theory; Cybernetics/control theory; Systems thinking
· Why these approaches fizzled out (or did they?)
· Guest lecture: Philosophy of systems – entities, boundaries, levels, reduction/holism/emergence, causation
3. System structures
· We can scientifically characterise the structures of systems
· Components and connections
· Networks (basics of network theory)
· Hierarchies (scalar (nested); functional)
· Guest lecture: networks and hierarchies in an international peace-keeping mission
4. System functions
· The way components are connected can impart functionality
· Communication channels; operators
· Basic motifs / primitives (amplifier, filter, oscillator, switch…)
· Logical operations (informational causation from configuration)
· Higher-order functionality by combining primitives
5. System dynamics
· Global dynamics emerge from structure and function
· State space, energy landscapes
· Phase transitions
· Attractors, equilibria
· Chaos and criticality, non-linearity
· Stocks, flows, variables
· Simulation and visualisation
6. Information and meaning
· Organisation can have causal power
· Shannon information and entropy
· Signal transmission; codes
· Noise and uncertainty
· Mutual information, correlation, aboutness
· Functional information: semantics
· Information flow through networks
· Guest lecture: curiosity-driven learning in infants
· Global dynamics, structure, behavior from local rules
· Cellular automata
· Synchrony; whole-part dynamics
· Autocatalytic sets
· Protein folding; tissue morphogenesis
· Embryonic development; gene regulatory networks; energy landscapes; attractor states
· Selection for persistence and robustness
· Complex responsive processes and structuration
8. Evolution and Learning
· Adaptation over different timescales
· Basic algorithm of variation plus selection
· Natural and sexual selection
· Functional design through trial and error
· Cumulative, directional change, creativity – the adjacent possible
· Convergent evolution in design space; discovery versus invention
· Emergence of purpose and normativity (value, meaning)
· Modularity, robustness and evolvability
· Guest lecture: reinforcement learning in neural networks
· Optimisation problems
· Bounded rationality
· Speed/accuracy/cost trade-offs; opportunity costs
· Constraint satisfaction over multiple goals
· Cooperation and competition
· Metacognition, uncertainty
· Creativity – search space, escaping local minima
· Behavioral control, policy-setting
· Ethical frameworks for guiding decision-making
· Guest lecture: Game theory
10. Systems failure
· Unanticipated consequences
· Failure modes and effects analysis
· Cascading failures
· Catastrophe theory, tipping points, resonance
· Robustness and fragility
· Fail-safes, redundancy, degeneracy
· Designing for failure; formal methods and invariants
· Unintended consequences
· Neuropsychiatric disorders as maladaptive attractor states
That is, admittedly, a lot. Each one of those topics could be a lecture course in itself. All we could hope to do here is expose the students to these ideas, make them aware that these ways of thinking exist, and hope that they can see how to incorporate some of the ideas into their own ways of thinking. Complex systems are complex, but not hopelessly so. We can use these abstract principles and formalised theories to “grok” them – to see what’s going on and understand why, even when the details and particulars vary.
Student engagement, group work, and assessments
This module was not designed with a traditional content delivery focus. Our goal was not to tell students a bunch of information and then ask them to tell it back to us in an exam. Instead, we wanted to engage students in thinking about the concepts and principles of systems and give them opportunities to deploy those concepts in new scenarios, including through computer simulations. There were three elements of such work:
Discussion boards: students were encouraged to engage with online discussion boards, where they were expected to respond briefly to a prompt and then respond to two other student contributions. This worked pretty well – most of the students were very engaged with lots of interesting back and forth. This was also a useful forum for the coordinators to see if the ideas were landing as we hoped.
Group projects: Our
Thursday sessions were devoted to group work, with tutorials on the agent-based
modelling platform NetLogo. These were taken directly from the excellent book: Agent-Based Modeling for Archaeology, by Romnowska, Wren, and Crabtree.
Given the varied background of students, our aim here was not to make them expert NetLogo programmers. Instead, we wanted to introduce them to the idea of simulation as a powerful approach to understanding complex systems, while recognising the limits and simplifying assumptions of any modelling.
Our cohort of sixty students was split into ten groups of six. At the start of the course, each group selected a project topic framed around a real-world systems problem. These ranged from strategies to foster the resurgence of red squirrels in Ireland, to tackling the spread of misinformation online, to planning the perfect pub crawl in Dublin. The assignment was to research the topic, identify systems principles at play, consider which parameters might be modelled and outcomes measured, and construct a toy model in NetLogo to simulate some of these dynamics.
Most of the students warmed to this challenge over the eleven weeks of the semester. Each group was quite varied in background, which meant it took a little while for them to figure out how to work together effectively, but that was part of the point of the exercise. It forced students to think about a problem fairly widely at first, but then narrow it down and formalise it in a precise enough way to be able to model some aspects of it in NetLogo. This would come naturally to students in some disciplines, but for others it will have been a new experience. Ultimately, all the groups presented very credible, some excellent, projects, reflecting a lot of work and real engagement.
Individual reflective essay: The final exercise for the students was to submit an essay reflecting on what they had learned in the course, and considering how systems principles apply to some topic in their own discipline or to some global challenge. These ran the gamut from climate change to supply chain management to the life cycle of stars to Bayesian game theory in Pokémon! There was a range of performance, of course, but overall the essays showed that the students really were approaching things with a fresh perspective.
Reflections on the group project and in the individual essays showed that most students really were getting what we hoped for from this module (some more than others, of course). But before we get too self-congratulatory, we should recognise it wasn’t all rosy! In module feedback, some students commented on the workload for a module of this size, the challenges of learning a new computing language, the difficulty in following shifting perspectives from different lecturers, unfamiliar jargon, issues with group dynamics, and some other issues. Some of this is to be expected, but we will definitely have to look at the workload and also the way we’re presenting various topics in our next run of this module. We live and learn!