##
*Fall 98, CSE 520: Syllabus*

**Instructor:** Catuscia
Palamidessi

*Email:* firstname@cse.psu.edu

*Office:* 325 Pond

*Office Hours:* Monday, Wednesday 11:00-12:00, and by appoinment.

*Phone:* 863-3599
**Web page: http://www.cse.psu.edu/~catuscia/teaching/cg520/98Fall/
**

**Schedule of lectures: TR, 2:30-3:45 in 109 Boucke
**

**Course Description:**
This course will focus on the Foundations of Sequential, Concurrent and
Object Oriented Programming Languages.
In particular:

**
**- Sequential Programming
- The Lambda Calculus. Computational Power.
Confluence and Consistency.
- The Typed Lambda Calculus. Polymorphism.
- Sequent Calculus and Logic Programming.
- Natural Deduction and the Curry-Howard isomorphism.

- Concurrent and OO Programming
- A Calculus of Communicating Systems.
- A Calculus of Link Mobility (the pi-calculus).
- The Chemical Abstract Machine and the Join Calculus.
- A Calculus of Objects.

**
****Assignments and grading:** There will be
4 or 5 assignments during the course, and a final
(large) assignement or a research project.
Final grades will be determined on the basis of the
assignments and of the project. There will be no midterm or
final exams.

The assignments will be both
theoretical and programming exercises.
The languages recommended for the programming exercises are
ML, Prolog or Lambda Prolog.
The language Lambda Prolog will be taught during the course.

Assignments are due at the start of class on the date specified. They
will be accepted after that time until the start of the next class period
with a 20% penalty. *No submission will be accepted after this time.*

**Academic Integrity: **
Although it is reasonable (and even encouraged!)
to discuss with other students the problems of the assignments,
each student is expected to submit only
his own original work, or where applicable,
to cite the source of the solution (books,
articles, and other individuals).