Ithaca College Logo Ithaca College Home Blue Header

Ithaca College, Ithaca, New York
Programming Languages
Syllabus
Spring 08

Time
Lecture Assign Project Readings
Part I: Overview

1 week
Introduction
  • Language Evaluation Criteria.
  • Language Categories.
  • Implementation Methods.
Problem Sets 1
Practicum 1:
Scheme Implementation

Sebesta* chap 1
Dybvig** chap 2

1 week
Programming Languages
  • Early Languages.
  • Algol.
  • Modern Languages.
Problem Set 2
Practicum 2:
Scheme

Sebesta chap 2,
Dybvig chap 2
Part II: Language Implementation
1 week Functional Programming.
  • Mathematics
  • Languages
Problem Set 3
Practicum 3:
Scheme
Sebesta chap 15

1 week
Syntax and Semantics
  • Grammars.
  • Attribute Grammars.
Problem Set 4
Practicum 4:
Scheme
Sebesta chap 3
Dybvig chap 2

2 weeks
Lexical and Syntaxtical Analysis
  • Parsers
  • Recursive-Descent Parsing
  • Bottom-Up Parsing
Problem Sets 5, 6
MuLE Project 1 Sebesta chap 4
Part III: Language Attributes
1 week
Bindings, Type, Scope
  • Names and Variables
  • Binding
  • Type Checking
  • Scope
  • Data Types:
    • Primitive
    • Aggregate
    • Reference
Problem Set 7
MuLE Project 2
Exam 1
Sebesta chaps 5, 6


1 week
Expressions and Control
  • Arithmetic etc. Expressions
  • Selection
  • Iteration
Problem Set 8

Sebesta chaps 7, 8


1 week
Subprograms
  • Environments
  • Parameters
  • 1st Class subprograms
  • Implementation
Problem Set 9
MuLE Project 3 Sebesta chaps 9, 10


1 week Encapsulation
  • Abstraction
  • Parameterization
  • Naming
Problem Set 10
Practicum:
Perl

Sebesta chap 11

1 week OOP.
  • Design Issues
  • Support in Languages
Problem Set 11
Practicum
Perl/Javascript
Sebesta chap 11
1 week Logic Programming.
  • Background
  • Support in Languages
Problem Set 12
Practicum
Prolog
Exam 2
Sebesta chap 16
1 week Concurrency.
  • Semaphores
  • Monitors
  • Threads
Problem Set 13
Practicum
Perl/Javascript
Sebesta chap 13
1 week Exceptions and Events.
  • Background
  • Support in Languages
Problem Set 14
Practicum
Prolog
Sebesta chap 14

Finale

Final Exam
4:30PM- 7:00PM, Friday, 9 May



References

*Sebesta: Concepts of Programming Languages, 8th ed., Robert W. Sebesta, Addison Wesley, 2007.

**Dybvig: The Scheme Programming Language, 3rd ed., R. Kent Dybvig, The MIT Press, 2003.




Last updated on 24 Jan 2008 by John Barr