Information for UCLA CS118, Winter 2016 --- Computer Network Fundamentals

This page is organized by the weeks of the quarter in which lectures were given. The weeks are in inverse order, on the assumption you will most often be looking for the most recent week.

This class will be taught by Peter Reiher. We are using two books. First, The Mathematical Theory of Communications, by Claude Shannon and Warren Weaver. This is not a textbook, but contains the foundational theoretical results about computer communications. Second, Computer Networking: A Top-Down Approach, by James Kurose and Keith Ross. This is a more traditional textbook. I am not presenting material in the same order that Kurose and Ross chose, so we will be jumping around quite a bit in this textbook.

I will be lecturing on these subjects during the class.

The slides used in the lectures are available via links below for the particular week in which the lecture was given. Slides are available in both Powerpoint and PDF form. For slides that used animation, the PDF versions may be hard to deal with.

Final Exam

The final exam will be held on Monday, March 14 from 8AM-11AM, in our usual classroom. It will be a closed book, closed note exam. You will not be permitted to use electronic devices. The questions will be designed to require you to understand and apply important concepts covered in the class. It will be a cumulative exam, covering all material discussed either in class or in the readings.

TA and Labs

The TA for the course is Seungbae Kim. His email address is ksb2043@gmail.com. ksb2043@gmail.com. He will be responsible for all issues related to the class projects. Questions on these should be directed to them.

Week 10 (March 7 - March 13)

Lecture 18: Layer Optimization: Privacy and Security

Assigned readings:

Kurose and Ross, Section 1.6, pages 55-60.

Kurose and Ross, Chapter 8, Introduction through section 8.3.3, pages 671-699.

Slides:

Lecture 18.

Lecture 18, PDF version.

Lecture 19: Review of what we've learned

Assigned readings:

Kurose and Ross, section 2.2, pages 98-116. (This is on HTTP.)

Kurose and Ross, section 3.5, pages 230-258. (This is on TCP.)

Kurose and Ross, section 4.4, pages 331-349. (This is on IP. You should have already read pages 338-349 in week 6.)

Kurose and Ross, section 5.7, pages 495-500. (This is an example somewhat like the one in the lecture.)

Slides:

Lecture 19.

Lecture 19, PDF version.

Week 9 (February 29 - March 6)

Lecture 16: Layer Optimization: Handling Loss

Assigned readings:

Kurose and Ross, Chapter 3, sections 3.4.2-3.4.4, pages 215-230.

Slides:

Lecture 16.

Lecture 16, PDF version.

Lecture 17: Layer Optimization: Congestion Control

Assigned readings:

Kurose and Ross, Chapter 3, sections 3.6, pages 259-282.

Slides:

Lecture 17.

Lecture 17, PDF version.

Week 8 (February 22 - 28)

Lecture 14: Network Routing

Assigned readings:

Kurose and Ross, Chapter 4, sections 4.5-4.7, pages 363-412.

Slides:

Lecture 14.

Lecture 14, PDF version.

Lecture 15: Network Layer Optimizations

Assigned readings:

Kurose and Ross, Chapter 3, section 3.4-3.4.1, pages 204-215.

Kurose and Ross, Chapter 8, section 8.1, pages 671-674.

Slides:

Note: I updated lecture 15's slides between the original posting and giving the lecture in class. The link now points to the updated slides presented in class.

Lecture 15.

Lecture 15, PDF version.

Week 7 (February 15 - 21)

Lecture 12: Recursion and Networking

Assigned readings:

No readings assigned for this lecture.

Lecture 12.

Lecture 12, PDF version.

Lecture 13: Using the Network Layering DAG

NOTE: No class will be held on Thursday, February 18, since Dr. Reiher will be out of town. The lecture has been taped, with links to the taped version below, so you will be able to view this lecture at your convenience. The slides from the lecture are below, as usual.

Assigned readings:

No readings assigned for this lecture.

Slides:

Taped lecture

