NOTABLE COURSES

Embedded Systems and Machine Learning

Machine learning is revolutionizing embedded systems across a wide range of applications, from smartphones and IoT devices to autonomous vehicles. This course centered on developing deep learning models that are both efficient and optimized for deployment on embedded platforms. It emphasized bridging the gap between theoretical ML concepts and practical implementation in resource-constrained environments through hands-on design, research insights, and hardware-aware techniques.

Computer Organization and Architecture

This course gave me a solid grasp of how modern computing systems are designed and fine-tuned, covering everything from processor fundamentals to memory and input/output systems. It emphasized the close relationship between hardware and software, with a focus on improving system performance through techniques like pipelining and parallelism. Working through real-world case studies and practical analysis helped me build the skills to design and assess efficient digital systems—preparing me well for careers in embedded systems, hardware-software integration, and computer design.

Digital System Design

This course is essential for understanding how modern digital systems are designed and implemented, bridging the gap between hardware and software development. It introduced the complete design flow of digital systems, combining both hardware and software perspectives. Emphasis was placed on practical design techniques and real-world implementation, guiding students through the process of building and debugging digital hardware from behavioral descriptions to gate-level synthesis and deployment on FPGA platforms.

VLSI System Design

This course offered a thorough foundation in VLSI chip design, blending theoretical concepts with hands-on lab experience. It covered key topics ranging from MOS transistor fundamentals to circuit layout, fabrication processes, and design verification. Using Cadence tools, we completed the full design cycle—including logic design, simulation, layout, and testing—while focusing on optimizing performance for delay, power, and timing, and addressing interconnect and verification challenges.

Storage System- Device to System Perspective

This course took a bottom-up approach to modern storage system design, starting with the physics of memory cells and progressing to system-level strategies for reliability and security. It connected low-level device behavior—including SRAM, DRAM, and floating-gate memory cells—with high-level architectural decisions, emphasizing the trade-offs in performance, power, and area. Key topics included the design and reliability of storage technologies such as NAND Flash, as well as real-world challenges like endurance degradation, retention loss, and vulnerability to environmental conditions such as temperature and radiation.