CS 5010: Module 00

Module Overview

During this first week of class, while you might still be working on Problem Set 00 and the rest of your pre-semester checklist, Module 00 will give you an introduction to the course and to the Design Recipe.

This course is not calculus. It's not about getting the right answer, because programming problems have many right answers.

This course is about writing clear, readable, even beautiful programs. Lesson 0.1 presents the goals of this course and the principles we will use to achieve those goals.

This course is organized differently from most courses you have taken. Lesson 0.2 explains how this course is organized and what you should expect. Lesson 0.3 deals with Academic Honesty, what counts as cheating in this course, what happens to students who are caught cheating, and why industry doesn't want to hire students who cheat.

Lessons 0.4 through 0.6 introduce you to the various systems we will use—most notably Racket and GitHub.

Course Map

Here is the course map. In future weeks, this map will reappear, with the week's topics highlighted.

course map


Read the Prologue and Part I from our textbook. This reading will introduce you to programming in Racket's Basic Student Language, using data of fixed size.


Lessons and Exercises


Please do the following activities:

Problem Set

Problem Set 00 is due Thursday, 12 January.

For debugging: Click here to validate.