The goal of this project is help students at the freshman or sophomore level (or advanced high school level) learn the mathematical ideas that underlie computer science.
The approach is to use the spiral (i.e., iterative or nonlinear) method for learning. The spiral method is a "just in time" approach. In other words, start by introducing just enough basic information about a topic so that students can do something with it. Then revisit the topic whenever new skills or knowledge about the topic are needed for students to solve problems in other topics that have been introduced in the same way. The process continues as much as possible for each topic.
Textbooks
The lab experiments can be used as learning companions, just like normal homework problems. The experiments are structured so that prior knowledge of Maple and Prolog is not required.