EECS388 Embedded Systems Fall 2020

Contact Information
Course Description
Lecture Notes
Homework and Quizzes
Remote lab access
Selected Final Projects


Contact List


Prof. Mohammad Alian
Office: 2022EH
Office Hours: Tu,Th 2:00 - 3:00 PM - Please book a time to meet with me here: Online Booking
Email: alian@ku.edu

Graduate Teaching Assistants (GTAs)

Jose Earving Morales
Office: EATN 3013
Office Hours: W 12:00 - 1:00 PM, F 10:00 - 11:00 AM
Email: earving_08@ku.edu

Eric Seals
Office: EATN 3013
Office Hours: M,W 2:00 - 3:00 PM
Email: ericseals@ku.edu

Yiju Yang
Office: EATN 3013
Office Hours: M 10:00 - 11:00 AM, Tu 3:00 - 4:00 PM
Email: y150y133@ku.edu

Supplimental Instructors (SIs)

Chauncey Hester
Email: chaunceydhesterjr@ku.edu

Fares Elattar
Email: fareselattar@ku.edu

Course Description

Lecture time: Tu, Th 11:00 AM - 12:15 PM

Class: LEEP2 G415, online over zoom

An embedded system is a smart system with special-purpose computation capabilities. You can see examples of embedded systems every day in smart appliances, cars, medical devices, etc. In this course, you are going to learn about the hardware and software architecture of embedded systems. At the end of the course, you will learn how to program a microprocessor to interact with the physical world through sensors and actuators. This course is divided into two parts: lectures and labs. Lectures will teach you the theory about embedded systems, and in the labs you will implement what you learned during the lectures. Here is a (tentative) list of the topics that we will cover in the lectures:

Refer to the course syllabus for additional details

We use a Teams group as a discussion forum for EECS388.

The recommended course textbook is Introduction to Embedded Systems - A Cyber-Physical Systems Approach, by Edward Ashford Lee and Sanjit Arunkumar Seshia.

Lecture Notes/Videos

Homework and quizzes

  • Find Homework 1 in Lecture 01
  • Find Homework 2 and 3 in lecture 02
  • Find Homework 4 in lecture 03
  • Find Homework 5, 6, 7 in lecture 05
  • Find Homework 8, 9, 10 in lecture 06
  • Find Lec7-Q1 and -Q2 in Lecture 07
  • Find Lec8-Q1, -Q2, and Q3 in Lecture 08
  • Find Lec10-Q1, -Q2 in Lecture 10
  • Find Lec12-Q1, -Q2 in Lecture 12
  • Find Lec13-Q1, -Q2, -Q3, Q4 in Lecture 13
  • Find Lec14-P2-Q1 in Lecture 14 part 2
  • Find Lec14-P4-Q1 in Lecture 14+ Exact Schedulability Test


Midterm exam is scheduled for Thursday October 1st from 11:00AM - 12:30PM. The exam will cover topics discussed in lecture 1 - 8.

Midterm sample questions

Final exam is on Wednesday Dec 9th from 10:30AM - 1:00PM. The exam will cover all the topics discussed during the semester.

Final sample questions


Each student needs to attend one lab section every week. All students will be given access to a private GitLab repo . Before each lab, a branch with the name labXX (XX is the lab number) will be created within the repo that contains the lab instruction and files for that week's lab exercise.

  • To get started with the labs you need to first clone your repo (replace you KUOnlineID with your online ID):
  • $ git clone git@git.eecs.ku.edu:eecs388-Fa2020/student-repos/KUOnlineID.git

  • To fetch the branch correspondig to a week's Lab:
  • $ cd KUOnlineID
    $ git fetch; git checkout labXX

    To push your local modifications to the remote repository:

    $ git add .
    $ git commit -m "Final Commit-LabXX"
    $ git push origin labXX

    For a full lab attendance guidline please see EECS388 lab syllabus.

    Remote and After-Hour Lab Access

    All students can attend their lab section remotely. We equipped each lab machine with an Elmo camera. Students can connect to the lab machines using NoMachine application and then turn on the camera using Zoom to see the experimental board that they are working with. Here is a tutorial on how to use NoMachine and Zoom to access embedded system lab machines: EECS388 remote lab access tutorial
    You can also ask for assistance from your GTA during your lab section to adjust the Elmo camera or tweak the experimental board for you.
    If you need to work on a lab outside of your lab time you should book a time slot via this link: booking link
    In your booked time slot, you can either show up in the lab in-person or connect to a lab machine remotely. If you want to remotely access the lab outside your lab time and need someone to be in the lab assisting you, you should book a time slot by selecting "EECS 388 Lab after hour access (online with SI assist)" service through the booking link above.

    IMPORTANT: Booking Rules

  • You should not book a time slot further than three days ahead.
  • When you book a timeslot, you should use it or cancel it at least three hours before your booking.

  • Selected Final Projects

    Selected Final Projects