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



Other CS122A Offerings
Course Moodle Page

Overview

Embedded systems include almost any computing system other than traditional computers. Examples include cell phones, set-top boxes, medical devices, alarm systems, automotive systems, portable music players, 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 several concepts that go beyond any one course's subject matter, including:

Past student evaluations of this course regularly highlight two key points: Students work hard (but not unreasonably so), and learn a LOT of useful and interesting material (they later often send email indicating the material was key to their getting a good 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, TBA

Teaching Assistants: David Sheldon (Email: rmannion, AT cs.ucr.edu)
Scott Sirowy (Email: ssirowy, AT cs.ucr.edu)

Lecture : Tue & Thu, 2:10-3:30 in SPR 2339 (Inside view)

Labs : Mon & Wed   6:10 pm to 9:00 pm in ENGR2 136)
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 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 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.


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 a 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?)