T¾ÅÉ«ÊÓÆµ • Grove School of Engineering • Computer Science Department • Course Syllabus
Course number | CSc 33500 | Course name | Programming Language Paradigm |
Credits & hours | 4 cr., 3 lecture hr. and 2 laboratory hr. | Course coordinator | Prof. Douglas Troeger |
Textbook, title, author, and year
- One of: Essentials of Programming Languages, 3rd ed, Friedman and Wand, 2008 or Structure and Interpretation of Computer Programs, Abelson and Sussman, 1995
- Other supplemental materials: The Little Schemer, 4th ed., Friedman and Felleisen, 1996, The Seasoned Schemer, Friedman and Felleisen, 2000; web materials, including lecture notes, related to course work
Specific course information
- Aspects of the design and implementation of declarative and imperative programming languages, presented via a sequence of interpreters. Topics include abstraction, parameter passing, objects and inheritance, type checking, and continuations. Substantial programming assignments.
- Prereq.: CSc 22000 and CSc 22100
- Required course
Specific goals for the course and Relationship to student outcomes
| ||||||||||||||||||||||||||||||||||||||||||
|
Brief list of topics to be covered
Seq. | Topics |
1 | introduction to scheme and recursive programming, and to the use of induction/invariants in certifying and developing code |
2 | combining functions with objects and state |
3 | interpreters as mechanisms for explaining the run-time behavior of languages: developing an interpreter for a lexically scoped language with first-class procedures, recursion, and assignment; an interpreter with lazy evaluation and streams; an interpreter with dynamic scoping; an interpreter supporting non-deterministic computing |
Last Updated: 05/22/2018 20:14