Concrete Abstractions - An Introduction to Computer Science Using Scheme

Concrete Abstractions - An Introduction to Computer Science Using Scheme

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.

Publication date: 31 Dec 1999

ISBN-10: 0534952119

ISBN-13: n/a

Paperback: 686 pages

Views: 50,014

Type: N/A

Publisher: Course Technology

License: n/a

Post time: 29 Aug 2005 10:27:39

Concrete Abstractions - An Introduction to Computer Science Using Scheme

Concrete Abstractions - An Introduction to Computer Science Using Scheme 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.
Tag(s): Introduction to Computer Science
Publication date: 31 Dec 1999
ISBN-10: 0534952119
ISBN-13: n/a
Paperback: 686 pages
Views: 50,014
Document Type: N/A
Publisher: Course Technology
License: n/a
Post time: 29 Aug 2005 10:27:39
Terms and Conditions:
Max Hailperin wrote:The PDF files for Concrete Abstractions: An Introduction to Computer Science Using Scheme are made available for your personal educational use. For your own use, you may make a copy in any form. However, you must not pass any copy on to anyone else, and you must not place any copy on a server for others to download.

Book excerpts:

At first glance, the title of this book is an oxymoron. After all, the term abstraction refers to an idea or general description, divorced from physical objects. On the other hand, something is concrete when it is a particular object, perhaps something that we can manipulate with our hands and look at with our eyes. Yet we often deal with concrete abstractions, and so this book will introduce several abstract ideas in as concrete a way as possible. As the reader become familiar and comfortable with these ideas, they will begin to think of the abstractions as actual concrete objects. It is this way of thinking, that makes computer science can be referred as the discipline of concrete abstractions.

This book offers the students a hands-on, abstraction-based experience of thinking like a computer scientist. It 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). While most of the book uses the Scheme programming language, Java is introduced at the end as a second example of an OOP system and to demonstrate concepts of concurrent programming.

Intended Audience :

This book is primarily intended as the text for a first undergraduate course in computer science. The ideal is that every college student should have a trial experience of what it's like to think abstractly, the way mathematicians and computer scientists think. The tangible nature of the computer scientist's abstractions should attract some of the students who choose to avoid math courses. Because of this, 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.

Similarly, this book also assume that the reader may not have had much computing or programming experience, beyond playing an occasional computer game or using a word processor. However, this book does not describe how to start a computer, how to use a Scheme programming environment, or similar mechanics. This kind of information varies greatly from machine to machine and is best taught by a person rather than a book.

Reviews:

Amazon.com
:) "The book starts in Scheme, then adds object oriented techniques and assembly language. It finishes with a transition to Java, which is, of course, similar to C++. This approach will provide a much broader background than a typical text using C++ or C could."

:) "Concrete Abstractions provides a great intoduction to the world of Computer Science. It covers well basic ideas of abstractions, software design, algorithms, sorting, and much more."
 




About The Author(s)


Max Hailperin received Gustavus's Edgar M. Carlson Award for Distinguished Teaching in 2002. He has also published journal articles on aspects of computer program optimization by compilers, as well as conference presentations on computer science education. He has served as a consultant and volunteer lobbyist regarding technology-related aspects of election law. His research interests are public policies concerning information technology.

Max Hailperin

Max Hailperin received Gustavus's Edgar M. Carlson Award for Distinguished Teaching in 2002. He has also published journal articles on aspects of computer program optimization by compilers, as well as conference presentations on computer science education. He has served as a consultant and volunteer lobbyist regarding technology-related aspects of election law. His research interests are public policies concerning information technology.


No information is available for this author.

Barbara Kaiser

No information is available for this author.


No information is available for this author.

Karl Knight

No information is available for this author.


Book Categories
Sponsors