Syllabus
The items below are tentative. We may add and/or delete items on the list below. What we actually do is subject to change, in part due to the thinking of the enrolled students.
References below to "Textbook" are to the optional book: Java Concurrency in Practice, Brian Goetz with Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea. Addison-Wesley, 2006.
- Course introduction
- Java Remote Method Invocation (RMI)
- Distributed computing: Some programming language considerations
- Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall. A Note on Distributed Computing. SMLI TR-94-29, Sun Microsystems Laboratories, M/S 29-01, 2550 Garcia Avenue Mountain View, CA 94043, November 1994.
- Functional Programming in Java: 1 Hello, Lambda Expressions! - GitHub
- Fallacies of Distributed Computing - Fallacies Explained.
- Design Pattern: Singleton
- How to Build a Compute Farm
-
Design Pattern: Producer-Consumer
- BlockingQueue: Textbook: Section 5.3
- code sample
- Design Pattern: Remote Proxy
- A simple chat client/server
- Performance limits of sequential task decomposition & composition
- Functional Programming in Java: 2 Using Collections
- Divide-and-Conquer API
- Distributed Branch-and-Bound
- Traveling Salesman Problem: Lower bounds
- Partial tour
- (Sum for each vertex of the 2 least cost edges)/2
- Minimum cost maximum cardinality matching
- Minimal cost spanning tree
- 1-tree
- Held-Karp - a clear explanation (Stack Overflow)
- Rigorous development of HK algorithm
- Metric Traveling Salesman Problem: Upper bounds
- A 2-approximation, using an Eulerian cycle
- A 1.5-approximation (Christofides), using Eulerian cycle & mini cost max cardinality matching
- Jicos (ppt)
- Exploiting multicore Computers
-
Design Pattern: Thread Pool
- See subsection 6.2.3 of the textbook, in section 6.2: the Executor framework.
- Java ThreadPoolExecutor API
- Overlapping communication with computation
- CX
- Design Pattern: Command
- An abstract distributed system component (ppt)
- Parallelizing Iterative Computations
- Pregel