Internet Technology: Course Syllabus

Spring 2016

week date topic*
0 Jan 20 Recitation canceled
1 Jan 25 Introduction: History of data networking, evolution of the Internet, terminology, circuit vs. packet switching, delays
1.5 Jan 27 Lecture 1 review: key terms and concepts
2 Feb 1 Network protocol stack, sockets, network programming, threads & concurrency, mutual exclusion
2.5 Feb 3 Assignment review
Java sockets and multithreading programming walkthrough
3 Feb 8 Application layer: principles of network applications
Domain Name System, HTTP, and FTP
3.5 Feb 10 Assignment review
Application layer: email protocols: SMTP, POP3, IMAP
4 Feb 15 Peer-to-peer networking: Napster, Gnutella, Kazaa, BitTorrent
Peer-to-peer lookup: distributed hash tables
4.5 Feb 17 Review
5 Feb 22 Transport layer: multiplexing/demultiplexing, UDP, reliable data transfer
Exam 1
5.5 Feb 24 No recitation
6 Feb 29 TCP
6.5 Mar 2 Assignment review and TCP congestion control
7 Mar 7 Network layer: virtual circuit & datagram networks, forwarding, route aggregation, subnetting, CIDR, fragmentation
Router architecture, IP datagram format, DHCP, ICMP, Ping, Traceroute, NAT/PAT
7.5 Mar 9 Assignment review and IPv6 addressing
8 Mar 14 Spring break
9 Mar 21 Routing protocols: shortest path, Dijkstra's algorithm ( link state routing), distance vector routing
Internet routing: autonomous systems,RIP, OSPF, BGP
9.5 Mar 23 Pre-exam Review
10 Mar 28 Broadcast routing, Internet multicast
Exam 2
10.5 Mar 30 No recitation
11 Apr 4 Datalink layer: link-layer services, error detection and correction, medium access control, ethernet, ARP
11.5 Apr 6 No recitation
12 Apr 11 Ethernet switches, VLANs
Wireless networking
Network quality of service
12.5 Apr 13 Assignment review
13 Apr 18 Firewalls, VPNs
13.5 Apr 20 Pre-exam review
14 Apr 25 Session Initiation Protocol, NAT traversal
Exam 3
14.5 Apr 27 No recitation
15 May 2 Exam review,
Software Defined Networks
16 May 9 FINAL EXAM: 8:00-10:00pm TIL-257

Go here to get lecture notes and other course documentation.

*Subject to change without notice.