Part 1 of lecture 13

Part 2 of lecture 13

Lecture 13.

Lecture 13, PDF version.

Week 6 (February 8 - 14)

Lecture 10: Layers, Naming, and Sockets

Assigned readings:

Kurose and Ross, Chapter 2, introduction through section 2.1.2, pages 83-90.

Kurose and Ross, section 2.7, pages 156-168.

Kurose and Ross, section 3.2, pages 191-198.

Slides:

Lecture 10.

Lecture 10, PDF version.

Lecture 11: Automatic Naming

Assigned readings:

Kurose and Ross, section 4.4.2, pages 338-352.

Slides:

Lecture 11.

Lecture 11, PDF version.

Week 5 (February 1 - 7)

Only one lecture is assigned for Week 5, since the Thursday class period will be used for the midterm exam. This exam will cover all slides, class discussion, and readings through Lecture 9. It will be a closed book, closed note test in a short answer format. The test will emphasize familiarity with important concepts and basic understanding of them. You are expected to have a good understanding of all material in the class, including Shannon's results. You will not be asked to perform any proofs, and you should be able to answer all questions on the test without doing any calculations, assuming you understand all of the material we have talked about.

Lecture 9: Network Layering, Naming, and Name Resolution

Assigned readings:

Kurose and Ross, section 2.5, pages 130-144.

Kurose and Ross, section 2.6.2, pages 151-156.

Kurose and Ross, section 5.4.1, pages 462-469.

Slides:

Lecture 9.

Lecture 9, PDF version.

Week 4 (January 25 - 31)

Lecture 7: Network Topologies

Assigned readings:

Kurose and Ross, sections 4.1-4.3, pages 305-331.

Slides:

Lecture 7.

Lecture 7, PDF version.

Lecture 8: Network Layering

Assigned readings:

Kurose and Ross, section 1.3.3- 1.5, pages 32-55.

Slides:

Lecture 8.

Lecture 8, PDF version.

Week 3 (January 18 - 24)

Lecture 5: Shared Channels, Part 1

Here are the slides for the channel rate calculation example that I went over in class today.

Assigned readings:

Kurose and Ross, Section 1.2 - 1.3.2 (pages 9-31).

Kurose and Ross, Section 5.3 (pages 445 - 460).

Slides:

Lecture 5.

Lecture 5, PDF version.

Lecture 6: Shared Channels, Part 2

Assigned readings:

Kurose and Ross, Section 6.3.2 (pages 531-537).

Kurose and Ross, Section 1.7.1 (pages 60-62).

Slides:

Lecture 6.

Lecture 6, PDF version.

Week 2 (January 11 - 17)

Lecture 3: Communications Channels

Assigned readings:

Shannon and Weaver, in the Shannon section, the Introduction, and Chapter I on Discrete Noiseless Systems. (Pages 30-64 in the printed paperback edition.)

Error detection and correction: Kurose & Ross, section 5.2, pages 438-445.

Slides:

Lecture 3.

Lecture 3, PDF version.

Lecture 4: Multiparty Communications

Assigned readings:

Shannon and Weaver, in the Shannon section, Chapter II on The Discrete Channel With Noise. (Pages 65-80 in the printed paperback edition.)

Slides:

Lecture 4.

Lecture 4, PDF version.

Week 1 (January 4 - 10)

Lecture 1: Introduction

Assigned readings:

No readings assigned for lecture 1.

Slides:

Lecture 1.

Lecture 1, PDF version.

Lecture 2: Communications and Information Sharing

Assigned readings:

Shannon and Weaver, page 3-28.

Slides:

I got through several of the slides planned for lecture 2 in Tuesday's class, so I am posting an extended version of lecture 2 that I will give on Thursday. It contains more slides than the original one, with the slides already presented being in hidden mode.

Lecture 2 extended version.

Lecture 2 extended version, PDF version.

Lecture 2.

Lecture 2, PDF version.