Educational Outreach Activities
CSMore: Week-Long Computer Systems Unit
CSMore is a four-week summer residential program, organized by the Cornell Bowers CIS Office of Diversity, Equity, and Inclusion, for rising sophomores who wish to major in computer science. The program targets underrepresented minorities and first-generation college students through interactive learning, research exposure, and social engagement. In 2022, I co-taught (with Adrian Sampson) a week-long computer systems hardware module. Students learned about digital logic, computer arithmetic, and simple processors through a series of lectures, in-class activities, and labs. By end of the week, students had incrementally developed a "Femto-Processor" from just basic logic gates in Logisim. The Femto-Processor supported two instructions (i.e., write immediate and add) and was capable of executing up to 16-instruction programs to do simple arithmetic and generate the Fibonancci sequence.
Curie Academy 2021: Week-Long Design Experience
The CURIE Academy is a one-week summer program organized by the Cornell Diversity Programs in Engineering for high school girls who excel in math and science, enjoy solving problems, and want to learn more about careers in engineering. CURIE scholars spend their mornings learning about the various fields within engineering, and spend their afternoons working on a design project to explore a specific engineering field in more depth. In 2021, I directed a week-long design experience in the area of computer engineering focused on the Internet of Things (IoT). The 2021 offering was entirely virtual and involved shipping complete digital prototyping kits including breadboard supplies, power supplies, a Particle Argon IoT device, and a selection of sensors to each scholar across the country. The week began with preliminary laboratory sessions where scholars learned about computer engineering from both the hardware perspective (e.g., assembling basic logic gates to implement a simple "calculator" for adding small binary numbers) and the software perspective (e.g., incrementally programming a microcontroller in C++ to implement an IoT "smart light" system). The scholars then transitioned to working in groups on an IoT system centered around one of several themes including smart home, early disaster warning, wearable health monitoring, and digital agriculture.
ENGRG 1050 Engineering Seminar: Computer Engineering Hands-On Experience
This is a one-credit seminar for all incoming freshman within the College of Engineering. Each faculty advisor works with 20 freshman throughout the semester to expose them to various resources at the University and to the different departments within the College. In 2018, I worked with Philip Bedoukian, a PhD student within the Computer Systems Laboratory, to develop a 90-minute hands-on experience for my freshman advisees to introduce them to the field of computer engineering. Students incrementally developed a simple Internet-of-Things (IoT) system based on the Particle Photon boards which combine a micro-controller with WiFi communication. Students worked in groups of four to experiment with LEDs and buttons to learn the basics of this platform. Each group then divided into two sub-groups: an IoT input sub-group and an IoT output sub-group. The IoT input sub-group experimented with using an infrared rangefinder to send a message into the Particle IoT cloud, while the IoT output sub-group experimented with receiving a message from the Particle IoT cloud to trigger turning a servo motor. Then the two sub-groups put their devices together to create a complete IoT motion-detector plus alarm system.
Curie Academy 2014: Week-Long Design Experience
The CURIE Academy is a one-week summer residential program organized by the Cornell Diversity Programs in Engineering for high school girls who excel in math and science, enjoy solving problems, and want to learn more about careers in engineering. CURIE scholars spend their mornings learning about the various fields within engineering, and spend their afternoons working on a design project to explore a specific engineering field in more depth. In 2014, I directed a week-long design experience in the area of computer engineering focused on the Internet of Things (IoT). The week began with three laboratory sessions. In the first lab, scholars learned about computer engineering from the hardware perspective by incrementally building a simple calculator out of basic logic gates. In the second lab, scholars learned about computer engineering from the software perspective by incrementally building a mobile robot control application using the popular Arduino micro-controller. In the third lab, scholars put hardware and software together to create their first basic IoT system: a "smart door" that included an IoT device to send the door status to the cloud and a different IoT device to poll the cloud and display the door status using a small light. After these three laboratory sessions, scholars worked in groups on an IoT system centered around several themes including: smart home, early disaster warning, wearable health monitoring, wildlife tracking, and smart electrical power grids.
ENGRG 1060 Explorations in Engineering: Computer Engineering Unit
This six-week summer course is for high-school students interested in learning more about the various fields of engineering. ENGRG 1060 students are usually also enrolled in a college-level math or science course, and ENGRG 1060 is often their first real exposure to engineering. In 2012 and 2013, the course was taught by Prof. Kathryn Dimiduk from the Cornell Engineering Teaching Excellence Institute. Over several summers, I developed and led a unit for ENGRG 1060 on computer engineering that included a guest lecture and lab session. The one-hour guest lecture introduced students to the field of computer engineering and and used two active learning exercises to illustrate the challenges involved in multicore processors. The three-hour lab session used an Arduino-based robotic platform to give students hands-on experience exploring the hardware/software interface.