← All courses

CS 320 · 3 credits

How Computers Work

How does a computer actually run your code? This course builds the mental models every software engineer needs: what the CPU, RAM, and disk each do, how data becomes bits, what a process really is (and how signals stop one), why programs crash, how virtual memory keeps processes apart, how threads race, deadlock, and how locks save them, what file permissions guard, and what happens between your print() and the screen. Hands-on in Python and the terminal, no kernel source code required.

Local progress0/28 lessons · 0%

What you'll learn

  • Explain what the CPU, RAM, disk, and operating system each do, and trace the fetch-decode-execute cycle
  • Read and write binary, hex, and bytes, explain why 0.1 + 0.2 ≠ 0.3, and debug text-encoding problems
  • Describe processes, PIDs, exit codes, and signals (SIGTERM vs SIGKILL), and build a graceful shutdown handler
  • Explain memory layout (stack vs heap), virtual memory and page faults, and diagnose crashes like stack overflow and out-of-memory
  • Demonstrate a race condition and a deadlock in Python threads, and fix them with locks and lock ordering
  • Explain scheduling, context switches, file buffering, permissions, and system calls, and trace the full story of running a program

Unit 1The Big Picture: CPU, RAM, Disk, and the OS

Unit 2Data Is Bits: Binary, Floats, and Text

Unit 3Programs and Processes

Unit 4Memory: Stack, Heap, and Why Programs Crash

Unit 5Threads, Race Conditions, and Locks

Unit 6Scheduling: Why Your Machine Feels Parallel

Unit 7Files and Filesystems

Unit 8System Calls: The Boundary

Unit 9Putting It Together: Running a Program, Start to Finish

Reviews

0 ratings

5
0
4
0
3
0
2
0
1
0
  • No reviews yet.

Discussion

  • No comments yet. Sign in to comment.