What is this stuff?
This is the major courseware for a high school Computer Science I course. It addresses most of the Texas TEKS for Computer Science I.
Generally speaking, it should be somewhat self paced. In a computer lab, this isn't terribly difficult to administer. If the students are spread out over six lessons, then that should be okay. I'm not going to post tests, quizzes, or answers. (If you want to teach it, really do every problem). The zip file of this site is on the index page.
Feel free to use this stuff. Feel free to alter this stuff. It isn't bug free, but it works.
WARNING: It is meant to be accompanied by some direct teach. It is NOT meant completely SELF TEACHING. Just throwing it at a kid without a knowledgable teacher will probably cause considerable frustration.
However, an adult with a smidgen of a math background should be able to muddle through pretty well with perhaps a little coaching.
Also it is NOT "about Scheme". It is about Computer Science.
Computer Science is about the lasting mathematical and design principles that underly the business of writing programs in a particular language.
In this course, we teach a little bit of a programming language, and use that as a lever to teach some fundamental concepts-- function, list, structure-- and how to design programs.
The vehicle that we use is called Scheme. It is at once a very new thing and a very old thing. It is a programming language with roots in the Artifical Intelligence community, and before that, in mathematical logic. It is considered a "dialect" of the programming language LISP.
I think every kid in the world needs to learn this stuff. So do the authors of of HtDP. This is what they think. HtDP is available on line. If your target audience is a little older than mine (HS seniors, College Freshman) get them into HtDP.
For more about the sources of this material go here.
For more about the history of this material go here.