Outline of CS 4337, Programming Languages
PROF. WILLIAM J. PERVIN
Programming Languages, by Louden,
- This is a required course for degree-seeking
students in Computer Science.
- An understanding of the material in this course
is recommended for all students who intend use computers.
- Others who can benefit from this course include employees
of local high-technology companies who need an introduction
to computer science.
- Prerequisites: CS 2305 and CS 2315
or the equivalents.
(UNIX experience would be helpful)
OVERALL GOALS OF CS 4337:
From the ACMTFCCS, we list
the fundamental topics as:
- BNF notation;
- some acquaintance with Ada;
- programming in a functional language;
- programming in PROLOG;
- modules and classes;
- exception handling;
- pointers; and
- type equivalence.
In addition, essential topics are:
- attribute grammars;
- type reconstruction;
- term rewriting;
- formal semantics;
- Hoare logic;
- lambda calculus;
- combinators; and
- Post systems.
We will try to mention Object Oriented Programming
and Java in class.
There will be two examinations and a
comprehensive final examination.
Homework will count in the final grade.
The detailed assignments will be given in class.
The three languages to be used in this course are:
For a very interesting web site for programming languages,
- ML : /home/csshare/ml-0.93/src/sml
- Scheme : /usr/local/bin/xscheme
- PROLOG : /home/csshare/prolog/sun4/pl
PC versions of these three languages (and many others) may
be found at this and other sites.
For a detailed syllabus, click
For handouts, click
For announcements, click
Shriram Janardhan ([email protected])
Office Hours: TR 7:00pm-8:30pm in EC3.608
Scheme: Scheme Homework
Back to Dr. Pervin's Home Page