Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Week

Day

Date

Lecture Topic and Resources

Work AssignedWork Due

1

Tu

Aug 27

Motivation and the Elements of Racket

 HTDP Part 1Sep 03 
 ThAug 29Conditionals, Function Definitions and Computation by ReductionHomework 0 Sep 05S

2

Tu

Sep 03

The Program Design Recipe for Racket

 HTDP Part 2Sep 10 
 ThSep 05Inductively Defined Data and Structural Templates Homework 1 Sep 12

3

Tu

Sep 10

Conditionals, Functions on Ranges & Point Values, Compound Data
BeakerX Notebook A: Source, PDF
BeakerX Notebook B: Source, PDF

 

Functions as Data and Customizers

HTDP Part 3Sep 17 
 ThSep 12Methods, Objects, Grading Nameless FunctionsHomework 2Sep 19 

4

Tu

Sep 17

Abstract Datatypes

Homework 1

Generative Recursion

HTDP Parts 5-6Sep 24Homework 0

 

Th

Sep 19

Recursively Defined Types

 

Accumulators

Homework 3*Sep 26 

5

Tu

Sep 24

Functions as Values

Macros and Lazy Evaluation

?  

 

Th

Sep 26

1st-Class Functions, Imports

Abstract Syntax and Term Rewriting

Homework 4*  

6

Tu

Oct 01

Named Arguments, Varargs, String Interpolation, Packages

Homework 2

Functional Design Patterns in OOP

  Homework 1

 

Th

Oct 03

Generic Types, Type Hierarchy, Variance
Supplement: Producers and Consumers

OOP as an Extension of FP

Homework 5  

7

Tu

Oct 08

Type Hierarchy, Variance, Generic Map FunctionTyped Lambda Calculus  

 

Th

Oct 10Fold, Zip, Flatten, For Expressions

Polymorphic Lambda Calculus

  

8

Tu

Oct 15

Midterm Recess (no classes)

  

 

Th

Oct 17

Scala Immutable Collections, Call by Name

Homework 3Homework 2

9

Tu

Oct 22

Monads, For-expression desugaring  

 

Th

Oct 24

Operators, Accumulators
BeakerX Notebook: Source, PDF

  

10

Tu

Oct 29

Video: Growing a Language, by Guy L. Steele, Jr.
Exam 1 at 7pm in DCH 1064

  

 

Th

Oct 31

Scala Parser Combinators

  

11

Tu

Nov 05

Lazy and Infinite Sequences

  

 

Th

Nov 07

Semantics of Exceptions

Homework 4Homework 3

12

Tu

Nov 12

Traits and Mixins
BeakerX Notebook A: MTG with Mixins – Source, PDF
BeakerX Notebook B: Stackable Mixins – Source, PDF

  

 

Th

Nov 14

Additional Scala Features

  

13

Tu

Nov 19

State Monad
BeakerX Notebook: Source, PDF

  

 

Th

Nov 21

Video: What to Leave Implicit, by Martin Odersky

Homework 5Homework 4
14TuNov 26No Class  

 

Th

Nov 28

Thanksgiving Holiday (no classes)

  

15

Tu

Dec 03

Course Wrap-Up

  
 ThDec 05Exam 2 (in class) Homework 5
16TuDec 10Study Day (no classes)  

 

Sat

Dec 14

Final exam/project date scheduled by university
(last day to to submit assignments for this course)

  

...