Concrete Abstractions
An Introduction to Computer Science Using Scheme
By Max Hailperin, Barbara Kaiser, and Karl Knight
Copyright 1999
Out of print but available for free on the web
- The book features thorough integration of theory and practice, and presents theory as an essential component of practice, rather than in contrast to it. Thus, students are introduced to the analytic tools they need to write effective and efficient programs, in the context of practical and concrete applications.
- Significant programming projects are included that actively involve students in applying concepts. Each chapter ends with an application section, in which the concepts from that chapter are applied to a significant, interesting problem that involves both program design and modifying existing code.
- The authors present development of object-oriented programming, one concept at a time. Each of the component concepts that constitute object-oriented programming (OOP) is introduced independently; they are then incrementally blended together.
- In keeping with modern curricular recommendations, this book presents multiple programming paradigms: functional programming, assembly-language programming, and object-oriented programming--enabling the student to transition easily from Scheme to other programming languages.
- The final chapter provides a transition from Scheme to Java. Providing this transition within a single book allows Java to be explained by comparison with Scheme, including showing an example program in both languages. Java also supports exploration of event-driven graphical user interfaces and concurrency.
For more information contact Max Hailperin:
Email: max@gustavus.edu
Mathematics and Computer Science Department
Gustavus Adolphus College
800 W. College Avenue
St. Peter, MN 56082
USA