Hacker News new | past | comments | ask | show | jobs | submit login

Not sure how old your students are but I'm teaching my 8 year old daughter programming (just been few days). I started exactly by telling "when you tell the computer to do something, it will do it." But instead of showing her any piece of code or explaining variables etc programming concepts I showed her how to command computer by writing simple 1 step commands like clear, date and echo in a terminal.

After she saw how she was asking computer to clear a screen of terminal, asking computer to tell current date or simply echoing what she typed, I moved to scratch programming editor https://scratch.mit.edu/

With scratch, I showed her how to tell computer to move an image to the right and left with single "move 10 step" and "moved -10 steps" command (still on single commands to computer to do what she want)

Then I showed her how to ask computer to do something repeatedly by introducing "repeat" block (it helped that I asked her to physically imitate a pony moving on screen by few steps to right and left). And by using "repeat" block she learned to make onscreen pony dance. By this time she understood how to piece together multiple commands together and loop concept, X-Y axis as I also showed her on computer she can move a subject in 4 directions by manipulating X-Y axis values)

Next she wanted to spin the onscreen pony so I introduced her the concept of direction and the whole degrees measurement. After that it was pretty simple for her to grok that by turning 1 unit clockwise and then doing it on "repeat" made the pony spin.

During the whole process I didn't type a thing. I let her drive the whole thing by clicking/adding/removing and making mistakes to learn. It has been great fun and she already has tons of ideas about what she want to try and make computer do it for her.




I like both concepts - Introducing first terminal command then Scratch. And that's what I basically like.

But unfortunately they ( students ) are first year graduate with no computer experience and the language that need to teach them is C!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: