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.