>

University of California, Los Angeles
Department of Computer Science

CS 118: Computer Network Fundamentals

Winter 2025


#Meeting Times

#Lecture

Rolfe Hall 1200
Monday, Wednesday at 8:00-9:50 am

#Discussion

1A: Dodd Hall 121
1B: Perloff Hall 1102
1C: Kaplan Hall 169
Friday at 2:00-3:50 pm

Zoom links are available on Bruin Learn.

#Instructors

EmailOffice Hours

Tianyuan Yu
tianyuan at cs.ucla.eduBoelter Hall 3286
Monday at 10:00-11:50 am

Yifei Xu (Disc. 1A)
yxu at cs.ucla.eduEng VI 392
Tuesday at 10:00-11:50 am

Omar Elamri (Disc. 1B)
omar at cs.ucla.eduBoelter Hall 3286
Wednesday at 10:00-11:50 am

Yangchao Wu (Disc. 1C)
wuyangchao1997 at g.ucla.eduEng VI 386
Thursday at 10:00-11:50 am

#Learning Assistants

#Course Overview

Using the Internet as a motivating example, in this class, we’ll learn about many networking technologies. These technologies work together to facilitate communication between computers far and wide.

A main focus of this class is the concept of layering, which is similar to encapsulation-each layer provides an interface in which the others don’t concern themselves with exact implementation details.

In this class, we’ll go over a 5 layer model:

Through this model, we hope you’ll gain an understanding and appreciation of protocol design and what considerations we take when deploying these protocols on a global scale.

#How to succeed in this course

The internet is a huge, complex collection of networks. As such, it’s beneficial to divide-and-conquer it when studying. Figure out how many major parts there are and learn it one piece at a time.

Read the textbook and review the lecture slides. Slides will be posted one day before each class. Come up with questions and ask them in class/office hours/Piazza. You’ll have the chance to apply your knowledge in the homeworks and projects.

#Work Involved

#Projects

There will be three projects.

  1. The “zeroth” will help you set up your environment and introduce you to socket programming,
  2. the first will be a socket programming assignment that implements a reliable transport, and
  3. the second will be a moderately difficult assignment that does a makeshift version of Transport Layer Security (TLS).

You will do all programs in C or C++17. Students are assumed to be competent in C or C++. Students not familiar will have to learn those outside the classroom.

Project 0 will be done individually. Projects 1 and 2 may be done in groups of up to 3. Groups are allowed to have members across discusssions.

#Exams

There will be one midterm and one final. All exams are closed book, closed notes. You’re allowed to bring cheatsheets: one page (both sides; sized 8.5x11 letter maximum) for the midterm, and two for the final. This class is not about memorizing networking acronyms, but about understanding networking ideas.

#Homeworks

There will be 4 homeworks of about 5 questions each. Homeworks will be released on Thursday of weeks 1, 3, 5, and 7. They’ll be due on Tuesday of weeks 3, 5, 7, and 9. This allows for about ~1.5 weeks to complete each homework. Homeworks must be completed individually.

#Grading

In this class, we’ll be following a strict grading policy. These rules apply with absolutely no exceptions unless we have arranged otherwise (e.g. CAE).

#Boundaries

B+[87, 90)C+[77, 80)D+[67, 70)
A[93, 100]B[83, 87)C[73, 77)D[63, 67)F[0, 60)
A-[90, 93)B-[80, 83)C-[70, 73)D-[60, 63)

Grade boundaries may (most likely) be relaxed, but will never be made stricter. A+ is reserved for top students.

#Breakdown

4 Homeworks20% (total; 5% each)
Project 05%
Project 110%
Project 210%
Midterm25%
Final30%
Extra Credit3%

#Miscellaneous

#Bruin Learn

All class material (worksheets, homeworks, slides, notes, etc.) will also be posted on Bruin Learn—separated by week in the Modules tab. You may also see your current class grade. Make sure to turn on announcements (whether via email or mobile push notification) to make sure you’re aware of any urgent class messages.

#Gradescope

Gradescope will be used to score all project, homework, and exam submissions. Projects will be graded with an autograder but also manually reviewed for sanity. You may access Gradescope by visiting our Bruin Learn page and clicking Gradescope in the left-hand bar.

Regrades are allowed, but you may only request one regrade per question part. If you’d like to contest any regrades, you must come to one of the instructors’ office hours. For exams and homeworks, there will be an announcement sharing the instructor that graded each question. Please visit that instructor’s office hours (you may visit any instructor for project regrades). If you cannot make their office hours, feel free to email them to schedule an alternate time. Regrades are due exactly one week after grades are released.

#Piazza

For any quick clarifications that may benefit the entire class, our class is using Piazza to facilitate these discussions. Please email all instructors if you have more urgent questions. You may access Piazza by visiting our Bruin Learn page and clicking Piazza in the left-hand bar. Note that you’re able to make posts anonymously, but instructors will be able to see your identity.

We’re offering extra credit for Piazza participation. Up to 2%, each instructor-endorsed answer will provide 0.1% extra credit towards your total grade.

#Evaluations

We’re also offering extra credit for course evaluations. You’ll receive 0.75% extra credit for filling out both the instructor and TA evaluations in MyUCLA, and another 0.25% for filling out both the mid-quarter and end-of-quarter LA feedback forms.

#Recordings

Lectures and discussions will not be recorded. (Unless we must go online by university mandate.)

#PTEs

Due to operational reasons, we are unable to issue PTEs. Only the CS department has the ability to issue them. If you have a pressing need to enroll in this course this quarter, please visit this website.

#Academic Conduct

#Textbook

Computer Networking: A Top Down Approach Featuring the Internet, Jim Kurose and Keith Ross.
This book serves as the basis for class content. It’s highly recommended.










Thanks for reading through the entire syllabus! Here’s to a great quarter!