Instructor  J. Garrett Morris 
garrettm@ku.edu  
Office  Eaton 2028 
Office hours  TH 2:204:00 PM, and by appointment 
Course website  http://ittc.ku.edu/~garrett/eecs662s19/ 
Lectures  TH 1:002:15, Learned 1136 
The syllabus is available here. The highlevel objectives for this course are that students should be able to:
You will need to log in with your KU ID to access homework assignments and solutions.
Number  Due date  Assignment  Sample solutions 
0  February 5, 1:00 PM  HW0.hs  HW0.hs 
1  February 28, 1:00 PM  HW1.hs  HW1.hs 
2  March 21, 1:00 PM  HW2.hs  
3  April 18, 1:00 PM  HW3.hs 
Number  Date  Blank  Solutions 
Quiz 1  1/31  Q1.pdf  Q1ans.pdf 
Quiz 2  2/19  Q2.pdf  Q2ans.pdf 
Quiz 3  3/7  Q3.pdf  Q3ans.pdf 
Quiz 3  3/7  Q3.pdf  Q3ans.pdf 
Midterm  3/26  Midterm.pdf  MidtermSolutions.pdf 
Quiz 4  4/4  Q4.pdf  Q4ans.pdf 
date  topics  notes 
1/22 
Introduction and administrivia Why study programming languages? 

1/24 
Syntax and semantics (informally) Concrete and abstract syntax Arithmetic language (syntax) 
day2.pdf Arith0.hs 
1/29  Semantics of arithmetic language  day3.pdf 
1/31 
Nontotal evaluation functions Approximating evaluation 
day4.pdf 
2/5  Implementing evaluation in Haskell  Arith1.hs 
2/7  No classicecapades!  
2/12  Booleans and pairs  Homework 1 released 
2/14 
Variables and bindings Substitution αequivalence 
day5.pdf 
2/19  Callbyvalue and callbyname  day6.pdf 
2/21  Environments and substitution  day7.pdf 
2/26  Lambda calculus  day8.pdf 
2/28  Implementing lambda calculus  Lambda.hs 
3/5  Functions and environments  day9.pdf 
3/7 
Typing functions CurryHoward 
day10.pdf 
3/19 
Recursion Fixed points 
recursion.html Midterm review (solutions) 
3/21  Fixed points (continued)  
3/26  Midterm  
3/28 
Introducing effects Readers Evaluation strategies and side effects 
day12.pdf 
4/2  State 
day13.pdf Homework 3 released 
4/4  Nondeterminism  day14.pdf 
4/9  No class—instructor away 