UCR EE/CS120B: Introduction to Embedded Systems, Summer 2007

Other CS120B Offerings

Overview (Download Syllabus Here)

Embedded computing systems are found everywhere, including in cellular telephones, camcorders, medical equipment, thermostats, curbside rental-car check-in devices, automated supermarket stockers, computerized inventory control devices, digital thermometers, telephone answering machines, printers, portable video games, TV set-top boxes -- the list goes on. Demand for embedded system designers is large and continues to grow.

In EE/CS120B, students learn how to design and program basic embedded systems. Students learn to program a type of microprocessor, known as a microcontroller, intended for embedded systems. In such programming, TIME (e.g., respond to event X within Y seconds), not just data, is a key part of a program. You'll learn about common microprocessor peripherals that greatly ease the job of designing embedded systems. Students will also design custom single-purpose processors (circuits) on FPGAs to execute certain computations much faster than microprocessors, and will learn to build complete systems consisting of microprocessors, peripherals, and custom processors. This course uses the 8051 microcontroller and Xilinx FPGAs. The follow-up courses of CS122A and CS122B introduce more advanced designs and methods.

Catalog description : CS 120B Introduction to Embedded Systems 5 Lecture, 3 hours; laboratory, 8 hours. Prerequisite(s): CS 120A/EE 120A. Introduction to hardware and software design of digital computing systems embedded in electronic devices (such as digital cameras or portable video games). Topics include custom and programmable processor design, standard peripherals, memories, interfacing, and hardware/software tradeoffs. Laboratory involves use of synthesis tools, programmable logic, and microcontrollers and development of working embedded systems. Cross-listed with EE 120B.

Basic information

Instructor and office hours : Brian Grattan (Email: bgrattan, AT cs.ucr.edu) Office hours: please e-mail me
Office: Engineering Building Unit 2, Room 309

Teaching Assistants: Smruti Parichha (Email: sparichh, AT cs.ucr.edu)

Lecture : Mon, Tue, Wed, Thurs 9:40 - 11:10 Office: ENGR2 141

Labs : ENGR2 136
You are expected to stay in the lab for the entire lab session, working on material related to this course. Part of your lab grade is based on attendance and participation. We want you to get the maximum learning from your enrollment in the course.

Books:
Course grading: Letter grades will be assigned using a 90/80/70/60 scale: 90% and above corresponds to an A, 80% and above to a B 70% and above to a C, 60% and above to a D, and less than 60% to an F. +/- grades will be given. Curving may be done on individual items if it helps the class (but never if it hurts the class). You are not competing against one another -- you can all earn As (and that has nearly happened in some past courses), so work together and help each other to succeed.

To ensure minimum competency in both principles and practice, students must pass the lab component and the lecture component individually, meaning 60% or more of the points of each, in order to pass the course.


General course features and policies

Lab guidelines