Spring 2025 CS 340
Text Chapters
Text Chapters
Part 1: How computers are designed and operate, from electrons up to C
C
C without the ++
C
Debugging and Avoiding Bugs
make
and Makefiles
Processor Hardware
Binary data
Binary, Hex, Bytes, and Data
Negative numbers and 2’s complement
Optional:
longer discussion of binary and other bases
Optional:
longer discussion of bits and numbers
UTF-8
Bitwise operations
ISAs and Assembly
Memory
Managing memory
Caches
Kernel Mode
Virtual Memory
Part 2: Concurrency and synchronization, including the basics of operating systems and threads
Sockets
Concurrency
Python
– here not because it’s related to concurrency and synchronization, but because we’re switching languages at this point in the course
Synchronization
Async python
Network protocols
Thread Safety
RESTful Web APIs
The
aiohttp
framework
Authentication
Part 3: interaction between systems written by different parties, including various
as a Service
models such as containerization and web services.
Using Shells
Isolating code
(including file permissions, containers, and virutal machines)
Containers
such as Docker
X
as a Service
Caching
Storage