Concrete Abstractions: An Introduction to Computer Science Using Scheme

by | Aug 30, 2018 | Computers and Technology | 0 comments

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.

In summary, this book is designed to introduce you to how computer scientists think and work. We assume that as a reader, you become actively involved in reading and that you like to play with things. We have provided a variety of activities that involve hands-on manipulation of concrete objects such as paper chains, numbered cards, and chocolate candy bars. The many programming exercises encourage you to experiment with the procedures and data structures we describe. And we have posed a number of problems that allow you to play with the abstract ideas we introduce.

Our major emphasis is on how computer scientists think, as opposed to what they think about. Our applications and examples are chosen to illustrate various problemsolving strategies, to introduce some of the major themes in the discipline, and to give you a good feel for the subject. We use sidebars to expand on various topics in computer science, to give some historical background, and to describe some of the ethical issues that arise.

Concrete Abstractions: An Introduction to Computer Science Using Scheme

by Max Hailperin, Barbara Kaiser, and Karl Knight (PDF, Online reading) – 15 Chapters

Concrete Abstractions: An Introduction to Computer Science Using Scheme by Max Hailperin, Barbara Kaiser, and Karl Knight

Related Posts

57 Computer History Videos, Documentaries and Ebooks

57 Computer History Videos, Documentaries and Ebooks

Computing is the bedrock technology that fuels the homes of billions of people around the world. It offers endless possibilities for producing, sharing, and saving information. In this article, a list originally maintained by Thomas Watson, recompiled and cleaned, takes a look at some of the most important innovations in computing history. It covers information from as early as 1953, right down to 2016, in various forms of folklores, recordings, documentaries, interviews, lectures and movies.

136 Free Scientific Articles, Thesis and Reports on Deep Learning for Music

136 Free Scientific Articles, Thesis and Reports on Deep Learning for Music

Over the last several years, a new area of research called deep learning has taken the machine learning community by storm, delivering very promising results in all areas of speech and image recognition. However, one missing link is the lack of an accessible and easy-to-use open-source deep learning library for the music and/or audio research community. In this post we will introduce you to scientific articles, thesis and reports that use deep learning approaches applied to music. The documents are generally in PDF formats, sorted by years and paired with source codes if they’re available.

181 Articles, Websites and Resources about Diversity and Inclusion in Technology

181 Articles, Websites and Resources about Diversity and Inclusion in Technology

This collection includes postings, articles, talks, actionable tools, conferences, social media advocates, and other resources on diversity, specifically diversity in technology. The list’s goal is to provide quick access to diversity information to tech companies and communities that want to do more in their everyday actions to make the tech industry a more inclusive place, as well as to individuals who want to learn more about topics related to diversity and equity in the tech field.