Spring 2026
CS343

This course is about the fundamental concepts and algorithms underlying existing distributed systems.

We'll cover many topics, including:

  • Fault Tolerance
  • Distributed Algorithms
  • Distributed file systems
  • Peer-to-peer systems
  • Mobile and Ubiquotous systems

Instructor:


Christine Bassem

Office:SCI W420

Office hours:
Tuesday 2:30 to 3:30pm
Wednesday 9:30am to 10:30 am Or by appointment

Tutors:


Isabella Zhu

Support hours: Friday 7-8pm

Nessa Tong

Support hours: Thursday 7-8 pm



CS 343 Schedule


Please note that this page will be updated frequently, and it will contain all course content and resources

You can find office hours and drop-in schedule on the course calendar.

Monday Tuesday Wednesday Thursday Friday
Jan
19
20
Introduction
(slides)
Reading: Course Syllabus
21
No class on first week
22
23
Synchronization
(slides)
26
27
28
Set up and practice in class
29
30
Go demo of RPCs
(slides - code)
Assignment 1 - Multithreaded WordCount
due Saturday at 11:59pm
(description - starter code)
Feb
2
3
4
Get started with A2
5
7
MapReduce (2)
(paper summary)
Complete paper quiz on Gradescope before Sunday at 11:59pm
9
10
Distributed File Systems (DFS) -
Complete pre-lecture form
11
No class
12
13
DFS (2)
Assignment 2 - RPC WordCount
due Saturday at 11:59pm
16
17
No class - Monday schedule
Complete DFS quiz on Gradescope before 11:59pm
18
Review session
19
20
Test 1 in-class
Covers material till end of DFS
23
24
25
Get started with A3
26
27
Leader Election (2)
Complete Leader Election quiz on Gradescope before Sunday at 11:59pm
Mar
2
3
4
Debugging session
5
6
No class
Use this time to complete Fault Tolerance paper quiz on Gradescope before Friday at 11:59pm
Assignment 3 - Leader Election
due Saturday at 11:59pm
9
10
11
Get started on A4
12
13
More on consensus and Raft
Complete Raft quiz on Gradescope before Sunday at 11:59pm
16
Spring break
17
Spring break
18
Spring break
19
Spring break
20
Spring break
23
24
Finalize Raft
25
Review
26
27
Test 2 in-class
Covers material till the end of Raft
Assignment 4 - Raft leader election
due Saturday at 11:59pm
30
31
Apr
1
Start A5
2
3
Complete Chord and Spark quiz on Gradescope before Sunday at 11:59pm
6
7
Cloud Computing
8
Debugging session
9
10
Containers and Docker
Assignment 5 - Finalize Raft
due Saturday at 11:59pm
13
14
15
No class - Ruhlman
16
17
Complete Ad-hoc Network Routing quiz on Gradescope before Sunday at 11:59pm
20
21
TBD
22
Review
23
24
Test 3 in-class
Covers material till end of ad-hoc networks
27
28
Final presentations
29
No class - Have a great break!
30
May
1
Reading period starts

Administrative details of CS 343

Course Overview

The syllabus can be found here.

Prerequisites

The prerequisite for CS 343 is CS 230:Data structures, with CS 231 and CS 242 highly recommended. Registration is by permission of instructor only.

Course Communication

Make sure that you are added to the Course's Piazza group. This group has several purposes, one of which is class announcements.
I encourage you to use it for class discussions, and questions. Be respectful to your classmates and course staff when using this platform.
If you know the answer to a classmate's question, feel free to post a reply yourself. Please do not post any code in your messages on the group.

Course Support

Support is offered in the form of office hours (offered by Christine) and tutoring hours (offered by tutors). Support hours are posted on the top of this page and on the course calendar. Of course, if you ever need to meet with Christine at times out of these hours, feel free to contact her via email.