CS341
Introduction to Computer Networks
2022 Spring, KAIST

Overview

The goal of this course is to provide students with sound understanding of fundamental concepts and problems in networking and hands-on experiences in network programming. Resources for programming assignments will include Berkeley socket programming and TCP protocol implementation on KENS.

Please use the KLMS board for your questions. In case of an emergency, such as some system or network failure, please call 042-350-3548 and contact the professor. If she is not in, the call will be forwarded to her staff. On private matters, such as family emergencies or sickness, email the professor.

Instructor
Sue Moon (sbmoon golbaengi kaist edu)
TAs
DongHyeon Lee
Sungmin Kang
Seul-gi Choi
Nguyen Thanh Tung
Wonsup Yoon
Email: cs341-ta golbaengi an kaist ac kr
Lecture Time
Tue/Thu 13:00 PM - 14:30 PM
Lecture Room
Streaming, Recorded Video, E11 Creative Learning Bldg Terman Hall(터만홀)
TA Office Hours
TBA
Main Textbook
Computer Networking: A Top-Down Approach, 8th Edition (by Jim Kurose, Keith Ross)

Supporting Materials
  • Computer Systems: A Programmer’s Persective, 4rd Ed. (R.E. Bryant, D.R.O’Hallaron)
  • TCP/IP Illustrated, Volume I: the Protocols (by W. Richard Stevens)
  • TCP/IP Illustrated, Volume II: the Implementation (by Gary R. Wright and W. Richard Stevens)
  • TCP/IP Illustrated, Volume III: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols (by W. Richard Stevens)
  • Computer Networks: A Systems Approach, 3rd Ed. (L. Peterson, B. Davie)
Description

There will be 4 programming projects: 1 on socket programming, 2 on KENS and 1 on routing. We will post details according to the published schedule. For each project we will hold a tutorial session during the lab time slot.

For 3 KENS programming projects, students have to build up their own TCP implementation on top of KENS (KAIST Educational Network Simulator) framework. We provide a minimal user-level function interface that interacts with user applications and an emulated IP layer which performs static routing. The underlying emulator can simulate both reliable and unreliable link states with configurable and reproducible packet losses and reordering. Your task is to implement the TCP stack API.

For the projects, students will work in a team of two.

  • Project 1: Socket programming
  • Project 2: KENS part I, II
  • Project 3: KENS part III
  • Project 4: Routing
30%
Programming Assignments (4 times * 7.5pt)
20%
Homework
30%
Midterm Exam (15%), Final Exam (15%)
20%
Attendance & Participation
100%
total

Useful Links

Go to KLMS KENS Docs Old KENS website Introduction Slide


Tentative Schedule

Weeks Topics Chapters Homework Projects(Tentative)
Week 1 (3/01) Holiday (3/03) Course Overview [recording] Whenever each chapter finish
Week 2 (3/08) Chapter 1.1~1.4 [recording] (3/10) 1.5~1.7 [recording] Ch. 1
Week 3 (3/15) Chapter 2.1~2.3 (3/17) 2.4~2.5 Ch. 2
Week 4 (3/22) 2.6 (3/24) Chapter 3.1~3.3 [recording] Ch. 2, 3
Week 5 (3/29) 3.4 (3/31) 3.5 Ch. 3
Week 6 (4/05) 3.6~3.7 (4/07) Chapter 4.1~4.2 Ch. 3, 4
Week 7 (4/12) 4.3~4.4 (4/14) Chapter 5.1~5.2 Ch. 4, 5
Week 8 (4/19) 13:00 PM ~ 15:00 PM Mid-term exam
Week 9 (4/26) 5.3 (4/28) 5.4 Ch. 5
Week 10 (5/03) 5.5~5.7 (5/05) Holiday Ch. 5
Week 11 (5/10) Chapter 6.1~6.2 (5/12) 6.3~6.4 Ch. 6
Week 12 (5/17) 6.5~6.6 (5/19) 6.7 Ch. 6
Week 13 (5/24) Chapter 7.1~7.2 (5/26) 7.3 Ch. 7
Week 14 (5/31) 7.4~7.5, 7.8 (6/02) Chapter 8.1~8.3 Ch. 7, 8
Week 15 (6/07) 8.6~8.7 (6/09) Wrap-up Ch. 8
Ch. 9
Week 16 (6/14) 13:00 PM ~ 15:00 PM Final exam