
From Code to Creation
By Gwyneth Bessey
Media InquiriesWhat do a mini graphics processing unit (GPU), a systolic array, and an animatronic head have in common? They all came to life in the inaugural offering of 18-240, “Structure and Design of Digital Systems,” a summer course created and taught by Katherine Parry, a current Ph.D. student in electrical and computer engineering.
“The course started as a bit of wishful thinking,” said Parry.
During a discussion about her required teaching internship with her advisor Larry Pileggi, the Coraluppi Head and Tanoto Professor of Electrical and Computer Engineering, Parry mentioned the difficulty of securing a teaching assistant position, and that she had taken student-run courses during her own undergrad career. Though it might’ve seemed daunting, Pileggi encouraged her to begin designing an experimental summer version of a course she was familiar with.
One philosophy that shaped the course Katherine was creating came from her experience being homeschooled: expose students to hard ideas before expecting them to master them. A concept is easier to grasp and implement when there is a baseline understanding, or if the student has been given the opportunity to explore the concept on their own terms without the pressure of being evaluated. Parry’s students increasingly looked forward to what was to come in the course, even staying after class to discuss topics beyond the syllabus.
“I tried to give students a real understanding of why things work the way they do and what the code they write turns into physically, so they’d have a kind of digital-design ‘common sense’ to reason through problems they’ve never seen before,” said Parry.
Homeschooling, however, wasn’t her only inspiration for the methods and trajectory of the class. Parry was mentored by David Harris, author of a widely used digital design textbook. Harris sat down with Parry and walked her through his thought process for circuit design and identifying and rectifying bugs in code. That hands-on mentoring was something Parry wanted to provide for her own students. She made a point to sit with them during and after labs to help them improve their designs, debug their work, and explain the reasoning behind their design decisions.
18-240 teaches the fundamentals of design and verification of modern digital systems. Covering topics from logic design to practical hardware connections, the course emphasizes the methods that allow designers to cope with sophisticated systems. Students learn through practical hardware implementation problems using computer-aided digital design software and laboratory work, including field-programmable gate array (FPGA) boards, an essential component of the course.
The FPGA boards used by 18-240 were generously donated by the semiconductor company AMD. Parry decided to build on that partnership.
Julian Kain, a principal architect at AMD with nearly two decades of experience with FPGAs, gave a guest lecture on the architecture of the circuits and stayed for lunch to continue his active conversation with the students about computer architecture and FPGAs. Parry described it as a major highlight of the class. Nabeel Shirazi, a senior director at AMD, conducted a lab for the course on debugging with AI, and built an AI Pong demo to kick off the course. But that wasn’t where the collaboration ended.
AMD gave the class early access to their new Vivado Developer Cloud and Vivado AI Extension tools, making the class among the first anywhere to put the FPGA tools through their paces. The students got to experience the newest tools on the market and provide AMD with feedback to help streamline their debugging with AI pipeline.
Currently, AI is presenting one of the biggest problems in education. Students use it to complete classwork, which prevents them from actually learning and understanding course material. To prevent this, some courses completely ban the use of AI entirely, but this presents the difficulty of accurately identifying its use. Based on the use of AI in the industry, the elimination strategy wasn’t realistic to Parry. She opted to lean into its use by providing students with access to Claude Code and any other AI tool they chose—with one catch.
After each assignment, Parry quizzed each student to gauge whether or not they really understood the work they submitted. With her method, Parry reported that the majority of her students were able to self-regulate their AI usage to exclusively enhance their learning instead of replacing it entirely. A student who felt he was relying too heavily on AI in his coursework even came to her with his issue for help on how to use it properly.
“It wasn’t the perfect solution,” Parry reports. “Some still took shortcuts, but I know they took some of it to heart and tried their best to learn the material in the end.”
Despite any shortcuts some of the students may have taken, she still found that her students were top-tier. They were far more engaged than she had anticipated. She describes them as passionate, curious, and ambitious. Their final projects were a culmination of everything they learned in the course, and the students worked extremely hard to see them to fruition.
Project: mini GPU
A GPU core with eight lanes for data transfer, built from scratch by Anna Wang and Tabris Wang in SystemVerilog, a hardware description and verification language used to design, test, and implement electronic systems. The team developed a custom instruction set, two memory systems, and a full HDMI display.
Project: Systolic Array
A 16x16 network of data processing units, or nodes, inspired by Google’s Tensor Processing Unit (TPU) to accelerate neural-network math with genuine hardware/software co-design. The TPU is a neural processing unit, which is a specialized computer system designed to accelerate artificial intelligence and machine learning applications. Each node independently computes part of the result of the data it receives and passes it to the subsequent nodes. Ethan Li, David Wang, and Stanley Yin created this project on a Kria KV260, a Vision AI starter kit from AMD built for advanced vision application development. To get the systolic array where they knew it could be, the team worked through the night.
Project: PLATYPUS
Also known as the animatronic head was made up of 20 servomotors driven by the FPGA, with a skin-tone eye-tracking pipeline running straight off the camera. It had a single-board Raspberry Pi 5 computer to handle vision, speech, and a locally-hosted large-language model. Though last-minute changes are usually an enormous hurdle to jump over, Daniel Song and Vedant Misra worked through them beautifully to see their project through.
