One thing I noticed about CS once I started out in the industry is how boring it was. When I started learning programming I often got the “what” (what is an array, what is a floating point integer, etc) but never a “why” (why do we need arrays?).
To folks that code that answer is obvious, but it wasn’t obvious to me when I started. I remember on many occasions going “great, but how does this tie into an actual real world application”.
And I think that’s a big reason so many loose interest. You learn all these concepts but you have almost nothing to tie them together or to tell you why you should care about them.
This is why I think the “Python Music” exercise was so engaging, students now had a “why” behind what they were doing, they could tie it to a larger goal. And I remember back in college when I got really into programming was right around the time we started submitting full blown apps as projects (full blown in terms of a CS student)
And I think that’s a big reason so many loose interest. You learn all these concepts but you have almost nothing to tie them together or to tell you why you should care about them.
This is why I think the “Python Music” exercise was so engaging, students now had a “why” behind what they were doing, they could tie it to a larger goal. And I remember back in college when I got really into programming was right around the time we started submitting full blown apps as projects (full blown in terms of a CS student)