|
Computer Engineering
Baskin School of Engineering
335 Baskin Engineering Building
(831) 459-2158
http://www.soe.ucsc.edu
Program Description | Faculty
| Course Descriptions
Lower-Division Courses
1. Hands-On Computer Engineering (2 credits). F,W,S
Hands-on introduction to computer engineering practice and
research, including digital systems, computer networks, robotics, multimedia
systems, embedded systems, and computer architecture. Designed for students
without previous background in computer engineering. Preference given to
students considering the computer engineering major. Enrollment restricted to
first-year students and sophomores. Other students may contact faculty for
permission number. Enrollment limited to 30. T. Larrabee,
R. Hughey, S. Petersen
3. Personal Computer Concepts: Software and Hardware. F,W,S
Provides an introduction to computers. Personal computing
is emphasized, and students are introduced to word processing, spreadsheets, database
management, graphics, and programming. Covers fundamentals of computing and
current and future uses of computer technology, PC hardware, Windows operating
system, applications software, networking and the Internet, and developments in
the computer industry. Designed for students with little or no experience using
computers. Students cannot receive credit for this course and Computer Science
2. (General Education Code(s): IN.) P. Mantey
8. Robot Automation: Intelligence through Feedback Control.
F
Introduction to dynamical systems, feedback control, and
robotics. Fundamental concepts in dynamical systems, modeling, stability
analysis, robustness to uncertainty, feedback as it occurs naturally, and the
design of feedback-control laws to engineer desirable static and dynamic
response. Course includes an introduction to MATLAB and programming in MATLAB.
(General Education Code(s): Q.) W. Dunbar
12. Computer Systems and Assembly Language. F,W,S
Introduction to computer systems and assembly language and
how computers compute in hardware and software. Topics include digital logic,
number systems, data structures, compiling/assembly process, basics of system
software, and computer architecture. Prerequisite(s): course 3 or Computer
Science 10, 12A , 60G or 60N, or Biomolecular Engineering 60, or suitable
programming experience; previous or concurrent enrollment in course 12L is
required. (General Education Code(s): IN, Q.) T. Larrabee,
R. Hughey, F. Ferguson, G. Elkaim
12L. Computer Systems and Assembly Language Laboratory (2
credits). F,W,S
Laboratory sequence in assembly language programming. The
lab examines both RISC and microcontroller programming. One two-hour laboratory
per week with an optional second two-hour laboratory. (Formerly offered as Computer Organization Laboratory.) Prerequisite(s):
course 3 or Computer Science 10, 12A , 60G, 60N, or Biomolecular Engineering
60, or suitable programming experience; previous or concurrent enrollment in
course 12 is required. Enrollment limited to 140. T.
Larrabee, R. Hughey, F. Ferguson, G. Elkaim
16. Applied Discrete Mathematics. F,W
Introduction to applications of discrete mathematical
systems. Topics include sets, functions, relations, graphs, trees, switching
algebra, first order predicate calculus, mathematical induction, permutations,
combinations, summation, and recurrences. Examples drawn from computer science
and computer engineering. Prerequisite(s): eligibility to enroll in Mathematics
19A (completion of Mathematics 2B or 3 or Mathematics Placement Exam score of
40 or higher) or completion of Mathematics 19A or 11A. (General Education
Code(s): Q.) H. Tao, T. Larrabee, M. Schlag, L. De Alfaro
16H. Honors Applied Discrete Mathematics. *
Honors version of course 16: introduction to applications
of discrete mathematical systems. Topics include sets, functions, relations,
graphs, trees, switching algebra, first order predicate calculus, mathematical
induction, permutations, combinations, inclusion-exclusion, summation,
recurrences, and generating functions. Examples are drawn from computer science
and computer engineering. Students register for course 16, then petition to be
accepted into 16H. Top students will be accepted. Enrollment limited to 60.
(General Education Code(s): Q.) The Staff
80A. Assistive Technology and Universal Access. W
Overview of human-centered technology and of its potential
for increasing the quality of life of disabled and elder individuals. Also
covers physical, psychological, and psychosocial aspects of disability and old
age, as well as demographic, legislative, accessibility, and acceptance issues.
(General Education Code(s): T7-Natural Sciences or Social Sciences.) R. Manduchi
80E. Engineering Ethics. S
Ethical theories, analysis, and their application to issues
in the practice of engineering, such as safety and liability, professional
responsibility to clients and employers, codes of ethics, legal obligations,
environmental issues, and social issues. Emphasis on developing independent
ethical analysis through the use of case studies. (General Education Code(s):
T6-Natural Sciences or Humanities and Arts.) G. Cox, (S)
The Staff
80H. History of Modern Computing. *
Presents a history of the development of computing
technologies (CPUs and I/O devices, operating systems, and languages) through
the latter half of the 20th century in order to build an understanding of how
today's computing environment evolved. (General Education Code(s): T2-Natural
Sciences.) D. Pease
80N. Introduction to Networking and the Internet. F,W,S
Introduction to the evolution, technological basis, and
services of the Internet, with descriptions of its underlying communications
structure, routing algorithms, peer-to-peer hierarchy, reliability, and packet
switching. Network security, mail, multimedia and data compression issues,
HTML, and digital images. Students who have completed course 150 cannot receive
credit for this course. (General Education Code(s): T2-Natural Sciences.) R. Manduchi, K. Obraczka, A. Varma
80U. Ubiquitous and Mobile Computing. F
Ubiquitous computing integrates computer and communication
technology with day-to-day life. Ubiquitous and mobile technology includes:
MP-3 players, camera cell phones, Bluetooth headsets, sensor neworks, and new
emerging technologies. Course provides an overview of the technology and
economics of ubiquitous computing. (General Education Code(s): T2-Natural
Sciences.) R. Manduchi
94. Group Tutorial. F,W,S
Provides a means for a small group of students to study a
particular topic in consultation with a faculty sponsor. Students submit
petition to sponsoring agency. May be repeated for credit. The Staff
94F. Group Tutorial (2 credits). F,W,S
Provides a means for a small group of students to study a
particular topic in consultation with a faculty sponsor. Students submit petition
to sponsoring agency. May be repeated for credit. The
Staff
99. Tutorial. F,W,S
Students submit petition to sponsoring agency. May be
repeated for credit. The Staff
99F. Tutorial (2 credits). F,W,S
Students submit petition to sponsoring agency. May be
repeated for credit. The Staff
Upper-Division Courses
100. Logic Design. W,S
Boolean algebra, logic minimization, finite-state machine
design, sequential circuits, common logic elements, programmable logic devices,
and an introduction to system level design. The electrical behavior of circuits
including three state outputs, propagation delay, logic levels, and fanout.
Prerequisite(s): courses 12 and 12L; previous or concurrent enrollment in
course 100L required. Enrollment limited to 60. T.
Larrabee, M. Schlag, S. Petersen
100L. Logic Design Laboratory (2 credits). W,S
Laboratory sequence illustrating topics covered in course
100. One two-hour laboratory session per week. Weekly laboratory assignments which
require the use of the oscilloscopes, TTL circuits, computer-aided design and
simulation tools, and programmable logic. Students are billed for a materials
fee. Prerequisite(s): courses 12 and 12L; previous or concurrent enrollment in
course 100 required. Enrollment limited to 60. T.
Larrabee, M. Schlag, S. Petersen
107. Mathematical Methods of Systems/Analysis: Stochastic.
F,W
Introduction to fundamental tools of stochastic analysis.
Probability, conditional probability, Bayes Theorem, random variables,
independence, Poisson processes, Bernnoulli trials, and Markov chains.
Instructor's choice of additional topics, most likely drawn from confidence
measures, difference equations, transform methods, stability issues,
applications to reliability, queues, and hidden Markov models. Students cannot
receive credit for this course and Applied Mathematics and Statistics 131.
Prerequisite(s): course 16 or 16H and Mathematics 22 or 23A. R. Manduchi, A. Brandwajn
108. Data Compression. *
Basics of information theory, lossless coding (Huffman
coding, arithmetic coding, dictionary coding), lossy coding (PCM, predictive
coding, transform coding). Application to the compression of specific data set,
which may include biological time series, DNA sequences, and multimedia
streams. Prerequisite(s): course 107 or Applied Mathematics and Statistics 131;
and Computer Science 101. Knowledge of C language and Unix required. R. Manduchi
110. Computer Architecture. *
High performance computer architecture including examples
of current approaches and the effect of technology and software. Instruction
set design and RISC, cache and virtual memory, pipelining, SIMD (array and
vector) processors, MIMD multiprocessors, interconnection schemes, performance.
Prerequisite(s): courses 12, 12L, and 16 or 16 H. R.
Hughey, F. Ferguson, A. Brandwajn
113. Parallel and Concurrent Programming. S
Introduction to parallel and concurrent programming. Topics
include types of parallel computers and programming platforms, basic and
advanced programming techniques, performance analysis and load balancing, and
selected parallel algorithms. Students perform extensive programming projects
using shared memory, cluster, and other platforms. Prerequisite(s): course 110
and Computer Science 101. R. Hughey, K. Obraczka, L. De
Alfaro
117. Embedded Software. S
Introduction to software design for embedded systems.
Emphasis on real-time embedded systems as follows: fundamentals of scheduling
for real-time systems, real-time operating systems, and real-time protocols for
distributed real-time systems; time-triggered and event-triggered paradigms for
embedded software development, their tradeoffs, and languages and tools for
development of embedded software. Prerequisite(s): course 121 or Computer
Science 111; previous or concurrent enrollment in course 117L required.
Enrollment limited to 20. L. De Alfaro
117L. Embedded Software Laboratory (2 credits). S
Gain experience in the practical aspects of embedded
programming by writing several programs for small robots. Emphasis is to
provide experience in a spectrum of programming paradigms (even-triggered,
time-triggered), communication paradigms (synchronous and asynchronous
programming), and programming languages (both C/C++ and more specialized
languages for embedded programming). Students are billed for a materials fee.
Concurrent enrollment in course 117 is required. Enrollment limited to 30. L. De Alfaro
118. Introduction to Mechatronics. W
Technologies involved in mechatronics (intelligent
electro-mechanical systems) and techniques necessary to integrate these
technologies into mechatronic systems. Topics include electronics (A/D, D/A
converters, opamps, filters, power devices), software program design
(event-driven programming, state machine-based design), DC and stepper motors,
basic sensing, and basic mechanical design (machine elements and mechanical
CAD). Combines lab component of structured assignments with a large and
open-ended team project. Prerequisite(s): Electrical Engineering 70/L and
course 12/L or equivalent. Concurrent enrollment in course 118L is required.
Enrollment limited to 36. G. Elkaim
118L. Introduction to Mechatronics Laboratory (2 credits).
W
Technologies involved in mechatronics (intelligent
electro-mechanical systems) and techniques necessary to integrate these
technologies into mechatronic systems. Topics include electronics (A/D, D/A
converters, opamps, filters, power devices), software program design
(event-driven programming, state machine-based design), DC and stepper motors,
basic sensing, and basic mechanical design (machine elements and mechanical
CAD). Combines lab component of structured assignments with a large and
open-ended team project. Students are billed for a materials fee.
Prerequisite(s): Electrical Engineering 70/L and course 12/L or equivalent.
Concurrent enrollment in course 118 is required. Enrollment limited to 36. G. Elkaim
121. Microprocessor System Design. F,S
The design and use of microprocessor-based systems. Covers
microprocessor and microcontroller architecture, programming techniques, bus
and memory organization, DMA, timing issues, interrupts, peripheral devices,
serial and parallel communication, and interfacing to analog and digital
systems. Prerequisite(s): courses 12/L and 100/L; Electrical Engineering 70/L;
previous or concurrent enrollment in course 121L required. Enrollment limited
to 40. P. Chan, R. Hughey, S. Petersen
121L. Microprocessor System Design Laboratory (2 credits).
F,S
Laboratory sequence illustrating topics covered in course
121. One two-hour laboratory session per week. Students design, build, program,
debug, document, and demonstrate a microprocessor-based system. Students are
billed for a materials fee. Prerequisite(s): courses 12C/L and 100/L;
Electrical Engineering 70/L; previous or concurrent enrollment in course 121
required. Enrollment limited to 40. P. Chan, R. Hughey, S.
Petersen
123A. Engineering Design Project I. F,W
First of a two-course sequence that is culmination of the
engineering program. Students apply knowledge and skills gained in elective
track to complete a major design project. Students complete research,
specification, planning, and procurement for a substantial project. Includes
technical discussions, design reviews, and formal presentations; engineering
design cycle, engineering teams, and professional practices. Formal technical
specification of the approved project is presented to faculty. Prerequisite(s):
course 171 or computer engineering 121; previous or concurrent enrollment in
computer engineering 185; must have passed core exam if computer engineering
major; permission of department and instructor. Students are billed a materials
fee. (Also offered as Electrical Engineering 123A. Students cannot receive
credit for both courses.) The Staff
123B. Engineering Design Project II. W,S
Second of two-course sequence in engineering system design.
Students fully implement and test system designed and specified in course 123A.
Formal written report, oral presentation, and demonstration of successful
project to review panel of engineering faculty required. Students are billed a
materials fee. (Also offered as Electrical Engineering 123B. Students cannot
receive credit for both courses.) Prerequisite(s): courses 123A and 185.
Enrollment limited to 35. The Staff
125. Logic Design with Verilog. F,S
Digital logic design, system-level design using current
state of the art in CAE tools. Students learn to design large-scale logic
circuits from fundamental building blocks and methods with the help of tools
used by professionals in the field today. All examples and assignments will use
the Verilog Hardware Description Language. Prerequisite(s): courses 121 and
121L; concurrent enrollment in course 125L. Students required to pass computer
engineering core exam in first week of class to remain enrolled. Enrollment
limited to 20. P. Chan, A. Varma
125L. Logic Design with Verilog Laboratory (2 credits). F,S
Laboratory sequence illustrating topics covered in course
125. One two-hour laboratory session per week. Students are billed a materials
fee. Prerequisite(s): courses 121/L; concurrent enrollment in course 125.
Enrollment limited to 20. P. Chan, A. Varma
126. Advanced Logic Design. W
The principles of digital system design with emphasis on
using computer-aided design tools for the specification, design, and
verification of digital systems. Project is the complete design,
implementation, and realization of a digital system using field-programmable
gate arrays. Prerequisite(s): courses 121/L and 185; students enrolling
concurrently in 185 need to request a permission code; concurrent enrollment in
course 126L required. Enrollment limited to 20. P. Chan,
M. Schlag, J. Renau
126L. Advanced Logic Design Laboratory (2 credits). W
Laboratory sequence illustrating topics in course 126. One
four-hour laboratory session per week. Students use computer-aided design tools
for the specification, design, and verification of digital systems. Students
implement and realize a digital system using field-programmable gate arrays.
Students are billed for a materials fee. Prerequisite(s): courses 121/L and
185; students enrolling concurrently in 185 need to request a permission code;
concurrent enrollment in course 126 required. Enrollment limited to 20. P. Chan, M. Schlag, J. Renau
150. Introduction to Computer Networks. *
Addresses issues arising in organizing communications among
autonomous computers. Network models and conceptual layers; Internet-working;
characteristics of transmission media; switching techniques (packet switching,
circuit switching, cell switching); medium access control (MAC) protocols and
local area networks; error-control strategies and link-level protocols; routing
algorithms for bridges and routers; congestion control mechanisms; transport
protocols; application of concepts to practical wireless and wireline networks
and standard protocol architectures. Students who have completed course 80N can
take this course for credit. Students are billed for a materials fee.
Prerequisite(s): courses 12, 12L, and 16 or 16H. J.
Garcia-Luna-Aceves, K. Obraczka, A. Varma
151. Network Administration. F
Projects include installing and configuring (client and
server) machines, configuring network routing, setting up firewalls and network
appliances, and setting up and using wireless networks. Includes lectures,
projects presented, and discussions. Requires formal written reports, oral
presentations, and demonstrations of projects. Students are billed for a
materials fee. Prerequisite(s): course 150. Enrollment limited to 30. K. Obraczka
152. Analysis and Design of Communication Protocols. *
Analysis and design of communication protocols for computer
networks. Random processes and queueing theory applied to performance analysis
of communication protocols, protocol verification methods, channel access
protocols, protocols for point-to-point and point-to-multipoint reliable
transmission, routing protocols, multicast protocols, and congestion control
protocols. Prerequisite(s): courses 107 and 150. J.
Garcia-Luna-Aceves
153. Digital Signal Processing. W
Introduction to the principles of signal processing,
including discrete-time signals and systems, the z-transform, sampling of
continuous-time signals, transform analysis of linear time-invariant systems,
structures for discrete-time systems, the discrete fourier transform,
computation of the discrete fourier transform, and filter design techniques.
Taught in conjunction with course 250. Students cannot receive credit for this
course and course 250. (Also offered as Electrical Engineering 153. Students
cannot receive credit for both courses.) Prerequisite(s): Electrical
Engineering 103. The Staff
156. Network Programming. *
Methods and tools used for network programming. Topics
include inter-process communication (IPC), facilities such as pipes, shared
memory, semaphores, sockets, and remote procedure call (RPC); design of client
and server sides of network applications; CGI programming; and programming projects.
Prerequisites: course 150 and Computer Science 111. Concurrent enrollment in
course 156L required. K. Obraczka, A. Varma
156L. Network Programming Laboratory (2 credits). *
Laboratory sequence illustrating concepts taught in course
156. Learn use of network programming tools and methods via programming
exercises. Students are billed for a materials fee. Prerequisites: course 150
and Computer Science 111. Concurrent enrollment in course 156 required. K. Obraczka, A. Varma
167. Sensing and Sensor Technologies. S
Introduces the fundamental issues in sensing and various
sensor technologies including motion sensors, velocity sensors, GPS sensors,
acoustic sensors, light and image sensors, and range sensors. Also demonstrates
sensor technologies using a system approach to show how they can be integrated
into a complete digital system. Prerequisite(s): course 100 and Electrical
Engineering 70. Concurrent enrollment in course 167L is required. H. Tao, G. Elkaim
167L. Sensing and Sensor Technologies (Lab section) (2 credits). S
Lab assignments reinforce the concepts and techniques
learned in course 167. Assignments include measurement and estimation
techniques, experiments with various sensors, and a course project in which
students build digital sensing systems. Prerequisite(s): course 100 and
Electrical Engineering 70. Concurrent enrollment in course 167 is required. H. Tao, G. Elkaim
173. High-Speed Digital Design. W
Studies of analog circuit principles relevant to high-speed
digital design: signal propagation, crosstalk, and electromagnetic
interference. Topics include electrical characteristics of digital circuits,
interfacing different logic families, measurement techniques, transmission
lines, ground planes and grounding, terminations, power systems, connectors/ribbon
cables, clock distribution, shielding, electromagnetic compatibility and noise
suppression, and bus architectures. Prerequisite(s): Electrical Engineering 70,
70L and course 174. Electrical Engineering 171 and course 121 recommended. Previous
or concurrent enrollment in course 173L required. Enrollment limited to 30. P. Chan, S. Petersen
173L. High-Speed Digital Design Laboratory (2 credits). W
Laboratory sequence illustrating topics covered in course
173. One two-hour laboratory session per week. Students are billed for a
materials fee. Prerequisite(s): Electrical Engineering 70, 70L and course 174.
Electrical Engineering 171 and course 121 recommended. Previous or concurrent
enrollment in course 173 required. Enrollment limited to 30. P. Chan, S. Petersen
174. Introduction to EDA Tools for PCB Design (3 credits).
F
Focus on EDA tools for design of printed-circuit boards.
Elements of design flow covered: schematic capture and simulation to final PCB
layout. Final project is required. Students are billed for a materials fee.
Prerequisite(s): Electrical Engineering 70 or consent of instructor. S. Petersen
177. Applied Graph Theory and Algorithms. *
Basic concepts and algorithms are reviewed including trees,
Eulerian and Hamiltonian graphs, and graph transversal. Algorithms are explored
to solve problems in connectivity, routing, matching, and embedding of graphs.
Graph theory and algorithms are developed around applications in computer
engineering. Prerequisite(s): Computer Science 101. M.
Schlag
185. Technical Writing for Computer Engineers. F,W
Writing by engineers and computer scientists, not to
general audiences, but to engineers, engineering managers, and technical
writers. Exercises include job application and resume, in-code documentation,
algorithm description, naive-user documentation, library puzzle, survey
article, proposal, progress report, formal technical report, and oral
presentation. Offered in alternate quarters. Prerequisite(s): satisfaction of
Entry Level Writing and Composition requirements; Computer Science 12B or 13H
or Computer Engineering 12. Enrollment restricted to School of Engineering
majors. Enrollment limited to 60. (General Education Code(s): W.) T. Larrabee, G. Cox, K. Karplus
193. Field Study. F,W,S
Provides for individual programs of study with specific
academic objectives carried out under the direction of a faculty member of the
Computer Engineering Department and a willing sponsor at the field site using
resources not normally available on campus. Credit is based on the presentation
of evidence of achieving the objectives by submitting a written and oral
presentation. May not normally be repeated for credit. Students submit petition
to sponsoring agency. The Staff
193F. Field Study (2 credits). F,W,S
Provides for individual programs of study with specific
academic objectives carried out under the direction of a faculty member of the
Computer Engineering Department and a willing sponsor at the field site using
resources not normally available on campus. Credit is based on the presentation
of evidence of achieving the objectives by submitting a written and oral
presentation. May not normally be repeated for credit. Students submit petition
to sponsoring agency. The Staff
194. Group Tutorial. F,W,S
A program of independent study arranged between a group of
students and a faculty member. Students submit petition to sponsoring agency.
May be repeated for credit. The Staff
194F. Group Tutorial (2 credits). F,W,S
A program of independent study arranged between a group of
students and a faculty member. Students submit petition to sponsoring agency.
May be repeated for credit. The Staff
195. Senior Thesis Research. F,W,S
Students submit petition to sponsoring agency.
Prerequisite: course 123A. The Staff
195F. Senior Thesis Research (2 credits). F,W,S
Students submit petition to sponsoring agency. Consent of
instructor required. Prerequisite: course 123A. The Staff
198. Individual Study or Research. F,W,S
Students submit petition to sponsoring agency. May be
repeated for credit. The Staff
198F. Individual Study or Research
(2 credits). F,W,S
Students submit petition to sponsoring agency. May be
repeated for credit. The Staff
199. Tutorial. F,W,S
For fourth-year students majoring in computer engineering.
Students submit petition to sponsoring agency. May be repeated for credit. The Staff
199F. Tutorial (2 credits). F,W,S
For fourth-year students majoring in computer engineering.
Students submit petition to sponsoring agency. May be repeated for credit. The Staff
Graduate Courses
200. Research and Teaching in Computer Science and
Engineering (3 credits). F
Basic teaching techniques for teaching assistants including
responsibilities and rights of teaching assistants, resource materials,
computer security, leading discussion or lab sessions, presentation techniques,
maintaining class records, electronic handling of homework, and grading.
Examines research and professional training, including use of the library and
online databases, technical typesetting, writing journal and conference papers,
publishing in computer science and computer engineering, giving talks in
seminars and conferences, and ethical issues in science and engineering.
Required for all T.A.s. Enrollment restricted to graduate students. T. Larrabee, A. Brandwajn, K. Karplus, M. Schlag, P. Kolaitis
202. Computer Architecture. F,W
Provides a thorough and fundamental treatment of the art of
computer architecture. Topics include concepts of von Neumann architectures,
methods of evaluating CPU performance, instruction-set design and examples,
compiler issues, instruction pipelining, superscalar processors, methods for
reduction of branch penalty, memory hierarchies, I/O systems, floating-point
arithmetic, and current issues in parallel processing. Prerequisite(s): course
110. Enrollment restricted to graduate students; undergraduates may enroll if
they have completed course 110 and with consent of instructor. Enrollment
limited to 30. P. Chan, R. Hughey, A. Varma
220. Parallel Processing. S
An introduction to massively parallel computing on array
processors and multiprocessors. A study of special- and general-purpose
parallel architectures and the applications they support. Networks and memory
hierarchies for multiprocessors. Evaluation of programming methodologies.
Emphasizes architectures that scale to thousands of processing elements.
Enrollment restricted to graduate students; undergraduates may enroll with
permission of instructor. R. Hughey
221. Advanced Microprocessor Design. *
Introduction to latest advances in computer architecture.
Focuses on processor core design. Topics include simultaneous multithreading,
thread level speculation, trace caches, novel out-of-order mechanisms, and
energy-efficient processor core designs. Final project is
modification/enhancement of an out-of-order processor on an FPGA development
system. Prerequisite(s): course 202; and course 125, 225, or equivalent Verilog
experience. Concurrent enrollment in course 221L required. Enrollment
restricted to graduate students. Enrollment limited to 20.
J. Renau
221L. Advanced Microprocessor Design Laboratory (3
credits). *
Laboratory sequence illustrating topics covered in course
221. Prerequisite(s): course 202; and course 125, 225, or equivalent Verilog
experience. Concurrent enrollment in course 221 required. Enrollment restricted
to graduate students. Enrollment limited to 20. J. Renau
222. VLSI Digital System Design. F
Introduction to VLSI design and methodology focusing on
custom integrated circuits. Topics include CMOS logic design and analysis,
clocking methodologies, simulation, RC timing, CAD design tools, and design for
testability. Design of sequential and combinational elements. Overview of
entire ASIC design flow from C through HDLs, to gates and layout. Intended to
familiarize students with design techniques and tools required for full-custom
and semi-custom design. Enrollment restricted to graduate students.
Undergraduates may enroll with permission of instructor. C.
Bazeghi
224. Testing Digital Circuits. *
An introduction to the theory and practice of testing.
Topics are chosen from fault and defect models, test generation for
combinational and sequential circuits, fault simulation, scan-design and
built-in self-test. Enrollment restricted to graduate students; undergraduates
may enroll if they have completed Computer Science 101. T.
Larrabee, F. Ferguson
225. Introduction to ASIC Systems Design. W
Introduction to system prototyping using field-programmable
gate arrays (FPGAs). Topics include architectures of FPGAs, behavioral design
specification, system partitioning, synthesis tools, design verification, and
studies of novel systems implemented with FPGAs. Intended to familiarize
students with the techniques and tools in ASIC designs. Final project is the
complete design of a small system using FPGAs. Enrollment restricted to
graduate students; undergraduates may enroll if they have completed courses
100/L and 202. Enrollment limited to 10. Offered in alternate academic years. P. Chan
226. Computer-Aided Analysis of Electrical Circuits. *
Covers issues involved in building an electrical circuit
simulator. Topics include formulation of circuit equations, device modeling,
solution of systems of linear and nonlinear equations, numerical integration
techniques, and switch-level timing simulation. Enrollment restricted to
graduate students; undergraduates may enroll if they have completed courses
171/L. Offered in alternate academic years. P. Chan
229. Field-Programmable Gate Arrays Computer-Assisted
Design. W
Design methods for Field-Programmable Gate Arrays (FGPAs),
including algorithms for technology mapping, routability estimation, placement,
and routing. The relationship between FPGA architectures and their
computer-aided design tools. Course project involves the modification and
analysis of an FPGA tool. (Formerly Field-Programmable
Gate Arrays Computer-Assisted Drafting.) Enrollment restricted to
graduate students or by consent of instructor. Courses 100, 125, 126, 222, 225,
or other digital design experience recommended. Enrollment limited to 20. M. Schlag
230. Computer Performance Evaluation. W
Introduction to methods of analysis of computer system
performance. Predictive performance models with emphasis on queuing models;
exact and appropriate solution methods, discrete-event simulation, and numeric
iterative approaches; analytical solutions and their computation; separable
queuing networks, decomposition approaches; examples of practical application;
and performance measurement, model validation, robustness of models, and
operational analysis. Enrollment restricted to graduate students. Enrollment
limited to 20. Offered in alternate academic years. A.
Brandwajn
232. Arithmetic Processors. *
Concept of number systems: binary additions,
multiplications, divisions; elementary function evaluations; algorithm
acceleration; floating-point and significant arithmetics; IEEE standards;
technology related issues; algorithm evaluation by implementation with gate
arrays. Prerequisite(s): course 202. Enrollment restricted to graduate
students. Enrollment limited to 15. P. Chan
240. Introduction to Linear Dynamical Systems. F
Introduction to applied linear algebra and linear dynamical
systems with applications to circuits, signal processing, communications, and
control systems. Topics include the following: Least-squares approximations of
over-determined equations and least-norm solutions of underdetermined
equations. Symmetric matrices, matrix norm and singular value decomposition.
Eigenvalues, left and right eigenvectors, and dynamical interpretation. Matrix
exponential, stability, and asymptotic behavior. Multi-input multi-output systems,
impulse and step matrices; convolution and transfer matrix descriptions.
Control, reachability, state transfer, and least-norm inputs. Observability and
least-squares state estimation. Enrollment restricted to graduate students;
undergraduates may enroll if they have completed Electrical Engineering 103 and
Applied Math and Statistics 147. G. Elkaim, K. Ross, W.
Dunbar, J. Cortes
241. Introduction to Feedback Control Systems. *
Graduate-level introduction to control of continuous linear
systems using classical feedback techniques. Design of feedback controllers for
command-following error, disturbance rejection, stability, and dynamic response
specifications. Root locus and frequency response design techniques. Extensive
use of Matlab for computer-aided controller design. Course has concurrent
lectures with Electrical Engineering 154. (Also offered as Electrical
Engineering 241. Students cannot receive credit for both courses.) Enrollment
restricted to graduate students. G. Elkaim, W. Dunbar, J.
Cortes
242. Applied Feedback Control. *
Sequel to Electrical Engineering 154. After reviewing
control design techniques examined in EE 154, this course explores state space
control, discrete time control, and two case studies in control design.
Students design and implement feedback controllers on an inverted pendulum
experiment. Prerequisite(s): Electrical Engineering 154 or course 241.
Enrollment restricted to juniors, seniors, and graduate students. W. Dunbar
243. System Identification. *
Course provides introduction to the construction of linear
dynamical models from experimental data using parametric and non-parametric
identification techniques. Theoretical and practical aspects of these
techniques addressed. Prerequisite(s): course 240, or by permission of
instructor. G. Elkaim, W. Dunbar
248. Games in Design and Control. W
Graduate-level introduction to game theory and its
applications to system design, verification, analysis, and optimal control.
Enrollment restricted to graduate students. Computer Science 101, 201, or
equivalent recommended. L. De Alfaro
250. Multimedia Systems. F
Study of state-of-the-art technology for networked
multimedia systems. Data processing and communication requirements for
distributed multimedia systems. Topics include audio, image, and video delivery
and compression standards, networking for multimedia, scene composition, and
digital television. Proficiency in C++ required; experience in designing user
interfaces recommended. Prerequisite(s): undergraduates may enroll if they have
completed course 150 and either course 108 or Electrical Engineering 103.
Enrollment restricted to graduate students. R. Manduchi
251. Error-Control Coding. *
Overview of coding to protect messages against error during
transmission or storage. Topics include channel models, linear algebra over
finite fields, linear block codes and bounds, cyclic codes (BCH and RS),
decoding algorithms, spectral analysis, codes on graphs, and low-complexity
algorithms. Enrollment restricted to graduate students or consent of
instructor. H. Sadjadpour
252A. Computer Networks. F
Issues resulting from organizing communication among
autonomous computers. Includes network models and switching techniques; medium
access control protocols and local area networks; error control and
retransmission strategies; routing algorithms and protocols; congestion control
mechanisms and end-to-end protocols; application-level protocols; and
application of concepts to wireless and wireline networks, with emphasis on the
Internet. Enrollment restricted to graduate students. J.
Garcia-Luna-Aceves
252B. Modeling of Communications Protocols. *
Theory and practice of computer communication networks.
Emphasis is on verification and performance analysis of network control
processes. Topics include protocols for channel access, point-to-point and
multipoint reliable transmission, routing, congestion control, network
management, multicasting, and ATM networks. Prerequisite(s): courses 107 and
252A. J. Garcia-Luna-Aceves, A. Varma
253. Network Security. S
Fundamental mechanisms for network security and their
application in widely deployed protocols. In-depth treatment of security
mechanism at the data-link, network, and transport layers for both wired and
wireless networks. Covers mechanisms for privacy and integrity, and methods for
intrusion detection. Prerequisite(s): course 252A and Computer Science 201.
Enrollment restricted to graduate students. A. Varma
254. High Speed Computer Networks. *
Fiber-optic technology; fiber-optic link design; network
protocol concepts; coding and error control; high-speed local area and
metropolitan area networks; gigabit networks; error and congestion control;
photonic networks; research topics. Prerequisite(s): course 252B. Offered in
alternate academic years. A. Varma
256. Design Project in Computer Networks. S
Students develop a working implementation of a network
protocol with the goal of obtaining hands-on experience in implementing
real-world network protocols. Prerequisite(s): course 252A; enrollment
restricted to graduate students. A. Varma
257. Wireless and Mobile Networks. W
An interdisciplinary course on wireless communication and
mobile computing. Covers the physical aspects of wireless communication but
emphasizes higher protocol layers. Topics include cellular networks, packet
radio and ad hoc networks, wireless transport protocols, security, and
application-level issues. Prerequisite(s): course 252A or permission of
instructor. Enrollment limited to 20. K. Obraczka
258. Unix Networking Internals. *
In-depth treatment of the implementation of network
protocols in typical open-source Unix systems. Topics include implementation of
send and receive functions, buffer management, interrupt handling, locking,
scheduling and timer management. Major implementation project required.
Prerequisite(s): course 252A. Computer Science 111 recommended. Enrollment
restricted to graduate students. A. Varma
259. Sensor Networks. S
Focus is on the networking aspects of sensor networks:
protocols at the various layers and how they answer the specific requirements
posed by these networks (e.g., data driven, energy efficient, etc.) and their
applications (monitoring, tracking, etc.). Explore how physical layer and
hardware issues may influence protocol design. Courses 252A and 257
recommended. K. Obraczka
263. Data Compression. *
Introduction to information theory and data compression.
Lossless coding (Huffman, arithmetic, dictionary codes). Lossy coding (scalar
and vector quantization, differential coding, transform coding). Applications
to the compression of real data sets (DNA sequences, biological time series,
multimedia streams). Concurrent lectures with course 108. Students cannot
receive credit for both this course and course 108. Students must have basic
knowledge of probability theory. (Formerly Data
Compression and Image Coding.) Enrollment restricted to graduate
students. R. Manduchi
264. Image Analysis and Computer Vision. F
Brief review of image processing. Binary images,
thresholding, morphological operations; edge detection and segmentation;
contours: digital curves and curve fitting; statistical texture analysis, shape
from texture; depth cues, stereo matching, depth from stereo; color perception
and segmentation; and shading and image radiance, surface orientation, and
shape from shading. Electrical Engineering 264 encouraged, but not required.
Undergraduate students who are interested in enrolling should meet with the
instructor first. H. Tao
265. Image and Video Coding. *
Topics include still image compression and moving picture
coding based upon the international standards called JPEG and MPEG. Theory of
transforms including the Hotelling transform, matrix algebra, quantization for
lossy compression, motion estimation, run-length coding of sequences of Os.
Prerequisite(s): graduate standing in School of Engineering or permission of
instructor. Enrollment restricted to computer engineering, computer science, or
electrical engineering majors. Enrollment limited to 29. The
Staff
276. Software Engineering. F
Introduction to the general principles of software
engineering. Covers current and classical topics from both practical and
theoretical viewpoints. Topics include software evolution, project management,
software inspections, design methods, requirements analysis and specification,
software testing, maintenance, software implementation, human interfaces, and
software engineering experimentation. Enrollment restricted to graduate
students; undergraduates may enroll in this course if they have completed
Computer Science 115. The Staff
277. Graph Algorithms. F
Explores graph theory and algorithms for solving problems
in engineering. A review of basic graph concepts and algorithms is followed by
topics in network flow, partitioning, spectral analysis of graphs, graph
isomorphism, and intractability. Prerequisite(s): Computer Science 101 and 102;
or course 177; or Computer Science 201; or equivalent. Enrollment restricted to
graduate students. Enrollment limited to 20. M. Schlag
278. Introduction to the Theory of Discrete Systems. *
Introduction to methods for modeling, analyzing, and
reasoning about discrete systems, such as hardware and software designs. First
part of course presents basic models for hardware and software systems and
introduces methods for system specification, verification, abstraction, and
stepwise refinement of a design into an implementation. Second part discusses
role of structure: hierarchy, system composition, and interface specification.
Prerequisite(s): some mathematical background is assumed. Enrollment restricted
to graduate students or by permission of instructor. L. De
Alfaro
280C. Seminar on Control (2 credits). F,W,S
Weekly seminar series covering topics of current research
in theory and application of control to engineering systems. Current research
work and literature in these areas discussed. Enrollment restricted to graduate
students; undergraduates may enroll with permission of instructor. May be
repeated for credit. G. Elkaim, K. Ross, W. Dunbar, J.
Cortes
280N. Seminar on Networks (2 credits). S
Weekly seminar series covering topics of current research
in networks and networked systems. Current research work and literature in
these areas are discussed. Prerequisite(s): permission of instructor. Enrollment
restricted to graduate students. May be repeated for credit. J. Garcia-Luna-Aceves, K. Obraczka
280P. Seminar on Parallel Processing (2 credits). F,W,S
Weekly seminar series covering topics of current research
in parallel systems, architectures, and algorithms. Current research work and
literature in these areas are discussed. Enrollment restricted to graduate
students. Enrollment limited to 20. May be repeated for credit. R. Hughey
280T. Seminar on New Technologies (2 credits). *
Weekly seminar series in which distinguished speakers from
industry, universities, and government discuss current developments in
networking and computer technology. The emphasis is on open research questions
that may lead to collaborative work with faculty and graduate students. The Staff
280V. Seminar on Computer Vision (2 credits). F,W,S
Weekly graduate-level seminar series discussing advanced
topics in computer vision and image analysis. Current research and literature
presented during each meeting. Enrollment limited to 20. May be repeated for
credit. H. Tao, R. Manduchi
285. Technical Writing for Engineering Graduates. S
Writing skills development for graduate engineers. Students
produce a major writing project with many subtasks. Exercises includes
fellowship application; mathematical and algorithmic description; use of tables
and graphs; experiment description; and producing technical web sites,
presentations, and posters. Enrollment restricted to graduate biomolecular
engineering, computer engineering, computer science, and electrical engineering
majors. (Open to all School of Engineering graduate students.) Enrollment
limited to 20. T. Larrabee, The Staff
290L. Advanced Topics in VLSI Computer-Aided Design. *
A graduate course on a research topic in VLSI
computer-aided design. Topic varies according to instructor. Possible topics
include, but are not limited to specification languages and formal
verification, logic minimization, testing and verification, electrical
simulation, layout synthesis, and behavioral synthesis. Course 100, 125, 126,
222, or 225 recommended. Offered in alternate academic years. P. Chan, T. Larrabee, F. Ferguson, M. Schlag
290M. Topics in Parallel Computation. *
Investigates selected topics in applied parallel
computation. Topics may include numerical methods, artificial intelligence and
machine learning algorithms, graphics and image processing, systolic
algorithms, and the interplay between hardware and algorithms. Students are
encouraged to investigate and discuss the parallelization of their own
research. Enrollment restricted to graduate students. R.
Hughey
290N. Topics in Computer Performance. S
Selected topics of current interest in the area of computer
system performance. Subjects may include aspects of large systems,
performability, computer networks, storage subsystems, and nontraditional
approaches and are subject to periodic revision. Enrollment restricted to
graduate students. Offered in alternate academic years. A.
Brandwajn
290V. Advanced Topics in Visual Computing. S
Advanced course in image analysis and computer vision.
Topics include motion analysis, multiple view geometry, 3D reconstruction,
image-based rendering, vision-based graphics, face detection and recognition,
tracking, image and video retrieval, and human-computer interface. Enrollment
restricted to seniors and graduate students. Enrollment limited to 20. H. Tao, S. Lodha
293. Advanced Topics in Computer Engineering. F,W,S
A graduate seminar on a research topic in computer
engineering which varies according to instructor. Possible topics include, but
are not limited to, communication networks, data compression, special-purpose
architectures, computer arithmetic, software reliability and reusability,
systolic arrays. The Staff
297. Independent Study or Research. F,W,S
Independent study or research under faculty supervision.
Students submit petition to sponsoring agency. The Staff
299. Thesis Research. F,W,S
Thesis research conducted under faculty supervision.
Students submit petition to sponsoring agency. The Staff
299C. Thesis Research (15 credits). S
Thesis Research. May be repeated for credit. The Staff
*Not
offered in 2006-07
|