Proposal for New Curriculum

Task force: Walid, Corky, Alan, Joe, Dung, (Steven?)

Week

Lecture

Theme

Content

Lab

1

1-3

Functional programming + types upto trees

Booleans, records, unions, recipe, (auxiliary) functions, lists

 

2

4-6

 

Complex list operations, natural numbers

 

3

7-9

 

Trees, mutual recursion, GUI programming

 

4

10-12

 

Abstraction in functions and types, first class functions

 

5

13-15

 

Accumulators (list reverse), non-structural induction (parsing)

 

6

16-18

 

 

 

7

19-21

Design patterns (transition to Java)

Immutable list, composite, interpreter, helpers, visitor pattern

 

8

22-24

 

Inner classes, GUI, MVC, generics, collections

 

9

25-27

 

 

 

10

28-30

 

 

 

11

31-33

Programming with imperative features

 

 

12

34-36

 

 

 

13

37-39

 

 

 

14

40-42

 

 

 

15

43-45

 

 

 

TODO:

Things for the second half:

Falling off the cliff:

Ideas:

Concerns:

References

Reference materials

Corky's independent check:
Condensing the Comp 210 Syllabux

Lecture 1   Intro
Lecture 2   Old Lectures 2-3
Lecture 3   Old Lecture  4-6 excluding effects
Lecture 4   Old Lectures 7-8
Lecture 5   Old Lecture  9-10
Lecture 6   Trees (11)
Lecture 8   Local Definitions and Lexical Scope (18)
Lecture 9   Function Abstraction: Functions are Values (16-17)
Lecture 10  Lambda abstractions (Defining functions on the fly) (24)
Lecture 11  Accumulators and tail recursion (26-27)
Lecture 12  Generative recursion
...

Access Control: (Please don't edit)