Modularity in Curriculum Design

In the land of Surricula every youth must hear the sagas of stories from the sages before going out to the shore to fight the sea-goblins that dwell there. The sages inherited the sagas from their own elders and added their own twist to each story. Some stories depend on previous ones that others tell. But the sages rarely listen to the latest stories told by the others. The youths often lose sight of how they all fit together. Sometimes the sages meet to divide the science of fighting sea-goblins into better sequences of stories, or to add or subtract some, but once they do, they usually let each member decide for themselves how to tell them. Some sages even freestyle their stories and don’t write them down. A reform movement of sages calling themselves the Ceruleans decides that it is time to show the connections in the sequence by having multiple sages tell related interwoven stories – for example, about the history of the sea-goblins and biology of the dunes on the anti-goblin berms. The star Ceruleans tell compelling stories, but even among the Ceruleans, few want to retell the ones that others came up with in the same way. It takes a great deal of effort and skill to compose these interwoven stories, and the benefits are subtle – only visible in the long term success against the sea-goblins. Can these new stories scale beyond the stars?

Modularity is the principle of formally defined functional encapsulation. Components, called modules, perform specific functions with defined patterns of interaction with other components so that: they can be used in larger systems without requiring the system designer to reason about the deep internal details of how each function is accomplished (Decomposition), they can be redesigned and swapped in the place of other components that obey the same modular interface (Interchangeability), and the performance of each function by a module does not interfere with that of others (Closure). Modularity is a foundation of effective engineering because it allows for subdivision of work into smaller tasks that are easier to reason about and can be given to different people, for future improvements to the specific functions without breaking the behavior of the entire systems, and for components to be reused in any system that requires the same function.

Are these benefits of modularity specific to engineering, or can they also be applied to education? Are the Ceruleans right to argue that an excessive focus on modularity actually works against comprehensive understanding of the subject matter? After all, decomposition tries to break large problems into smaller pieces that do not require systemic comprehension. A completely modular curriculum can be disjointed, especially if it is merely “subdivided” into different courses without clear definition of the expected outcome and the place of each course in the broader sequence. At its worst, the curriculum becomes broken into different fiefdoms over which various instructors have control without a clear picture of the whole.

In place of the traditional model with courses as the core modular units, we argue it is better to think of education, and software engineering education in particular, as a fabric of interwoven disciplinary threads with explicit dependencies between the concepts and skills in the sequence. For example, within Discrete Math, the concept of a partial order is the basis for any algorithmic understanding of executing a collection of calculations with chains of dependencies which arises in Data Structures and Algorithms. This and other such dependencies should be stated as explicit linkages in the curricular fabric.

By making concepts or skills to be the base modules, curriculum designers have the freedom to innovate in small pieces by improving individual lectures, readings, problem sets, or project assignments, while also being able to compose such modules into courses and then into disciplinary threads. While there may be many disagreements about the proper content of a Data Visualization course, it is much easier to communicate about one concept such as small multiples and what should be the module’s “contract” or mark of success for its skillful employment. Then content creators are free to disagree about the right way to teach this skill and iteratively improve on its delivery. This incremental improvement is especially valuable in software where the state of the industry constantly changes.

Contra the Ceruleans, Surricula‘s sagas need openness and documentary rigor to enable such improvability more than bespoke interdisciplinary stories, which we will explain in greater detail in the next posts.