Introduction to Computer Networks (Online)
Spring 2025
Lectures
Discord
Admin
Schedule
Slides
Videos
Golang
Exams
Syllabus
This is an introductory course on computer networks, largely the Internet. The course is designed for undergraduate
students who are interested in the science and engineering aspects
of the Internet.
The goal is two-fold: to communicate the technical essence and to foster development skill.
We will take the top-down approach this semester. Following
a (hopefully) brief overview, the lectures will go right into the Internet applications most of us are familiar with, e.g., the WWW and the HTTP protocol that's supporting the operation of WWW. HTTP there is referred to as an Application layer protocol.
The intention is to go 3-4 weeks per layer, digging in
to the low-level details one layer at a time, e.g., the TCP protocol running at the Transport layer, and the BGP routing running at the Network layer.
When time permits, we shall look into the Ethernet protocol running at the Link Layer.
Communication of knowledge is often more effective when it's put into use. Eying also the job prospective, the course features a series of programming assignments (PAs) and accompanying videos to lead you into the world of network and web programming with Go, a programming language adopted widely by the major Internet companies, e.g., Google and Facebook, for server-side implementations.
Objectives:
- Overviewing the existence and the components of the Internet
- Examining the mechanisms running in various layers
- Understanding the nature of the problems these mechanisms are trying to solve
- Developing system-level coding skill
Topics:
- By layers: Application Layer, Transport Layer, Network Layer, Link Layer
- By functionality: Mobile & Wireless Networking, Multimedia Networking (when time permits)
Textbook:
- Computer Networking: A Top-Down Approach Featuring the Internet, 7th Edition.
James F. Kurose; Keith W. Ross, Pearson, ISBN-13: 978-0133594140.
Local carrier: ¼Ú¨È Eurasia Book Co. Tel: 02-8912-1188, FAX: 02-8912-1166
- An Introduction to Programming in Go.
Caleb Doxsey, Free online: pdf