Concrete Abstractions: An Introduction to Computer Science Using Scheme
by Max Hailperin, Barbara Kaiser, Karl Knight
Publisher: Course Technology 1998
Number of pages: 670
This text 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.
Home page url
Download or read it online for free here:
by David S. Touretzky - Benjamin-Cummings Pub Co
This is a gentle introduction to Common Lisp for students taking their first programming course. No prior mathematical background beyond arithmetic is assumed. There are lots of examples, the author avoided technical jargon.
by Victor Eijkhout - University of Texas
A computational scientist needs knowledge of several aspects of numerical analysis and discrete mathematics. This text covers: computer architecture, parallel computers, machine arithmetic, numerical linear algebra, applications.
by Robert M. Keller - Harvey Mudd College
This book is intended for a second course in computer science, one emphasizing principles wherever it seems possible. It is not limited to programming, it attempts to use various programming models to explicate principles of computational systems.
by Allen B. Downey
This book teaches you to think like a computer scientist - to combine the best features of mathematics, natural science, and engineering, to use formal languages to denote ideas, to observe the behavior of complex systems, form hypotheses, etc.