CS 5010 Module 01

Module Overview

This week we will learn about the Function Design Recipe. The Function Design Recipe is a technique that will help you achieve the goal of this course: to write beautiful programs.

The Function Design Recipe has 6 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 wil learn about templates, which enable us to process data by simply filling in the blanks.

We will learn about the other steps of the design recipe, and we will learn about the first of our design strategies, combining simpler functions.

Course Map

course map, week 1

Readings

Prologue and Part I from the textbook, which cover an introduction to programming, fixed-size data, and the Basic Student Language in Racket.

Here's some advice from a Googler on choosing good names. I'm not sure I agree with all his advice, but he's on the right track.

Resources

Lessons

Activities

  1. If you did not complete the activities from Module 00, please complete them now.
  2. Do the rest of the exercises in Lesson 0.4 An Introduction to Racket

The two meetings of CS 5011, which start next week, will act as supervised laboratories where you can work on this assignment, but please do as much as you can before coming to lab.

Problem Set

Problem Set 01: The goal of this problem set is to give you exercise with the systems we will use in CS 5010, and to make sure you know how to commit your solutions to the CCS github.

Submit your homework following the instructions in Submitting Your Homework, and include the required deliverables.


Last modified: Tue Jul 26 21:02:08 Eastern Daylight Time 2016