CS621: Network Programming Announcements Spring 2025

04/23/25 Please take a few minutes and fill out the informal end-of-semester feedback form.
04/22/25 If you haven't already, pick a grading session slot. The grading sessions will take place on 5/12 and 5/13. All team members must be present in-person.
04/22/25 During the first part of the lecture today (4/22), we covered important information about Project 2 deliverables.
04/21/25 Extra credit based on Lecture 22: pick (and confirm with me) a transparent middlebox other than SPQ, network compression, and traffic shaping and policing. Show that the middlebox in question satisfies the three requirements in the detection framework presented in this class. Submit your work via email by May 8th, 11:59PM. This extra credit component of the class is 3% of your total grade.
04/15/25 Exam Solutions
04/03/25 Each team should send an email by April 11th to TA's email, sghahghahi2@dons.usfca.edu, with the subject "CS621 Team Members", listing the names of all team member(s) in their group. The team members cannot change after sending this email.
04/03/25 Lab 3 and solutions have been uploaded. This lab will not be graded, as it is designed to prepare you for Project 2.
04/03/25 Project 2 Specification and relevant resources have been uploaded. It is due on May 8th, at 11:59PM.
04/01/25 Sample Examination
04/01/25 Exam Review Problem Set - Solutions
03/31/25 The exam will be held on Tuesday (4/15). For important information regarding this exam, refer to Exam Study Guide.
03/18/25 Lectures 25 and 26 on 4/29 and 5/1 will be held remotely, as I will be attending a conference to present this paper. These lectures are optional. Lecture 25 will be live via Zoom on 4/29 from 2:40 PM to 4:25 PM, followed by Lecture 26 from 4:35 PM to 6:20 PM (on the same day). I will also record both lectures separately and post them later that week. Additionally, the project presentations on 5/6 and 5/8 will also take place remotely.
03/04/25 The next topic in this course starting this week is Cryptography. The prerequisite knowledge for this topic is basic number theory (read Section 2 of this article for a brief refresher).
02/12/25 Lab 2 has been uploaded. It is due on February 24th at 11:59PM.
02/10/25 Project 1 Specification has been uploaded. It is due on March 24 at 11:59PM. The required reading assignment for the lecture on Thursday (2/13) is the Project Specification.
02/07/25 For Project 1, you will be working with two Linux VMs. Your TA, Shyon, will lead two identical workshops to help you set up this environment:

Wednesday (2/12) | 1-3 PM @ HR411
Friday (2/14) | 1-3 PM @ HR411

Download the required files before attending the workshop, since the disk images are large files.

If you have experience installing Linux on a VM, you may follow the provided instructions instead of attending. However, I recommend setting it up before the workshop. This way, if you encounter any issues, you can still attend for assistance.
01/30/25 The recorded lectures for the course are available on Canvas under Panopto Video.
01/30/25 If you are looking for a refresher on C concepts relevant to Lab 1, you may watch my lecures on Bitwise Operators, File I/O, and Pointers to Structs. The username is "guest2" and the password is the same as this course's password.
01/22/25 Lab 1 has been uploaded. It is due on February 10th at 11:59PM.
01/21/25 Welcome to CS621!