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.
Logistics
- 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
- Instructor
- TAs
- Hugh Feng, hzfeng@ucsd.edu, Office hours: B240A Thursday 3-5pm
- Brandon Gautama, bgautama@ucsd.edu, Office hours: B250A Tue 1:30-2:30p, B215 Tue 3:30-4:30p
- Rishabh Sethunathan, rsethuna@ucsd.edu, Office hours: B260 Wed 10-11a, B250A Fri 10-11a
- Shibani Subbareddy, ssubbare@ucsd.edu, Office hours: B250A Monday 4-5pm, B260A Monday 5-6pm
- Midterm exam
- Nov 5 8:00am-9:20am, location PCYNH 109
- Final exam
- Dec 10 8:00am-10:59am, location TBD
Discussion / Forum / Q&A / Grades
For Q and A discussion and posting of grades, we're going to use Triton Ed this term.
Textbook
This quarter we'll be using "Distributed Systems: An Algorithmic Approach (2nd
edition)" by Sukumar Ghosh (published by Chapman and Hall/CRC Press).
The UCSD library is offering electronic access to this book for free, as long
as you are on campus and/or use the campus VPN
service. Just search the library catalog for "Sukumar Ghosh" and you
should find a link to the free electronic resources.
If you want to own the book, you can purchase an e-book version from Amazon for
about $45, and a hardback book for about $100.
Course schedule
Activities
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
reading.
- 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.
Homeworks
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.
Project
There will be three projects during the course:
- 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
Click this link to access the project page.
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.
Exams
There will be a midterm and a final exam. The final will be comprehensive
across the entire quarter.
Discussion sections
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.
Grading
- Homeworks: 5%
- Midterm: 20%
- Final: 30%
- Projects: 45%
In life, sometimes things happen (your computer crashes, you have a
personal emergency, you have some kind of time 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 final exams.
To request the 3-day extension,
fill out this online form.
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.
Student expectations
Academic honesty
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
university.
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.
Disability access
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: Monday, 25-Nov-2019 10:19:07 PST