Design & Implementation of Programing Languages
Fall 2009

 

Textbook :

book cover  Programming Language Pragmatics, 3/E
Michael Scott, University of Rochester
Publisher: MORGAN KAUFFMAN
Copyright: March 2009
ISBN-13: 978-0-12-374514-9

Reference book:
book cover  Concepts of Programming Languages, 8/E
Robert W. Sebesta, University of Colorado
Publisher: Addison-Wesley
Copyright: 2008
ISBN-10: 0321493621
ISBN-13: 9780321493620

Schedule :

Announcements:

I will be available in my office tomorrow (6 Bahman 1388) from 16:00 pm to 17:30 pm to answer your questions.

Homework, Exams, and Grades

The following file will be updated in the course of the semester and you should check it every week to find out your new homework!
You can find the homework and programming assignments in this file.

Midterm Exam: Tuesday 3 Azar 1388
Your midterm exam is uploaded here!
Final Exam:


Grading

Homework and programming assignments: 25%
Midterm exam: 30%
Final exam: 40%
Class participation: 5%

Previous Exams

Fall 2004 - Midterm (First semester of 83-84)   .rar format
Fall 2004 - Final (First semester of 83-84)   .rar  format
Spring 2005 - Final (2nd semester of 83-84)   .rar format
Fall 2005 - Midterm (First semester of 84-85)   .rar format
Fall 2005 - Final (First semester of 84-85)   .rar format
Spring 2006 - Midterm (2nd semester of 84-85)   .rar format
Spring 2006 - Final (2nd semester of 84-85)   .rar format
Fall 2006 - Midterm (First semester of 85-86)   .rar format
Fall 2006 - Final (First semester of 85-86)   .rar format
Spring 2007 - Midterm (2nd semester of 85-86)   .rar format
Spring 2007 - Final (2nd semester of 85-86)   .rar format
Fall 2007 - Midterm (First semester of 86-87)   .rar format
Fall 2007 - Final (First semester of 86-87)   .rar format
Spring 2008 - Midterm (2nd semester of 86-87)   .rar format
Spring 2008 - Final (2nd semester of 86-87)   .rar format

Lecture Slides

Download slides of chapter 1. In this chapter we examine the reasons why we study Programming Languages Concepts. We also categorize the programming languages in different groups. We also study the methods we can use to implement a programming language.

Download slides of chapter 2. This chapter examines the formal mechanism of specifying of programming language syntax.

Download slides of chapter 3. From this chapter on we start speaking about design issues of programming languages. We speak about names, binding, scope, and lifetime in this chapter.

Download slides of Data Type subject. In this set of slides we examine the concept of data types in programming languages. We see what are the restrictions which affect on design and implementation of data types.

Download slides of chapter 6. We examine issues related to Control Flow in programming languages. Iteration, recursion, expression evaluation are some of those we study in this chapter.

Download slides on Parameter passing methods. This set of slides are borrowed from the web and I put the original file here without any changes.

Teaching Assistants

Amir Baba Ali is my assistant in this course this semester. Below is his nice picture. He will have sessions in which you are going to learn Haskell programming language. The time and place of the sessions will be defined in the first session of our class. Feel free to contact him via email if you have any question.
book cover
Amir Baba Ali