CSE 224 : Fall 2019 : Graduate Networked Systems
Summary: This course will provide a broad understanding of network design and
implementation. Topics include techniques for building distributed
applications, sockets programming, Remote Procedure Calls, scale-out
distributed directories, distributed consensus and state management, fault
tolerance, networked storage, indirection, overlay networks, load balancing,
and datacenter design.
Activities: The course will include homework assignments, a series of
projects, a mid-term exam, and a final exam.
Pre-requisites: No formal pre-recs, however we will assume that you
have a basic working knowledge of C/C++ programming, as well as exposure to an
undergraduate operating systems course. Tutorial will be provided for
essential topics during the first two weeks for those students who
need to brush up on these topics.
- Meeting times
- Lecture: Tue/Thu 8:00am-9:20am, PCYNH 109
- TA section 1: Mon 7:00-7:50p, PETER 102
- TA section 2: Wed 4:00-4:50p, MANDE B-150
- TA section 3: Fri 8:00-8:50a, WLH 2111
- Midterm exam
- Nov 5 8:00am-9:20am, location PCYNH 109
- Final exam
- Dec 10 8:00am-10:59am, location TBD
This quarter we'll be using "Distributed Systems: An Algorithmic Approach (2nd
edition)" by Sukumar Ghosh (published by Chapman and Hall/CRC Press).
You have a few options for accessing the content in this book:
- Free: A few copies of the hardback version of the book are going
to be kept on reserve in the Giesel library. You'll be able to check them
out for 2 hours at a time, and can photocopy/scan sections that are of
interest to you.
- $46.36: Amazon sells an eBook version of the book, compatible
with PC, Mac, Android, and iPhone version of their Kindle software,
on their website. Note that this eBook isn't compatible with their
The course is organized as follows:
- Lectures: The lectures provide overview and context for the materials
we're learning. Unlike some other courses you may have had, I will not
be presenting the actual material in lectures--you should review the
assigned reading to get that material. Lecture will be where we bring
the material together, work examples, etc. Bring your questions about
the material to lecture so we can discuss those doubts and uncertainties
as a group. Lectures are not a substitute for doing the assigned
- TA sections: This is a smaller group environment for you to
ask questions, go over the homework or example problems, receive
feedback on assignments, etc.
- Readings: The assigned readings contain the material of the
course and are critical to understanding the topics. The lectures assume
you've read the material first.
- Homeworks: The homeworks will give you practice on the
material in the course, and can be used to verify your understanding
of the topics.
- Projects: The three course projects will give you experience
building and deploying software embodying the core concepts we'll
learn in this course
- Exams: there is a midterm mid-way through the quarter,
and a final exam during the final exam period. These exams cover the
material in the book, our discussions during lecture and during your
TA discussion section, the homeworks, and the projects. You will
be allowed to bring one 8.5" x 11" page of notes into the midterm,
and two such pages into the final. The pages must be standard thickness
with no staples or other non-standard alterations.
The course will have a set of homeworks, linked off of the course
schedule. You can hand-write or type your solutions, and will submit
them in the form of a PDF document to GradeScope.
We will strictly mark-up your homeworks to provide you with feedback on your
progress and to assist you in studying for the midterm and final exam.
However, as long as you submit a reasonable attempt at a solution will receive
full credit. The homeworks are there to give you practice on the material,
and so you won't be penalized for getting answers wrong (as long as we
subjectively believe you made an ernest attempt).
Note that you may collaborate with (up to a couple) other students in the class
on the homeworks, as long as you put their name(s) in the homework. To
maximize the usefulness of homeworks, wait a period of time after discussing
problems with your classmates, then write-up your own solution separately
to make sure you have internalized the information.
There will be three projects during the course:
The three projects fit together, in the sense that if you combined them
together you'd have written your own cloud-based storage system complete with a
web-based interface to your files. However, each project can be completed
independently of the others, so if you struggle with a project you can "start
fresh" on the next one.
- Writing your own web server
- Distributed SurfStore: a cloud-based file storage system patterned on Dropbox
- Fault-tolerant SurfStore: a version of SurfStore that can survive server failure, datacenter failure, and network failures
There will be a midterm and a final exam. The final will be comprehensive
across the entire quarter.
There are three different discussion sections througohut the week. You
are free to go to whichever sections you want, however students registered
for a particular section have priority for that section.
In life, sometimes things happen (your computer crashes, you have a personal
emergency, you have some kind of conflict, etc). During the course you
can ask for a single 72-hour extension on any of the homeworks or
projects, and will then have up to three extra days to submit the work
without penalty. Note that you cannot shift the dates of the midterm or
If you manage to get through the entire quarter without using this
single-use extension, you can instead get 2.5 extra points added to
your final exam as extra credit.
- Homeworks: 5%
- Midterm: 20%
- Final: 30%
- Projects: 45%
In this course, you are expected to adhere to the UCSD
Policy on Integrity of scholarship. Any evidence of academic dishonesty on
any assignment or exam will resort in an F in the class and a report to the
Electronic device policy
Studies have shown that using a computer during class can distract you and
those around you. In fact, a majority of students tend to support a prohibition
on electronic devices in class!
I will let you decide for yourself whether you’d like to use a computer or
tablet during class, however to help those students that want to avoid
distractions, I’m prohibiting the use of laptops and other electronic devices
in the front half of the classroom. If you’d like to avoid distractions,
please sit in those rows. Regardless of where you sit, you may not cause a
distraction to your neighbors. This means that you may not watch
TV/movies/video or play games on your computer/device if you bring one.
Students requesting accommodations for this course due to a disability or
current functional limitation must provide a current Authorization for
Accommodation (AFA) letter issued by the Office for Students with Disabilities
(OSD) which is located in University Center room 202. Students are required to
present their AFA letters to Faculty (please make arrangements to contact me
privately) and to the CSE OSD Liaison in the department in advance so that
accommodations may be arranged.
Diversity and inclusion
We are committed to fostering a learning environment for this course that
supports a diversity of thoughts, perspectives and experiences, and respects
your identities (including race, ethnicity, heritage, gender, sex, class,
sexuality, religion, ability, age, educational background, etc.). Our goal is
to create a diverse and inclusive learning environment where all students feel
comfortable and can thrive.
Our instructional staff will make a concerted effort to be welcoming and
inclusive to the wide diversity of students in this course. If there is a way
we can make you feel more included please let one of the course staff know,
either in person, or via email, or even in a note under the door. Our learning
about diverse perspectives and identities is an ongoing process, and we welcome
your perspectives and input.
We also expect that you, as a student in this course, will honor and respect
your classmates, abiding by the UCSD Principles of Community
Please understand that others’ backgrounds, perspectives and experiences may be
different than your own, and help us to build an environment where everyone is
respected and feels comfortable. If you experience any sort of harassment or
discrimination, please contact the instructor as soon as possible. If you
prefer to speak with someone outside of the course, please contact the Office
of Prevention of Harassment and Discrimination: https://ophd.ucsd.edu/.
Last edited: Thursday, 05-Sep-2019 08:45:02 PDT