Fundamentals of Programming Languages (X037515)

Winter Semester 2017/2018

to master students, school of software


Guoqiang Li

Teaching Assistant

Yuwei WANG: wangyuwei95 (AT) qq (DOT) com


8:00am - 10:45am every Wednesday


Chen Rui Qiu 311

Office hour

Tue. 14:00-17:00 at 3203 Building of Software


  • Edmund M. Clarke Jr., Orna Grumberg, Doron A. Peled. Model Checking. MIT Press, 1999

  • Glynn Winskel. Formal Semantics of Programming Languages: An Introduction. MIT Press, 1993

  • Benjamin C. Pierce. Types and Programming Languages. MIT Press, 2002

  • Lectures

    Sep. 20
    Lecture 1. Introduction and logic basics.

    Sep. 27
    Lecture 2. Model checking.

    Oct.  4
    Lecture 3. Finite automata and Buchi automata.

    Oct. 11
    Lecture 4. LTL model checking.

    Oct. 18
    Lecture 5. Abstract interpretation.

    Oct. 25
    Lecture 6. Pushdown automata and interprocedural programs.

    Nov.  1
    Lecture 7. Petri Net and concurrent programs.

    Nov.  8
    Exercise I.

    Nov. 15
    Lecture 8. Programming semantics I.

    Nov. 22
    Lecture 9. Programming semantics II.

    Nov. 29
    Lecture 10. Lambda calculus.

    Dec.  6
    Lecture 11. Types.

    Dec. 13
    Lecture 12. Functional programming.

    Dec. 20
    Lecture 13. Conclusions.

    Dec. 27
    Exercise II.


    Fundamentals of Programming Languages
    by Evan Chang @ University of Colorado Boulder

    Principles of Programming Languages
    by Sam Staton @ Oxford

    Foundations of Programming Languages
    by Robert Simmons @ CMU

    Principles of Programming Languages
    by Hongwei Xi @ Boston U.

    Introduction to Programming Languages Theory
    by anonymous @ Standford


    Guoqiang Li
    Last modified: Wednesday, Aug. 9, 2017.