Course Design

Effective course design goes beyond content delivery; it involves creating a structured, intentional learning journey for students. Central to this process is aligning teaching strategies, assessments, and learning objectives to foster meaningful and active engagement.

Together, these frameworks provide a roadmap for building courses that engage students in learning that’s both challenging and relevant. Each model adds a layer to course design, helping educators create environments where students don’t just acquire information but actively build understanding.

Relevance

In my experience as a student, especially at the university level, the emphasis was definitely on the teacher. When I ended up flunking out, which of course was due to my lack of effort, a part of it was how impersonal the whole experience was versus my experience in cegep. It very much was the banking model of education. This rigid, one-size-fits-all approach did not consider the variability in how students learn or develop.

As a teacher, I can feel the shift in the room when the focus is on me versus the students. I bore myself when I lecture too much. The students fall asleep. I’ve done this too many times where I throw out a “is everyone good with that?” and they nod, and I move on. Who knows if they learned what I was talking about in that moment? Baxter Magolda’s insights remind me that engaging students through responsive teaching—approachable interactions, discussions, and activities—enables them to move beyond passive listening to active engagement.

Designing learning experiences could include methods like collaborative coding projects or peer reviews in computer science, where students actively engage in problem-solving and receive feedback that reinforces their understanding. This not only mirrors Biggs’ idea of constructive alignment but also embodies Baxter Magolda’s emphasis on teaching responsively to support students’ evolving ways of knowing.

In later computer science courses, contextual relativism emerges when students learn there is no single “correct” solution to problems. For example, in an Algorithms and Data Structures course, choosing between sorting algorithms like Merge Sort or Quick Sort depends on context. Students must weigh factors such as data size, space complexity, and stability. This teaches them that decisions in software development often involve trade-offs, moving beyond black-and-white thinking to understanding that the best solution varies with the situation.

In computer science, foundational courses focus on memorization—learning syntax and basic concepts. As students advance, they apply skills like functional decomposition to break down complex problems. The “thinking” phase goes further, involving tasks that require analysis and adaptation, such as designing new algorithms or optimizing existing code. For example, students might be tasked with creating custom data structures or solving open-ended problems with multiple solutions. This approach pushes them to think critically and adapt knowledge to real-world constraints, aligning with Erickson, Peters, and Strommer’s focus on deep learning.

The shift from a teaching-centered to a learning-centered approach benefits from structured frameworks like Krathwohl’s revised Bloom’s Taxonomy. This taxonomy’s dual dimensions of Knowledge (e.g., Factual, Conceptual, Metacognitive) and Cognitive Processes (e.g., Apply, Analyze, Create) support designing comprehensive learning experiences that align teaching objectives with assessments and activities. This approach complements Biggs’ constructive alignment and further underscores the importance of targeting higher-order thinking skills, such as analysis and creation.

Starting with the objective “Compare the time complexity of different sorting algorithms and identify which is most efficient for various input sizes,” the assessment would involve a project where students analyze and present the performance of different sorting algorithms on datasets of varying sizes. Instructional strategies would include interactive lectures on algorithm analysis, group discussions, and hands-on coding labs where students implement and test algorithms to observe their efficiencies. This approach ensures alignment between the objective, instructional activities, and assessment.

I often observe students resorting to surface learning behaviors, such as panic-copying code and using trial-and-error methods just to make a program work. This approach reflects Ramsden’s idea of imitation learning, where understanding is superficial, and true comprehension is lacking. To encourage a deep approach, students should be guided to take a step back, analyze the problem by considering the inputs, outputs, and data types, and then construct a solution methodically. This reflective process not only promotes better problem-solving but also fosters long-term retention and the ability to apply knowledge to new challenges.

Counterpoints

“But it takes too much in class time!” a lot of teachers will refute. To them, I say remember the “what they need to know and what is nice for them to know,” and if you focus on the need to know, I think you can really fit in everything you need to without fearing losing lecture time. Because when you lecture, you have absolutely no idea if they’re even learning anything. As Baxter Magolda suggests, evaluating students in a way that encourages thinking and application, rather than rote memorization, is vital to creating a meaningful, responsive educational experience.

The Shift from Teaching to Learning Paradigm-1.png

References