Forgot your password?
typodupeerror

Comment Paradigms (Score 1) 592

I'd start with the way CPUs process code which is typically imperative, covering Python, assembly then C. Python so they can get the high-level concepts if they are new to programming as a whole. Assembly so they can see how instructions are truly carried out on a machine and issues related to instruction sizes, etc. (mov, cmp, jmp, .. keep it simple). Then C, so they understand why imperative programming is structured the way it is. I'd then cover its perceived weaknesses (I love C but understand its shortcomings) and why C++/Java/others were invented around C. I'd then introduce them to Haskell, Erlang, Scheme/Lisp, etc. that completely break away from this model and why. Give a little history on their purpose and assign real-life examples to work through so they may have a warehouse of tools at their disposal rather than a hammer.

That's the way I wish I would have learned it. If a student is passionate about programming, he'll find reasons to explore more languages and understand their niche regardless, but as I said, the discovery would have gone a lot faster if I had been taught it rather than wondering around without a guide, ie, being self-taught.

Slashdot Top Deals

The first rule of intelligent tinkering is to save all the parts. -- Paul Erlich

Working...