If you had the opportunity to teach new students how to program for a year, what would you teach? I've always found that a multi-paradigm approach to teaching programming works best, but is it too much for first-year students? Is it better for a student to be great at one or good at 3-5?
At the moment I am looking to help tutor students on the following:
- x86 Assembly Language
- C
- Haskell
- Java
- Perl
- C++
- Prolog
At the moment these students are only exposed to some very basic Java, so my theory is that these students would be able to expand further from here far better than they would with a basic understanding of just one language.
Please note that the question is not whether students can handle it, because a simple look at the programmes at the top universities show that they can, but whether it is advisable to those not at the top universities to focus on knowing as much as possible. It's not necessarily about knowing a language well, but giving students the ability to pick up and choose the right language for the job, and to become proficient in it as their studies continue.