ICS 535: Theory and Design of Programming Languages
Fall 2016
Instructor
Musab A. Alturki
Office: 59-2048 (Office hours by appointment)
E-mail: musab AT kfupm.edu.sa
Class
MW 6:30pm-7:45pm
Classroom: 24-130
Class Submissions: Through Blackboard
Catalog Course Description
Principles of functional, imperative, object-oriented and logic programming languages. Semantic specification including axiomatic, operational and denotational semantics. Fundamentals of type systems such as abstract data types, polymorphism, and inference. Concurrent systems. Case studies of contemporary programming languages.
Pre-requisite: ICS 410: Fundamentals of Programming Languages (or equivalent)
Textbook
There is no assigned textbook for this course. However, various parts of the following references will be used:
- All About Maude: A High-performance Logical Framework, M. Clavel et al., Springer (2007)
- Types and Programming Languages, Benjamin Pierce, The MIT Press (2002)
- Logic in Computer Science, M. Huth and M. Ryan, Cambridge University Press (2004)
- Semantics of Programming Languages, Matthew Hennessy, Wiley (1990)
- Formal Semantics of Programming Languages, Glynn Winskel, The MIT Press (1993)
- Concepts of Programming Languages, Robert W. Sebesta, Pearson (2013) -- (covers mostly undergraduate topics)
The websites of Maude, real-time Maude and Haskell will also be useful.
Grade Distribution
Exercises | 0% (optional) |
Quizzes | 15% |
In-class Activities | 10% |
Paper Review and Presentation | 10% |
Programming Assignment | 10% |
Research Project | 30% |
Final Exam | 25% |
Blackboard
All course announcements, content, submissions and grades are maintained through the course's Blackboard page.
- Discussion Forum: Blackboard will be used for communication and interaction, posting and submitting assignments, posting grades, posting sample exams, etc. It is expected that you get benefit of the discussion board by raising questions or answering questions put by others.
- Homework Submission: Homework assignments are to be submitted through Blackboard. Homework is due at 11:59PM on the date specified. Late homework submissions will be accepted for up to three days, with a 25% reduction in credit per late day (25% for up to 24 hours late, 50% for 24-48 hours, and 75% for 48-72 hours). Solutions will be posted on Blackboard