You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On the topic of programming education, I think a lot of it - especially online courses - miss the mark in emphasizing syntax over problem solving. Problem solving and "thinking like a programmer" is a much harder skill to teach.
I taught a front-end dev bootcamp for a year and there was always a break down when students faced a sufficiently general problem ("write a program that does x"). They had the tools and knew what each tool did on it's own but didn't know how to break that problem down into smaller pieces and which tools to apply where and in conjunction with each other.
A quote from that Bloomberg "What is Code" article really drove this home for me. The author is talking about AI, but for beginner programmers even simple programs are challenging for this same reason:
The hardest work in programming is getting around things that aren’t computable, in finding ways to break impossible tasks into small, possible components, and then creating the impression that the computer is doing something it actually isn’t, like having a human conversation.
Don't know exactly what my "idea" is here, but I think any education initiatives i'm involved with in the future (maybe that means study groups #1) will make an effort to teach "thinking like a programmer," not just syntax.
The text was updated successfully, but these errors were encountered:
Totally agree that this is super important to any attempt at genuine programming education, and it definitely seems quite challenging to construct an autonomous curriculum that truly supports it. (Heck, in my experience, it's not at all trivial to get this right even in a high school classroom where you can design problem sets on the fly each night in response to what students are doing in class.)
That said, a couple interesting models are:
Project Euler - problem based, nice increasing gradient of programming difficulty, but, with the problems being number-theory focused, maybe only motivating to a somewhat narrow set of beginners.
Projects the Hard Way - a new series that my colleague pointed me to... seems like a good idea, in a similar vein to Project Euler, but with a different genre of problems.
Thanks for sharing those resources, @anandthakker! I also think the Nodeschool workshoppers do a great job at this - making you think through the problem solving aspect right out of the gate.
The downside to models like this is that I occasionally get the feedback of "I just don't know where to start." It's a minority for sure, but I wish I had a better way to address that or prime learners for that type of thinking.
On the topic of programming education, I think a lot of it - especially online courses - miss the mark in emphasizing syntax over problem solving. Problem solving and "thinking like a programmer" is a much harder skill to teach.
I taught a front-end dev bootcamp for a year and there was always a break down when students faced a sufficiently general problem ("write a program that does x"). They had the tools and knew what each tool did on it's own but didn't know how to break that problem down into smaller pieces and which tools to apply where and in conjunction with each other.
A quote from that Bloomberg "What is Code" article really drove this home for me. The author is talking about AI, but for beginner programmers even simple programs are challenging for this same reason:
Don't know exactly what my "idea" is here, but I think any education initiatives i'm involved with in the future (maybe that means study groups #1) will make an effort to teach "thinking like a programmer," not just syntax.
The text was updated successfully, but these errors were encountered: