During the junior year the student will select two sequence topics to satisfy CE Program Electives (CMPEN) during their senior year (see Degree Requirements > Major Requirements > Senior Elective Study Plan). For a sequence to be valid, a student must take at least two courses in the sequence topic.
Computer Networks
- Network architectures and protocols, wired and wireless networks, physical transmission media
- Multiplexing, switching, framing, error detection and correction, routing, flow control, congestion control, network security
- Network programming in C/C++ and Java
Sequence Coursework:
- Computer Networks - ECE 155A & ECE 155B or CMPSC 176A & CMPSC 176B
Computer Systems Design for Integrated Circuits
- Technology from which modern embedded computer systems are built
- Major software and hardware components, the system design issues of these components as well as the mechanisms and policies that are employed to interface between these components
Sequence Coursework:
- Hardware/Software Interface: ECE 153A or CMPSC 153A
- Sensor and Peripheral Interface Design: ECE 153B
Computer-Aided Design (CAD)
- System design and verification through use of software tools: simplify complex designs and ensure testability of systems
- Design aids in the form of analysis and optimization tools: potential for undergraduate research at UCSB
Sequence Coursework:
- Digital Design with VHDL and Synthesis: ECE 156A
- Computer-Aided Design of VLSI Circuits: ECE 156B
Distributed Systems
- Distributed systems architecture, distributed programming, message passing, remote procedure call
- Group communication, membership, asynchrony, logical time, consensus, fault tolerance, recovery
Sequence Coursework:
- Distributed Systems: ECE 151 OR CMPSC 171
and one or both of the following courses
- Intro to Computer Networks: ECE 155A or CMPSC 176A
- Network Computing : ECE 155B OR CMPSC 176B
Multimedia
- Multimedia concepts and technologies, computer image processing, computer vision
- Audio and video representation, compression and standards, JPEG, MPEG, MP3, Dolby
- Use of multimedia tools for image editing, music synthesis, rendering and animation
Sequence Coursework:
choose two or more of the following courses
- Multimedia Computing: ECE 160 OR CMPSC 182
- Fundamentals of Computer Image Processing: ECE 178
- Introduction to Computer Vision: ECE 181B OR CMPSC 181B
Programming Languages
- Structure of compilers - Basic techniques used in compiler construction such as lexical analysis, top-down and bottom-up parsing, context-sensitive analysis, and intermediate code generation
- Basic data structures used in compiler construction such as abstract syntax trees, symbol tables, three-address code, and stack machines
- Software tools used in compiler construction such as lexical analyzer generators (JLex) and parser generators (Java CUP)
- Construct a compiler for a small language using the above techniques and tools
Sequence Coursework:
- Translation of Programming: CMPSC 160 (NOTE: Prerequisite CMPSC 138 - Junior Year)
- Programming Languages: CMPSC 162
Real-Time Computing
- Real-time embedded computing
- Theoretical understanding of real-time computing and control technology
- Real time and clock synchronization, preplanned, rate monotonic, deadline and least-laxity scheduling, application-specific languages, timed input and output, jitter, smoothing and debouncing, safety and fault tolerance
- Lab experiments on feedback and digital control systems
Sequence Coursework:
- Feedback Control Systems - Theory and Design: ECE 147A (NOTE: Prerequisite ECE 130ABC - Jr. Yr)
- Digital Control Systems - Theory and Design: ECE 147B
Very Large Scale Integration (VLSI)
- Modern VLSI design from devices through systems
- FET circuit design, device parasitics, high performance, low power, large scale systems
- Enabling technology for embedded systems
- Emphasis on constrained and targeted design problems
- Individual design projects using state of the art tools
Sequence Coursework:
- VLSI Principles: ECE 124A (NOTE: Pre-requisite ECE 132 - may be taken concurrently)
- VLSI Architecture and Design: ECE 124D