Please make sure you read and understood the Collaboration Policy and Time Logging.
- Lab 0: introduction to Go and concurrent programming (easy)
- final version
- Due 23:59 ET Wed Feb 1, 2023
- Lab 1: single-node video recommendation service (moderate)
- final version
- Due 23:59 ET Wed Feb 8, 2023
- Lab 2: deployment and operations (easy)
- final version
- Due 23:59 ET Wed Feb 15, 2023
- Lab 3: Raft with static cluster membership (hard+)
- initial version
- Due 23:59 ET Wed Mar 8, 2023 (i.e., Wed before spring break)
- Lab 4: Sharded key-value cache (moderate)
- Release: Mar 27 (i.e., first day back from spring break)
- Due 23:59 ET Wed Apr 12, 2023
- Optional: complete the lab in a group of 3
- Lab 5: Final project
- Release: Mar 27 (i.e., first day back from spring break)
- Proposals due: 23:59 ET Sat Apr 15, 2023 (N.B. Saturday)
- Final deliverables due: 23:59 ET Wed May 10, 2023 (Last day of final exam; you may not be able to use the discretionary hours as per Yale College's regulations.)
- Optional: same group as Lab 4
Post to Canvas/Ed (https://edstem.org/us/courses/35495/discussion/) or email the teaching staff:
- Richard Yang ([email protected])
- Xiao Shi ([email protected])
- Mahdi Soleimani ([email protected])
- Ross Johnson ([email protected])
- First, try to find the answer(s) by Googling. See the Collaboration Policy about rules re: code reuse and attribution.
- For technical questions, prefer posting publicly to Ed such that your classmates may answer your question(s) and benefit from the answer(s).
- Help your classmates by answering their questions! You are not in competition with one another, so help each other learn!
- Identify the minimum reproducible example of your problem. E.g., for Go language related questions, attempt to construct a small example on Go playground (which has sharing functionality).