Overview

Course Description

This class focuses on design and implementation of network programs and systems, including topics in network protocols, architectures, client-server computing, software-driven networking, and other contemporary network hardware-software system design and programming techniques. Familiarity with C and Unix is required. Recommended prerequisites: CSCI 4273 and CSCI 4573. Same as ECEN 5273.

Course Objective

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 or analyze research papers in class, and actively critique prior work.

Other course outcomes:

Course Schedule and Location

Course Materials

An open-source textbook and various readings 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.

Course Grading

Final grades will be decided by the following:

Letter grade assignments are listed below.

Online Resources

We'll use Canvas for grading and course administration. Find the Canvas link here.

Course Disclaimer

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.

Prerequisites

Course Prerequisites

It is recommended that students have a familiarity with the subject matter in:

Programming Languages

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.

Textbooks

We will use the open source textbook below, which is free to download and use. If learning from a different book is desired, students may want to purchase books related to core course materials. A few cursory suggestions:

Contact Info

Instructor

NameEmailOfficeOffice Hours
Eric Rozner Zoom video conference By appointment

Course Grader

NameEmailOfficeOffice Hours
N/A

Policies

Academic Integrity

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 (honor@colorado.edu; 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.

Late Policy

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 48 hours, no assignment will be accepted for a grade. In the case of emergencies, contact the instructor as soon as possible.

Grading Disputes

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.

Collaboration

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.

Excused Absences

All students are expected to attend every lecture in person. Although class participation is 0% of the course grade, the instructor reserves the right to lower a students grade if participation 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.

Special Needs

Students with special needs or accommodations are encouraged to seek council with the course instructor as soon as possible.

Harassment Policy

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.

Literature Reviews

Students will be expected to read all of the assigned readings before each lecture. Students need to only turn in a review for specific assigned readings. The grader will review and grade the readings. Review forms are located at this link. The professor may decide to share literature reviews with other students in the class, or make completed literature reviews available in current or future class forums. It is likely Literature Reviews will be peer-graded by classmates. A grading rubric will be provided.

Student Presentations

Students may be required to present and lead the discussion on 1 or 2 papers throughout the semester. 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. If 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. Note: given the online nature of the course, it is unlikely presentations will be required. Logistics will be determined within the first week of the course.

Final Projects

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, via videoconference or recorded video. 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.

Professor Travel

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.