This course studies advances in datacenter networking and cloud computing. Topics include congestion control, programmable networks, virtualization, load balancing, datacenter networking hardware and software stacks, management, topologies, and more. In addition, the course may touch on network-heavy applications, such as deep learning, analytics, and storage, that impact the design and utilization of datacenter networks. Basic familiarity with computer networking will be assumed, but some introductory lectures will be provided. The course will consist of paper reading and critiquing, and a heavy emphasis will be placed on in-class participation, student lectures, and a final course project.
By the end of the course, students will understand the state-of-the art networking technologies proposed in literature or used throughout industry in a variety of areas. Students will define their own final course projects, present research papers in class, and actively critique prior work.
There is no text book required for this course. Instead, various readings and webpages may be provided for reference on the Syllabus. Students are expected to be active learners, and may have to search for resources outside of class in order to learn material.
Final grades will be decided by the following:
Letter grade assignments are listed below.
We'll use Canvas for grading and course administration. Find the Canvas link here. Course discussion is on Canvas.
This is a relatively new course, with a curriculum that may be altered over the semester. The covered topics in the course syllabus may change. Given the non-traditional content of the course, there is not a standardized set of textbooks available. Students taking this course should feel comfortable finding and learning from online resources to supplement lecture material. Given the project-heavy nature of the course, students may be required to learn substantial amount of material on their own. The final project of the course will be open-ended. In summary, this course aims to build independence and critical thinking in students that will enable them to succeed in the post-academic world.
It is recommended that students have a familiarity with the subject matter in:
Students can choose the programming language for their final projects, but many networking systems are implemented in C. Therefore, students should be comfortable writing in C. Projects and homeworks will be submitted and tracked with git. It is possible that other languages may be required for small parts of the class. Students should be receptive to learning bits and pieces of a new language on the fly if needed.
There are no required textbooks for this course. If learning from a book is desired, students may want to purchase books related to core course materials. A few cursory suggestions:
|Eric Roznerfirstname.lastname@example.org||ECCR 1B26||1:45pm-2:30pm Tuesday, Thursday|
|Nivetha Kesavan||Nivetha.Kesavan@colorado.edu||By appointment|
All students must adhere to the CU Academic Integrity Policy. Academic integrity will be strictly enforced: any student caught cheating will receive a failing course grade and be reported to the Dean's office. This means that a student caught cheating on even a small course assignment (with relatively little weight toward the final course grade) will still fail the class. Any material copied from an online resource, such as code or homework answers, must be cited properly. When in doubt, seek guidance from the instructor or the course staff before submitting your work.
Please note students cannot reuse previous assignments or projects for the final project or any course submissions (including assignments and exams). Use of any preexisting project (from start-ups, to personal interest projects, to previous class projects) cannot be used without explicit permission from the professor. Use of existing code without permission will be considered cheating.
During exams, no electronic devices are allowed unless explicitly approved by the instructor. Any usage of an electronic device during an exam will be considered cheating and an automatic failing grade will be assigned.
Mandatory Honor Code statement: All students enrolled in a University of Colorado Boulder course are responsible for knowing and adhering to the Honor Code. Violations of the policy may include: plagiarism, cheating, fabrication, lying, bribery, threat, unauthorized access to academic materials, clicker fraud, submitting the same or similar work in more than one course without permission from all course instructors involved, and aiding academic dishonesty. All incidents of academic misconduct will be reported to the Honor Code (email@example.com; 303-492-5550). Students who are found responsible for violating the academic integrity policy will be subject to nonacademic sanctions from the Honor Code as well as academic sanctions from the faculty member. Additional information regarding the Honor Code academic integrity policy can be found at the Honor Code Office website.
Do not wait to start homeworks and course projects. All deadlines should be considered final. Late assignments, homeworks and projects will receive a 10% per 24 hour period deduction. For example, assignments handed in 1-24 hours late will incur a 10% reduction in score (so a 100 score would instead be a 90), assignments handed in 25-48 hours late will incur a 20% reduction in score (so a 100 score would instead be an 80). After 72 hours, no assignment will be accepted for a grade. In the case of emergencies, contact the instructor as soon as possible.
All grading disputes must be addressed within one week of the graded material being returned. After one week, TAs and instructors will not adjust any scores. Students are responsible for carefully inspecting all graded material.
Unless explicitly stated, all work should be done individually by each student. It is likely that partnering will be allowed in some course projects, and the conditions of collaboration will be explicitly spelled out in the assignment details. Questions about collaborations should be immediately addressed with the instructor, before any joint work is performed. Note that students working together on individual assignments is considered a form of academic misconduct and will be dealt with as outlined in the Academic Integrity section. Students are not allowed to share answers in person or over electronic communication.
All students are expected to attend every lecture in person. Althought class participation is 20% of the course grade, the instructor reserves the right to lower a students grade if attendance is deemed unsatisfactory. Exam dates are posted at the beginning of the semester and students must address any date conflicts with the instructor within the first two weeks of class. Students missing an exam, or requesting a deadline extension, due to health reasons will be required to obtain a note from a medical professional.
Students with special needs or accommodations are encouraged to seek council with the course instructor as soon as possible.
Learning new material is hard, and the instructor will try to enable a safe learning environment as best as possible. Students are expected to treat one another with respect, patience, and kindness. Any reports of online or in-person harassment will be referred to the department immediately. Students should adhere to the ACM Harassment Policy.
Students will be expected to read all of the assigned readings before each lecture. Students must also turn in a literature review from an assigned reading of their choice. Students need to only turn in a review for one of the assigned readings. The grader will review and grade the readings. Students can drop the lowest two scores from their literature reviews. Review forms are located at this link. The professor may decide to share literature reviews with other students in the class, or make completed literuture reviews available in class forums. A grading rubric will be provided.
Students will be required to present and lead the discussion on 1 or 2 papers throughout the semester (the exact number depends on the number of students enrolled in the class). When the professor does not lecture, two papers will be presented on a given topic by students. After the student presentations have concluded, the professor will lead class discussion. Students are expected to participate in these discussions, as class participation is a large part of the final grade. The professor will create a sign-up sheet early in the semester and students must sign-up for lectures in a timely fashion. Presentations should be 25 minutes in length, followed by a 5 minute question/answer session lead by the presenter. If the the students use slides found online, the original authors must be attributed. The professor will grade the presentations based on quality. If the quality of a presentation is deemed unsatisfactory, the student will be required to resubmit a video presentation that must obtain the instructor's approval. All students must complete a satisfactory presentation to pass the course. Presentation slides must be turned in before the lecture in order to be shared with class.
The final project will be a large part of the course grade. The project will consist of a proposal, checkpoints, a final presentation, and a final report. Students will present their final projects in class. Final project reports will be made available to the class at large, and may also be exhibited in a public venue (such as featured on a webpage, social media post, or a public poster session). Students can opt out of public disclosure by emailing the professor within the first two weeks of class. The professor will clearly announce any intended public release to the class beforehand.
The professor may have to travel during parts of the semester. If the professor has to miss class, one of the following options may be employed: remote participation through video conferencing system, recorded lectures on YouTube or other video sites, course staff stand-in for the professor.
If you qualify for accommodations because of a disability, please submit your accommodation letter from Disability Services to your faculty member in a timely manner so that your needs can be addressed. Disability Services determines accommodations based on documented disabilities in the academic environment. Information on requesting accommodations is located on the Disability Services website. Contact Disability Services at 303-492-8671 or firstname.lastname@example.org for further assistance. If you have a temporary medical condition or injury, see Temporary Medical Conditions under the Students tab on the Disability Services website.
Students and faculty each have responsibility for maintaining an appropriate learning environment. Those who fail to adhere to such behavioral standards may be subject to discipline. Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy. Class rosters are provided to the instructor with the student's legal name. I will gladly honor your request to address you by an alternate name or gender pronoun. Please advise me of this preference early in the semester so that I may make appropriate changes to my records. For more information, see the policies on classroom behavior and the Student Code of Conduct.
All students enrolled in a University of Colorado Boulder course are responsible for knowing and adhering to the Honor Code. Violations of the policy may include: plagiarism, cheating, fabrication, lying, bribery, threat, unauthorized access to academic materials, clicker fraud, submitting the same or similar work in more than one course without permission from all course instructors involved, and aiding academic dishonesty. All incidents of academic misconduct will be reported to the Honor Code (email@example.com); 303-492-5550). Students who are found responsible for violating the academic integrity policy will be subject to nonacademic sanctions from the Honor Code as well as academic sanctions from the faculty member. Additional information regarding the Honor Code academic integrity policy can be found at the Honor Code Office website.
The University of Colorado Boulder (CU Boulder) is committed to fostering a positive and welcoming learning, working, and living environment. CU Boulder will not tolerate acts of sexual misconduct intimate partner abuse (including dating or domestic violence), stalking, protected-class discrimination or harassment by members of our community. Individuals who believe they have been subject to misconduct or retaliatory actions for reporting a concern should contact the Office of Institutional Equity and Compliance (OIEC) at 303-492-2127 or firstname.lastname@example.org. Information about the OIEC, university policies, anonymous reporting, and the campus resources can be found on the OIEC website. Please know that faculty and instructors have a responsibility to inform OIEC when made aware of incidents of sexual misconduct, discrimination, harassment and/or related retaliation, to ensure that individuals impacted receive information about options for reporting and support resources.
Campus policy regarding religious observances requires that faculty make every effort to deal reasonably and fairly with all students who, because of religious obligations, have conflicts with scheduled exams, assignments or required attendance. Please inform the professor within the first two weeks of class of any holidays. Also see the campus policy regarding religious observances for full details.