CPS106
Programming Languages
D336 LSRC
660-6536
CPS 104; ability to program in one computer language, and knowledge at
the level of CPS 104 of the architecture of one computer.
| Synopsis of course content |
Principles of the design of programming languages; introduction to 4-7
different programming languages, and practice in using each; comparison
of the strengths and weakness of these languages, and extraction of basic
principles which guide the programmer in the choice of languages. Explanation
of several different language philosophies, in enough detail so that the
programmer can use part of the philosophy of langauge "A" when programming
in language "B".
Current list of languages: LISP (Scheme dialect), Python, Prolog,
SML.
Programming Languages, Pratt, Terrence W.; Zelkowitz, Marvin V.
Programming in Prolog, Fourth Edition, Clocksin, W.F. and Mellish,
C.S.
Elements of ML Programming 97 , Ullman, Jeffrey D
Introductory Lecture
Look for lectures here
Scheme Reference (Function names that end with "!" are NOT part of Pure Scheme)
Scheme Language Report
Scheme Tutorial (Covers much
more than Pure Scheme).
CProlog Reference
Introduction to Prolog
On-line tutorial
for SML
SML Library Reference
SML Page
SML User's Guide
Python Documentation
Several computer programs (homework), 1 or 2 in each language covered.
Several computer programs (homework), 1 or 2 in each language covered.
Lateness of 3% per calendar day late is charged on programs, and they are
not accepted more than 7 days late.
Some programs are considered practice, and have 1/2 weight, a fact made
clear when the assignment is given. Up to 2 versions
of any one program can be turned in; each will be graded separately (including
lateness charge), and the highest grade any version earns will be the grade
for that program. The grade may depend on the student's performance in
class as well.