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/15 | Introduction to Distributed Computing over the Internet Part I -- Models/Theory. | |
| 01/18 | Pi-Calculus - Introduction | |
| 01/22 | Pi-Calculus - Operational Semantics | |
| 01/25 | Pi-Calculus - Bisimilarity and Congruence | |
| 01/29 | Actors - Introduction | |
| 02/01 | Actors - Operational Semantics | |
| 02/05 | Actors - Expression Equivalence | |
| 02/08 | Mobile Ambients | |
| 02/12 | Join Calculus | |
| 02/15 | Partial Exam | 20% |
| 02/22 | Introduction to Distributed Computing over the Internet Part II -- Programming Languages and Frameworks | |
| 02/26 | Java RMI, Sockets, Reflection, Serialization | |
| 03/01 | Java Concurrency -- Programming Project 1 Due 03/04 | 7.5% |
| 03/05 | CSP in Java / PICT | |
| 03/08 | PICT / Nomadic PICT -- Programming Project 2 Due 03/18 | 7.5% |
| 03/19 | Objective CAML | |
| 03/22 | JOCAML -- Programming Project 3 Due 03/25 | 7.5% |
| 03/26 | Actor Foundry | |
| 03/29 | SALSA -- Programming Project 4 Due 04/08 | 7.5% |
| 04/02 | Introduction to Distributed Computing over the Internet Part III -- Research Topics -- Selected Paper Critiques and Presentations by Students | 20% |
| 04/05 | Coordination | |
| 04/09 | ||
| 04/12 | Naming | |
| 04/16 | Mobility | |
| 04/19 | Scalability | |
| 04/23 | Heterogeneity | |
| 04/26 | Security | |
| 04/30 | Final Exam | 20% |
| 05/xx | Rest! | |
| 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.