Skip to main content

Milestone 1 #

Collaboration: Individual milestone
Completion: About 8–10 hours
Deadline: Monday Feb. 12, 2024 (11:59PM ET)
Latest handout version: CS1380:2024:M1
GitHub repo:

To implement any form of distributed computation, two or more nodes need to communicate — and to do that, they first need to be able to exchange messages. The goal of this milestone is to build the necessary infrastructure for exchanging complex messages between nodes — including converting any value from an in-memory structure to an on-wire message and correctly back to an in-memory structure. Some support for serialization and deserialization often comes built into the programming language or runtime system used — but here you will be implementing the core serialization and deserialization functionality yourself to learn how things work under the hood.