Computer Systems III: Computer Architecture
Part III of the Computer Systems series: computer architecture (basic organization, instruction set architecture and MIPS32, performance and Amdahl’s law, design of the control unit, the MIPS32 datapath, SRAM and DRAM, memory interfacing and interleaving, the memory hierarchy and cache memory, I/O organization with interrupts and DMA, buses and USB, pipelining and pipeline hazards, instruction-level parallelism with dynamic scheduling and speculation, vector processors and SIMD extensions, the roofline model, multithreading, multicore processors and cache coherence).
Computer Systems II: Operating Systems
Part II of the Computer Systems series: operating systems (dual-mode operation, system calls, processes, the PCB, scheduling queues and schedulers, context switches, process creation and termination, threads, CPU scheduling algorithms, deadlocks with the Banker’s algorithm and deadlock detection, process synchronization, the classic synchronization problems, memory management, paging and virtual memory, multi-level page tables, frame allocation and thrashing, memory-mapped files, kernel memory allocation (buddy system and slab allocation), disk structure, scheduling and management, directory structures, file allocation methods and free-space management).
Computer Systems I: Digital Electronics
Part I of the Computer Systems series: digital electronics (Boolean algebra, duality, canonical forms, K-maps, NAND/NOR implementation, hazards), decoders, encoders and multiplexers, number systems and codes, number representation, adders, multiplication and Booth’s algorithm, IEEE 754 floating point, latches and flip-flops, registers, counters and state machines.
Foundations of Physically Based Differentiable Rendering
Differentiable rendering techniques for computer graphics and vision
Introduction to 3D Rendering
3D rendering from first principles: transforms, camera and projection, ray generation, intersections, shading, ray tracing, path tracing, and signed distance functions.
A comprehensive look into the Importance Sampling and Path Guiding for Path Tracing
Exploring the Importance Sampling Techniques to reduce variance in Monte Carlo Path Tracing
3D Reconstruction with 3DGS, NeRF, and Their Variants
An in-depth look at modern 3D reconstruction methods such as 3DGS and NeRF, comparing their architectures, strengths, and performance in diverse applications.
Bagging and Boosting
Explore bagging and boosting in machine learning, including variance reduction, bias management, and ensemble classifier construction
Bias–Variance Tradeoff
Understanding how bias and variance affect model performance
Vision Transformer (ViT) - Architecture and Implementation
Understanding how transformers use scaled dot-product attention with multiple heads to process sequential data efficiently