2024W2 CPSC 417 - Computer Networking

Please note: CPSC 417 will NOT be offered in 2025W2 due to a planned teaching relief. I will be taking this time to focus on building up my research group and ramping up my research activities at UBC. The first offering of CPSC 417 was very well received by students, several of whom have since pursued careers in computer networking or continued with research in graduate school. I fully intend to offer the course again in 2026W2. My sincere apologies to those who were planning to take it in 2025W2 and are affected by this change.

If you are still interested in exploring research in network security and feel confident in your networking background, I welcome you to reach out. I would be happy to facilitate your participation in my graduate-level course, CPSC 538H - Network Security, offered in 2025W1.

Class: Tuesday and Thursday, 2:00-3:30 PM

Location: Earth and Ocean Sciences (EOS) - 135

Instructor: Nguyen Phong Hoang (nphoang@ubcnet.ca)

Teaching Assistant: Karthik Nishanth and Swati Goswami

Office hours:

  • TA1: Karthik - Mondays 1:00-2:00 PM, ICCS X339
  • Instructor: Phong - Wednesdays 1:00-2:00 PM, ICCS 339
  • TA2: Swati - Fridays 2:00-3:00 PM, ICCS X339

Drop deadline: Jan 17, 2025

Piazza: CPSC 417 with access code CompNet (All course announcements, slides, and Q&A will be on Piazza.)

1. Overview

This is an advanced course on computer networking that covers the technical, practical, and theoretical aspects of modern networks. The course will explore network protocols, security, content delivery, privacy, censorship, and emerging technologies like SDN, QUIC, and Web3. Students will gain both conceptual understanding and hands-on experience in networking systems and their security implications.

Through a combination of lectures, quizzes, hands-on assignments, and discussions, students will develop a deep understanding of complex networking systems and their security implications. The course will also emphasize real-world applications and tools through practical assignments.

By the end of the course, students will:

  • Master modern networking protocols and standards.
  • Analyze and mitigate network security threats.
  • Investigate internet censorship and privacy tools.
  • Explore new frontiers in networking like Web3 and IPv6.

Most importantly, students will develop a critical mindset to evaluate networking technologies and their implications on society, privacy, and security. The hands-on assignments will provide students with marketable skills in network security, system administration, and network analysis.

2. Prerequisites

Students should have basic knowledge of computer networks (e.g., CPSC 317). Familiarity with programming, command-line tools, and networking basics will be essential for success. A genuine interest in advanced networking and its real-world implications is highly recommended.

3. Grading

The grading components for the course are as follows:

Category Percentage
Homework Assignments 40%
Bonus Homework 5% (Optional)
Quizzes (5 quizzes) 30%
Final Exam 30%
In-class Participation 5% (Extra Credit)

Homework Assignments (40% + 5% Bonus)

There are a total of 10 homework assignments, each worth 5% of the final grade. Of these 10 assignments, the best 8 will be counted towards the final grade. The remaining 2 assignments are optional bonus assignments that can contribute a maximum of 5% extra credit to the final grade, with the best one being counted.

This course emphasizes on the practical application of concepts learned in class, thus most homework assignments will involve hands-on tasks that require students to apply their knowledge to real-world scenarios and cannot be completed solely by reading the textbook or relying on generative AI tools (e.g., ChatGPT). Assignments are designed to be completed individually and can be done within a reasonable amount of time, typically less than a few hours per assignment.

Quizzes (30%)

There will be 5 quizzes distributed throughout the semester, each contributing 6% to the final grade (for a total of 30%). The quizzes are designed to test your understanding of course material and your ability to apply concepts to practical scenarios. Each quiz will focus on the topics covered in the corresponding module and serve as a valuable tool for reinforcing your learning.

Quiz Format and Logistics:

  • Quizzes will be conducted in the Computer Based Test Facility (CBTF).
  • You have the flexibility to take the quizzes at your convenience within the assigned time window.
  • Each quiz will be open for a specified period of time, and you can choose your preferred 30-min slot during this window.
  • Registration for quiz slots will be available on the CBTF portal starting one week before the quiz week.

Quiz Guidelines:

  • Quizzes will be administered via PrairieLearn on the CBTF computers.
  • All quizzes are closed book and closed notes, in accordance with CBTF policies.
  • No electronic devices (e.g., laptops, tablets, smartphones) or external materials will be allowed in the testing area.
  • The CBTF provides a controlled and secure testing environment to ensure fairness and consistency.

We encourage you to review course material thoroughly before each quiz and make use of the flexibility offered by the CBTF to schedule your quizzes at a time when you feel most prepared. If you have any conflicts or questions about the quizzes, please reach out to the instructor at least two weeks before the first day of the quiz window.

Final Exam (30%)

We plan to administer the final exam in the Computer Based Test Facility (CBTF), though this is subject to change based on circumstances. The exact format and logistics of the final exam will be finalized and communicated well in advance, ensuring you have sufficient time to prepare.

The final exam will be cumulative, covering all topics discussed throughout the course. It will test your understanding of networking concepts, security principles, and practical applications. The exam will consist of a mix of multiple-choice questions, and short answer questions to assess your knowledge and skills.

In-class and Discussion Forum Participation (Maximum of 5% Extra Credit)

Active participation in class discussions and online forums is highly encouraged. While participation is not mandatory, it can earn you up to 5% extra credit towards your final grade. Participation can take various forms, including asking questions, engaging in discussions, sharing insights, posting on Piazza, and participating in hands-on activities. Your active involvement in the course will not only enhance your learning experience but also contribute to a lively and engaging classroom environment for everyone.

In each lecture, you will have the opportunity to earn a maximum of 1% extra credit based on your participation. For each engaging question, answer, insightful comment, or constructive feedback you provide, you will receive a participation point of 0.5%.

Insightful posts on Piazza can also count towards your participation grade. For each insightful post on Piazza, you will earn 0.5% extra credit. An insightful post should be well-reasoned, thoughtful, and contribute to the discussion in a meaningful way. This can include sharing relevant articles, asking thought-provoking questions, or providing constructive feedback on your peers' posts. If a post gets > 10 upvotes from peers, it will be considered as an insightful post.

4. Course Schedule

The course schedule is tentative and subject to updates.

5. Policies and Guidelines

Academic Integrity

Legality and Ethics

Through this course, we will discuss various security tools and techniques that can be used for both defensive and offensive purposes. By introducing these tools, the course aims to provide students with a better understanding of network security concepts and challenges. However, it is the responsibility of the students to ensure that they use these tools in a legal and ethical manner. If you have any questions or concerns about the legality or ethics of using a particular tool or technique, please discuss it with the instructor.

Use of Generative AI Tools

While the use of generative AI tools (e.g., ChatGPT) is permitted for the completion of homework assignments, which are designed in a way that students cannot rely solely on generative AI tools to complete them, it is important to note that these tools should be used as a supplement to your learning and not as a substitute for understanding the material. The use of generative AI tools should be limited to generating ideas, providing additional context, or aiding in the completion of assignments. It is essential that you understand the concepts and principles behind the tools you are using and can explain the results generated by these tools. Note that the use of generative AI tools for quizzes and exams is not permitted and will be considered a violation of academic integrity. If you have any questions about the appropriate use of generative AI tools, please reach out to the instructor.

Late Policy

We understand that unexpected circumstances may arise that prevent you from submitting an assignment on time. Thus, we will allow a total of 100 hours of late submission for the entire semester. You can use this time for any submission throughout the semester with 1 hour being the minimum unit. Once you have used up all the hours, each late submission will incur a 25% penalty per day, meaning that after 4 days, the assignment will not be accepted. If you need more time due to extenuating circumstances, please contact the instructor as soon as possible. If an anticipated event will prevent you from submitting an assignment on time, please inform the instructor at least two weeks in advance.

Waiting List Policy

Please do not contact the instructor or course staff regarding the waiting list or admission to the class. Waiting lists are managed by the department in priority order, and instructors have no involvement or influence over the class roster, the waiting list, or enrollment decisions. Additionally, we are unable to sign course registration forms. For any registration-related inquiries, please first read the CS' Wait List Policy and only then reach out to the CS advisors if you believe there are pressing and legitimate reasons for your enrollment.

If you are on the waiting list and plan to enroll, it is essential to stay current with all course assignments and materials. While on the waiting list, you may attend any lecture section or tutorial that fits your schedule until your enrollment is confirmed. I will make sure important materials are available on my website until the drop deadline.

UBC Support Services for Students

The University of British Columbia is committed to supporting students in all aspects of their academic journey and personal well-being. Whether you are seeking academic assistance, dealing with health challenges, or encountering unexpected crises, UBC offers a wide range of resources to help. Learning support services are available to enhance your skills and boost your academic success. Additionally, UBC recognizes that university life can be demanding, and challenges like stress, anxiety, or other personal struggles may arise. To address these concerns, professional counseling and health services are accessible to all students, ensuring that your mental and physical health is prioritized alongside your studies.

UBC is dedicated to fostering a respectful, inclusive, and supportive environment for everyone in the academic community. The university has strict policies against harassment, discrimination, and suppression of academic freedom, emphasizing the importance of mutual respect and diversity. For students with disabilities or those requiring accommodations for religious or cultural observances, UBC provides comprehensive support to ensure equitable access to education. If you encounter difficulties, early communication with instructors, advisors, or support staff is encouraged to explore available options and solutions. Ideally, you should reach out at least two weeks before the issue affects your academic performance so that appropriate measures can be implemented promptly.

Avatar
Nguyen Phong Hoang
Assistant Professor