CS 345: Programming Languages Schedule, Spring 2013



Date

Topic

Reading

Assigned

Due

1

M

Jan 14

Introduction to course




2

W

Jan 16

Haskell Introduction

* Haskell Platform
* Learn You a Haskell for Great Good!
* Haskell Tutorial

Task #1: Get started running Haskell (not graded)


3

F

Jan 18

Haskell introduction continued





M

Jan 21

HOLIDAY


HW #1: Fibs and Primes


4

W

Jan 23

More Haskell




5

F

Jan 25

Expressions

Lecture photos


HW #1
Solution

6

M

Jan 28

Substitution

Lecture photos

HW #2: Basic Interpreter


7

W

Jan 30

First-class functions

Lecture photos



8

F

Feb 01

Type classes

How to make ad-hoc polymorphism less ad hoc
Lecture photos


HW #2
Solution

9

M

Feb 04

Closures

Lecture photos



10

W

Feb 06

Environment Diagrams

Lecture photos

HW #3: Functions


11

F

Feb 08

Closures and Environments

Lecture photos



12

M

Feb 11

Closures and Environments

Lecture photos



13

W

Feb 13

Closures and Environments



HW #3
Solution

14

F

Feb 15

Quiz




15

M

Feb 18

Recursion and fixed points

Lecture photos



16

W

Feb 20

Recursive definitions

Lecture photos

HW#4: Recursion


17

F

Feb 22

Laziness and Repmin

repmin.hs

Lecture photos



18

M

Feb 25

Data Abstraction & Representing data as functions

Lecture photos



19

W

Feb 27

Recursion completed



HW#4 Due

20

F

Mar 01



HW #5: Diagram for Book (see Piazza.com for details)


21

M

Mar 04

Review diagrams




22

W

Mar 06

GDC Opening, optional half-semester review




23

F

Mar 08

Midterm



HW#5 Due


M

Mar 11

SPRING BREAK





W

Mar 13

SPRING BREAK





F

Mar 15

SPRING BREAK




24

M

Mar 18

Error Propagation

Chapter 5.1 of AoPL

Lecture Photos



25

W

Mar 20

Mutable State (part 1)

Chapter 5.2 of AoPL

Lecture Photos

HW #6: Error Handling (Exercise 5.1.1 and 5.1.2 of AoPL)

Optional HW #OPT
Exercise 5.2.5. Grade replaces your lowest grade on any other homework.


26

F

Mar 22

Mutable State (part 2)

Lecture photos



27

M

Mar 25

Monads

Chapter 5.3 of AoPL

Lecture photos



28

W

Mar 27

Monads 2

Lecture photos


HW#6 Due

29

F

Mar 29

Parsing




30

M

Apr 01

Parsing: precedence & associativity




31

W

Apr 03

Objects


HW#7 (See piazza or email for details)


32

F

Apr 05

(no class, sick)



HW#7 due in class

33

M

Apr 08

Objects

Lecture photos



34

W

Apr 10

Objects

Lecture photos



35

F

Apr 12

Inheritance

Lecture photos

HW#8 MiniJS Part 1


36

M

Apr 15

Typing

Lecture photos



37

W

Apr 17

Typing

Lecture photos



38

F

Apr 19

Typing




39

M

Apr 22



HW#9 MiniJS Part 2


40

W

Apr 24

Records and “this”

Lecture photos



41

F

Apr 26

Sequences of commands and Mutable State

Lecture photos


HW#8 Due at 5pm

42

M

Apr 29

JavaScript monad

Lecture photos



43

W

May 01





44

F

May 03

Course review for final



HW#9 Due at 5pm