Computer Science: A First Course
Computer Science: A First Course is a fully interactive programming course for high school students. It teaches the programming language Scheme, the language of choice at many of the finest computer science universities around the world. The advanced material covered in this course includes boolean arithmetic and truth tables, recursion, numeric algorithms (from a simple number-theoretic perspective), data structures (lists, arrays and trees), object-oriented programming, and functional programming. Although covering such advanced topics, the course is written in a style and at a level that is easily accessible to high school students.
The course is self-contained, and provides an online Scheme interpreter that works via the browser - no additional software is needed.
Powerful and Convenient
Computer Science: A First Course brings several advantages to teachers:
- Help is available to teachers via email or via the online Help Desk. Responses to Help Desk questions are often available within minutes.
- Each student has a username and password, and may work on the material at any computer with an internet browser, anywhere, anytime.
- The course includes integrated exercises, both graded and ungraded, problem sets, test reviews, and tests. All student answers, including complete scheme programs, are graded automatically.
- The course provides an online Scheme interpreter that works via the browser — no additional software is needed. The interpreter is embedded into the pages of the course, and is also available in a stand-alone form.
- After automatic grading, results are posted in the students' online gradebook. Teachers have a master online gradebook that allows students' progress to be tracked precisely.
- Teachers control access to online tests, as well as how the test is administered. Once a student or class of students are given access to a test, the test may be taken online with results posted to student online gradebooks.
- Teachers can allow students to work at their own pace through the material, yet still keep precise information about each student's progress. This feature allows teachers to successfully meet the individual needs of each student.




