Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Computer Networking

English | 简体中文

Overview

Understanding how networked systems communicate, from physical transmission to application protocols. Covers the Internet architecture, TCP/IP, routing, network security, and protocols that enable modern distributed applications.

Prerequisites

Required:

  • Programming - Ability to work with network APIs and protocols

Recommended:

  • Operating Systems - Understanding of system-level concepts helps with network programming
  • Computer Architecture - Understanding of hardware/software interaction

Programming Languages

  • C (Intermediate) - Socket programming and low-level network operations
  • Python (Beginner to Intermediate) - Network scripting and protocol implementation
  • Any modern language - Network concepts apply across languages

Recommended Resources

Textbooks

  • Computer Networking: A Top-Down Approach by James Kurose and Keith Ross (8th Edition)
    • Excellent pedagogical approach starting from application layer
    • Clear explanations with practical examples
    • Well-regarded as the best introductory networking text
    • Level: Intermediate
    • ISBN: 978-0135928615

Video Lectures

Stanford CS 144 - Introduction to Computer Networking

  • Institution: Stanford University
  • Platform: Stanford course site
  • Description: Comprehensive networking course covering protocols, Internet architecture, and implementation
  • Modern, well-structured lectures

Online Resources

Exercises

Practice Problems

  • Source: Wireshark Labs (from textbook)

  • Difficulty: Intermediate

  • Estimated time: 3-5 hours per lab

  • Topics: HTTP, DNS, TCP, UDP, IP, Ethernet, wireless protocols

  • Description: Hands-on packet capture and analysis to understand protocols in action

  • Source: Textbook end-of-chapter problems

  • Difficulty: Intermediate

  • Topics: Protocol design, performance analysis, network architecture

Projects

  • Implement network protocols (reliable transport over UDP)
  • Build networked applications (chat server, HTTP server)
  • Complete Stanford CS 144 labs if available

Study Notes

[Personal notes and key insights can be added here during study]

Progress Tracking

  • Completed Computer Networking: A Top-Down Approach
  • Watched Stanford CS 144 lectures or equivalent
  • Finished Wireshark labs
  • Implemented network programming projects
  • Review and reinforcement