Fall 2024 CS 340
Text Chapters
Text Chapters
Part 1: How computers are designed and operate, from electrons up to C
Binary, Hex, Bytes, and Data
Optional:
longer discussion of binary and other bases
Optional:
longer discussion of bits and numbers
Optional:
alternate take on UTF-8
C without the ++
Optional:
intro to C
Optional:
strings in C
Optional:
files in C
Optional:
memory in C
Bitwise operations
Processors
Processor Hardware
ISAs and Assembly
Kernel Mode
Memory
Virtual Memory
Caches
Managing memory
Design
Debugging and Avoiding Bugs
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