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: Jaemin Shin, Hyunsung Cho, Ryuhaerang Choi, Donghwi Kim, Adiba Orzikulova, Sooyoung Park, HyungJun Yoon
When: Lectures: Mon/Wed 13:00-14:15 Labs: Wed 19:00-20:30
Where: N1, Room 102
Class website: http://networking101.org (or https://nmsl.kaist.ac.kr/courses/cs341)
KLMS page (for online lectures): http://klms.kaist.ac.kr/course/view.php?id=114533
Class email: cs341@nmsl.kaist.ac.kr
Facebook group: https://www.facebook.com/groups/kaist.cs341.2020/
Office hours: By appointment

IMPORTANT NOTES

  • During the remote classroom operation due to the Coronavirus outbreak, this class will provide online course videos that the students can view anytime (non-live).
  • Each class will begin with a short quiz, and thus course enrollees will need to be present online at the beginning of the class schedule (Mondays and Wednesdays 1pm).
  • This course follows the “flexible course operation” option. The last day of class is June 10 and the final exam is on June 17, Wednesday, 7pm.

  • 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% No midterm exam; Final exam on June 17, and there is a short quiz at the beginning of each class.
    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

    • 3/25 Register your KENS group in this link (https://bit.ly/cs341-group-regist) until March 29th 23:55 PM.
    • 3/18 Instructions about making Second Chance video:
      1) You should first be confirmed as a preview presenter from the professor.
      2) Please follow the instructions until Chapter 2 as instructed in this file
      3) Send us the video via the course email (cs341@nmsl.kaist.ac.kr).
    • 3/18 Few announcements about this Wednesday's lecture:
      1) The first lab session on Wednesday 7pm will be held live using Zoom!
      2) Wednesday's lecture will be uploaded on YouTube and KLMS.
    • 3/16 Welcome to CS341! If you're ready to take this course, please do the following:
      1) Submit this form (http://bit.ly/cs341-register-2020) to get access to course materials
      2) Join our Facebook Group for class discussions

    Schedule (Tentative)

    Week Date Class / Lab session / Assignment Quiz Preview Required reading Submission
    1 3/16 Mon Class overview [slides] [video1] [video2] [video3]
    3/18 Wed Internet, edge, core [slides] [video1] [video2] link 1.1, 1.2, 1.3
    Research videos: FingerIO [website] SkinTrack [website]
    (LIVE) Lab session: Project #0 overview [slides]
    2 3/23 Mon Delay, loss, throughput, protocol layers, security, history [slides] [video1] [video2] [video3] link 1.4, 1.5, 1.6, 1.7
    Due: Homework #1 Submit
    3/25 Wed Network applications, web, HTTP, email [slides] [video1] [video2] [video3] link 이현구 2.1, 2.2, 2.3
    Due: Project #0 Submit
    (LIVE) Lab session: Project #1 overview [slides]
    3 3/30 Mon DNS, p2p, CDN, socket [slides] [video1] [video2] link 2.4, 2.5, 2.6, 2.7
    4/1 Wed Transport, UDP, reliable data transfer [slides] [video1] [video2] [video3] link 3.1, 3.2, 3.3, 3.4
    Research videos: RF-Pose [video] DeepCache [video]
    Due: Project #1 Submit
    (LIVE) Lab session: Project #2 overview [slides]
    4/3 Fri Due: Homework #2 Submit
    4 4/6 Mon TCP [slides] [video1] [video2] [video3] link 김경서 3.5
    4/8 Wed Congestion control [slides] [video1] [video2] link 김창연 3.6, 3.7
    5 4/13 Mon Network layer, router, scheduling [slides] [video1] [video2] link Shyngys Aitkazinov 4.1, 4.2
    Research videos: Ambient Backscatter [video] Battery-free Cellphone [video] Battery-free Streaming [video]
    4/15 Wed Election day. No class.
    Due: Project #2-1 Submit
    4/17 Fri Due: Homework #3 [problems] [solution] Submit
    6 4/20 Mon IP, forwarding, scheduling [slides] [video1] [video2] [video3] link 한우현 4.3, 4.4
    4/22 Wed Routing protocols [slides] [video1] [video2] [video3] link 윤소영 5.1, 5.2
    Research videos: In-Vivo Networking [website] Living IoT [website]
    Due: Project #2-2 Submit
    (LIVE) Lab session: Project #3 overview [slides]
    7 4/27 Mon OSPF, BGP [slides] [video1] [video2] link 5.3, 5.4
    4/29 Wed SDN control plane, ICMP, SNMP [slides] [video1] [video2] [video3] link 5.5, 5.6, 5.7
    Research videos: Deus EM Machina [video] Knocker [video]
    8 5/4 Mon Midterm week
    5/6 Wed
    9 5/11 Mon Link layer, error detection & correction, multiple access [slides] [video1] [video2] [video3] link 최윤서 6.1, 6.2, 6.3
    Due: Homework #4 [problems] [solution] Submit
    5/13 Wed ARP, Ethernet [slides] [video1] [video2] link 6.4, 6.5
    Research videos: Pensieve [video] MetaSense [video]
    Due: Project #3-1 Submit
    10 5/18 Mon VLAN, MPLS, datacenter [slides] [video1] [video2] link 엄성하 6.6, 6.7
    5/20 Wed Wireless, Wi-Fi [slides] [video1] [video2] link 안병서 7.1, 7.2, 7.3
    11 5/25 Mon Cellular, mobility, mobile IP [slides] [video1] [video2] [video3] link 박시환 7.4, 7.5, 7.6, 7.7, 7.8
    5/27 Wed Multimedia, streaming, VoIP [slides] [video1] [video2] link 9.1, 9.2, 9.3
    Research videos: Ubicoustics [website] Synthetic Sensors [website]
    Due: Project #3-2 Submit
    (LIVE) Lab session: Project #4 overview [slides]
    12 6/1 Mon RTP, SIP, QoS [slides] [video1] [video2] [video3] link 신원호 9.4, 9.5
    6/2 Tue Due: Homework #5 Submit
    6/3 Wed Security, encryption, authentication, digital signature [slides] [video1] [video2] [video3] [video4] link 8.1, 8.2, 8.3
    13 6/8 Mon SSL, IPSec [slides] [video1] [video2] [video3] link 8.4, 8.5, 8.6
    6/10 Wed WLAN security, firewall, IDS [slides] [video1] [video2] link 8.7, 8.8
    Due: Project #4 Submit
    14 6/15 Mon No class
    Honor Code Submit
    6/17 Wed Finals, 7pm [Take-home exam] [Solution for the closed-book exam] [Solution for the take-home exam] Submit
    15 6/22 Mon No class
    6/24 Wed No class
    16 6/29 Mon Finals week
    7/1 Wed

    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.