Lectures
-
Introduction
tl;dr: This lecture discusses the syllabus and outlines course expectations for the rest of the semester. -
Introduction To C
tl;dr: Basic machine model, introduction to C. -
Variables, Strings and Loops
tl;dr: Basics of C Variables, Strings and Loops. -
Conditionals and Control Flow
tl;dr: Basics of C conditionals and control flow. -
Pointers
tl;dr: C Pointer basics. -
C Programming Practices
tl;dr: Best programming practices. -
Tour of Computer Systems
tl;dr: Brief introduction to CSE 220 view of Computer systems and why it matters. -
Dynamic Memory Allocation in C
tl;dr: Use of malloc, calloc and free in C. -
Derived Data Types in C
tl;dr: Use of struct and typedef in C. Discussion of argument passing. -
Bits, Bytes and Integers
tl;dr: Bits, Bytes and Integers. -
Integer Arithmetic
tl;dr: Integer encoding and simple arithmetic. -
Fixed Point Representation
tl;dr: Representing rational numbers as fixed point. -
Floating Point
tl;dr: IEEE 754 floating point representation. -
Alignment, Stride and Packing
tl;dr: Alignment, Stride and Packing -
Process Layout - Stack
tl;dr: Process layout and working of stack -
Process Layout - Heap
tl;dr: Working of a heap -
Compilers and Toolchains
tl;dr: -
Compiler Optimizations
tl;dr: -
Dynamic Memory Allocation
tl;dr: -
Dynamic Memory Allocation 2
tl;dr: -
Caching
tl;dr: -
Threads
tl;dr: -
Races and Synchronization
tl;dr: -
Pthreads and POSIX concurrency
tl;dr: -
System I/O
tl;dr: -
Exceptions
tl;dr: -
Finals review
tl;dr: