Design and Implementation of Programming Languages
In this course, the basic principles of designing as well as implementation of programming languages are studied. Although we will not focus on any specific programming language, you will find many examples from different languages. Every student who register in this course is expected to be familiar with the concepts of Compiler Design.
Text Books
1. Terrence W. Pratt and Marvin V. Zelkowitz: Programming Languages: Design and Implementation, 7th Edition.
2. Robert W. Sebesta: Concepts of Programming Languages, 9th Edition.
Grading
Midterm = 35%
Final = 55%
Exercises = 20%
Tentative Schedule
Date | Syllabus | Readings | Assignments |
---|---|---|---|
Sat, 01 - 07 - 91 |
History of Programming Languauges | Class Notes Ch 1.1, Ch 1.2 |
|
Sun, 02 - 07 - 91 |
Principles of Designing Languages | Ch 1.3, Ch1.4 | |
Sat, 08 - 07 - 91 |
Hardware Architecture | Ch 2.1 | |
Sun, 09 - 07 - 91 |
Virtual Computers Binding |
Ch 2.2 Ch 2.2 |
|
Sat, 15 - 07 - 91 |
Language Syntax | Ch 3.1 | |
Sun, 16 - 07 - 91 |
Steps of Compiling | Ch 3.2 | |
Sat, 22 - 07 - 91 |
Data Types | Ch 5.1 | |
Sun, 23 - 07 - 91 |
Declerations Type Checking |
Ch 5.1 | |
Sat, 29 - 07 - 91 |
Scalar Data Types | Ch 5.2 | |
Sun, 30 - 07 - 91 |
Composite Data Types | Ch 5.3 | |
Sat, 06 - 08 - 91 |
Encapsulation and Data Structures Arrays |
Ch 6.1 | |
Sun, 07 - 08 - 91 |
Records | Ch 6.1 | |
Sat, 13 - 08 - 91 |
[ Holiday ] | ||
Sun, 14 - 08 - 91 |
Lists, Sets, and ADTs | Ch 6.1 | HW1 |
Sat, 20 - 08 - 91 |
Encapsulation with Procedures Data Types Equivalation |
Ch 6.2 Ch 6.3 |
|
Sun, 21 - 08 -91 |
Inheritance | Ch 7.1, Ch 7.2 | |
Sat, 27 - 08 - 91 |
Polymorphism | Ch 7.3 | |
Sun, 28 - 08 - 91 |
Midterm Exam | Ch1 ... Ch6 | |
Sat, 04 - 09 - 91 |
[ Holiday ] | ||
Sun, 05 - 09 - 91 |
[ Holiday ] | ||
Sat, 11 - 09 - 91 |
Sequence Control (Expressions level) |
Ch 8.1, Ch 8.2 | |
Sun, 12 - 09 - 91 |
Sequence Control (Structured Instructions level) |
Ch 8.3 | |
Sat, 18 - 09 - 91 |
Sequence Control for Sub-routines |
Ch 9.1 | |
Sun, 19 - 09 - 91 |
Parameter Passings | Ch 9.3 | |
Sat, 25 - 09 - 91 |
Scope Rules | Ch 9.2 | |
Sun, 26 - 09 - 91 |
Examples of Scope Rules | HW2 | |
Sat, 02 - 10 - 91 |
Static Memory Management | Ch. 10.1 | |
Sun, 03 - 10 - 91 |
Heap Memory Management Some Notes on Distributed Processings |
Ch 10.2, Ch 10.3, Ch. 11.1 | |
Sun, 26 - 10 - 91 |
Final Exam | Ch 7 ... Ch 11 | Midterm 902   Final 902 |