UCR CS 122A: Intermediate Embedded and Real-Time Systems, Fall 2005

Other CS122A Offerings

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 areas in computing, having high impact on people's lives, and with tremendous potential for innovative new products. In addition to the catalog subjects below, we'll focus on team skills and effective communication. Key concepts covered include the importance of TRADEOFFS (including between software and hardware) and the need to understand APPLICATIONS (requiring knowledge of fields outside of core computing or electronics).

Past student evaluations of this course consistently echo two key points: Students work hard (but not unreasonably so), and learn a LOT of useful and interesting material (that they later often email was central in their getting a great job). Catalog description : CS 122A. Intermediate Embedded and Real-Time Systems (5) Lecture, 3 hours; laboratory, 6 hours. Prerequisite(s): CS 012, CS 120B/EE 120B. Covers software and hardware design of embedded computing systems. Topics include hardware and software codesign, advanced programming paradigms including state machines and concurrent processes, real-time programming and operating systems, basic control systems, and modern chip and design technologies. Laboratories involve use of microcontrollers, embedded microprocessors, programmable logic and advanced simulation, and debug environments.

Basic information

Instructor and office hours : Frank Vahid (Email: vahid, AT cs.ucr.edu) Office hours: To be announced in class
Office: Engineering Building Unit 2, room 328

Teaching Assistants: Ryan Mannion (Email: rmannion, AT cs.ucr.edu)
David Sheldon (Email: dsheldon, AT cs.ucr.edu)

Lecture : Tue & Thu, 9:40-11:00 in OLMH 1116

Labs : Mon & Fri   11:10 pm to 2:00 pm in ENGR2 (to be determined)
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:
Course grading: The grading will be based on the combination of two components: 43 pts: Lab component 38 pts: excercises, assignments and any lab quizzes
5 pts: attendance, participation, and presentations
57 pts: Lecture component 17 pts: Homeworks/quizzes/in-class-exercises/participation
20 pts: Midterm
20 pts: Final
Letter grades are 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 be given. Curving may be done on individual items only if it helps the class; never if it hurts the class. You are not competing against one another -- you can all earn As (and that has happened in the past), 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.


Schedule

General course features and policies

Lab guidelines

Lab presentations

Each day (starting the first week of lab) will include three 4-minute presentations at the beginning of the lab. Choose a recent article from the Additional Resources link below or another source of embedded systems information. No two people should present the same article. Talks should be almost exactly 4 minutes (questions will be held until afterwards), so plan carefully. The number of presentations per student depends on the number of students we have, but all should give the same number, and you can't give your next presentation until all students have finished their current one. Your talk should justify why you chose that article (why do you think it's interesting?)

Presentation Schedule

Electronic assignment turn-in

Grades

Grades as of 11/07/05
Please check carefully. Grading scale is roughly 90/80/70/60.

DDR Project

Course email list

CS 122A 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).