HN
Today

Simply Scheme: Introducing Computer Science (1999)

This online edition of "Simply Scheme: Introducing Computer Science" (1999) offers a deep dive into foundational programming concepts using the Scheme language. It's a classic textbook that guides readers through core computer science principles from functions to recursion and data structures. Its enduring popularity on Hacker News likely stems from its historical significance in CS education and its comprehensive, functional-programming-centric approach.

3
Score
0
Comments
#7
Highest Rank
9h
on Front Page
First Seen
Feb 5, 12:00 PM
Last Seen
Feb 5, 8:00 PM
Rank Over Time
201278812162429

The Lowdown

The provided link presents the full, online version of "Simply Scheme: Introducing Computer Science," the second edition published in 1999. Authored by Brian Harvey, this textbook serves as a comprehensive introduction to computer science using the Scheme programming language, a dialect of Lisp, and was originally copyrighted by MIT. The site offers the book's complete table of contents, allowing users to browse chapters in HTML or download them as PDFs.

Key topics covered throughout the book include:

  • Introduction to Functions: Basic concepts like showing off Scheme, defining functions, and understanding expressions.
  • Composition of Functions: Exploring how functions combine, defining user procedures, and working with words, sentences, booleans, and variables.
  • Functions as Data: Advanced topics such as higher-order functions and lambda expressions, with practical projects like Tic-Tac-Toe.
  • Recursion: A thorough examination of recursive procedures, patterns, and advanced recursive techniques, including projects like scoring poker hands.
  • Abstraction: Delving into data structures like lists and trees, and implementing higher-order functions.
  • Sequential Programming: Concepts of input/output, file handling, vectors, and practical examples such as implementing a spreadsheet program.
  • Appendices: Covering practical aspects like running Scheme, comparisons to Common Lisp, and the GNU General Public License.

The book emphasizes fundamental computer science principles, utilizing Scheme as a pedagogical tool to build a strong theoretical and practical understanding of programming and algorithmic thinking. It remains a valuable resource for anyone looking to learn computer science from a classic, functional programming perspective.