CS571: Programming Languages, Spring 2021 (Section II)


  • Time: MW 6:20-7:45
  • Classroom: S1-149 or online (alternate between weeks)
  • Professor: David Liu. Office hour: MW 5-6 by appointment online
  • MyCourses System, where assignments are posted. We will share slides and zoom recordings through Google Doc.


This is an introductory programming language course for graduate students. Students are not assumed to have deep pre-knowledge of functional programming or logic programming. Significant experience with C-like languages and Java-like languages, however, is required. Topics covered by the course include:

  • semantics for C-like languages
  • semantics for Java-like languages
  • functional programming with Haskell
  • logic programming with Prolog
  • compiler construction

Recommended Textbooks

  • Michael Scott, Programming Language Pragmatics, 3rd Edition, ELSEVIER, ISBN:9780123745149
  • Kenneth C. Louden, Programming Languages Principles and Practice, 2nd Edition, Thomson Learning. ISBN:0-534-95341-7

Useful Links

Academic Honesty