|
There are three distinct things, which you probably need to keep separate: learning to program, learning to program in a particular style/approach/methodology, and learning to program in a particular language. For teaching programming in a language, you just need some kind of guide to the language plus an IDE. For teaching programming in a style (FP, say), some kind of guide to FP, plus some IDEs for some FP languages, plus guides to those languages. For teaching programming at all... I'm not sure there's a way to teach what programming is without teaching at least one of FP/OO/structured/some other approach. But if you do, then you're not teaching programming, you're teaching programming by that approach - unless you teach them all. Maybe the best you could do is say that programming is giving instructions to the computer in a formal language. So you create an IDE (plus guide) to some synthetic thing that lets you program, but has no bias for any particular approach (allows them all, or does none of the above). For that, it probably needs to be fairly simple - something for learning, not something for real work. Note that BASIC and Pascal started with this approach. |