|
|
|
CMSC 305: Design of Programming Languages
Description: This course will cover a selection of
issues important to the design of programming languages including, but not limited to, lexical
analysis, parsing, type systems and type checking, procedure activation, parameter passing, data
encapsulation, dynamic memory allocation, and module systems. In addition, multiple
programming paradigms will be explored. Students will be expected to complete several major
programming exercises in a variety of programming languages.
Professor:
Robert W.
McGrail
Class Meeting: Monday and Wednesday, 3:00-4:20 PM, Reem-Kayden 100
Lab Period: Wednesday, 8:30-10:30 PM, Reem-Kayden 100
Text:
Programming Languages: Priciples and Practices, Second
Edition. Allen B. Tucker and Robert E. Noonan. McGraw Hill. 2007. ISBN:
0-07-286609-8. |
|
Course Policies
Class Meetings: These will be conducted in traditional
lecture style.
Lab Meetings: The laboratory session will always focus on a
particular extended exercise.
Exams: There will be two exams. Both exams will carry the
same weight toward the final grade.
Grading: The grading breakdown will be as follows.
- Homework: 20%
- Laboratory Exercises: 50%
- Exams: 30%
|
Syllabus
The following topics will be covered in this course.
- Lexical Analysis with ML-lex
- Shift/Reduce Parsing and LR(k) Grammars
- Type Checking
- Semantic Analysis
- Language Interpreters
- Imperative, Functional, and Object-Oriented Programming
- Logic Programming
- Constraint Programming
|
|
News
Presentations and the Exam
11/14/07 - The dates for student presentations and Exam II
Laboratory Project 6
11/14/07 - Create a Prolog program that solves the following mathematical puzzle. Due Friday, November 30th at 12 Midnight.
Laboratory Project 5
11/7/07 - Construct an SMLLite interpreter. Due Wednesday, November 14th, 2007 at Noon.
Homework Assignment 2
11/3/07 - Construct some Prolog predicates for digraphs. Due Friday, November 16th at Midnight.
Laboratory Project 4
10/26/07 - Complete a type checker for SMLLite language. Due: Wednesday, October 31st, 2007.
|