CSE 124 Fall 2021 Syllabus
Last updated: October 5, 2021
This course will provide a broad understanding of networked systems design and implementation. Topics include techniques for building distributed applications, sockets programming, Remote Procedure Calls, scale-out distributed directories, managing scalability, networked storage, indirection, load balancing, datacenter design, and the energy/carbon impacts of cloud computing.
The course will include a series of projects and assignments, a mid-term exam, and a final exam.
We’ll be programming in the Go language, however we do not expect students to have experience in this language prior to taking this course.
CSE 124 is a senior upper-division elective, and CSE 224 is the graduate-level offering aimed primarily at MS students and non-systems Ph.D. students. Note: You cannot receive credit for both CSE 124 and CSE 224.
Course Staff
-
Professor: George Porter
- E-mail: gmporter@cs.ucsd.edu
- Office hour: Wed 10-11am
- Physical office hour location: CSE 3104
- Zoom office hour link: https://ucsd.zoom.us/j/96627083458
-
TA: Aritra Basu
- E-mail: a2basu@ucsd.edu
- Office hour: Thu 4-5pm
- Physical office hour location: EBU3B B260A
- Zoom office hour link: https://ucsd.zoom.us/j/95253777557
-
TA: Bili Dong
- E-mail: b2dong@ucsd.edu
- Office hour: Mon 1-2pm
- Physical office hour location: EBU3B B250A
- Zoom office hour link: https://ucsd.zoom.us/j/94635302997
-
TA: Brian Li
- E-mail: brl088@ucsd.edu
- Office hour: Fri 11am-12pm
- Zoom office hour link: TBD
-
TA: Zhouyang Li
- E-mail: zhl076@ucsd.edu
- Office hour: Tue 4pm-5pm
- Zoom office hour link: TBD
Logistics
Class: Tu/Thu 11:00am to 12:20pm, Outdoor tent P416 East
Discussion section: Tue 8-9pm, P416 East tent
As requsted by the Chancellor and Executive Vice Chancellor, this course will be offered as an in-person, synchronous course.
To attend class you must follow all of the rules and procedures from campus, including filling out the daily symptom screening app, wearing a mask during class, and refraining from eating or drinking during class. I will create a break about halfway through class for people to get a drink of water or just to step outside for a few minutes.
If you are not able to attend class in person, you can watch a video recording of the lecture, which will be made available shortly after class ends via podcasts.ucsd.edu.
For office hours, you can attend in person and ask questions (following masking protocols), or you can attend office hours remotely via Zoom. As a courtesy to the professor and TAs, we ask that you turn on your camera and microphone when you are asking questions or talking with the instructional staff.
The mid-term and final exam will be given in person during the class time and final exam time established by the registrar. If guidance from campus changes, an alternative arrangement will be put into place. Note that unless campus creates a new policy for everyone, no individual requests for online exams can be accommodated.
And of course, as has been the case during this entire pandemic, all of the above is subject to change as conditions and rules from campus are updated.
Textbooks
We are using “The Go Programming Language” by Donovan and Kernighan
The book is available online for free, or at cost for a paperback:
- Available online through the UCSD library: Free
- Available on Amazon: $36.49
- Available through independent booksellers via IndieBound: $39.99
There is no requirement that you buy the paperback and it is fine to use the free online version.
If you would like some additional background on basic networking concepts covered in the first two weeks, consult “Computer Networks” by Andrew Tanenbaum. It is available for free online:
- Available via UCSD library
Grading
- Four Projects: 60%
- Weights: P1: 5%, P2: 20%, P3: 20%, P4: 15%
- Exams: 40%
- Midterm: 15%
- Final: 25%
Late policy
Since we are still experiencing effects from the COVID-19 pandemic, I am offering a more lenient than usual late policy for projects. You can submit your project up to 48 hours past the deadline with no penalties. However in fairness to the other students, no help or guidance from the teaching staff will be allowed during these two late days, and you should not post any messages to Piazza during the late days. If you have questions about this policy please reach out to Prof. Porter.
Q&A Message board and office hours
We’ll be using the Piazza message board, which is directly linked from our class’s canvas page.
You can create public posts and comment on:
- General questions about course material
- Topics covered in lecture
- Questions about the Go language
- Studying for the midterm/final exam
- Current events related to the class
You may only create private, instructor-only posts related to:
- Questions about the projects/assignments
If the answer to your question is relevant to the entire class, your post (and our reply) will be made public (and your username will be anonymous to the rest of the class). This should happen approximately once per day Monday-Friday. If the answer to your question is available in the project assignment write-ups or was covered during class, your post will simply be marked as duplicate and closed.
Feel free to ask questions about the projects in office hours.
Collaboration policy
The projects are to be done individually, and you should not look at another student’s code or let another student look at your code. Do not put your code online (e.g. in a public GitHub repository) during the quarter.
You are free to talk with other students about the Go language itself, about course materials and whatever is covered in lecture, and you are encouraged to study together for exams. When in doubt, please ask the instuctor first.
“Academic Integrity is expected of everyone at UC San Diego. This means that you must be honest, fair, responsible, respectful, and trustworthy in all of your actions. Lying, cheating or any other forms of dishonesty will not be tolerated because they undermine learning and the University’s ability to certify students' knowledge and abilities. Thus, any attempt to get, or help another get, a grade by cheating, lying or dishonesty will be reported to the Academic Integrity Office and will result sanctions. Sanctions can include an F in this class and suspension or dismissal from the University. So, think carefully before you act by asking yourself: a) is what I’m about to do or submit for credit an honest, fair, respectful, responsible & trustworthy representation of my knowledge and abilities at this time and, b) would my instructor approve of my action? You are ultimately the only person responsible for your behavior. So, if you are unsure, don’t ask a friend but rather ask your instructor, instructional assistant, or the Academic Integrity Office.”
You can learn more about academic integrity at academicintegrity.ucsd.edu (Source: Academic Integrity Office, 2018)
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, via email/discussion board, 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 (https://ucsd.edu/about/principles.html). 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/.
Students with Disabilities
We aim to create an environment in which all students can succeed in this course. If you have a disability, please contact the Office for Students with Disability (OSD), which is located in University Center 202 behind Center Hall, to discuss appropriate accommodations right away. We will work to provide you with the accommodations you need, but you must first provide a current Authorization for Accommodation (AFA) letter issued by the OSD. You are required to present their AFA letters to Faculty (please make arrangements to contact me privately) and to the OSD Liaison in the department in advance so that accommodations may be arranged.
Basic Needs/Food Insecurities
If you are experiencing any basic needs insecurities (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry. Please visit http://thehub.ucsd.edu/ for more information.