CS 401/501 PROGRAMMING LANGUAGES
Spring 2012
Instructor: Marjan Mernik, Ph. D. (mernik@cis.uab.edu)
Classroom: EB 237
Time: 2:00-3:15 P.M. Tuesday and Thursday
Office: CH 121 (934-8525)
Office Hours: 12:50-1:50 P.M. Tuesday and Thursday or by appointment
Teaching Assistant: Reed Milewicz (rmmilewi@uab.edu)
Office Hours: Tuesday and Thursday, 12:30 P.M.-2:00 P.M., CH 154
Textbook: Concepts of Programming Languages, 9th ed., by Robert W. Sebesta. Addison Wesley, 2010.
Recommended: Modern Compiler Implementation in Java: Basic Techniques, 2nd ed., by Andrew W. Appel and Jens Palsberg. Cambridge University Press, 2002.
Announcements:
Time Table:
Topic | Chapter | Lecture |
Introduction | 1-2 | 1, supp |
Formal Syntax and Compiling | | |
Formal Syntax | 3 | 2,supp |
Lexical Analysis | 4 | 3, supp |
Parsing | 4 | 4/5, supp |
Attribute Grammar | 3 | 6/7, supp |
Denotational Semantics and Functional Programming | | |
Dynamic Semantics | 3 | 8, supp |
Functional Programming Languages | 15 | 9, supp |
Denotational Semantics | 3 | 10, supp |
Axiomatic Semantics and Logic Programming | | |
Logic Programming Languages | 16 | 14, supp |
Axiomatic Semantics | 3 | 15-16, supp |
Names, Bindings, Type Checking, and Scopes | 5 | 17, supp |
Data Types | 6 | 18, supp |
Expressions and Assignment Statements | 7 | 19a, supp |
Statement Level Control Structures | 8 | 19b |
Subprograms | 9 | 20, supp |
Implementing Subprograms | 10 | 21, supp |
Abstract Data Types | 11 | 22, supp |
Object-Oriented Programming | 12 | 23, supp |
Concurrency | 13 | 24 |
Exception Handling | 14 | 25 |
Grading:
Exam #1 | 1/6 |
Exam #2 | 1/6 |
Final Exam | 1/3 |
Exercises | 1/3 |
Grading Policy:
There will be two (2) 75-minute examinations, the first exam on Tuesday, February 21, and the second exam on Thursday, March 15. The final exam is on Thursday, May 3, 1:30-4:00 P.M. The schedule of these exams is fixed and cannot be changed to accommodate individual circumstances except for a major illness or family emergency. In such cases, arrangements must be made before the time of the exam to take the exam at a different time. Makeup exams will not be given without such prior approval and only for the emergency cases indicated. Besides exams, there will also be several written and programming exercises which will emphasize the theory covered by the lectures and text. Many of these exercises will build on each other in the form of a complete implementation of a programming language. Therefore, it is imperative that all assignments be done promptly. Assignments will be accepted at most one class meeting late, at a cost of 25% of the assignment credit. Otherwise, all assignments are due on the date indicated by the beginning of the class period. The exercises are to be done independently. Any single incident of copying or duplication of work will result in the division of credit among the collaborators. A subsequent occurrence of academic dishonesty will result in the grade of F for the course.
Prerequisites:
Exam:
Exam 1: Sample
Exam 2: Sample, Solution
Final Exam: Sample, Solution
Assignments:
Assignment #1
Assignment #2 - Example #1, Example #2, Example #3.
Assignment #3
(CS 501) Research Report
Assignment #4
Assignment #5 - Article, Example #1, Example #2, Example #3, LISA File*
Additional Materials: