| Hi hackers, how are you doing? I have just started Computer Science at college and I will have a class named "Programming Fundamentals" where all our practice questions and exams are to be made on paper, instead of a computer. This is supposed to be an introduction to programming and yet, we have close to no contact to actually programming on a computer. The teacher's logic is that we first need to learn how to "think like a programmer" but is paper a better way of achieving that? What's your view on this? |
I think Programming Fundamentals should focus on teaching students how to visual systems (stuff) in the real world and how to make that stuff work in a computer. Basically, the job of a programmer is to take some manual process we do in the real world and automate it in a computer.
But the way the real world works and how you represent that real world in a computer are really different.
I think it is a wrong approach to learn how to do this by learning to code first. That being said....
I would recommend hacking stuff out on paper. Not necessarily the source code though. I wrote a book that tries to explain this stuff without using source code. I think drawing out your ideas using diagrams is a great first start (even UML diagrams can be helpful for this). I'm not saying you should program like this. Diagrams do help you take something in the real world and start to transform it to something more abstract: something that can eventually work in a computer.
Anyway, I'll be happy to give you a free copy of the book (I've given it away a few people on HN who are new to programming).
Also hope this helps answer your question.