Course Syllabus

Schedule at a glance

Slides, Recordings and Handouts


WES 237A - Introduction to Embedded System Design

Instructor: Prof. Nadir Weibel, weibel@ucsd.edu

TA: Pushkal Mishra, pumishra@ucsd.edu

Classroom and Lab: CSE B250

background.jpg

Fun Fact: This background course image is generated by recent text-to-image generative AI with prompt: "a background image for introduction to embedded system design class". If you want to learn more about how it works, feel free to refer to this paper.


Course Description:

WES 237A - Introduction to Embedded System Design - is a Masters of Advanced Study course in the Wireless and Embedded Systems (WES) program.

The course provides an introduction to embedded systems that stresses practical, hands-on experience
with wirelessly connected embedded systems. Students utilize state-of-the-art tools to create novel
embedded systems utilizing the PYNQ Z-2 board, and a range of Internet of Things (IoT) sensors and wireless devices.

The course teaches aspects of hardware and software architectures, peripherals and on-board
communication protocols, hardware and software input/output interfaces, and real-time constraints, combining these concepts with a close coupling with the ARM architecture and various synthesized hardware blocks.

Students build their knowledge and experience through five labs that culminate in a final IoT project that will allow them to build a working system based on a variety of sensors and I/O components.

 

Learning Objectives

After successfully completing this course, a student will have:

  • Knowledge of embedded systems, peripherals, and communication protocols.
  • Expertise in C-based coding of ARM architectures utilizing a variety of soft-IP cores and interfaces.
  • Familiarity with the Xilinx Zynq SoC architecture and tools necessary for the development of its
    embedded core, including the Python-based Jupyter interface
  • Experience working with, and coding for, wirelessly connected embedded systems
  • An understanding of the real-time tradeoffs of implementing functionality in software vs hardware.

 

Instructional Team

  • Prof. Nadir Weibel (Instructor) is a Professor in the Computer Science and Engineering Department, the Associate Faculty Director of the UCSD Design Lab, and the head of the Human-centered eXtended Intelligence Lab. His expertise is mostly in Ubiquitous Computing and Software Engineering and in the application of Human-Centered Design to the creation and development of novel physical-digital systems that can be deployed to solve current societal problems.
  • Pushkal Mishra (Teaching Assistant) is a Ph.D. Candidate in the Electrical and Computer Engineering department working at WCSNG Lab. His work is centered on vision-language models for radar sensing and perception, along with advanced multi-modal sensor fusion frameworks that enable LLMs to reason in autonomous driving use cases. He earned his Bachelor's in Electrical Engineering with a minor in Computer Science from IIT Hyderabad, where he specialized in signal processing and machine learning, publishing papers on graph learning and efficient neural network training. He also worked at Texas Instruments on spatial audio algorithms as a Signal Processing Intern.

 

Class Schedule

The course is held in-person during the Winter Quarter and is offered every other week on alternating Fridays and Saturdays from 9am –12.15pm and 1.30pm-4.30pm.

  • Friday 1/09/2026 (Lecture and Lab in CSE B250)
  • Saturday 1/17/2026 (Lecture and Lab in CSE B250)
  • Friday 1/30/2026 (Lecture and Lab in CSE B250)
  • Saturday 2/14/2026 (Lecture and Lab in CSE B250)
  • Friday 2/27/2026 (Lecture and Lab in CSE B250)

Lectures will be in the morning 9 am - 12.15 pm with a 15min break.
A lunch break is scheduled from 12.15 pm - 1.30 pm.
Labs will be held in the afternoon 1.30 pm - 4.30pm.

The Final Exam consists of presenting a final project and will be scheduled on Saturday 3/14/2026, 9am - 12.30pm.

 

Meals

Breakfast: 8:00 AM - 9:00 AM
Lunch: 12:00 PM - 1:00 PM

Instructions: An amount of $150 has been credited to your ID card as Triton Cash. You can use your ID card directly at a supported restaurant. Find more about it here https://parents.ucsd.edu/paying/triton-cash.html

Restaurants: Most of the restaurants on campus support Triton Cash. You can find the list here: https://hdhtcas.ucsd.edu/accounts/triton-cash/discounts.html.
The closest restaurant to CSE is  Crafted Café at Franklin Antonio Hall (1st Floor) or at Price Center


Readings and Resources

We will complement the content presented in the class with several readings and external resources.

For our thread and process lab (lab 2),  we recommend on reading following book chapters borrowed from UCSD's CSE 120 class (undergrad operating system) class

For our networking lecture, we will use materials from these resources

Details on assigned chapters and pages from these readings can be found on the schedule at a glance below 

 

Grading, Assignments, Lab Reports and Reflections

We expect students to work in pairs for the duration of the quarter. While teamwork is required, we expect every single student to produce their own code, reports, and reflection.

In order to evaluate students, the course is based on three elements:

  1. Weekly Assignments (60%): for every course week (for a total of 5 weeks) students will be expected to submit the assignments that are published below and in the Assignment section of Canvas. For each assignment, students need to submit
    • a link to their code in their GitHub repository
    • a description of their step-by-step process in resolving their assignment
    • a video demonstrating the working system

  2. Lab Report and Reflection (15%): after every lab (for a total of 5 weeks) students will be asked to submit a report of their work during the Lab as well as answers to a Lab Reflection "Quiz" that will gauge their personal engagement and growth.

  3. Final Project (25%): after Lab 5, students will be asked to work on a personal project that they will have to present during the final exam day. The final project will be evaluated by the instructor team based on the provided rubric.

 

Late Submission Policy

The labs and assignments will be available for submission up to 3 days after the deadline, but with a 10% penalty per day. So if an assignment is 100 points, a one-day late submission will result in the assignment being graded out of 90 points, a two-day late submission will result in the assignment being graded out of 80 points, and so on.

 

Office Hours

We will hold office hours in person on campus

  • Prof. Nadir Weibel will hold office hours on Fridays of the "off week" 12-1pm. Office hours will be online on zoom, please reach out to receive the zoom link.
  • Pushkal Mishra will hold office hours after every lab session, i.e. 4:30pm to 5:30pm in CSE B250. He will also host another session on every Tuesday, 12pm to 1pm in CSE B270A and over zoom (https://ucsd.zoom.us/j/9547349345).

You are also encouraged to post your questions on the Discussion channel of the Canvas. The discussions thread could also be helpful for other fellow students. For private discussion, please send us direct message using the Canvas DM features. Each direct message will be forwarded to our email, while keeping a copy in Canvas for better tracking in the future.

 

Transportation and Parking

There are plenty of ways for transportation and commuting to CSE building (classroom/lab), Jacobs Hall (collecting materials), as well as the Design and Innovation Building (office hours):

  • Bus Stop: the closest bus stop is Gilman Dr/Mayer Dr and Gilman Dr/Mandeville Ln.
  • Trolley: the closest trolley stop is UCSD Central Campus station.
  • Parking: please refer to this page for the details regarding parking.

 

Slides, Recording and Handouts

Lecture and Labs slides, recordings of the lectures, and handouts are available on this dedicated page.

 

Schedule at a Glance


UCSD Logo

Course Summary:

Course Summary
Date Details Due