18-345: Introduction to Telecommunication Networks

Spring 2013


This course introduces fundamental concepts of telecommunication networks. Underlying engineering principles of telephone networks, computer networks, and integrated networks are discussed. Topics in the course include: telephone and 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, ATM, Gigabit Ethernet); performance evaluation techniques. More detailed information can be in the course syllabus.

This course uses Blackboard only for project submission. All course information will be made available on this web site. The course also has a bboard (cyrus.academic.ece.18-345.discuss) that will be used for announcements and questions/answers for the projects.

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: Tuesday 11-noon

Teaching Assistants

Hugo Sousa Pinto
E-mail: hpinto@andrew.cmu.edu
Office: PH B42
Office Hours: Tuesday 10-11 am or send e-mail

Tai Guo
E-mail: taig@andrew.cmu.edu
Office Hours: Monday 10:30-11:30 am
Office: HBH 237

Textbook

Communication Networks, Second Edition, by A. Leon-Garcia and I. Widjaja, McGraw-Hill, ISBN 0-07-246352-X.

Course schedule

Lectures will be held Monday and Wednesday in 12:30-2:20PM, in PH 226A. Recitations will be held Friday, 10:30-11:20AM, in PH A20. Note that we only have recitation sessions when there is something listed on the schedule for that Friday.

Week from

Monday (PH 226A)

Wednesday (PH 226A)

Friday (PH A20)

Jan 14

1. Introduction

2. Packets versus circuits, Protocol stack

Recitation 1: Project 1 and sockets

Jan 21

No class - MLK

Recitation 2: Version control and makefiles

Recitation 3: Concurrency and debugging

Jan 28

3. Protocol stack, Physical layer 1

4. Physical layer 1, Physical layer 2

5. Physical layer 2

Feb 4

6. Physical layer 3 + Q

7. Datalink 1

8. Datalink 2

 

Feb 11

No class

9. Datalink 3

10. Datalink 4

Feb 18

11. Network layer + Q

12. Network layer

-

Feb 25

13. Network layer

14. Network layer + Q

-

Mar 4

Exam 1

15. Network

Mid-semester break

Mar 11

Mid-semester break

Mid-semester break

Mid-semester break

Mar 18

No class

16. Wireless

17. Wireless

Mar 25

-

-

-

Apr 1

18. Virtual connections + Q

19. Transport protocols

20. Transport protocols

Apr 8

21. Transport protocols

22. The Web + Q

23. Video streaming

Apr 15

No class

No class

No class - carnival

Apr 22

24. Security - crypto

25. Security - availability + Q

-

Apr 29

26. Future Internet + Review

Exam 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 4

Covers lectures 1-5

solution

Tai

2

Monday Feb 18

Covers lectures 6-9

solution

Tai

3

Wednesday Feb 27

Covers lectures 10-12

solution

Hugo

4

Monday Apr 1

Covers lectures 13-16

solution

Tai

5

Wednesday Apr 10

Covers lectures 17-20

solution

Hugo

6

Wednesday Apr 24

Covers lectures 21-23

solution

Tai

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-14. It will be given on Monday Mar 4. The solutions are posted here.

Exam 2 will be on May 1. It will cover the entire course, but with emphasis on lectures 15-26.

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.

Homeworks

Description

Out

Due

Solution

TA in charge

HW 1

Lectures 1-5

Friday Jan 25

Friday Feb 1

hw1 solution

Tai

HW 2

Lectures 6-9

Friday Feb 8

Friday Feb 15

hw2 solution

Hugo

HW 3

Lectures 10-12

Monday Feb 18

Monday Feb 25

hw3 solution

Tai

HW 4

Lectures 13-16

Thursday Mar 21

Thursday Mar 28

hw4 solution

Tai

HW 5

Lectures 17-20

Monday Apr 1

Monday Apr 8

hw5 solution

Hugo

HW 6

Lecture 21-23

Monday Apr 15

Monday Apr 22

hw6 solution

Hugo

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.

Project

Out

Due

Description

Comments

TA in charge

Pr 1

Friday Jan 18

3 weeks

HTTP server

Demos TBD

Hugo

Pr 2

Wednesday Feb 13

Friday Mar 22

Transport

Demos TBD

Tai

Pr 3

Mar 28

Apr 15

Routing

Demos TBD

Hugo

Pr 4

Apr 17

May 7

Searching

Demos TBD

Tai

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/spring2013/18345/home. 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 two examples. If you post privately, please let us know whether or not it would be OK to mark the post public if we feel it would be beneficial to the class to make it public.

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.