TEXTBOOK AND SUPPLEMENTS

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: discrete mathematics, logic, and computability.

The Book
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.

Student Study Guide
The study guide contains learning objectives, review questions, and a set of solved problems for each section of the book. The review questions ask about the key ideas and notations from each section. The solutions to the problems, often with details included, are given at the end of each section for easy reference. Lecture Notes
A set of lecture notes contains a file of lectures for each section of the book. Lecture Notes

Lab Experiments
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.