COMP 501 Introduction to Programming Languages

Professor Michael Werner - Wentworth Institute of Technology

Syllabus: Fall 2012

Lab Exercises: Fall 2012 (draft)

Projects: Fall 2012 (draft)

Quiz Schedule

No make-ups for quizzes except in extreme circumstances. Best 2 of 3 counted.

Textbook/Reference/Other Material

Required:  Robert W. Sebesta Concepts of Programming Languages, 10/e or 9/e
©2010 | Addison-Wesley | 
ISBN-10: 0136073476 | ISBN-13: 9780136073475

Reference:  Generating Parsers with JavaCC
by Tom Copeland A book about generating lexical analyzers, parsers, and abstract syntax trees using the open source parser generator JavaCC.
Published by Centennial Books, Alexandria, VA. ISBN 0-9762214-3-8. $39.95

Wentworth's Academic Conduct and Honesty Policy

Software Sources

Dr Scheme

Amzi! Logic Explorer A free (or low-cost) Prolog tutorial and interpreter Locally cached copy or zipped

SWI-Prolog is a Free Software Prolog compiler

Talking Turing Machine


Drawing Graphs With Dot (1993) Eleftherios Koutsofios, Stephen C. North (Locally cached version)

Notes on Formal Language Theory and Parsing

Slides on type theory and coercion - Martin Sulzmann?

A tutorial: A Compact Guide to Lex & Yacc by Tom Niemann

Class Notes

Class Builder A free tool for generating java source files from simple class descriptions.

Using Java in the Wentworth Labs

Chapter 1 slides

Chapter 2 slides

Chapter 3 slides

          Course notes on Programming Languages from UMBC - Good on Sebasta chapter 4


The Java Compiler Compiler home page

Chuck McManis on using Jack (JavaCC)

Using JavaCC in the Wentworth Labs

Simple calculator examples in JavaCC

Tutorial on JavaCC and JJTree

The Mini-Java Project Grammar for mini-java - Towards building a compiler


Lecture on push-down automata


How to Design Programs, (A free on-line Scheme textbook) by Matthias Felleisen ,Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi

An Introduction to Scheme and its Implementation

Dr Scheme


Amzi source:

Nani search program (fixed)

Here are some interesting web sites on algorithms:

 Up to Courses Page