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: 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:
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!