CS 275: Programming Abstractions

DateTopic and readingAssignments
Week 1
Mon, Feb 03Introduction [slides]
Reading
  • RPTFW. OPTIONAL: Chapter 2 (skip “Complex Numbers” and “Infix Notation”).
  • The Racket Guide. OPTIONAL: Section 4.3 through 4.3.1.
Wed, Feb 05Procedures & Choice [slides]
Reading
  • RPTFW. Chapter 1 (start with “Define, Assign, and Variables” through “Strings and Things”).
  • The Racket Guide. Sections 2.2.5, 4.4, 4.5, 4.7.
Fri, Feb 07Basic Building Blocks [slides]
Reading
Week 2
Mon, Feb 10Testing, Style & Modules [slides]
Reading
Wed, Feb 12Function Design - Part 1 [slides]
Reading
Fri, Feb 14Environments & Evaluation [slides]
Reading
  • RPTFW. Chapter 3 (“What is a function?”, “Lambda functions,” and “Conditional Expressions”).
  • The Racket Guide. Section 4.6 through 4.6.3; sections 4.6.4 and 4.6.5 are optional.
Week 3
Mon, Feb 17Function Design - Part 2 [slides]
No reading
Wed, Feb 19Tail recursion and map [slides]
Reading
Fri, Feb 21Fold Right [slides]
Reading
Week 4
Mon, Feb 24Folds
Reading
Wed, Feb 26Higher Order Wrap Up
No reading
Fri, Feb 28Structs & Data Types
Reading
Week 5
Mon, Mar 03Typed Racket
Reading
Wed, Mar 05Types & Computation
No reading
Fri, Mar 07Catchup and Exam 1 Review
No reading
Week 6
Mon, Mar 10Exam 1
No reading
    Wed, Mar 12MiniScheme Start
    No reading
    Fri, Mar 14MiniScheme A & B
    No reading
    Week 7
    Mon, Mar 17MiniScheme C
    No reading
    Wed, Mar 19MiniScheme C part 2
    No reading
    Fri, Mar 21MiniScheme D
    No reading
    Week 8
    Mon, Mar 24No class: spring break
    No reading
      Wed, Mar 26No class: spring break
      No reading
      Fri, Mar 28No class: spring break
      No reading
      Week 9
      Mon, Mar 31MiniScheme E
      No reading
      Wed, Apr 02Streams - Part 1
      No reading
      Fri, Apr 04Streams - Part 2
      No reading
      Week 10
      Mon, Apr 07MiniScheme F
      No reading
      Wed, Apr 09MiniScheme G
      No reading
      Fri, Apr 11MiniScheme H
      No reading
      Week 11
      Mon, Apr 14Scoping Methods
      No reading
      Wed, Apr 16Scoping Example: Control Flow Design
      No reading
      Fri, Apr 18Exam 2 Review
      No reading
      Week 12
      Mon, Apr 21Exam 2
      No reading
      Wed, Apr 23Parameter Passing Mechanisms
      No reading
      Fri, Apr 25Learning a Language - Part 1
      No reading
      Week 13
      Mon, Apr 28Learning a Language - Part 2
      No reading
      Wed, Apr 30Theoretical Concerns
      No reading
      Fri, May 02More lambda calculus
      No reading
      Week 14
      Mon, May 05Y combinator
      No reading
      Wed, May 07Practical Concerns
      No reading
      Fri, May 09Final class
      No reading