CS 6848 - Principles of Programming Languages
Goal of the course:
At the end of the course, students will have a fair understanding of some fundamental issues in the design and implementation of
If the course encourages even a few of the students to pursue further studies in any of the
covered or related topics then the course definitely would have met its goals.
Slides for the Lectures:
- Time and Place: Wed (2.00-3.40pm), Fri (3.00-4.40pm), R-T slots. Class room # CS 26 (Seminar room).
- Teacher : V. Krishna Nandivada
- Office hours / Doubt sessions : Anytime.
- TA : Ashok Gautam.
- Office hours / Doubt sessions : Mon/Tue/Fri, between 3.00pm-5.30pm, or Fix a time by sending an email.
- Course outline.
- Software, documentation and tools link is here.
- Submission guidelines.
- Discussion website is here (access restricted).
- Book 1: Essentials of Programming Languages (EOPL), Daniel P. Friedman, Mitchell Wand, and Christopher T. Haynes, McGraw-Hill, 2001.
- Book 2: Types and Programming Languages, Benjamin C. Pierce, MIT Press, 2002.
- Ref 1: Foundations of Programming Languages, John Mitchell, MIT Press, 1996.
- Ref 2: Practical Foundations of Programming Languages, Robert Harper, 2011, online book.
- --- all dates --- Acknowledgements
- Jan 4, 6 2012. Introduction
- Jan 11, 13 2012. Data types and Interpreters
- Jan 18 2012. Operational Semantics
- Jan 27, Feb 01, Feb 03 2012. Denotational semantics, Axiomatic semantics, Equivalence
- Feb 08 2012. Type systems
- Feb 10, 15, 17 2012. Type systems (part II)
- Feb 22 2012. Type systems (part III)
- Feb 27, Mar 2 2012. Type systems (part IV)
- Mar 14 2012. Type systems (part V). Side reading: From System F to Typed Assembly Language, ACM TOPLAS 21(3): 527-568 (1999).
- Mar 16, 21 2012. CPS.
- Mar 28, 30 2012. Flow Analysis.
- Apr 4, 11 2012. Exceptions.
- Apr 13 2012. Modeling the store and versioning exceptions. Side reading: Dynamic state restoration using versioning exceptions (till the end of section 4).
- Apr 18 2012. Partial Evaluation. Side reading: An Introduction to Partial Evaluation by Neil D. Jones
- Midterm exam (20%) on Mar 7th 2012. Closed book, closed notes, closed neighbor. sample solution.
- Final exam (40%) on Apr 28th 2012 11AM. Closed book, closed notes, closed neighbor. sample solution.