|
|
|
|
|
by teach
3855 days ago
|
|
Your perspective is incorrect. I've made my living by teaching beginners to code. I have been doing it for the better part of two decades, and I specialize in teaching students that have little aptitude for it. I make my students code FizzBuzz. It is literally the 106th project I make them do. That is, they have completed 105 complete computer programs before getting to FizzBuzz. And many of them still struggle with it. The nuance of else/if needing to be ordered in a certain way is something they still don't have a good grip on. Programming a computer is very very hard for most people. |
|
I've noticed that the industry really prides itself on algorithms and this is commonly reflected in interviews.
However, it seems to me that merely discussing algorithms, however clever they might be, is actually an intuitive human activity not unlike the example of the parent verbalizing procedural instructions to their child. Therefore, I would argue that algorithm design, though clearly an intellectual challenge in its own right, does not target the essential part that makes programming hard and inaccessible to so many people. (Disclaimer: a high-level algorithm discussion is usually followed by whiteboard coding, which I'm ignoring in this critique as a separate kind of activity).
Do you agree with this claim that algorithm design is not actually the thing that makes programming so difficult for laypeople? Can you give your take on what does make programming hard or what students struggle with the most?