UCR CS 122B: Advanced Embedded and Real-Time Systems, Winter 2003

Overview

Embedded systems include almost any computing system other than traditional computers. Examples include cell phones, set-top boxes, traffic-light controllers, alarm systems, automotive systems, etc. Embedded systems is one of the fastest growing in computing, and quite exciting. In addition to the catalog subjects below, we'll focus on team skills and effective communication.

Catalog description : CS 122B. Advanced Embedded and Real-Time Systems. (5) Lecture, three hours; laboratory, six hours. Prerequisite(s): CS 122A. Further exploration of state- of-the-art aspects of building embedded systems, including real-time programming, synthesis of coprocessor cores, application-specific processors, hardware and software cosimulation and codesign, low-power design, reconfigurable computing, core-based design, and platform-based methodology.

Basic information

Instructor and office hours : Frank Vahid (vahid@cs.ucr.edu) Tue 2:00 pm - 3:00 pm.
Office: Surge 328

Teaching Assistant: Greg Stitt (gstitt@cs.ucr.edu)

Lecture : Tue & Thu, 11:10 am - 12:30 pm in WAT 2141

Labs : Mon & Wed   11:10 am to 2:00 pm in Surge 173
Lab attendance is mandatory. 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.

Books: Required: The Art of Designing Embedded Systems, J. Ganssle, 1st ed., 1999, Newnes Press, Butterworth-Heinemann.
Required: Embedded Systems Design, Vahid/Givargis, 1st ed., 2002 J. Wiley and Sons.
Recommended: Learn Java 2 in 21 Days , Laura Lemay and Rogers Cadenhead, Sams; ISBN: 0672320614; 2nd edition (May 21, 2001), or any other Java book with a good applet introduction. Note: online Java source are also available.

Course grading: Letter grades are roughly assigned according to the usual 90/80/70/60 rule: 90% and above correspond 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 likely be given. You are not competing against one another -- you can almost all earn A's (and that has happened in the past), so work together and help each other to succeed. The grading will be based on the weighted sum of two components:

40% Lab component (excercises, presentations, assignments, attendance, participation, exams if any)
60% Lecture component 15% Homeworks/quizzes/participation
20% Midterm
25% Final
To ensure minimum competency in both the principles and practice, you must pass both components to pass the course; likewise, you must achieve at least a C- in both components to achieve a C- or better in the course.

Approximate Time Requirements: This is a five-unit course. As such, you should expect to spend the following approximate amount of time: 3 hours/week attending the lectures
6 hours/week attending the lab sessions
6 to 10 hours/week doing individual study (readings, homeworks, programming, lab preparation, etc)
Please do not underestimate the time you will need to spend on this course. These are real time amounts spent on average by successful past students.

This course is the fourth in an upper-division sequence (with 120A, 120B, 122A preceding); thus, the course is designed for mature students with good study habits. We'll cover a wide variety of subjects in lectures, with students expected to study those subjects extensively outside lecture. You should come to lecture prepared not to just listen, but to think and to participate. It's a lot of work, but you'll learn a lot and hopefully have fun too.

Lecture Schedule

Lecture notes

(taken by one of our students)

Lab schedule

Lab Material

General course features and policies

Lab guidelines

Homeworks

Exams

Electronic assignment turn-in

Grades

Scores as of 03/05/03. Please check carefully. Grading scale is roughly 90/80/70/60. Scores as of 02/11/03.

Course email list

CS 122B mailing List ( send mail now or access the archive): Be sure to sign up to receive important announcements, which may be made only through the course email list. You must use your CS or EE account, or else some other UCR account, so be sure to learn how to read those accounts or at least automatically forward messages to your personal email address (just create in your home directory a file named ".forward" containing your personal email address).

Additional Resources