Hacker News new | ask | show | jobs
by tsumnia 2095 days ago
> You’re learning a lot of recipes by rote and not understanding much.

I partially disagree because that is how many technical skills are formed - cooking, music, dance, martial arts, etc. Soloway describes programming as a set of "recurring basic plans", where problem solving is break things down into actionable items [1]. Those recipes help establish your foundation of recognizing problems that allow you to pull a particular "recipe" out of your rolodex (my word for it) and apply it. I wrote a paper on simple typing exercises as an additional practice and students performed better in the course and made less mistakes in coding [2].

> With months or years of pain, you’ll start to pick up patterns by induction.

This is where I agree and see the divide. After 6 months of training, I don't recognize someone as mastering the skill. You can be competent at it, but when I think about 6 months in martial art terms, those students are still very uncoordinated.

I would say the issue with CS is the Problem Solving skill. THIS is what people want, but we (the educators) are not appropriately teaching it. And that doesn't mean teach it earlier persay, but that we aren't teaching it the correct way. I don't assume my approach solves the issue, but rather focus on building up students' rolodexes with a large set of recipes they can pull from. This in turn helps build a more abstract mental model [3] for students to work from.

[1] https://ieeexplore.ieee.org/iel5/32/5010265/05010283.pdf

[2] https://dl.acm.org/doi/pdf/10.1145/3373165.3373177

[3] https://telearn.archives-ouvertes.fr/docs/00/19/73/76/PDF/Ge...