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:
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% |
Please contact the instructor if there is any question about academic
(dis)honesty.