CS Notes
Menu
Compilers
Lexical analysis
Parsing
Semantic analysis
Compiler optimizations
Computer architecture
Digital system design
Processors
Instructions
Memory
Unicode
Floating point
Computer networking
Ethernet
Internet
IPv4
IPv6
UDP
TCP
ICMP
ARP
DHCP
OSPF
BGP
DNS
ICE
STUN
HTTP/1
HTTP/2
Modulation and multiplexing
802.11
Bluetooth
Data structures and algorithms
Algorithms
Algorithm analysis
Sorting and searching
Graph traversal
Weighted graphs
Divide and conquer
Dynamic programming
Data structures
B-trees
Graphs
Heap
Trees
Union-find
Databases
Storage
The relational model
SQL
Query processing
Parallel execution
Durability
Time-series databases
Distributed systems
Distributed systems architectures
Communication
Coordination and time
Replication and consistency
Fault tolerance
Caching
Data processing
Operating systems
Linux
Processes
Process Scheduling
System calls
Kernel data structures
Interrupts
Kernel synchronization
Time management
Memory managmement
Filesystem
The process address space
The page cache and page writeback
Devices and modules
Programming
Concurrency
Search
view on GitHub
Programming
Table of contents
Introduction
Introduction
This section contains notes on topics related to programming, e.g. concurrency, types, etc.