System Programming Fundamentals

FreeOnline
Goal: Build a solid mental model of how computers work at the differents levels to reason about crashes, performance issues, and system behavior.
System Programming Fundamentals
ProfessorSimone Butera
LevelAdvanced
Duration
10 hours
PriceFree
Course IDDEV301
Ratings

Description

Understand what's happening under the hood

Most programming courses treat the operating system, memory, and hardware as "someone else's problem". This course takes you into those layers, using Linux as a clear reference point to explore ideas that apply across all systems.

This course is designed for developers who want to understand how computers actually work at a practical level, whether you're debugging crashes, investigating performance issues, or simply curious about what happens beneath your code.

By the end of the course, you should have a solid mental model of binary representation, CPU and memory behavior, kernel internals, and userland concepts, giving you the tools to reason about system behavior instead of treating it as magic.

Learning path

Objectives

  • Understand binary representation, encoding, and bitwise operations
  • Learn how CPUs, memory hierarchies, and GPUs function at a practical level
  • Explore kernel internals including boot process, syscalls, filesystems, and processes
  • Master userland concepts like file descriptors, permissions, IPC, and shell utilities
Professor

This course is taught by Simone Butera

Simone Butera is a software engineer with expertise in open-source development and peer-to-peer technologies. He is also very passionate about DX (developer experience) and programming language design.

developmentsoftwareguides