This course introduces fundamental concepts of telecommunication networks. Underlying engineering principles of computer networks and integrated networks are discussed. Topics in the course include: data networks overview; OSI layers; physical layer and coding; data link protocol; flow control, congestion control, routing; local area networks (Ethernet, Wireless, etc.); transport layer; introduction to high-speed networks (MPLS, Gigabit Ethernet); performance evaluation techniques; media streaming; and last mile technologies. More detailed information can be in the course syllabus.
Prerequisites: Probability Theory (36-217 or sequence of 36-211,212 or 36-225,226) and C/C++ programming skill (15-213).
Prof. Peter Steenkiste
E-mail: prs@cs.cmu.edu
Office: Gates 9107
Office Hours: Thursday, 11-noon
Antonio Rodrigues |
TBD |
The textbook for the course is "Computer Networks: A Systems Approach", fifth edition, by Larry Peterson and Bruce Davie, Morgan Kaufmann. Other good textbooks that you can use as a substitute are "Computer Networking: A Top-Down Approach", Jim Kurose and Keith Ross, Addison Wesley, and "Computer Networks", Andrew Tanenbaum and David Wetherall, Prentice Hall.
Lectures will be held Monday and Wednesday at 2:30-4:20PM, in PH 226B. Recitations Friday at 10:30-11:20, in GHC 4301.
The schedule below is from Spring 2012. It will be updated later.
Week
from |
Monday
(PH 226B) |
Wednesday
(PH 226B) |
Friday
|
Jan
12 |
1.
Introduction |
||
Jan
19 |
No
class - MLK |
||
Jan
26 |
|||
Feb
2 |
6.
Datalink 1 + Q |
7.
Datalink 2 |
- |
Feb
9 |
9.
IP protocol |
-
|
|
Feb
16 |
10.
Network layer + Q |
11.
Network layer |
- |
Feb
25 |
12.
BGP |
13.
Virtual Things + Q |
- |
Mar
2 |
Exam
1 |
14.
Transport |
Mid-semester
break |
Mar
9 |
Mid-semester
break |
Mid-semester
break |
Mid-semester
break |
Mar
16 |
15.
Transport |
16.
Transport |
-
|
Mar
23 |
17.
Content delivery |
18.
Content delivery + Q |
- |
Mar
30 |
19.
Video streaming |
20.
QoS |
-
|
Apr
6 |
21.
Mobility |
22.
Wireless + Q |
23.
Cellular |
Apr
13 |
24.
Security |
Early carnival |
No
class - carnival |
Apr
22 |
25.
Last mile |
26.
Future Internet + Q |
- |
Apr
27 |
Exam |
No class
2 |
- |
There will be 6 quizzes and 2 exams in the course.
Quizzes: Your best 5 out of 6 quizzes will be counted 3% each toward the final grade, for a total of 15%. Each quiz will be given in the last 30 minutes of the lecture on the given date. There will be NO "make-up" quiz if you miss any of these. They will be held in the lecture room.
Quiz |
Date |
Description |
Solution |
TA
in charge |
1 |
Monday
Feb 2 |
Covers
lectures 1-5 |
Antonio
|
|
2 |
Monday
Feb 16 |
Covers
lectures 6-9 |
Antonio
|
|
3 |
Wednesday
Feb 25 |
Covers
lectures 10-12 |
Antonio
|
|
4 |
Wednesday
Mar 25 |
Covers
lectures 13-17 |
Antonio
|
|
5 |
Wednesday
Apr 8 |
Covers
lectures 18-21 |
Antonio
|
|
6 |
Wednesday
Apr 22 |
Covers
lectures 22-25 |
Antonio
|
Exams: The two exams are each 110 minutes long and worth 25% each. Both will be held in the lecture room. Both exams are closed book.
Exam 1 will cover lectures 1-12. It will be given on Monday Mar 2. The solutions are posted here.
Exam 2 will be on Apr 29. It will cover the entire course, but with emphasis on lectures 15-26. An old exam can be found here
Problem sets will be assigned throughout the course. These assignments will be collected but will NOT be graded. They are provided to help you understand the material and will not be counted toward the final grade. The solutions will be provided. Homeworks will typically be handed out the week before a quiz, covering the same material as the quiz.
The schedule below is from Spring 2012. It will be updated later.
Homeworks |
Description |
Out |
Due |
Solution |
TA
in charge |
Lectures
1-5 |
Friday
Jan 23 |
Friday
Jan 30 |
Antonio
|
||
Lectures
6-9 |
Friday
Feb 6 |
Friday
Feb 13 |
Antonio
|
||
Lectures
10-12 |
Monday
Feb 16 |
Monday
Feb 23 |
Antonio
|
||
Lectures
13-16 |
Monday
Mar 16 |
Monday
Mar 23 |
Antonio
|
||
Lectures
17-20 |
Monday
Mar 30 |
Monday
Apr 6 |
Antonio
|
||
Lecture
21-23 |
Monday
Apr 13 |
Monday
Apr 20 |
Antonio
|
The course includes a series of four network software projects. The objective of the projects is to expose students to network software programming and to reinforce key networking concepts in a hands-on fashion. The four projects combined are worth 35% of the total grade.
Please use the course bboards (cyrus.academic.ece.18-345.discuss) for questions regarding the projects. The course will have a limited number of recitations in which we discuss the projects, and tips and tools that may be useful. The document Dave's Notes on Software Engineering for Systems Hackers may also be useful.
The schedule below is from Spring 2012. It will be updated later.
Project |
Out |
Due |
Description |
Comments |
TA
in charge |
Friday
Jan 16 |
3
weeks |
HTTP
server |
Demos
TBD |
Antonio
|
|
Wednesday
Feb 11 |
Friday
Mar 20 |
Transport
|
Demos
TBD |
Antonio
|
|
Mar
26 |
Apr
13 |
Routing
|
Demos
TBD |
Antonio
|
|
Apr
15 |
May
5 |
Searching
|
Demos
TBD |
Antonio
|
This course uses the Piazza web site for answering questions. The home Piazza page for this course is at: https://piazza.com/cmu/spring2015/18345. When posting questions on Piazza, students must keep in mind the collaboration guidelines listed in the syllabus and discussed in the first lecture. Use those guidelines to determine:
Part of the learning process is struggling with the material until you arrive at the right insight for you to understand it. Posting too much detail in response to a request for assistance can impair learning. On the other hand, sometimes it is great to be nudged in the right direction when you're not able to get out of a rut. And, of course, misunderstandings of the assignment or tools available should be helped rapidly. Please use your best judgement when posting to the Piazza site, as if you were collaborating with your friends in person. A few rough guidelines:
Please use your judgement between these examples.
Grades will be determined based on 5 quizzes (15% total), 3 projects (35% total), and 2 exams (50% total). A distribution of grades for assignments returned so far can be found here.