I think I missed the point that I'm making.
In the old days, there are only two computers shared by 40 students. Learning Assembly or C is high-level, interesting and fun. To create a DOS menu, move a block character with a cursor or mouse interrupts is such a big thing before. It feels so
modern in those days.
Nowadays, it's quite different and so is the generation. DOS mode is obsolete, Windows 3.1 is old fashioned and C is boring. But it does
not mean it is wrong to continue using and learning them, in fact it should be taught after everything else, they are low-levels and subject for dissection in today's time.
It is the
teaching approach I'm looking at.
Learning is supposed to be fun. C was fun in our days because of what we only have and what we only know but is it still in today's generation? Also note, today's generation is accelerated, visuals and lazy.
My approach would be to start off with high-level and go down one step in detail until you found the handful who deserved to be taught because they stayed to learn more the inner takings (this is reverse to most curriculum that I know). High-level is not about graphics (e.g. Diablo), it's about teaching simple without overwhelming with details. It's like this, which is easier to learn C or VB? VB, no doubt, start from there and go deeper, e.g.:
- Stage 1 - Run VB, create a form, a button and if pressed prompts a message box.
- Stage 2 - Dig deeper, run Spy++, inspect the form, get the window classes and explain the win32 api
- Stage 3 - Open VC++, create a form through CreateWindow with attributes we get from Stage 2
- Stage N - Go deeper and you will arrive at C
These are just my thoughts, experiments and arguments in preparation when I put up a school in not so far future. If you can think of loopholes on this idea, I appreciate comments. Thanks.