Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think there are 2 ways of teaching programming at the beginning, although I'm not sure which is best.

1. Teach structure and organisation of programming. - Python is a good for this as it's object oriented, but has very little boilerplate and syntax getting in the way of learning. A few universities have done well using Haskell for this instead, and I think that's quite a good option, particular as it introduces types.

2. Teach from the perspective of how a computer works - C is probably the best one for this as it helps students understand how computers work at a more basic level, being closer to assembly and machine code. It also allows for memory to be thought of as a much more basic resource of the machine that users must manage.

Java would be good for teaching data structures and algorithms, but I don't think that should come until after an introductory class using one of the above methods.



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

Search: