CSCI.6500/CSCI.4971 Distributed Computing over the Internet-- Spring 2016

Instructor:  Carlos Varela
Office:  Lally 308, x6912
Office Hours:  Mondays and Thursdays 11:30am-12:20pm; or by appointment
Meeting Place:  Carnegie 101
Meeting Hours:  Mondays and Thursdays 10am-11:20am
Home pagehttp://www.cs.rpi.edu/academics/courses/spring16/dci/
RPI LMS Page


Course Description

This course will enable students to understand and apply theoretical foundations of programming concurrent, distributed, and mobile computing systems---namely process calculi, actors, join calculus, and mobile ambients. In the practical part, students will compare communication and synchronization aspects in concurrent programming languages following these theoretical models.  Students will also review current research on distributed computing over the Internet, on topics including but not limited to: coordination, mobility, heterogeneity, security, fault tolerance, scalability, programmability, and verification.

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 Themes

Theories of concurrent, distributed, and mobile computing. Programming languages for concurrent, distributed, and mobile systems. Research topics in distributed computing over the Internet.

Learning Outcomes

When the students have successfully completed this course, they will be able to:


Course Contents

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

Tentative Course Syllabus

Date Topic Grade
01/25 Course Overview. Introduction to Distributed Computing over the Internet Part I -- Models/Theory. Petri Nets
01/28 No lecture
02/01 Pi-Calculus - Introduction
02/04 Pi-Calculus - Operational Semantics
02/08 Pi-Calculus - Bisimilarity and Congruence
02/11 Actors - Introduction
02/15 No lecture
02/18 Actors - Operational Semantics
02/22 Actors - Expression Equivalence
02/25 Join Calculus
02/29 Mobile Ambients; Part I Review
03/03 Partial Exam 30%
03/07 Introduction to Distributed Computing over the Internet Part II -- Programming Languages and Frameworks
03/10 Pict: Concurrency---Programming Assignment 1 Due 04/01 10%
03/21 Pict: Functional and Object-based Programming in Pict
03/24 No lecture
03/28 Nomadic Pict: Distribution and Mobility. Pict: Concurrent and Distributed Programming Techniques. Code Samples: bool.pi, cell.pi, compose.pi, cellobject.pi, sn.pi, phil.pi, hw.pi.
03/31 SALSA: Concurrency, salsa_samples.zip---Programming Assignment 2 Due 04/12 10%
04/04 SALSA: Distribution and Mobility, dist_examples.zip
04/07 SALSA: Concurrent and Distributed Programming Techniques
04/11 Objective Caml---Programming Assignment 3 Due 04/22 10%
04/14 JoCaml: Concurrency, Distribution and Mobility
04/18 JoCaml: Concurrent and Distributed Programming Techniques. Code Samples: cell.ml, agent.ml.
04/21 Introduction to Distributed Computing over the Internet Part III -- Research Topics
04/25 Selected Paper Critiques and Presentations by Students -- Papers Selections Due 03/28 10%
04/28
05/02
05/05 Final Project/Paper Presentations-- Proposals Due 04/14 30%
05/09
Class Participation Extra Credit 10%

Reading Material  -- Parts I and II


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

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 modified: Mon Apr 18 12:21:01 EDT 2016