Course Resources

Syllabus (MW) / (TTh)
Raymond Law
Software
Raymond Law
Email FAQ
Raymond Law

Books

Eloquent Javascript
You Don't Know JS Yet

OSI and TCP/IP Conceptual Models

OSI Model Lecture [12:12]
Raymond Law
OSI and TCP/IP Model Layers
Internet Protocol Suite (TCP/IP Model)

Reference

OSI Model

Physical Layer

Physical Layer Lecture [9:46]
Raymond Law
Why Are Wires Twisted? Twisted Pair Explained [4:28]
Consumer Fiber [2:58-10:07]
Fiber optic cables: How they work [5:35]
How the Internet Crossed the Sea [22:04]

JavaScript Basics

JavaScript Basic Syntax Lesson
Raymond Law
Interactive JavaScript Basics Lesson
JavaScript Pro Tips [12:36]
Notes on "JavaScript the Good Parts"

Reference

JavaScript Resources by Topic (Articles / Videos)
JavaScript Language Reference
ECMAScript 2020 Language Specification

Data Link Layer

Data Link Layer Lecture [24:00]
Raymond Law
Ethernet Frame Structure
802.11 Frame Structure
ARP Protocol
How Switches Work [8:40]

Reference

How do CRCs work? [47:29]

Scope & Closures

Scopes & Closures [36:11]
Raymond Law
First-class Function
JavaScript Closures
Closures [4:47]

Asyncronous Programming

What is the event loop? | JSConf EU 2014 [26:52]
Node.js Architecture
In The Loop | JSConf Asia 2018 [35:11]

Node.js Modules

Requiring modules in Node.js

Observer Pattern

Observer Pattern [31:34-34:46]
Observer Pattern
Event Emitters

Further Readings (Reference)

Why Computers Can't Count Sometimes [8:43]
Carna Botnet [33:18]
Don't trust time [9:48]
Some notes about HTTP/3
ECMAScript Proposals
List of RFCs