Courses

ECE 5755: Modern Computer Systems and Architecture

Offered: Fall 2023

This course is designed to provide a hardware-centric overview of computer systems used in modern computing platforms. From the bottom up we will study the architecture of processor architectures (e.g., pipelined CPUs, ISA, RISC vs. CISC, out-of-order execution) and memory systems (e.g., memory hierarchy, caching, DRAM memories). We will understand how to evaluate the performance of modern processors and exploit parallelism in applications. This includes parallelization across multi-core CPUs, GPUs, and specialized hardware. Through ands-on assignments and an open-ended project students will develop a holistic understanding of modern computer systems and how they are designed.

ECE 6960: Sustainable Computing

Offered: Spring 2024

This graduate level course provides an overview of the holistic environmental impact of computing platforms over the course of their lifetime. Topics include life cycle analyses of computing devices, carbon footprint of computing, computer architecture and systems, renewable energy driven data centers, intermittent computing, sustainable applications (e.g., AI), and emerging technologies. We will understand how to evaluate and consider the holistic environmental impact of computing platforms including carbon, water, e-waste, and materials used. Through reading, analyzing, and discussing papers, and an open-ended project students will develop a holistic understanding of the environmental impact of computing and designing sustainable platforms.

Tutorials and Workshops

ACT Tutorial

Offered: In conjunction with MICRO 2022

ACT, the first-of-its-kind architectural carbon modeling tool, enables computer architects to quantify the embodied carbon footprint of hardware during early design space exploration — allowing designers to consider carbon as a first-order optimization target alongside performance, power, and energy.

PeRSonAl Workshop

Offered: In conjunction with MLSys 2021, ISCA 2020, and ASPLOS 2020

PeRSonAl (Personalized Recommendation Systems and Algorithms) is an interdisciplinary tutorial with the goal to encourage research in three important research pillars — systems, algorithms, and datasets — in AI for efficient and responsible personalized recommendation systems.

CLEAR Workshop

Offered: In conjunction with ISCA 2021

CLEAR (Computing Landscapes for Environmental Accountability and Responsibility) is an interdisciplinary workshop to enable research and development towards an environmentally sustainable computing ecosystem.

NOPE Workshop

Offered: In conjunction with ASPLOS 2019 and ASPLOS 2021

NOPE (Negative Outcomes, Post-mortems, Expereinces) is a place for open, honest port-mortems of research projects which ran into unexpected limitations and resulted in lessons learned.

Outreach

In addition to teaching, I am passionate about sharing my excitement towards computer engineering with young students.

Sustainable Computing: Understanding Our Digital Carbon Footprint

Offered: Summer 2021 and Spring 2021 w/ MIT Rainstorm

In the past two decades, the world has witnessed an exponential rise in computing technology. The rise in computing technology has led to modern mobile phones, the Internet, and cloud computing. We use computing on a daily basis. But have you ever considered what the environmental impact of computing is? Where does it come from and what can we do about it? These are just some of the questions we will answer in this class!

Computers Don't Byte!

Offered: Fall 2014 and Spring 2015 w/ Cornell Splash

Ever wondered how your computer works? This course will teach you the basics of how your computer uses simple electrical circuits to do math. You will get a chance to build your own hands-on circuit!