Programming Language Structures

Spring 2005

Wednesday 9-12am at Room 110 CSIE Building

Instructor: Le-Chun Wu

Office: Room 322 CSIE Building
Office hours: by appointment

Teaching Assistant: Kenghao Chang

Office: Room336 CSIE Building
Office hours: Wednesday 2-3pm

Prerequisites: Computer Programming and Data Structure

Textbook: Robert W. Sebesta, Concepts of Programming Languages, 6th ed., Addison Wesley, 2004, ISBN: 0-321-19362-8

Course Web Pages:

Main web page:
Blog page:
Syllabus and slides (login required):

* Students are expected to check this web page regularly as the course information/announcement will be posted there.

Course Description:

This course will cover the fundamental concepts and various aspects of programming languages including syntax, semantics, and implementations. The topics that will be discussed include:

1. Representation of syntax rules.
2. Interpretation of semantics and their implications.
3. Variable scopes and binding rules.
4. Data types and type checking.
5. Expression and assignment statements.
6. Control flow statements.
7. Concept of structural programming and subroutines.
8. Object-oriented programming concept and methodology.
9. Comparison of various programming models, including imperative, logic, and functional programming

Assignments and Exams:

Approximately one homework or machine problem will be assigned every two weeks. There will be one mid-term and one final exam. Mid-term will take place on 4/20 and the final exam on 6/15.

Grading policy:


Assignments 35 %
Mid-term exam 25 %
Final exam 35 %
Class participation 15 %


[6/22/05] I have submitted the final semester grades. To acknowledge your hard work in this course, the final grades were adjusted based on the following formula:

Adjustsed_Grade = Semester_Grade + 1 if Semester_Grade is between 90 and 98
Adjustsed_Grade = Semester_Grade + 2 (but no greater than 90) if Semester_Grade is between 80 and 89
Adjustsed_Grade = Semester_Grade + 4 (but no greater than 80) if Semester_Grade is between 70 and 79
Adjustsed_Grade = Semester_Grade + 8 (but no greater than 70) if Semester_Grade is between 60 and 69

[6/20/05] Final exam has been graded. (Here are the solutions.) Please come to my office to pick up your final exam paper (or ask a friend of yours to do so) by 6/22 (Wed) noon. Also the semester grades have been posted (see the Grades). If you have any question regarding your grade, come talk to me by 6/22 as well. Have a nice summer!

[6/9/05] HW6 has been graded (see the Grades link above). I have the printouts of your programs (with the grades) in my office. You are welcome to come pick up your programs before final (especially for those of you who didn't receive the full credit).

[6/7/05] HW6 is due on 6/8 (9am). Make sure to send it to me by then.

[5/31/05] Just a reminder. The final exam will be held on 6/15 at 10am. I will discuss and return the final exam papers on 6/22.

[5/12/05] The grades of HW3 and HW4 have been posted. Please take a look. The homework paper will be return to you on 5/18.

[4/26/05] As announced last week (some of you might not hear it if you were late for the midterm), I will return (and discuss) the mid-term papers to you next Wednesday (5/4/05) after class (i.e. from 12pm to 1pm). Feel free to bring your lunch with you.

[4/15/05] Some students asked me about the midterm. Basically the exam will cover what I taught in class as well as the materials in the textbook. There might be some essay questions, but you will (and should) do just fine if you understand the materials.

[4/ 6/05] Mid-term will take place on 4/20 and the final exam on 6/15.