Course Information for Spring 2018
Time: MWF 11-11:50am
Place: Davis 117
Prof. Bruce A. Maxwell
Office: Davis 112
Office hours: M 9:30pm-late, R 7:30pm-late
Any time my door is open. Good times this semester are M-F before 11am.
This course is a survey of programming languages and paradigms. We will focus on the design of programming languages and compare and contrast different language familes including imperative, object-oriented, functional, and logic paradigms. Topics include syntax, context-free grammars, parsing, semantics, abstract representations of programming processes and structures, memory management, and exceptions. Students will undertake small programming projects in various languages and more extensive projects in two languages of their choice. Students will present the characteristics of their chosen languages to their peers at the end of the term.
Prerequisite: CS 231
- Tucker and Noonan, Programming Languages, 2nd ed., McGraw-Hill, 2007.
- Maxwell's Lecture notes
- Maxwell's Daily Outlines
- K. Slonneger, Syntax and Semantics of Programming Languages
- Makefile tutorial
- ENIAC Computer
- Fortran statement on a punch card
- Code art
Programming Language Tools
Source Code Examples