CS341: Introduction to Computer Networks


Course Info

Instructor: Prof. Sung-Ju Lee (profsj@kaist.ac.kr, https://nmsl.kaist.ac.kr/sjlee), N1 #706
TAs: Hyunsung Cho, Jaewon Jung, Donghwi Kim, Sunwoo Kim, Jaemin Shin, and Dongjun Yoon
When: Lectures: Tue/Thu 16:00-17:15 Labs: Tue 19:00-22:00
Where: N1, Room 201
Class website: http://networking101.org (or https://nmsl.kaist.ac.kr/courses/cs341)
Class email: cs341@nmsl.kaist.ac.kr
Facebook group: https://www.facebook.com/groups/kaist.cs341/
Office hours: Professor: after class or by appointment. TAs: Mon 14:30-16:00 / Tue 14:30-16:00 / Wed 14:30-17:30 @ N1 Rm 403

Class Overview

We use computer networks every day; check emails, browse social network sites, watch videos on smartphones, etc. This course provides fundamental knowledge and principles of how computer networks work. We cover the full networking stack, starting from the applications, including the web and HTTP. We then study the transport protocols, in particular, TCP, and routing algorithms and protocols for the Internet. We investigate how the link layer protocols such as the Ethernet and Wi-Fi handle multiple access. By taking this course, you should be able to answer the questions such as “how does addressing work in the Internet?”, “why is Wi-Fi sometimes slower than LTE?”, “how is my video chat with a friend across the world be in such high quality?”, “how can all IoT devices be connected to the Internet?”, “what network vulnerabilities do hackers exploit?”. The course includes lab sessions that provide you hands-on learning experience of TCP and networking. The course also showcases recent research highlights in networking by showing a few short videos.

Prerequisite

System Programming (CS230 or equivalent). Programming experience at the level of upper class CS undergraduate.

Textbook

Computer Networking: A Top-Down Approach (7th ed.) by Jim Kurose and Keith Ross.

Grading Policy

Exams & Quizzes 40% There will be exams as well as a number of (pop) quizzes throughout the semester.
Homework 20% Homework problems and short essays.
Projects 30% Network programming on various aspects of protocols, especially TCP/IP using the practice environment KENS that has been developed by KAIST SoC.
Participation 10% This course would be successful only when it's interactive. Students are highly encouraged to ask questions, present their opinion, and lead discussions.

Announcements

  • 6/12 Solution for the final is uploaded now.
  • 6/11 Final claim session on this Friday (6/14) at 3-5pm @ N1 721.
  • 6/3 A set of sample questions for the final is uploaded.
  • 4/12 Midterm 1 score is out! Refer to the uploaded solution below and visit our claim session on next Tuesday (4/16) at 4-6pm @ N1 721.
  • 3/22 A set of sample questions for the upcoming midterm is uploaded.
  • 3/12 The due dates for Project 2, 3, and 4 are changed. Please check the schedule below.
  • 3/8 TA office hour information is updated. Please refer to the Course Info section above.
  • 3/2 Please make sure to follow the guided file name format for all homework and project submission!
  • 2/26 Welcome to CS341! If you're ready to take this course, please do the following:
    1) Submit this form (http://bit.ly/cs341-register) to get access to course materials
    2) Join our Facebook Group for class discussions

Schedule

