CSC253: Programming Languages, Spring 2001

Class Time: M 8:15-10:05pm
Location: 200 Adams

Dr. Chuck C. Liang
Office: 201A Adams Hall Office Phone: (516 463) 5559
Designated Office Hours: MTuWTh 10:30-11:30 or by appointment
Email: cscccl@hofstra.edu


Course Description:

A study of the semantics, specification and behavior of programming languages. The course will focus on various programming language paradigms including functional, imperative, object-oriented, logic and concurrent. Sample languages explored include Java, ML, Lisp, Prolog, and various experimental languages. Programming assignments will be given.


Class Web Page: http://www.cs.hofstra.edu/~cscccl/cs253/



Tentative List of Topics:

  1. Introduction and Overview
  2. Historical background
  3. Review of key Programming concepts
  4. Interpretation and Compilation
  5. Theoretical background:
  6. The Lambda Calculus
  7. Predicate Logic
  8. The substitution model of evaluative computation
  9. Adding state and side effects; pointers
  10. Adding object orientation
  11. Adding a type system
  12. The typed lambda calculus
  13. Functional programming SML
  14. Logic Programming (Prolog, Lambda Prolog)
  15. Concurrent Programming (Ada, Java, CML)
  16. Advanced topics (if time allow)

Regular attendance and timely submission of assignments are required.

Final Note: The contents of the this syllabus may be modified depending on the progress of the course.