Learning discrete mathematics with ISETL

The title of this book, Learning Discrete Mathematics with ISETL raises two issues. We have chosen the word "Learning" rather than "Teaching" because we think that what the student does in order to learn is much more important than what the professor does in order to teach. Academia is filled with outstanding mathematics teachers: excellent expositors, good organizers, hard workers, men and women who have a deep understanding of Mathematics and its applications. Yet, when it comes to ideas in Mathe matics, our students do not seem to be learning. It may be that something more is needed and we have tried to construct a book that might provide a different kind of help to the student in acquiring some of the fundamental concepts of Mathematics. In a number of ways we have made choices that seem to us to be the best for learning, even if they don't always completely agree with standard teaching practice. A second issue concerns students' writing programs. ISETL is a pro gramming language and by the phrase "with ISETL" in the title, we mean that our intention is for students to write code, think about what they have written, predict its results, and run their programs to check their predic tions. There is a trade-off here. On the one hand, it can be argued that students' active involvement with constructing Mathematics for themselves and solving problems is essential to understanding concepts."