Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add final exam room

...

Week

Day

Date

Topic

Work AssignedWork Due

1

Tu

Aug 21

Overview, Motivation

  
 ThAug 23Computation by Reduction, TypesHomework 0 

2

Tu

Aug 28

Core Scala, Doubles, Error Conditions

  
 ThAug 30Programming with Intention, The Design Recipe  

3

Tu

Sep 04

Conditionals, Functions on Ranges & Point Values, Compound Data

  
 ThSep 06Methods, Objects, Grading Homework 0

4

Tu

Sep 11

Abstract Datatypes & DrScala

Homework 1 

 

Th

Sep 13

Abstract Datatypes (cont.), Recursively Defined Types

  

5

Tu

Sep 18

Recursively Defined Types (cont.), Functions as Values

  

 

Th

Sep 20

1st-Class Functions, Imports

  

6

Tu

Sep 25

1st-Class Functions, Imports, Variable & Named Args*Variable Arity, Named Arguments, Exceptions, Format Strings

Homework 2Homework 1

 

Th

Sep 27

Exceptions, String Formatting, Generic Types*

  

7

Tu

Oct 02

Co- and Contra-variance, Currying, Fold, Flatmap*Type Hierarchy, Variance, Generic Map Function  

 

Th

Oct 04

Type HierarchyFold, OverridesZip, ExceptionsFlatten, Operators*For Expressions

  

8

Tu

Oct 09

Midterm Recess (no classes)

  

 

Th

Oct 11

For Expressions, Monads, The Environment Model* Operators

Homework 3Homework 2

9

Tu

Oct 16

Tentative: Midterm ExamAccumulators  

 

Th

Oct 18

Call-by-Name/Value, Scala Immutable Collections Classes, Traits*

  

10

Tu

Oct 23 Generative Recursion*

Growing a Language, by Guy L. Steele, Jr.
Midterm Exam: 7–10pm in DH1075

  

 

Th

Oct 25 Strategies for Generative Recursion*

Call by Name, Traits, Mixins

  

11

Tu

Oct 30

Accumulators*

Homework 4

Scala Parser Combinators

  Homework 3

 

Th

Nov 01

Functional Data Structures*

 

Streams

Homework 4Homework 3 

12

Tu

Nov 06

Streams, State, Mutation*Monads, For-expression desugaring

  

 

Th

Nov 08Mechanical Proof Checking, The Curry-Howard Isomorphism*

...

  

13

Tu

Nov 13

The State Monad*

Homework 5

Additional Scala Features

  Homework 4

 

Th

Nov 15

Additional Scala Features, Extractors, Parser Combinators*

 

Semantics of Exceptions

Homework 5Homework 4 
14TuNov 20More Parser Combinators, Actors and Concurrency*Videos: What to Leave Implicit and Impromptu  

 

Th

Nov 22

Thanksgiving Holiday (no classes)

  

15

Tu

Nov 27

Functional Distributed Computing*State Monad

  
 ThNov 29Videos: What to Leave Implicit and Impromptu*Course Wrap-up Homework 5
16TuDec 04Study Day (no classes)  

 

?F

Dec 07???

Final Exam (awaiting date from registrar's office): 2–5pm in Duncan Hall 1075

  

* Lectures slides not yet updated from last year are marked with an asterisk.

** The place and time of the final exam is set by the registrar. The current scheduling details are available on the registrar's page for this course.