CS571: Programming Languages, Fall 2017 (Section I and II)


  • Time: Tuesdays and Thursdays 2:50-4:15 (Section I) and 4:25-5:50PM (Section II)
  • Classroom: Science 2 Room 143
  • Professor: David Liu. Office hour: Tuesdays and Thursdays 2:20-2:50PM, 5:50-6:20PM (in the lobby/elevator area of Science 2, outside classroom 132)
  • TA/GA:
    • Pradyumna Kaushik, P17, MW 6-7, pkaushi1@binghamton.edu
    • Abhishek Jain, G25, F12-2, ajain13@binghamton.edu
    • Omar T Khasawneh, T1-2, okhasaw1@binghamton.edu
  • MyCourses System, where lecture slides and assignments are posted.


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


This dateline is being developed incrementally and iteratively. It is a tentative schedule, in that changes may still happen. The schedule and topics will be continually updated to reflect any changes.

Week 1
Th (Aug 24)
Week 2
T (Aug 29)
Procedural Languages Under the Hood I
Code Review 1 Out
Week 2
Th (Aug 31)
Procedural Languages Under the Hood II
Week 3
T (Sept 5)
Procedural Languages Under the Hood III
Week 3
Th (Sept 7)
OO Languages Under the Hood I
Week 4
T (Sept 12)
OO Languages Under the Hood II
Code Review 1 Due; Code Review 2 Out
Week 4
Th (Sept 14)
OO Languages Under the Hood III
Week 5
T (Sept 19)
OO Languages Under the Hood IV
Week 5
Th (Sept 21)
no classes
Week 6
T (Sept 26)
OO Languages Under the Hood V
Code Review 2 Due
Week 6
Th (Sept 28)
Functional Languages I
Week 7
T (Oct 3)
Code Review 1
Week 7
Th (Oct 5)
Functional Languages II
Assignment I Out
Week 8
T (Oct 10)
Functional Languages III
Week 8
Th (Oct 12)
Functional Languages IV
Week 9
T (Oct 17)
no classes
Week 9
Th (Oct 19)
Code Review II
Week 10
T (Oct 24)
Research Papers I
Week 10
Th (Oct 26)
Research Papers II
Week 11
T (Oct 31)
Research Papers III
Week 11
Th (Nov 2)
Research Papers IV
Assignment I Due; Project Proposal Due
Week 12
T (Nov 7)
Functional Languages V; Logic Languages I
Week 12
Th (Nov 9)
Logic Languages II
Week 13
T (Nov 14)
Logic Languages III; Research Papers V (Sec 1)
Week 13
Th (Nov 16)
Compiler I; Research Papers V (Sec 2)
Assignment II Out
Week 14
T (Nov 21)
Compiler II
Week 14
Th (Nov 23)
no classes
turkey day
Week 15
T (Nov 28)
Compiler III
Week 15
Th (Nov 30)
Concurrent Programming I
Assignment II Due
Week 15
Sat (Dec 2)
Project Substitute Presentations
12PM (noon): meet in front of CS department office
Week 15
Sat (Dec 2)
Attendance-Optional Lecture (Mathematical Foundations of PL)
2PM-6PM: meet in front of CS department office
Week 16
T (Dec 5)
Project Demo
Week 16
Th (Dec 7)
Concurrent Programming II; Concluding Remarks

Useful Links

Academic Honesty