Fundamentals of Programming Languages (X037515)

Winter Semester 2017/2018

to master students, school of software


Instructor

Guoqiang Li

Teaching Assistant

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

Time

8:00am - 10:45am every Wednesday

Place

Chen Rui Qiu 311

Office hour

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


References

  • 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.
    [handout]

    Sep. 27
    Lecture 2. Model checking.
    [handout]

    Oct.  4
    Lecture 3. Finite automata and Buchi automata.
    [handout]

    Oct. 11
    Lecture 4. LTL model checking.
    [handout]

    Oct. 18
    Lecture 5. Abstract interpretation.
    [handout]

    Oct. 25
    Lecture 6. Pushdown automata and interprocedural programs.
    [handout]

    Nov.  1
    Lecture 7. Petri Net and concurrent programs.
    [handout]

    Nov.  8
    Exercise I.

    Nov. 15
    Lecture 8. Programming semantics I.
    [handout]

    Nov. 22
    Lecture 9. Programming semantics II.
    [handout]

    Nov. 29
    Lecture 10. Lambda calculus.
    [handout]

    Dec.  6
    Lecture 11. Types.
    [handout]

    Dec. 13
    Lecture 12. Functional programming.
    [handout]

    Dec. 20
    Lecture 13. Conclusions.
    [handout]

    Dec. 27
    Exercise II.


    Materials

    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


    Homework


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