Senior Sequence Courses

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.

drawing of computer networks

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
drawing of computer systems design

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
<empdrawing of CADty>

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
drawing of distributed systems

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
drawing of multimedia

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
drawing of programming languages

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
drawing of real-time computing

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
drawing of vlsi

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