18-345: Introduction to Telecommunication Networks

Spring 2015


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).

News

Instructor

Prof. Peter Steenkiste
E-mail: prs@cs.cmu.edu
Office: Gates 9107
Office Hours: Thursday, 11-noon

Teaching Assistants

Antonio Rodrigues
E-mail: antonior@andrew.cmu.edu
Office: PH B33
Office Hours: Tuesday, 5:00 to 6:00 PM

TBD
E-mail: TBD@andrew.cmu.edu
Office Hours: TBD
Office: TBD

Textbook

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.

Course schedule

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

2. Protocol stack

Recitation 1: Project 1 and sockets

Jan 19

No class - MLK

3. Physical layer 1

Recitation 2: Version control and makefiles

Jan 26

4. Physical layer 2

5. Physical layer 3

Recitation 3: Concurrency and debugging

Feb 2

6. Datalink 1 + Q

7. Datalink 2

- 

Feb 9

8. Datalink 3, IP addressing

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

-

Tests

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

Solution

Antonio

2

Monday Feb 16

Covers lectures 6-9

Solution

Antonio

3

Wednesday Feb 25

Covers lectures 10-12

Solution

Antonio

4

Wednesday Mar 25

Covers lectures 13-17

Solution

Antonio

5

Wednesday Apr 8

Covers lectures 18-21

Solution

Antonio

6

Wednesday Apr 22

Covers lectures 22-25

Solution

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

Homeworks

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

HW 1

Lectures 1-5

Friday Jan 23

Friday Jan 30

HW1 solution

Antonio

HW 2

Lectures 6-9

Friday Feb 6

Friday Feb 13

HW2 solution

Antonio

HW 3

Lectures 10-12

Monday Feb 16

Monday Feb 23

HW3 solution

Antonio

HW 4

Lectures 13-16

Monday Mar 16

Monday Mar 23

HW4 solution

Antonio

HW 5

Lectures 17-20

Monday Mar 30

Monday Apr 6

HW5 solution

Antonio

HW 6

Lecture 21-23

Monday Apr 13

Monday Apr 20

HW6 solution

Antonio

Projects

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

Pr 1

Friday Jan 16

3 weeks

HTTP server

Demos TBD

Antonio

Pr 2

Wednesday Feb 11

Friday Mar 20

Transport

Demos TBD

Antonio

Pr 3

Mar 26

Apr 13

Routing

Demos TBD

Antonio

Pr 4

Apr 15

May 5

Searching

Demos TBD

Antonio

Piazza Policy

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.

Grading

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.