Title: Concrete Abstractions – An Introduction to Computer Science Using Scheme.
Author: Max Hailperin
This book offers the students a hands-on, abstraction-based experience of thinking like a computer scientist. This book covers the basics of programming and data structures, and gives first-time computer science students the opportunity to not only write programs, but to prove theorems and analyze algorithms as well. Students learn a variety of programming styles, including functional programming, assembly-language programming, and object-oriented programming (OOP). No book about OOP is complete without the introduction of Java. So, this book also follows the same trend and that’s because Java is introduced at the end as a second example of an OOP system. And demonstrates concepts of concurrent programming. This book is primarily intended as the text for a first undergraduate course in computer science.
This book doesn’t require that the students have taken a college-level math course. On the other hand, mathematics is used in computer science in much the same way it is used in biology, chemistry, and physics. Thus a knowledge of high school algebra is assumed. This book is also for readers who may have little to no earlier experience of computing or programming.