The UCI General Catalogue is the official guide to all degree and graduation requirements; the information below is intended for general planning purposes only.
ICS Concentration in Embedded Systems (M.S. only)
The goal of this program is to prepare students for challenges in developing future embedded systems. These future systems will further integrate communications, multimedia, and advanced processors with complex embedded and real-time software for automotive, medical, telecommunications, and many other application domains. more »
- Required (the following courses must be completed with a grade of B or better):
- All students must complete six courses from the following List A:
- CS 244: Introduction to Embedded & Ubiquitous Systems
- CS 247: Design Automation and Prototyping of Embedded Systems
- CS 250A: Computer Systems Architecture
- CS 232: Internet
- CS 203: Network and Distributed Systems Security
- CS 242: Parallel Computing
- CS 250B: Modern Microprocessors
- CS 230: Distributed Computer Systems
- CS 243: High-Performance Architectures and Their Compilers
- Six additional courses chosen in one of the following two ways: (1) for students pursuing the M.S. thesis option, two four-unit courses in Thesis Supervision (CS 298 or Informatics 298) plus four graduate courses taken from List A or the following List B; or (2) for all other students, six graduate courses taken from List A or the following List B:
- CS 241: Advanced Compiler Construction
- CS 245: Software for Embedded Systems
- CS 246: Validation and Testing of Embedded Systems
- CS 252: Introduction to Computer Design
- EECS 211: Advanced System Software
- CS 211A: Visual Computing
- CS 248A/Informatics 241: Introduction to Ubiquitous Computing
- Informatics 211: Software Engineering
- Informatics 235: Advanced User Interface Architecture
- CS 236: Wireless and Mobile Networking
- CS 251: Digital System Verification and Testing
- CS 253: Design Description and Modeling
- CS 254: Design Synthesis
- CS 255: System Tools
- CS 258: Combinational Algorithm for Design Synthesis
- CS 267: Data Compression
- CS 265: Graph Algorithms
- EECS 223: Real-Time Computer Systems
M.S. students who do not have an undergraduate degree in Computer Science or equivalent must also take CS 260.
Each student must either (1) pass a written comprehensive examination administered by the Embedded Systems faculty; or (2) submit a thesis for approval by a three-person committee consisting of an advisor (who is an ICS Embedded Systems full-time faculty member) and two other full-time faculty members (one of which must be from ICS).
All courses must be passed with a grade of B or better.
- Required:
- CS 244: Introduction to Embedded & Ubiquitous Systems
- Five courses to be completed from the following list:
- CS 241: Advanced Compiler Construction
- CS 245: Software for Embedded Systems
- CS 246: Validation and Testing of Embedded Systems
- CS 247: Design Automation and Prototyping of Embedded Systems
- CS 250A: Computer Systems Architecture
- CS 232: Internet
- CS 203: Network & Distributed Systems Security
- CS 242: Parallel Computing
- CS 252: Introduction to Computer Design
- EECS 211: Advanced System Software
Six elective courses chosen in one of the following two ways: (1) for students pursuing the Thesis option, two four-unit courses in Thesis Supervision (CS 298), plus four graduate courses taken from the list above or the list below; or (2) for students taking the comprehensive exam, choose six courses from the list above or the list below.
- Electives:
- CS 248A: Intro to Ubiquitous Computing
- INF 211: Software Engineering
- INF 235: Advanced User Interface Architecture
- CS 250B: Modern Microprocessors
- CS 230: Distributed Computer Systems
- CS 236: Wireless and Mobile Networks
- CS 243: High Performance Architectures and Their Compilers
- CS 251: Digital System Verification and Testing
- CS 253: Design Description and Modeling
- CS 254: Design Synthesis
- CS 255: System Tools
- CS 258: Combinatorial Algorithms for Design Synthesis
- CS 265: Graph Algorithms
- CS 267: Data Compression
- EECS 223: Real-Time Computer System
Following is a list of suggested courses that interested students can take as electives to help focus their education in specific domains within embedded systems:
- Embedded System Architecture Focus:
- Embedded Software Focus:
- Distributed and Networked Embedded Systems Focus (select four):
- Micro-electronic Embedded Systems Focus:
- System Reliablity and Fault Tolerance Focus:
- Theoretical Foundations of Embedded Systems Focus:
Each student must either (1) pass a written comprehensive examination administered by the Embedded Systems faculty; or (2) submit a thesis for approval by a three-person committee consisting of an advisor (who is a full-time Bren School Embedded Systems faculty member) and two other full-time faculty members (one of which must be from the Bren School).
The goal of this program is to prepare students for challenges in developing future embedded systems. These future systems will further integrate communications, multimedia, and advanced processors with complex embedded and real-time software for automotive, medical, telecommunications, and many other application domains.
Furthermore, embedded systems are becoming parallel, deploying multiprocessor systems-on-a-chip and parallel application software. An in-depth knowledge of the underlying scientific and engineering principles is required to understand these advances and to productively contribute to development of such systems.
This program helps students master embedded system fundamentals, advanced computer architecture and compilers, networking, security, embedded, parallel and distributed software, and computer graphics in a sequence of courses and labs. Students also complete a large embedded systems project and may choose to write a Master's thesis.