Charlie's office hours: M/Tu 4-5, W/F 10:30-11:30.

Grading

  • 20% pop quizzes
  • 20% short homework exercises including some short programming assignments
  • 30% mid term
  • 30% final project

 

Reading list

Types and programming languages  by Pierce, Benjamin C. (available in electronic form from the UCSC library)

Programming in Scala (2nd Edition) by Odersky, Spoon, and Venners

A Tour of Go

Go Language Specification

Swift

Lambda Expressions in Java

ESC/Java

Optional background reading

Hoare "Hints on Programming Language Design"

Wegner, "Programming Languages - The First 25 Years"

Wirth, "On The Design of Programming Languages"

Nauer, "Report on the algorithmic language Algol60"

Hudak, "Conception, evolution, and application of functional programming languages"