CS 5010: Module 01

Module Overview

This week we will introduce the Function Design Recipe, which is a technique that will help you to achieve the goal of this course: writing beautiful programs.

The Function Design Recipe has six steps:

  1. Data Design
  2. Contract and Purpose Statement
  3. Examples and Tests
  4. Design Strategy
  5. Function Definition
  6. Program Review

We will spend most of the week (Lessons 1.2-1.5) on Step 1, Data Design. We will write down a recipe for doing a data design, and we will learn about templates, which allow us to process data by simply filling in the blanks.

Course Map

course map

Readings

Read the Prologue and Part I from our textbook, which will introduce you to programming in Racket's Basic Student Language, using fixed-size data. Note that the book talks about the Basic Student Language, but the assignments will actually use the Intermediate Student Language, which contains the Basic Student Language as a subset.

Resources

Lessons

Activities

Please do the following activities:

Problem Set

Problem Set 01 is due Monday, 18 September 2017.