Computer Engineering 171
Design and Implementation of Programming Languages
Catalog Description
High-level programming-language concepts and constructs. Costs of use and implementation of the constructs. Issues and trade-offs in the design and implementation of programming languages. Critical look at several modern high-level programming languages.
Contact Information
- Instructor: Darren Atkinson (datkinson)
Course Resources
- Syllabus
- ACM-W tutorial on using terminal
- Example Programs: Hello, world and Fibonacci
- Lecture Notes
- Recorded Lectures (to be discussed on date given)
- Goals and Terminology (04/08)
- Expressions (04/13)
- Structured Programming (04/15)
- Basic Types (04/17)
- Constructed Types (04/20)
- Parameter Passing (04/22)
- Nonlocal Variables (04/24)
- Classes (04/29)
- C++ (05/01)
- C++ and Java (05/04)
- Smalltalk (05/06)
- JavaScript (05/08)
- Functional Programming (05/13)
- Introduction to ML (05/15)
- More ML (05/18)
- Scheme (05/20)
- Scheme and Scala (05/22)
- Logic Programming (05/29)
- Unification and Arithmetic (06/01)
- Data Types in Prolog (06/03)
- Control in Prolog (06/05)
- Homework
- Imperative Programming (assignment, solution)
- Object-Oriented Programming (assignment, solution)
- Functional Programming (assignment, solution)
- Logic Programming (assignment, solution)