Courses
Performance Analysis and Evaluation
Performance evaluation as an experimental science: measurement methodology, statistical analysis, and reproducible benchmarking using benchkit and real system workloads.
Operating Systems and System Fundamentals
Students build a minimal kernel (“ToyOS”) bottom-up on AArch64/QEMU using C and Assembly, then explore Linux internals top-down.
Compilers
Students incrementally build a complete ChocoPy-to-RISC-V compiler through a sequence of lab assignments: scanner, parser, semantic analysis, code generation, and optimizations.
Programming Project 2
Year-long team software engineering project with industry-style practices.
Operating Systems for Heterogeneous Computing
GPU programming (CUDA/OpenCL) meets OS-level resource management for heterogeneous platforms.
Curriculum Pipeline
I am building a coherent systems curriculum pipeline spanning programming languages (Compilers), system internals (OS Fundamentals), and measurement and evaluation (Performance Evaluation), giving students a full-stack understanding from abstraction to empirical validation. Research artifacts such as benchkit and Docker/QEMU environments are integrated directly into the teaching materials.
Thesis Supervision
22 students supervised to date across BA3 and MA2 levels. Several thesis students have published workshop or conference papers during or after their thesis work.