Lesson 0.2 Intro


This lesson covers the Racket programming language in more depth, and also expands on Functional Programming, a programming paradigm that solves problems through the evaluation of functions, and one of the Big Ideas we discussed in Lesson 0-1.

Prerequisites and What to Expect

Prerequisites: Make sure you have fully completed Lesson 0-1 and Homework 0-1 before starting on this Lesson.

What to Expect: In this lesson, we will:

  • go over the basic syntax of Racket
  • use Racket to solve simple problems
  • highlight the idea of Functional Programming

Introduction to Racket

Racket is a dialect of Lisp, i.e.,

"the greatest single programming language ever designed" -- Alan Kay

Why do we learn it?

"Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days [...]" -- Eric Raymond


Here are some outdated readings (written for the Scheme language) that may or may not be useful in understanding this lesson. If you find these readings confusing, feel free to skip them:

Continue to the next subsection to learn the basics of Racket!