Week Date Class / Lab session / Assignment Required reading Submission
1 2/26 Tue Class overview [slides]
Lab session: Project #0 overview [slides] [doc]
2/28 Thu Internet, edge, core [slides] 1.1, 1.2, 1.3
Research videos: FingerIO [website] / SkinTrack [website]
2 3/4 Mon Due: Homework #1 Submit
3/5 Tue Delay, loss, throughput, protocol layers, security, history [slides] 1.4, 1.5, 1.6, 1.7
3/7 Thu Network applications, web, HTTP, email [slides] 2.1, 2.2, 2.3
3/9 Sat Due: Project #0 Submit
3 3/12 Tue DNS, p2p, CDN, socket [slides] 2.4, 2.5, 2.6, 2.7
Lab session: Project #1 overview [slides] [setup] [doc]
3/13 Wed Due: Homework #2 [paper] Submit
3/14 Thu Transport, UDP, reliable data transfer [slides] 3.1, 3.2, 3.3, 3.4
Research videos: RF-Sleep [website] / ApneaApp [website]
3/17 Sun Due: Project #1 Submit
4 3/19 Tue TCP [slides] 3.5
Lab session: Project #2 overview [slides] [part1] [part2]
3/20 Wed Due: Homework #3 [problems] [solution] Submit
3/21 Thu Congestion control [slides] 3.6, 3.7
Research videos: Pensieve [website] / DeepCache [video]
5 3/26 Tue Network layer, router, scheduling [slides] 4.1, 4.2
Research videos: Ambient Backscatter [website] / Battery-free cellphone [website] / Battery-free HD video streaming [website]
3/28 Thu IP, forwarding, SDN [slides] 4.3, 4.4
Due: Homework #4 [problems] [solution] Submit
3/29 Fri Due: Project #2-1 Submit
6 4/2 Tue Midterm #1 [sample] [solution]
4/4 Thu Routing protocols [slides] 5.1, 5.2
7 4/9 Tue OSPF, BGP [slides] 5.3, 5.4
Research videos: Deus EM Machina [website] / Knocker [paper]
4/11 Thu No class
4/12 Fri Due: Project #2-2 Submit
8 4/16 Tue Midterm week
4/18 Thu
9 4/23 Tue SDN control plane, ICMP, SNMP [slides] 5.5, 5.6, 5.7
Research videos: In-Vivo Networking [website] / Living IoT [website]
Lab session: Project #3 overview [slides] [part1] [part2]
4/25 Thu Link layer, error detection & correction, multiple access [slides] 6.1, 6.2, 6.3
10 4/30 Tue ARP, Ethernet [slides] 6.4, 6.5
Due: Homework #5 [problems] [solution] Submit
5/2 Thu VLAN, MPLS, datacenter [slides] 6.6, 6.7
5/3 Fri Due: Project #3-1 Submit
11 5/7 Tue Midterm #2 [solution]
5/9 Thu Wireless, Wi-Fi [slides] 7.1, 7.2, 7.3
12 5/14 Tue Cellular, mobility, mobile IP [slides] 7.4, 7.5, 7.6, 7.7, 7.8
5/16 Thu Multimedia, streaming, VoIP [slides] 9.1, 9.2, 9.3
Research videos: RF-Pose [website] / Hand Activities [website] / Ubicoustics [website]
5/17 Fri Due: Project #3-2 Submit
13 5/21 Tue RTP, SIP, QoS [slides] 9.4, 9.5
Lab session: Project #4 overview [slides] [doc]
5/23 Thu Security, encryption, authentication, digital signature [slides] 8.1, 8.2, 8.3
Due: Homework #6 [paper list] Submit
14 5/27 Mon Due: Homework #7 [problems] [solutions] Submit
5/28 Tue SSL, IPSec [slides] 8.4, 8.5, 8.6
5/30 Thu WLAN security, firewall, IDS [slides] 8.7, 8.8
5/31 Fri Due: Project #4 Submit
15 6/4 Tue Office Hour
6/6 Thu No Class (현충일)
16 6/11 Tue Final [sample] [solution]
6/13 Thu Finals week

Class Policy

Students are encouraged to interact with classmates, as well as the professor and the TAs, to discuss course material and assignment problems. In all your writing, including homework, essays, reports, and exams, use your own words, and acknowledge the source if you use someone else’s slides, quotes, figures, text, etc. Plagiarism and cheating are serious offenses and will be punished by failure on exams/assignments/course, and suspension or expulsion from the University.