CS341 Programming Languages (Fall 2007)Pre-requisites: CS142 or
Instructor: Christino Tamon
Center 354 TR 8:00-9:15pm
Office hours: TR 9:15-11am,
Contact: Science Center 373
This course examines the major paradigms and principles
underlying modern programming languages. The course focuses on imperative,
functional and logic programming paradigms. The rationale of each paradigm is
discussed along with typical programming idioms used with them. Programming
exercises and assignments are used to illustrate relevant concepts.
Grading: Assignments and Quizzes 40%, Midterm 20%, Final 40%
Allen B. Tucker and Robert E. Noonan, "Programming Languages,"
2nd edition, McGraw-Hill, 2007.
- Brian Kernighan and Dennis Ritchie, "The C Programming Language," 2nd
edition, Prentice-Hall [on ERC reserve].
- Max Hailperin, Barbara Kaiser, and Karl Knight, "Concrete
Abstraction" [available online].
- William Clocksin and Christopher Mellish, "Programming in Prolog,"
Springer-Verlag [on ERC reserve].
Objective & Outcome:
The main objective of the course is to
describe and compare several major paradigms of programming languages, which
include the imperative, functional, and logic paradigms. The specific outcomes
- Knowledge of implementation issues behind the above programming languages.
- Working knowledge of programming languages which represent the different
paradigms covered above; these include C, Scheme, and Prolog.
Requirements & Policies:
Although attendance is not mandatory, students are responsible
for all course materials covered in lectures and any exams given during class
periods. Students that need to make up missing course work must provide the
required Clarkson official exempt form. All students must submit their own
work; the exchange of ideas are encouraged but ultimately the submitted work
must be the student's own. Please refer to the Clarkson University Regulations
for more guidelines on academic integrity and related matters.