Topics include data in embedded systems, displays, codecs, processor and bus "flavors", the boot process, real-time scheduling and device drivers.
Zoom link for live class. Instructor: Adam Hoover
Teaching assistant: Tim Ross, email tdross@clemson.edu Syllabus| Day | Lecture topics (instructor notes) | Extra references | Lab assigned | Lab due | |
|---|---|---|---|---|---|
| Thursday, 1/8 | Introduction, embedded system data types. Zoom 2026 | An example C program, and a second C program, that demonstrate background necessary for this course. | |||
| Tuesday, 1/13 | Images, displays. Zoom 2026 | An example C program that reads a PPM format image. Coding challenge. | |||
| Thursday, 1/15 | introduction to lab computers | lab 1 - image display. The code stubs for the X version and Windows version of the lab. See above link for images. | |||
| Tuesday, 1/20 | Colormaps, image bits Zoom 2026 | ||||
| Thursday, 1/22 | Helper programs, test cases Zoom 2026 | ||||
| Tuesday, 1/27 | class cancelled - weather | ||||
| Thursday, 1/29 | RLE codec Zoom 2026 | lab 2 - RLE codec. See above link for images. | Lab 1 due. Code must be submitted to canvas by the end of this day. Demo sessions in Riggs 309 will be posted on Canvas. | ||
| Tuesday, 2/3 | LZW codec Zoom 2026 | Worksheet to practice LZW decoding. | lab 3 - LZW codec. See above link for images. | ||
| Thursday, 2/5 | buses Zoom 2026 | ||||
| Tuesday, 2/10 | Huffman codec Zoom 2026 | lab 4 - Huffman codec.
See above link for images. Partner suggestions solicitied. |
Lab 2 due. Code must be submitted to canvas by the end of this day. Demo sessions will be posted on Canvas. | ||
| Thursday, 2/12 | JPEG codec Zoom 2026 | ||||
| Tuesday, 2/17 | microcontrollers Zoom 2026 | Partner teams determined. | |||
| Thursday, 2/19 | digital signal processors (DSP chips) Zoom 2026 | Lab 3 due. Code must be submitted to canvas by the end of this day. Demo sessions will be posted on Canvas. | |||
| Tuesday, 2/24 | example presentations: ARM processors and SHARC DSPs. Which is good and which is bad? Zoom 2026 | Midterm. Topics solicited. | |||
| Thursday, 2/26 | triangle rendering Zoom 2026 | See John Burkardt's site for a large selection of PLY files. Examples solving a plane-ray intersection. An explanation of using the cross product test to determine if a point is inside a triangle. Help on rotation matrices and how to use them. | lab 5 - triangle rendering. Some PLY files available here. | ||
| Tuesday, 3/3 | graphics processors (GPUs) Zoom 2026 |
The relationship between image pixels, rays and triangles. The concept of a z-buffer. Using vertex colors during triangle rendering. Interactive barycentric coordinates demo. The effect of indirect lighting. A 2D example of surface normal interpolation. A comparison of color vs surface normal interpolation. How textures are applied to triangles. Demo of different textures applied to a cube shape. |
Lab 4 due. Code must be submitted to canvas by the end of this day. Demo sessions will be posted on Canvas. | ||
| Thursday, 3/5 | Microsoft anti-trust case Zoom 2026 | midterm topics due | |||
| Tuesday, 3/10 | midterm presentations, 2026 | Online links to use will be distributed via email/canvas. | |||
| Thursday, 3/12 | midterm presentations, 2026 | Online links to use will be distributed via email/canvas. | |||
| Tuesday, 3/17 | no class - Spring break | ||||
| Thursday, 3/19 | no class - Spring break | ||||
| Tuesday, 3/24 | the boot process Zoom 2026 | A wiki list of Linux distributions. | lab 6 - booting and the kernel. The manual for completing the lab on your own PC/laptop. | Lab 5 due. Code must be submitted to canvas by the end of this day. Demo sessions will be posted on Canvas. | |
| Thursday, 3/26 | Energy intake research Zoom 2026 | ||||
| Tuesday, 3/31 | example embedded system: bite counter Zoom 2026 | ||||
| Thursday, 4/2 | device drivers Zoom 2026 | lab 7 - device driver. The manual for the lab. | Lab 6 due. No code turned in. Demo sessions will be posted on Canvas. | ||
| Tuesday, 4/7 | real-time O/S Zoom 2026 | Scheduling examples. | Final. Topics solicited. A bad report and a good report. |
||
| Thursday, 4/9 | dynamic scheduling protocols Zoom 2026 | RMA protocol examples, excerpt from Briand and Roy's book. | |||
| Tuesday, 4/14 | rate monotonic analysis Zoom 2026 | What happened on Mars?,
a great example of a scheduling problem. Video simulation of Mars pathfinder landing. |
lab 8 - rate monotonic analysis. | Lab 7 due. No code turned in. Demo sessions will be posted on Canvas. | |
| Thursday, 4/16 | Embedded system development Zoom 2026 | Final topics due by 12 Noon so that the schedule can be determined and presented during class. | |||
| Tuesday, 4/21 | final presentations (2025) | ||||
| Thursday, 4/23 | final presentations (2025) | Lab 8 due. Code and report must be posted to canvas by the
end of this day. Final presentation must be posted to canvas by the end of this day. |