Blog #1
________________________________________________________________________
Before starting university, I decided to take CS50, Harvard’s free introductory computer science course. I was motivated to begin it because I planned to major in computer science, but unlike many of my classmates, I had very little prior coding experience. I hoped the course would give me confidence and catch me up to the demands of the first year computer science curriculum.
And at first, the course felt exciting and productive, but about halfway through my motivation began to shift. I became disengaged because the learning experience felt repetitive and disconnected from my personal interests. Much of the course focused on solving math-based problems. While the assignments were useful for practicing logic, I struggled to see how they connected to the kinds of creative applications that originally attracted me to coding, such as art, design, and interactive media. I didn’t want to keep on solving Pythagoras problems in five different ways.
Looking back, the course design reflected many principles of cognitivism and behaviorism. It emphasized organizing knowledge, developing problem-solving strategies, and reinforcing correct answers through repeated practice. In some ways, this approach made sense because introductory computer science requires students to build foundational technical skills before moving into more complex or creative applications. But I truly believe there was a missed opportunity to include constructivist approaches that would enhance everyone’s experience.
While I do realize that constructivist methods are often considered more effective for advanced learning, I think the course could have included more opportunities for creativity, autonomy, and real-world application, even at introductory level. The learner’s need that felt least supported was relevance. I understood how to complete the assignments, but I struggled to connect them to my own goals and interests. I was really craving applying knowledge through authentic experiences and personal exploration. Including more open-ended projects like: coding browser extensions applicable to your specific workflow or adding a function to software that you use daily, may have helped sustain my motivation and made the learning experience feel more meaningful.
