As mentioned last week, here's a brief ('Radified') intro to the introductory course on Programming I've been researching » How to Design Programs (HtDP).
This entry is distilled from info contained in the Preface. If a real programmer could check my phrasing for accuracy (to ensure no glaring errors) I'd appreciate it .. cuz I'm not yet familiar with all the terminology. See here:
Everybody should learn to program! Programming teaches a variety of skills (e.g. » critical reading, analytical thinking, creative synthesis, & attention-to-detail) important to many professions.
Educators should therefore give Programming the same priority as Math or English. [ RADical statement, no? ]
The HtDP course de-emphasizes the details of programming languages in order to focus on » the design process.
Two things make this course different from other introductory courses on Programming:
- Explicit design guidelines (comprising a 6-step process that begins with Analyzing-the-problem and concludes with Identifying-errors-thru-testing).
- The DrScheme programming environment (which is able to grow with a student as they master more material).
Programming boils-down to two essential concepts:
- Relating one quantity to another
- Evaluating a relationship by substituting values for names
The Scheme programming language allows students to focus on these two basic aspects, making it the natural choice for beginners. Students are therefore able to develop complete programs during their very first session.