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




Essentials

  • Time: Tuesdays and Thursdays 4:25-5:50PM
  • Classroom: Science Library 212
  • Professor: David Liu. Office hour: Tuesdays and Thursdays 3:50-4:20PM (in Q3), 5:50-6:20PM (outside the classroom)
  • TA:
    • Adriano Garcia, P17, MT 3-4, agarcia3@binghamton.edu
    • Piush Sinha, P17, W Th 1-2, psinha1@binghamton.edu
    • Rohan Rathod, P17, T 12-1, rrathod1@binghamton.edu
  • Blackboard System, where lecture slides and assignments are posted.

Topics

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
  • language foundations

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

Dateline

This dateline is being developed incrementally and iteratively. The schedules and topics will be continually updated to reflect any changes.

Date
Day
Topic
Note
Assignments
Aug 25
Th
Introduction
 
 
Aug 30
T
Procedural Languages Under the Hood I
 
 
Sept 1
Th
Procedural Languages Under the Hood II
 
 
Sept 6
T
Procedural Languages Under the Hood III
 
 
Sept 8
Th
OO Languages Under the Hood I
 
 
Sept 13
T
OO Languages Under the Hood II
 
Assignment I Out
Sept 15
Th
OO Languages Under the Hood III
 
 
Sept 20
T
presentations
 
 
Sept 22
Th
presentations
 
 
Sept 27
T
OO Languages Under the Hood IV
 
 
Sept 29
Th
Functional Languages I
 
 
Oct 4
T
no class
fall break
 
Oct 6
Th
Functional Languages II
 
 
Oct 11
T
Functional Languages III
 
Assignment II Out
Oct 13
Th
Functional Languages IV
 
 
Oct 18
T
Functional Languages V
 
 
Oct 20
Th
Functional Languages VI; Logic Languages I
 
 
Oct 25
T
Logic Languages II
 
 
Oct 27
Th
Logic Languages III
 
 
Nov 1
T
presentations
 
 
Nov 3
Th
presentations
 
 
Nov 8
T
mid-term
 
 
Nov 10
Th
Compiler I
 
 
Nov 15
T
Compiler II
 
Assignment III Out
Nov 17
Th
Compiler III; Operational Semantics I
 
 
Nov 22
T
Operational Semantics II
 
 
Nov 24
Th
no class
turkey day
 
Nov 29
T
Lambda Calculus I
 
 
Dec 1
Th
Lambda Calculus II
 
 
Dec 6
T
Lambda Calculus III; Concluding Remarks
 
 

Useful Links

Academic Honesty