Simply Scheme: Introducing Computer Science

by | Sep 17, 2018 | Computers and Technology | 0 comments

One of the best ways to stifle the growth of an idea is to enshrine it in an educational curriculum. The textbook publishers, certification panels, professional organizations, the folks who write the college entrance exams–once they’ve settled on an approach, they become frozen in a straitjacket of interlocking constraints that thwarts the ability to evolve. So it is common that students learn the ‘modern’ geography of countries that no longer exist and practice using logarithm tables when calculators have made tables obsolete. And in computer science, beginning courses are trapped in an approach that was already ten years out of date by the time it was canonized in the mid 80s, when the College Entrance Examination Board adopted an advanced placement exam based on Pascal.

This book points the way out of the trap. It emphasizes programming as a way to express ideas, rather than just a way to get computers to perform tasks.

Harvey and Wright’s introduction to computing emerges from a different intellectual heritage, one rooted in research in artificial intelligence and the programming language Lisp. In approaching computing through this book, you’ll focus on two essential techniques.

First is the notion of symbolic programming. This means that you deal not only with numbers and letters, but with structured collections of data–a word is a list of characters, a sentence is a list of words, a paragraph is a list of sentences, a story is a list of paragraphs, and so on. You assemble things in terms of natural parts, rather than always viewing data in terms of its tiniest pieces. It’s the difference between saying ‘find the fifth character of the third word in the sentence’ and ‘scan the sentence until you pass two spaces, then scan past four more characters, and return the next character.’

The second technique is to work with higher-order functions. That means that you don’t only write programs, but rather you write programs that write programs, so you can bootstrap your methods into more powerful methods.

These two techniques belong at center stage in any beginning programming course, which is exactly where Harvey and Wright put them. The underlying principle in both cases is that you work with general parts that you extend and combine in flexible ways, rather than tiny fragments that you fit together into rigid structures.

Simply Scheme: Introducing Computer Science

by Brian Harvey and Matthew Wright (Online reading only) – 26 Chapters

Simply Scheme: Introducing Computer Science by Brian Harvey and Matthew Wright

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.