Pre-requisites
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.
Date | Topic | Grade |
---|---|---|
01/14 | Introduction to Distributed Computing over the Internet Part I -- Models/Theory. | |
01/17 | Pi-Calculus - Introduction | |
01/21 | Pi-Calculus - Operational Semantics | |
01/24 | Pi-Calculus - Bisimilarity and Congruence | |
01/28 | Actors - Introduction | |
01/31 | Actors - Operational Semantics | |
02/04 | Actors - Expression Equivalence | |
02/07 | Mobile Ambients | |
02/11 | Join Calculus | |
02/14 | Partial Exam | 20% |
02/21 | Introduction to Distributed Computing over the Internet Part II -- Programming Languages and Frameworks | |
02/25 | Java RMI, Sockets, Reflection, Serialization | |
02/28 | Java Concurrency -- Programming Project 1 Due 03/03 | 7.5% |
03/04 | CSP in Java / PICT | |
03/07 | PICT / Nomadic PICT -- Programming Project 2 Due 03/17 | 7.5% |
03/18 | Objective CAML | |
03/21 | JOCAML -- Programming Project 3 Due 03/24 | 7.5% |
03/25 | Actor Foundry | |
03/28 | SALSA -- Programming Project 4 Due 03/31 | 7.5% |
04/01 | Introduction to Distributed Computing over the Internet Part III -- Research Topics -- Selected Paper Critiques and Presentations by Students | 20% |
04/04 | Coordination | |
04/08 | ||
04/11 | Naming | |
04/15 | Mobility | |
04/18 | Scalability | |
04/22 | Heterogeneity | |
04/25 | Security | |
04/29 | Final Exam | 20% |
Class Participation | 10% |
Students will critique and present selected papers from recent journal and conference publications, including but not limited to:
Please contact the instructor if there is any question about academic
(dis)honesty.