Problem sets and starter code for CS426 (Spring 2023) at Yale.

Please make sure you read and understood the Collaboration Policy and Time Logging.

Labs

  • Lab 0: introduction to Go and concurrent programming (easy)
  • Lab 1: single-node video recommendation service (moderate)
  • Lab 2: deployment and operations (easy)
  • Lab 3: Raft with static cluster membership (hard+)
    • final version
    • Due 23:59 ET Wed Mar 8, 2023 (i.e., Wed before spring break)
  • Lab 4: Sharded key-value cache (moderate)
    • initial version
    • Due 23:59 ET Wed Apr 12, 2023
    • Optional: complete the lab in a group of up to 3 people
  • Lab 5: Final project
    • Requirements and ideas
    • Proposals due: 23:59 ET Sun Apr 16, 2023 (N.B. Sunday)
    • Final deliverables due: 17:30pm 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

Questions?

Post to Canvas/Ed (https://edstem.org/us/courses/35495/discussion/) or email the teaching staff:

Tips on asking good questions / help us help you

  • 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).