Your post does a great job connecting learning design theories to real-world experiences in programming and software development. I especially related to your example about surface learning in the Python course compared to deep learning during your internship. I’ve had similar experiences where the assessment style determined how much of the knowledge stayed with me after the course. Like you, I found that when activities and outcomes were tied to authentic applications, the learning became much more meaningful and lasting.

I also appreciated your emphasis on empathy in Design Thinking. The example you gave about redesigning a UI for accessibility highlighted how feedback and iteration are crucial, not only in tech but also in education. It made me think about how often courses fail to “test” their design with learners in mind. Your insights on SOLO Taxonomy stood out as well; the progression from surface to deep understanding feels especially relevant in computer science, where growth is often about moving from memorization to problem-solving.