CS 345: Programming Language Paradigms

Instructor: Chris Brooks

Office: Harney 541

Phone: 422-5221

email: cbrooks@cs.usfca.edu

Office Hours: TBD

Time: TR 1:15-3:00

Place: HR 512

About: The purpose of this course is to expose you to different styles and methodologies for programming and program design. We will look at object-oriented, functional, and declarative programming languages, studying their strengths and weaknesses. At the end of the course, you will have some fluency in Smalltalk, Common Lisp, and Python. You will have developed significant working projects in each of these languages. You will be able to explain the strengths and weakness of each of these languages and their associated styles of programming (OO, functional, declarative) and describe how these ideas can be applied to other languages, such as C, C++ or Java.