Graduate Degrees and Concentrations

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 »


Fall 2009 to Current Degree Requirements

Degree Core:
  • 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.

Comprehensive Examination or Thesis

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).





Fall 2005 to Current Degree Requirements

Degree Core:

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
Electives

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
Program Focus and Suggested Electives:

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:
    • CS 250A: Computer Systems Architecture
    • CS 250B: Modern Microprocessors
    • CS 242: Parallel Computing
    • CS 243: High Performance Architectures and Their Compilers
    • CS 252: Introduction to Computer Design
    • CS 253: Design Description and Modeling
  • Embedded Software Focus:
    • INF 211: Software Engineering
    • INF 235: Advanced User Interface Architecture
    • CS 243: High Performance Architectures and Their Compilers
  • Distributed and Networked Embedded Systems Focus (select four):
    • CS 250A: Computer Systems Architecture
    • CS 230: Distributed Computer Systems
    • CS 232 or CS 236: Internet or Wireless & Mobile Networking
    • CS 242: Parallel Computing
  • Micro-electronic Embedded Systems Focus:
    • CS 251: Digital System Verification and Testing
    • CS 253: Design Description and Modeling
    • CS 254: Design Synthesis
    • CS 255: System Tools
  • System Reliablity and Fault Tolerance Focus:
    • CS 250A: Computer System Architecture
    • CS 251: Digital System Verification Testing
    • CS 253: Design Description and Modeling
  • Theoretical Foundations of Embedded Systems Focus:
    • CS 230: Distributed Computer Systems
    • CS 232: Internet
    • CS 258: Combinatorial Algorithm for Design Synthesis
    • CS 265: Graph Algorithms
Comprehensive Examination or Thesis

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).


More about the degree...

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.