This course presents assembly language programming as the bridge between hardware and high-level programming languages such as C++. Topics covered include the addressing modes, register file, and instruction set of a microcontroller; subsystems such as timers and analog to digital conversion; and interrupts. Software control of hardware is stressed. In the laboratory, students design software to demonstrate proficiency in these areas. (prereq: CS-1030, EE-290) (3-2-4)


Upon successful completion of this course, the student will:

The above course description and goals were taken from the official course description. Detailed outcomes are also available.

General Course Policies

Please review the general course policies webpage.

Required Materials

No textbook is required, but each student must purchase an STK200 Trainer Board from the EECS Technical Support Center


Quizzes will be given nearly every week at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes (even with a valid excuse) will be given.

My Schedule


Quizzes: 15%
Lab Projects: 40%
Exam I and II: 25%
Final Exam: 20%
Total: 100%