Welcome to CS 293N!
Table of contents
Course Policies
Objective
In recent years, we have witnessed the widespread usage of ML tools for various classification, detection, and control problems. More recently, we have witnessed the use of ML for various networking problems as well. However, operationalizing ML solutions for networked systems is more nuanced than simply calibrating existing tools, developed for other domains (image classification, NLP, etc.). More in-depth exploration to develop flexible, scalable, and generalizable ML-based networked systems. In this course, we will cover recent research, published at top networked systems (USENIX NSDI, ACM SIGCOMM) and ML conferences (NeurIPS, ICML, etc.), that developed new ML tools/techniques for networked systems. In the process, we will learn how to identify problems that can (or cannot) benefit from ML, decide which tool/algorithm to use, and how to do interdisciplinary research covering networking, ML, and systems.
Background Expectations
There are no official prerequisites; however, a basic familiarity with networking, ML, and distributed systems concepts will be very helpful.
Course Expectations
In this course, the students are expected to do the following:
Before class
: For most classes, we will be reading 1-2 papers. These papers will be assigned at least one week before the class. The students are expected to read the assigned research papers, and submit their reviews using the Google form (more details soon).In-class
: Students are expected to participate actively in the class. The instructor will lead the discussions, but the students are expected to elevate the discussions by explaining the key ideas, techniques used, experiments, and summarizing the key takeaways from the paper. Constructively contributing to the discussions, will require students to be prepared by doing the assigned preparation and thinking about the related problems deeply.After class
: Students will work in a small team of 2-3 students to summarize the in-class discussions as blogs. For each class, a group will be assigned to produce scribe blogs for the discussed topics. For each topic, a team will be assigned to write-up a blog about the topic, which will be posted on the course site.Term project
: Work in a small team (2-3 students) to work on projects that will contribute to the area of NetAI. Projects may contribute to open source implementations of data collection and analysis tools, ML algorithms, end-2-end systems for data-driven network management, etc. For each project, the students are expected to prepare a project report, which describes the research plan in detail. More details on this later.
Teams
You can work in a team for the blogging and research tasks. I will need the name of teams (and its members) by the end of first week (April 1, 2022). Please keep an eye out for potential team members during the introductions.
Student Evaluation
Reviews | 20% |
Class participation | 10% |
Discussion summaries | 20% |
Project (proposal) | 10% |
Project (report) | 30% |
Project (presentation) | 10% |
Reviews
Before the start of a lecture, you will submit Google form(s) (typically shared a week in advance). This form will require you to answer some of the questions related to the reading assignments. These questions will test how well you understood the assigned readings. For example, while reviewing a system’s paper, you might have to answer what specific techniques the paper used for evaluation, how the system can be improved, etc. Points will be awarded based on the level of depth demonstrated by your answers.
Writing an insightful review will require effort, so don’t plan to do the reading assignments at the last minute. The quality and depth matter the most, which takes time.
Class Participation
Active in-class participation is desired for this course. Points will be awarded based on your constructive contributions to the topics.
Discussion Summaries
For each class, a team will be assigned to scribe the discussions summaries as blogs. The blogs will be assessed on their structure, clarity, and engagement.
Term Project
One key aspect of this class is to have students to gain hands-on experiences in open research problems. To do this, each student will need to propose a research project. The teaching staff will provide the feedback on the proposal, and track the progress of each student. We will provide all the required computing resources to each team for their project.
Proposal
Your research proposal will report the problem statement, motivation, and give a rough idea of the related work and critical insights. More concretely, the project proposal must clearly mention the following aspects of their project:
- What is the motivation of the problem?
- What is the exact specification of the problem?
- What are some existing approaches to this problem?
- What are some existing datasets that you can work on?
- What is the novelty in your project? New problem? New approach? New dataset?
- How are you going to implement your approach, what are your metrics of success, and what’s your evaluation plan?
This document should be at most two pages of content; you may use extra pages for bibliographic references. Your proposal must follow the formatting requirements mentioned above. Your instructor will read your plan in detail and provide feedback, especially on whether the proposed idea has the potential to advance the state-of-the-art. Based on your instructor’s feedback, you will refine your proposal.
Note: The plans that don’t promise to advance the state-of-the-art will receive zero points and ones that show promises of turning into a publication will receive extra credit.
FAQ:
- Can I use my existing research projects/thesis research project as the project in this class? I would prefer students to get out of their comfort zone and try something new in this class. If you are using existing techniques from your existing project, it is unlikely that you will be able to learn anything new during the course project. However, you may still draw the inspiration from your research problem to formulate your class project.
Report
You must use this style file for writing the report. The final report must be 6-12 pages long including references. It is encouraged to include the following components in your reports (not necessarily this order): abstract, introduction (motivation, task definition, your novel contributions), related work, your technical approach, such as math formulation of the problem, algorithms, theorems (if any), experiments, discussion, and conclusion.
Presentation
TBA
Communication
Lectures
Tuesday and Thursday, 9-10:50 AM
Slack
We will use a slack group for class communications. I have already sent an invitation to registered students. If you haven’t received it, please use this link to join the workspace. You can join using any @ucsb.edu
email address.
Etiquettes
To make sure that this is a helpful resource for everyone, please follow these guidelines when posting on Slack:
- Before posting a question check/search through existing Slack questions to see if someone already asked a similar question.
- Use the filters/folders (e.g., lab3, lab4) to see what questions were asked regarding specific assignments.
- As much as possible, keep related questions in the follow-up discussions, instead of creating new posts.
- Conversely, when posting your question/note, use the appropriate folders/labels.
- Include “Lab/HW## Q##” in the title of your post, e.g., Lab01 Q2.3.
Whenever possible, copy/paste the error as text instead of attaching a picture. Use Slack’s code formatting if you post sample code. Follow the guidelines below to compose the content of your post.
If other students will benefit from the answer to your question (e.g., you are asking about a deadline or a policy), make the question public. We encourage you to make more of your posts public, making private posts only if something that’s too specific to your case or you need to share your code snipped with the instructors.
Do not post answers to homework/lab problems. Do not publicly share your code/solution.
Use Slack instead of emailing the course instructor or mentors. (When composing a post, select “Individual students/instructors” (instead of “Entire Class”) and type “Instructors” to include all instructors). Use the “Instructor” posts instead of the individual messages (but follow #3 above).
Make sure that all your communication is professional, considerate, and productively contribute to the course. We expect you to abide by the University of California, Santa Barbara general code of conduct for all students. The UCSB policy applies to conduct over Zoom, Slack, and any other digital tools being used for this course
- Guidelines for creating a well-structured post:
- You are going to get a faster and more helpful answer if you tell us:
- this is the specific question/function that I am working on
- this is the issue that I am running into,
- this is my code (make sure the message is private if you are directly sharing your code),
- here’s the input that I used in calling my functions,
- here’s the output/error I got,
- here’s what/where/how the output doesn’t match what I would have expected.
Course Policy
Cheating
Cheating is not tolerated. Please read the UCSB Academic Code of Conduct if you are not familiar with the definition of cheating. If you are caught cheating on an assignment, you will get a zero for that assignment. Other repercussions are also possible, such as being reported to the UCSB Office of Judicial Affairs.
Diversity and Inclusiveness
We (the instructor and the mentors) strive to create an environment in which students from diverse backgrounds and perspectives can be well-served in this course, where students’ learning needs can be addressed both in and out of class, and where the diversity that the students bring to this class is viewed as a resource, strength, and benefit. It is our intent to present materials and activities that are respectful of diversity: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, culture, or religion (or lack thereof). Your suggestions are encouraged and appreciated: help us improve the effectiveness of the course for you personally, or for other students or student groups. If at any point you are made to feel uncomfortable, disrespected, or excluded by the course staff or fellow students, please, don’t hesitate to talk to us about it so that we may address the issue and maintain a supportive and inclusive learning environment. If you are uncomfortable bringing up an issue with the course staff directly, submit anonymous feedback or contact the Office of the Ombud. Help us create a welcoming, inclusive atmosphere that supports a diversity of thoughts, perspectives and experiences, and honors your identities.
These notes are inspired by and adopted from Mine Çetinkaya-Rundel, Hacker Hours, and Kevin Lin.
Disabled Students Program
If you are a registered DSP student and you intend to request a specific accommodation, you should inform me within the first two weeks of the quarter or of enrolling in the DSP. You should also submit your request no less than one week before the scheduled exam so that we can plan for any special arrangements.