2002-2003 General Catalog  

Computer Engineering
Computer Engineering Major,
Engineering I, Room 4157;
Telephone (805) 893-5615 or (805) 893-8292
Email: info@ce.ucsb.edu
Website: www.ce.ucsb.edu
(will open in a new browser window)

Director: Kwang-Ting (Tim) Cheng


Index:

Faculty

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)


The Computer Engineering major's objective is to educate broadly based engineers with an understanding of digital electronics, computer architecture, system software and integrated circuit design. These topics bridge traditional electrical engineering and computer science curricula. The Computer Engineering degree program is conducted jointly with faculty from the Department of Computer Science and the Department of Electrical and Computer Engineering. Computer engineers emerging from this program will be able to design and build integrated digital hardware and software systems in a wide range of applications areas. Computer engineers will seldom work alone and thus teamwork and project management skills are also emphasized. The undergraduate major in Computer Engineering prepares students for a wide range of positions in business, government and private industrial research, development and manufacturing organizations.

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:

  1. An overall UCSB grade point average of at least 3.0; and,

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


Undergraduate Program 

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


Computer Science Courses

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.

Lower Division

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.

Upper Division

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.

Lower Division

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)

Upper Division

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
 


UCSB Home | Office of the Registrar | No Frames Version
Catalog Introduction | Past Catalogs | Other UC Catalogs