Courses
Embedded Linux
Embedded Linux
A comprehensive, hands-on course on developing, configuring, and deploying Embedded Linux on real hardware.
- Lectures: Linux architecture, boot process (U-Boot), kernel config & device tree, drivers, filesystems, Buildroot/Yocto, init systems, cross-compiling, debugging.
- TPs (Labs): Build a minimal rootfs (BusyBox), compile & flash a custom kernel, board bring-up, simple char driver, networking, systemd services.
- Projects: End-to-end BSP bring-up for a target board, driver + user-space app, OTA/update workflow, performance & power profiling report.
Computer Organization
Computer Organization
An in-depth exploration of computer architecture with a special focus on security implications.
- Security-Oriented Coverage: Microarchitecture, pipelines, caches, branch prediction, and vulnerabilities like Spectre/Meltdown.
- x86 Assembly Language: Instruction set fundamentals, addressing modes, stack operations, and secure coding practices.
- Project: Hands-on implementation analyzing architectural behavior and evaluating attack/defense mechanisms.
Hardware Security
Hardware Security and Side-Channel Attacks
An in-depth course on hardware security with emphasis on side-channel vulnerabilities and their countermeasures.
- Foundations: Principles of hardware security, threat models, and trust anchors.
- Side-Channel Attacks: Power analysis, EM leakage, timing attacks, fault injection, and microarchitectural exploits.
- Defenses: Masking, hiding, randomization, secure hardware design, and runtime mitigation strategies.
- Practical Work: Lab sessions on attack implementation and evaluation of countermeasures on real or simulated hardware.