Spring 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
Bitwise operations
C without the ++
Optional:
into to C
Optional:
strings in C
Optional:
files in C
Optional:
memory in C
Processors
Processor Hardware
ISAs and Assembly
Kernel Mode
Memory
Virtual Memory
Managing memory
Caches
Design
Debugging and Avoiding Bugs
Basics of Software Design
Part 2: Concurrency and synchronization, including the basics of operating systems and threads
Concurrency
Networks
Network protocols
Using sockets
Python
– here not because it’s related to the other topics here but because we’re switching languages at this point in the course
Synchronization
Thread Safety
RESTful Web APIs
Part 3: interaction between systems written by different parties, including various
as a Service
models such as containerization and web services.
Caching
X
as a Service
Isolating code
(including file permissions, containers, and virutal machines)
Storage
Authentication