Director: Kwang-Ting (Tim) Cheng
|
Index: |
Kevin Almeroth, Ph.D., Georgia Institute of Technology, Associate Professor (computer networks and protocols, large-scale multimedia systems, performance evaluation and distributed systems)
Elizabeth Belding-Royer, Ph.D., UC Santa Barbara, Assistant Professor (mobile wireless networking, ad hoc mobile networks and protocols, and wireless network security)
Forrest D. Brewer, Ph.D., University of Illinois at Urbana-Champaign, Associate Professor (VLSI and computer system design automation, theory of design and design representations, symbolic techniques in high level synthesis)
Tevfik Bultan, Ph.D., University of Maryland, College Park, Assistant Professor (specification and automated analysis of concurrent systems, computer-aided verification, model checking)
Steven E. Butner, Ph.D., Stanford University, Professor (computer architecture, VLSI design of CMOS and gallium-arsenide ICs with emphasis on distributed organizations and fault-tolerant structures)
Edward Chang, Ph.D., Stanford University, Assistant Professor (multimedia systems, database systems, and distributed systems)
Kwang-Ting (Tim) Cheng, Ph.D., UC Berkeley, Professor (design automation, VLSI testing, design synthesis, design verification, algorithms)
Amr El Abbadi, Ph.D., Cornell University, Professor (information systems, databases, fault-tolerant distributed systems, digital libraries)
Teofilo Gonzalez, Ph.D., University of Minnesota, Professor (multimessage multicasting, VLSI placement and routing algorithms, scheduling theory, design and analysis of algorithms)
Oscar H. Ibarra, Ph.D., UC Berkeley, Professor (theory of computation, design and analysis of algorithms, computational complexity, parallel computing, VLSI, computer-aided design)
Alan G. Konheim, Ph.D., Cornell University, Professor (computer communications, computer systems, modeling and analysis, cryptography)
Malgorzata Marek-Sadowska, Ph.D., Technical University of Warsaw, Poland, Professor (design automation, computer-aided design, integrated circuit layout, logic synthesis)
P. Michael Melliar-Smith, Ph.D., University of Cambridge, Professor (fault tolerance, formal specification and verification, distributed systems, communication networks and protocols, asynchronous systems)
Louise E. Moser, Ph.D., University of Wisconsin, Professor (distributed systems, computer networks, software engineering, fault-tolerance, formal specification and verification, performance evaluation)
Behrooz Parhami, Ph.D., UC Los Angeles, Professor (parallel architectures and algorithms, computer arithmetic, computer design, dependable and fault-tolerant computing)
Li-C. Wang, Ph.D., University of Texas at Austin, Assistant Professor (design verification, testing, computer-aided design of microprocessors)
Richard Wolski, Ph.D., UC Davis/Livermore, Assistant Professor (high-performance distributed computing, computational grids, computational economies for resource allocation and scheduling)
Undergraduate advising is provided under the direction of the Assistant to the Dean for undergraduate studies in the College of Engineering. Faculty advisors are also available to help with academic program planning. Students who hope to change to this major should consult the Assistant to the Dean.
Admission to the major
Undergraduate students enrolled in other majors may petition to enter the Computer Engineering major at any time the requirements below have been met:
An overall UCSB grade point average of at least 3.0; and,
Satisfactory completion at UCSB, with a grade point average of 3.0 or better, of at least five core classes required as preparation for the major (listed below), including at least two in Computer Science or Electrical and Computer Engineering. The core classes are: Mathematics 3A-B-C, 5A; Computer Science 10, 20, 40, 60; Electrical and Computer Engineering 2A-B-C, 15A-B. If the student has not attained the minimum 3.0 GPA with the first five core classes completed, all subsequent core classes will be included in the GPA computation.
Students who have completed more than 105 units will not be considered for a change of major/change of college unless they can demonstrate that they will be able to complete all the degree requirements for the proposed program without exceeding 200 total units.
Bachelor of Science--Computer Engineering
The curriculum contains a core required of all computer engineers, a choice of at least 32 units of senior year elective courses including completion of two out of eight elective sequences and a senior year capstone design project.
Because the Computer Engineering degree program is conducted jointly with the Department of Computer Science and the Department of Electrical and Computer Engineering, several of the upper-division courses have equivalent versions offered by ECE or CMPSC. These courses are considered interchangeable, but only one such course of a given equivalent ECE/CMPSC pair may be taken for credit.
Courses required for the major, whether inside or outside of the Departments of Electrical and Computer Engineering or Computer Science, must be taken for letter grades. They cannot be taken for the passed/not passed grading option.
Preparation for the major
All undergraduate Computer Engineering majors are required to meet a set of minimum unit and grade-point requirements and a set of General Education requirements which are common to all undergraduate majors in the College of Engineering. In addition, required preparation for the major consists of the following lower-division courses (or their equivalents if taken elsewhere): Chemistry 1A-B, 1AL-BL; Computer Science 10, 20, 40, 60; ECE 2A-B-C, 15A-B; Engineering 5A; Mathematics 3A-B-C, 5A; Physics 1, 2, 3, 4, 3L, 4L.
The Assistant to the Dean can suggest a recommended study plan for Computer Engineering freshmen and sophomores. Each student is assigned a departmental faculty advisor who must be consulted in planning the junior and senior year programs.
Upper-division major
The upper-division requirements consist of a set of required courses and a minimum of 32 units of additional departmental elective courses comprising at least two sequences chosen from a set of eight specialty sequences. Each sequence must consist of two or more courses taken from the same course/sequence group. The department electives must also include a capstone design project. Upper-division courses required for the major are: Computer Science 130A, 170; ECE 152A-B, 154, either ECE 139 or PSTAT 120A; Engineering 101.
The required departmental electives are taken primarily in the senior year; they permit students to develop depth in specialty areas of their choice. A student's elective course program and senior project must be approved by a departmental faculty advisor. A variety of elective programs will be considered acceptable. Sample programs include those with emphasis in: computer-aided design (CAD); computer systems design; computer networks; distributed systems; programming languages; real-time computing and control; multimedia; and very large-scale integrated (VLSI) circuit design.
The defined sequences from which upper-division departmental electives may be chosen are: · Computer-Aided Design (CAD): ECE 156A-B
Satisfactory Progress and Prerequisites
A majority of Computer Science and Electrical and Computer Engineering courses have prerequisites which must be completed successfully. Students will not be permitted to take any ECE or CMPSC course if they received a grade of F in one or more of its prerequisites. Students who fail to maintain a grade-point average of at least 2.0 in the major may be denied the privilege of continuing in the major.
Five-Year Bachelor of Science/Master of Science Program
A combined B.S./M.S. program in Computer Engineering provides an opportunity for outstanding undergraduates to earn both degrees in five years. The M.S. degree will be earned in either the Department of Computer Science or the Department of Electrical and Computer Engineering while the B.S. degree is earned in Computer Engineering. Additional information about this program is available from the undergraduate office. Interested students should contact the undergraduate office early in their junior year because they need to plan their junior year classes differently from other undergraduates. Transfer students should notify the office of their interest in the program at the earliest possible opportunity. In addition to fulfilling undergraduate degree requirements, B.S./M.S. degree candidates must meet Graduate Division degree requirements, including university requirements for academic residence and units of coursework as described in the section "Graduate Education at UCSB."
Return to Top of Page
Courses listed in this section represent only a partial listing of Computer Science courses and are intended for the use of Computer Engineering majors. Refer to the Computer Science course section for a full listing of courses.
5AA-ZZ. Introduction to Computer Programming
(4) Staff
Not open for credit to students who have completed Computer Science 10 or
Engineering 3. May not be repeated with a different suffix.
Introduction to programming and the organization of computers. Basic programming
concepts, algorithms, data and control structures, debugging, program design,
documentation, structured programming. Sections are:
C. C Programming
PA. Pascal
JA. Java
10. Computer Programming
(4) Gonzalez, Su
Prerequisite: Mathematics 3A.
Students with no prior programming background are encouraged to take Computer
Science 5JA before 10.
Introduction to programming and computers. Basic programming concepts: algorithms,
data and control structures, debugging, program design, documentation, structured
programming, object oriented programming.
20. Programming Methods
(4) Singh
Prerequisite: Computer Science 10 and
Mathematics 3B.
Programming techniques as follows: specification, representation, and manipulation
of basic data structures such as stacks, queues, lists, trees, sets, arrays,
etc. Searching and sorting techniques; predicate logic and program correctness;
induction and recursion; running time analysis. Students write several medium-sized
object-oriented programs.
40. Foundations of Computer Science
(4) Konheim
Prerequisites: Computer Science 10 or 12; and Mathematics 3C.
Not open for credit to students who have completed Computer Science 26.
Propositional predicate logic, set theory, functions and relations, counting,
mathematical induction and recursion (generating functions).
60. Introduction to C, C++, and UNIX
(4) Su
Prerequisites: Computer Science 20.
Reduced credit of 2 units will be given to students who have completed Computer
Science 12.
Syntax and semantics of C and C++. Introduction to basic UNIX utilities and
tools. Students complete several small projects that exercise their understanding
of the material presented in class.
130A. Data Structures and Algorithms I
(4) Gonzalez
Prerequisites: Computer Science 20, 40 and 60; Computer Science 30 or ECE
15A-B; PSTAT 120A or ECE 139; open to computer science and computer engineering
majors only.
The study of data structures and applications. Correctness proofs and techniques
for the design of correct programs. Internal and external searching. Hashing
and height balanced trees. Analysis of sorting algorithms. Memory management.
Graph traversal techniques and their applications.
130B. Data Structures and Algorithms II
(4) Gonzalez
Prerequisites: Computer Science 40 and 130A; and, Computer Science 136 or
138.
Design and analysis of computer algorithms. Correctness proofs and techniques
for the design of correct programs. Solution of recurrence relations. Design
techniques: divide and conquer, greedy strategies, dynamic programming, backtracking,
and local search. Applications of techniques to problems from several disciplines.
138. Automata and Formal Languages
(4) Egecioglu
Prerequisites: Computer Science 40; open to computer science and computer
engineering majors only.
Formal languages; finite automata and regular expressions; properties of regular
languages; pushdown automata and context-free grammars; properties of context-free
languages; introduction to computability and unsolvability (Turing machines)
and computational complexity.
153A. Hardware/Software Interface
(4) Staff
Prerequisite: ECE 152A.
Same course as ECE 153A.
Machine-level structures implementing the operating system abstraction; memory-mappers,
multi-level interrupts, direct memory access techniques. Lowest-level software/firmware
structures: micro-kernels, interpreters, emulators, threaded-code, real-time
scheduling. Compilation and cross-compilation techniques; system initialization;
validation and debugging; in-circuit testing. (first offered 2002-2003)
160. Translation of Programming Languages
(4) Gonzalez
Prerequisites: Computer Science 130A; and Computer Science 136 or 138; open
to computer science and computer engineering majors only, or by consent of department.
Study of the structure of compilers. Topics include: lexical analysis; syntax
analysis including LL and LR parsars; type checking; run-time environments;
intermediate code generation; and compiler-construction tools.
162. Programming Languages
(4) Hölzle
Prerequisite: Computer Science 130A; open to computer science and computer
engineering majors only, or by consent of department.
Concepts of programming languages: scopes, parameter passing, storage management;
control flow, exception handling; encapsulation and modularization mechanism;
reusability through genericity and inheritance; type systems; procedural, object-oriented,
functional, and logic programming languages.
170. Operating Systems
(4) Agrawal
Prerequisites: Computer Science 130A or 125; and, Computer Science 154 or
ECE 154; open to computer science, computer engineering, and EE majors only,
or by consent of department.
Basic concepts of operating systems. The notion of a process; interprocess communication
and synchronization; input-output, file systems, memory management.
171. Distributed Systems
(4) El Abbadi
Prerequisite: Computer Science 170.
Not open for credit to students who have completed ECE 151.
Distributed systems architecture, distributed programming, network of computers,
message passing, remote procedure calls, group communication, naming and membership
problems, asynchrony, logical time, consistency, fault-tolerance, and recovery.
(first offered 2004-2005)
176A. Introduction to Computer Communication Networks
(4) Konheim
Prerequisites: PSTAT 120A or ECE 139; open to computer science, computer
engineering, and electrical engineering majors only.
Not open for credit to students who have completed Computer Science 176 or ECE
155 or ECE 155A.
Recommended preparation: PSTAT 120B.
Basic concepts in networking, the OSI model, error detection codes, flow control,
routing, medium access control, and high-speed networks.
176B. Network Computing
(4) Almeroth
Prerequisite: Computer Science 176A.
Not open for credit to students who have completed ECE 155B or 194W.
Creating networked application systems, distributed objects, CORBA, JAVA, applets,
mobile agents, naming, resource management, network security, internet multicasting
and multimedia, wireless networks.
178. Introduction to Cryptography
(4) Konheim
Prerequisites: Computer Science 10; and, Probability and Statistics 120A
or 121A.
An introduction to the basic concepts and techniques of cryptography and cryptanalysis.
Topics include: the Shannon Theory, classical systems, the Enigma machine, the
Data Encryption Standard, public key systems, digital signatures, file security.
181B. Introduction to Computer Vision
(4) Wang
Same course as ECE 181B.
Overview of image processing, pattern recognition; image formation, binary images;
edge detection, image segmentation, introduction to textured image analysis,
optical flow, depth from stereo, shape from shading, shape from motion, shape
representation techniques, issues in object recognition, case study of some
vision systems.
182. Multimedia Computing
(4) Almeroth
Prerequisites: Computer Science 176A and 176B.
Not open for credit to students who have completed ECE 160.
Introduction to multimedia and applications, including video conferencing, WWW,
digital libraries, video on demand. Digital video and audio communication architectures,
standards (including JPEG and MPEG2), multimedia storage and retrieval. Multimedia
computing on the Internet and digital libraries. (first offered 2003-2004)
189. Senior Computer Systems Project
(4) Gonzalez
Prerequisite: consent of instructor. Senior standing in computer engineering,
computer science, or ECE.
Not open for credit to students who have completed ECE 189A-B.
Student groups design a significant computer-based project. Multiple groups
may cooperate toward one large project. Each group works independently. Interaction
among groups is via interface specifications and informal meetings.
Return to Top of Page
Electrical
and Computer Engineering Courses
Courses listed in this section represent only a partial listing of Engineering
and ECE courses. This list is intended for the use of Computer Engineering majors.
Refer to the ECE course section for a full
listing of courses.
Engineering 5A. Computations in Elementary Differential Equations and Linear
Algebra
(1) Staff
Prerequisites: Physics 1; Mathematics 5A (may be taken concurrently); open
to College of Engineering majors only.
Ordinary differential equations, initial value problems, and linear algebra
explored in an engineering context with the use of modern computer math tools.
(F)
2A. Circuits, Devices, and Systems
(4) Long
Prerequisites: Physics 2 with a minimum grade of C-; and, Mathematics 3A-B-C
with a minimum grade of C; and, Mathematics 5A (may be taken concurrently) with
a minimum grade of C; open to EE and computer engineering majors only. Lecture,
3 hours; laboratory, 3 hours.
Introductory circuit analysis; op-amps and op-amps circuits; phasors and AC
analysis; first and second order transient analysis. Introduction to pc-based
circuit simulators; introduction to the use of test instruments (oscilloscope,
multi-meter, function generators, power supplies). (F)
2B. Circuits, Devices, and Systems
(4) Long
Prerequisites: ECE 2A with a grade of C- or better; open to EE and computer
engineering majors only. Lecture, 3 hours; laboratory, 3 hours.
Introduction to diodes, transistors, logic gates, and transformers. Emphasis
is on understanding phenomenological I-V curves and switching operations. Coverage
of nonlinear applications such as half-wave and full-wave rectifiers, (diode
and op-amp), voltage multiplier, amplifiers, logic gates. (F,W)
2C. Circuits, Devices, and Systems
(4) Long
Prerequisites: ECE 2B with a grade of C- or better; open to EE and computer
engineering majors only. Lecture, 3 hours; laboratory, 3 hours.
Continuation of introductory circuit analysis. Laplace transform and solution
of steady state and transient circuit problems in the s-domain; Bode plots;
resonators; op-amps and design of op-amp circuits; passive and active filters;
Fourier series and Fourier transformers. Two-port circuit parameters and their
use in small signal transistor circuit analysis.
15A. Computer Organization
(3) Marek-Sadowska
Prerequisite: ECE 2A.
Not open for credit to students who have completed ECE 15. Lecture, 3 hours,
discussion, 1 hour.
Digital logic circuits, integrated circuits, and digital functions. Elementary
use of CAD tools for schematic capture, VHDL logic design and simulation. Data
representation. Register transfer design and microoperations. Digital computer
organization. (W)
15B. Assembler Programming
(3) Marek-Sadowska
Prerequisite: ECE 15A.
Not open for credit to students who have completed Computer Science 30 or ECE
15. Lecture, 3 hours, Discussion, 1 hour.
Basic computer organization, elements of computer software, assembler language
programming, subroutines, I/O programming, interrupt processing, and system
programming. (S)
Engineering 101. Ethics in Engineering
(3) Staff
Prerequisite: upper-division standing in engineering. Lecture, 3 hours.
The nature of moral value, normative judgment and moral reasoning. Theories
of moral value. The engineer's role in society. Ethics in professional practice.
Safety, risk, responsibility. Morality and career choice. Code of ethics. Case
studies will facilitate the comprehension of the concepts introduced. (W,S)
124A. VLSI Principles
(4) Brewer
Prerequisites: ECE 132 (may be taken concurrently) and ECE 154 with a minimum
grade of C- in both. Lecture, 3 hours; laboratory, 3 hours.
Field effect transistor device models, large swing circuit transient analysis.
Device, circuit, and subsystem layout rules; device and interconnection parasitics
and relation to circuit performance. CMOS design optimization strategies for
digital and mixed signal integrated circuits.
124D. VLSI Architecture and Design
(4) Brewer
Prerequisite: ECE 124A with a minimum grade of C-. Lecture, 3 hours; discussion,
1 hour.
Practical issues in VLSI circuit design, pad/pin limitations, clocking and interfacing
standards, electrical packaging for high-speed and high-performance design.
On-chip noise and crosstalk, clock and power distribution, architectural and
circuit design constraints, interconnection limits and transmission line effects.
139. Probability and Statistics
(4) Iltis
Prerequisites: Upper-division standing; EE and Computer Engineering majors
only. Lecture, 3 hours; discussion, 2 hours.
Fundamentals of probability, random variables, functions of random variables,
expectation and high-order moments, characteristic functions, random sequences,
laws of large numbers, hypothesis testing. (S)
147A. Feedback Control Systems - Theory and Design
(5) Smith, Teel
Prerequisites: ECE 130A-B-C with a minimum grade of C- in each; open to EE
and computer engineering majors only. Lecture, 3 hours; laboratory, 6 hours.
Feedback systems design, specifications in time and frequency domains. Analysis
and synthesis of closed loop systems. Computer aided analysis and design. (F)
147B. Digital Control Systems - Theory and Design
(5) Smith, Teel
Prerequisite: ECE 147A with a minimum grade of C-; open to EE and computer
engineering majors only. Lecture, 3 hours; laboratory, 6 hours.
Analysis of sampled data feedback systems; state space description of linear
systems; observability, controllability, pole assignment, state feedback, observers.
Design of digital control systems. (W)
151. Distributed Systems
(4) Melliar-Smith
Prerequisite: Computer Science 170 with a minimum grade of C-.
Not open for credit to students who have completed Computer Science 171. Lecture,
3 hours; discussion, 1 hour.
Operation on multiple computers, distributed programming techniques and distributed
programming languages, message passing, remote procedure invocation, group communication,
asynchrony, causality, consistency, fault tolerance and recovery, group membership,
naming, resource management, scheduling, specification, monitoring, testing
and debugging.
152A. Digital Design Principles
(5) Staff
Prerequisites: ECE 15 or 15A-B or Computer Science 30 with a minimum grade
of C- in each course; open to EE, computer engineering and computer science
majors only. Lecture, 3 hours; laboratory, 6 hours.
Boolean algebra, switching functions. Application of Boolean algebra to the
design and analysis of combinational logic nets; minimization procedures. Analysis
and synthesis of sequential switching circuits, synchronous and asynchronous
operation, state minimization, hazards, and races. (F,W,SS)
152B. Digital Design Methodologies
(5) Cheng
Prerequisites: ECE 152A with a minimum grade of C-; open to EE, computer
engineering, and computer science majors only. Lecture, 3 hours; discussion,
6 hours.
Design methodologies of digital systems, the register and processor levels.
Design of functional subsystems, including arithmetic processors, hardwired
and microprogrammed control units, memory systems, and bussing systems. System
organization including communication, input/output systems, and multiple CPU
systems. (S)
153A. Hardware/Software Interface
(4) Chang
Prerequisite: Computer Science 125 or 130A with a minimum grade of C- in
either.
Same course as Computer Science 153A. Lecture, 3 hours; discussion, 1 hour.
Machine-level structures implementing the operating system abstraction; memory-mappers,
multi-level interrupts, direct memory access techniques. Lowest-level software/firmware
structures: micro-kernels, interpreters, emulators, threaded-code, real-time
scheduling. Compilation and cross-compilation techniques; system initialization;
validation and debugging; in-circuit testing. (F)
153B. Sensor and Peripheral Interface Design
(4) Butner
Prerequisites: ECE 152B and 153A with a minimum grade of C- in both. Lecture,
3 hours; laboratory, 3 hours.
Hardware description languages; field-programmable logic and ASIC design techniques.
Mixed-signal techniques: A/D and D/A converter interfaces; video and audio signal
acquisition, processing and generation, communication and network interfaces.
(W)
154. Introduction to Computer Architecture
(4) Parhami
Prerequisite: ECE 152A with a minimum grade of C-; open to EE, computer engineering,
and computer science majors only.
Not open for credit to students who have completed Computer Science 154. Lecture,
3 hours; discussion, 1 hour.
Computer architecture representation methods. Classical processor/memory/switch
aspects of computer architecture: instructions, addressing, interpretation and
control, I/O systems, and memory hierarchies. Aspects of system architecture:
protection mechanisms and hardware aids to supervision, specialized processors,
and multi-processor/computer systems. Evaluation methods and system analysis.
(F,S,SS)
155A. Introduction to Computer Networks
(4) Moser
Prerequisite: ECE 154 or Computer Science 154 or 170 with a minimum grade
of C- in any.
Not open for credit to students who have completed Computer Science 176 or 176A,
or ECE 155. Lecture, 3 hours; discussion, 1 hour.
OSI reference model, analog and digital transmission, local-area networks, packet
switching, protocols, routing, flow control, performance, error recovery, security,
client-server systems, Internet, and ATM. (W)
155B. Network Computing
(4) Moser
Prerequisite: ECE 155A with a minimum grade of C-.
Not open for credit to students who have completed Computer Science 176B or
ECE 194W. Lecture, 3 hours; discussion, 1 hour.
Creating networked application systems, distributed objects, CORBA, JAVA, applets,
mobile agents, naming, resource management, network security, internet multicasting
and multimedia, wireless networks. (S)
156A. Digital Design with VHDL and Synthesis
(4) Cheng
Prerequisite: ECE 152A with a minimum grade of C-. Lecture, 3 hours; laboratory,
3 hours.
Introduction to VHDL basic elements. VHDL simulation concepts. VHDL concurrent
statements with examples and applications. VHDL subprograms, packages, libraries
and design units. Writing VHDL for synthesis. Writing VHDL for finite state
machines. Design case study.
156B. Computer-Aided Design of VLSI Circuits
(4) Marek-Sadowska
Prerequisite: ECE 156A with a minimum grade of C-. Lecture, 3 hours; laboratory,
3 hours.
Introduction to computer-aided simulation and synthesis tools for VLSI. VLSI
system design flow, role of CAD tools, layout synthesis, circuit simulation,
logic simulation, logic synthesis, behavior synthesis and test synthesis. (not
offered 2001-2002)
157. Real-Time Embedded Control Computing
(4) Smith
Prerequisite: ECE 153B with a minimum grade of C-. Lecture, 3 hours; laboratory,
3 hours.
Basic real-time embedded computing, 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, fault tolerance.
160. Multimedia Systems
(4) Chang
Prerequisites: ECE 178 and 181B; Computer Science 125 with a minimum grade
of C- in all prerequisites; open to EE, computer engineering, computer science,
and creative studies majors only.
Not open for credit to students who have completed Computer Science 182. Lecture,
3 hours; laboratory, 3 hours.
Introduction to multimedia and applications, including WWW, image/video databases
and video streaming. Course covers media content analysis, media data organization
and indexing (image/video databases), and media data distribution and interaction
(video-on-demand and interactive TV).
178. Fundamentals of Computer Image Processing
(4) Manjunath
Prerequisites: ECE 15 or ECE 15A-B or Computer Science 30 with a minimum
grade of C- in each course; open to EE and computer engineering majors only.
Lecture, 3 hours; discussion, 1 hour.
Basic concepts in image processing. Techniques, capabilities, and limitations
with emphasis on use of digital computer but also of optical and analog systems.
Image sampling, reconstruction, enhancement, restoration, data extraction, and
coding. Some hands-on laboratory experience is offered. (W)
181A. Introduction to Robotics: Robot Mechanics
(4) Paden
Same course as ME 170A.
Recommended preparation: ME 16. Lecture, 3 hours; laboratory, 3 hours.
Overview of robot kinematics and dynamics. Structure and operation of industrial
robots. Robot performance: work space, velocity, precision, payload. Comparative
discussion of robot mechanical designs. Actuators. Robot coordinate systems.
Kinematics of position. Dynamics of manipulators.
(S; may not be offered every year)
181B. Introduction to Computer Vision
(4) Manjunath
Prerequisites: upper-division standing.
Same course as Computer Science 181B. Lecture, 3 hours; discussion, 1 hour.
Overview of image processing, pattern recognition; image formation, binary images;
edge detection, image segmentation, introduction to textured image analysis,
optical flow, depth from stereo, shape from shading, shape from motion, shape
representation techniques, issues in object recognition, case study of some
vision systems. (S)
181C. Introduction to Robotics: Robot Control
(4) Paden
Prerequisite: ECE 147A or ME 155A with a minimum grade of C- in either. Lecture,
3 hours; laboratory, 3 hours.
Overview of robot control technology from open-loop manipulators and sensing
systems, to single-joint servovalves and servomotors, to integrated adaptive
force and position control using feedback from machine vision and touch sensing
systems. Design emphasis on accurate tracking accomplished with minimal algorithm
complexity. (F; may not be offered every year)
189A-B. Senior Computer Systems Project
(4-4) Staff
Prerequisite: consent of instructor; senior standing in computer engineering,
computer science, or EE.
Not open for credit to students who have completed Computer Science 189.
Student groups design a significant computer-based project. Groups work independently
with interaction among groups via interface specifications and informal meetings.
Return to Top of Page