CSCI.6500 Distributed Computing over the Internet-- Spring 2008

Instructor:  Carlos Varela
Office:  Lally 308, x6912
Office Hours:  Mo, Th 11:30am-12:30pm; or by appointment
Meeting Place:  Low 4040
Meeting Hours:  Mo, Th 10-11:20am
Home pagehttp://www.cs.rpi.edu/academics/courses/spring08/dci/


Course Objectives

This course studies theoretical foundations---namely process calculi, actors, join calculus, and mobile ambients---and practical issues in the design and implementation of programming languages for concurrent and distributed computing. We compare communication and synchronization aspects in actor-, process-, and object-oriented concurrent programming models.  We review current research on coordination, mobility, naming, security, fault-tolerance, and scalability in the context of distributed computing over the Internet.

Pre-requisites

CSCI.4430 and CSCI.4220, or equivalent, or permission of instructor.  The student should be familiar with at least one high-level programming language and basic network programming concepts. In particular, this course will assume familiarity with Java and programming with TCP/IP sockets. Knowledge of programming language semantics and lambda-calculus would be helpful but is not mandatory.


Course Contents

  1. Models of Concurrent and Distributed Computing
  2. Programming Languages and Frameworks
  3. Research Topics

Tentative Course Syllabus

Date Topic Grade
01/14 Course Overview. Introduction to Distributed Computing over the Internet Part I -- Models/Theory.
01/17 Pi-Calculus - Introduction
01/24 Pi-Calculus - Operational Semantics
01/28 Pi-Calculus - Bisimilarity and Congruence
01/31 No lecture
02/04 Actors - Introduction
02/07 Actors - Operational Semantics
02/11 Actors - Expression Equivalence
02/14 Mobile Ambients
02/19 Join Calculus
02/21 Introduction to Distributed Computing over the Internet Part II -- Programming Languages and Frameworks
03/03 Oz Concurrency, 1.oz-- Programming Assignment 1 Due 03/21 20%
03/06 Distributed Oz, 2.oz
03/17 Oz Concurrent and Distributed Programming Techniques
03/20 SALSA Concurrency, examples.zip -- Programming Assignment 2 Due 04/04 20%
03/24 SALSA Distribution and Mobility, dist-examples.zip
03/27 SALSA Concurrent and Distributed Programming Techniques
03/31 Objective CAML
04/03 JOCAML
04/07 Introduction to Distributed Computing over the Internet Part III -- Research Topics
04/10 Selected Paper Critiques and Presentations by Students -- Papers Selections Due 03/07 20%
04/14 No lecture
04/17
04/21 Selected Paper Critiques and Presentations by Students
04/24
04/28 Final Project/Paper Presentations-- Proposals Due 03/28 40%
Class Participation Extra Credit 5%

Reading Material  -- Part I


Software Links, Papers, and Tutorials -- Part II


Research Papers -- Part III

Students will critique and present selected papers from recent journal and conference publications, including but not limited to: You may also search papers in Google Scholar, or ACM's Digital Library

Paper critique and presentation guidelines.


Academic Integrity

The Rensselaer Handbook of Student Rights and Responsibilities defines several types of academic dishonesty, all of which are applicable to this class.  Students found in violation of academic dishonesty policies will receive a failing grade for this course.

Please contact the instructor if there is any question about academic (dis)honesty.


Last Updated -- January 14, 2008.