Course Information for Fall 2009
Time: MWF 11-11:50am
Place: Roberts 221
Instructor Information
Prof. Bruce A. Maxwell
Office: Mudd 403
Phone: 859-5854
Office hours: TBA, or just stop by
Course Description
A survey of programming languages and paradigms. We will examine the
underlying theory of programming languages and compare and contrast
the characteristics of different language families. Each student will
learn one new programming language in depth as well as gain
familiarity with several others of differing types.
Textbooks
-
Tucker and Noonan, Programming Languages, 2nd ed., McGraw-Hill, 2007.
-
Handouts
Useful Links
Languages
|
Programming Language Tools
|
Source Code Examples
-
polymorph.c: example of void * and function pointer.
-
ppolymorph.cpp: example of using a
pure virtual class as an interface.
-
Vec3.java: example of an interface in Java.
-
polytemp.cpp: example of a template in C++.
-
semantic.c: Semantics of the pre- and post- increment operator.
-
trycatch.cpp: Try/catch exception handling in C++.
-
trycatch2.cpp: Another example in C++.
-
trycatch.java: Try/catch exception handling in Java.
-
trycatch.py: Try/catch exception handling in Python.
-
signal.c: Example of signal handling in C.
-
signal-inf.c: Another example of signal handling in C.
-
sumthread.c: Example of using threads
to sum an array. Includes code for timing the operation. To compile,
use gcc -o sumthread sumthread.c -lpthread
-
mutex-simple.c: Example of a mutex lock
to control access to a counter variable. Compile with the pthread
library, as above.
-
prodcons.c: Example of using a mutex lock to
implement producer and consumer threads. Compile with the pthread
library, as above.
|