Computer Engineering

2017-18 General Catalog

Baskin School of Engineering
(831) 459-2158
http://www.soe.ucsc.edu

Faculty | Program Statement


Lower-Division Courses

1. Hands-On Computer Engineering (2 credits). *
Hands-on introduction to computer engineering practice and research, including computer hardware, robotics, and embedded systems. Encourages interaction with UCSC's School of Engineering community. Designed for students without previous background in computer engineering. Enrollment restricted to first-year students and sophomores. Enrollment limited to 20. The Staff

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. G. Moulds

7. Statistical Reasoning in the Age of the Internet. *
Elementary methods of statistical and probabilistic reasoning are introduced through applications from the Internet. Computer simulations and analyses performed by the instructor are presented to develop and discuss these methods. Students experiment with their own simulations (programming skills not required), analyzing and interpreting results. Students cannot receive credit for this course if they have already received credit for course 107 or Applied Mathematics and Statistics 5 or 7 or 131. Prerequisite(s): Applied Mathematics and Statistics 2 or 3 or 6, or Mathematics 3. (General Education Code(s): SR.) The Staff

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. Students are billed a materials fee. Priority enrollment restricted to first-year students and sophomores. (General Education Code(s): MF.) R. Sanfelice

9. Introduction to Statics, Dynamics, and Biomechanics. W
Theory and application of statics and mechanics of materials for mechanical and biomechanical systems. Covers statics of particles; equilibrium of rigid bodies; free-body diagrams; analysis of structure; friction; concepts of stress and strain; axial loading; torsion and bending; and failure criteria. Prerequisite(s): Mathematics 19A, and Physics 5A/L or 6A/L., and Applied Mathematics and Statistics 10 or Mathematics 21. M. Teodorescu

10. Fundamentals of Robot Kinematics and Dynamics. S
Covers the theory and application of mathematical models to analyze the kinematics and dynamics of robot mechanisms or their components using vector algebra, differential equations, and computer simulations; also covers robot vehicle kinematics, robot arm kinematics, and robot dynamics with computational examples and problems. Some basic programming skills and familiarity with MATLAB are expected. Prerequisite(s): course 9, and Applied Mathematics and Statistics 20 or Mathematics 24. D. Milutinovic

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. May include C language. Students with no prior programming experience are strongly recommended to take course 3, Computer Science 5J, Computer Science 5P, Computer Science 10, or equivalent before taking this course. Prerequisite(s): previous or concurrent enrollment in course 12L is required. The Staff, T. Larrabee, M. Dunne, M. Guthaus, D. Long

12L. Computer Systems and Assembly Language Laboratory (2 credits). 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. May include C language. Students with no prior programming experience are strongly recommended to take course 3, Computer Science 5J, Computer Science 5P, Computer Science 10, or equivalent before taking this course. Prerequisite(s): previous or concurrent enrollment in course 12 is required. T. Larrabee, D. Long, M. Guthaus, M. Dunne, (WS) The Staff

13. Computer Systems and C Programming. W,S
Introduction to the C programming language as a means for controlling embedded and general computing systems. Continuing the exploration begun in course 12, students move to higher levels of abstraction in the control of complex computer systems. Prerequisite(s): courses 12 and 12L. Concurrent enrollment in course 13L is required. The Staff, E. Miller, M. Dunne, G. Elkaim, D. Long

13L. Computer Systems and C Programming Lab (2 credits). W,S
Laboratory sequence in C programming for embedded and general computing systems. Two 2-hour laboratories per week. Concurrent enrollment in course 13 is required. The Staff, E. Miller, M. Dunne, G. Elkaim, D. Long

16. Applied Discrete Mathematics. F,W,S
Introduction to applications of discrete mathematical systems. Topics include sets, functions, relations, graphs, predicate calculus, mathematical proof methods (induction, contraposition, contradiction), counting methods (permutations, combinations), and recurrences. Examples are drawn from computer science and computer engineering. Knowledge of computer programming is useful before taking this course. Students who do not have prior programing experience are strongly recommended to take Computer Science 5C, 5J, or 5P before taking this course. Prerequisite(s): Mathematics 19A or 11B or Applied Mathematics and Statistics 11B or 15B or Economics 11B. (General Education Code(s): MF.) T. Larrabee, C. Qian, W. Dunbar, M. Schlag

80A. Universal Access: Disability, Technology, and Society. F
Overview of human-centered technology and of its potential for increasing the quality of life and independence of disabled individuals. A substantial portion of the course is devoted to studying physical, psychological, and psychosocial aspects of disability. Topics include: diversity and integration, legislation, accessibility, and universal design. (Formerly Assistive Technology and Universal Access.) (General Education Code(s): PE-T.) S. Kurniawan, R. Manduchi

80E. Engineering Ethics.
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): PE-T.) S. Kurniawan, 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. The Staff

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): PE-T.) T. Larrabee, The Staff

80U. Ubiquitous and Mobile Computing. *
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 networks, and new emerging technologies. Course provides an overview of the technology and economics of ubiquitous computing. The Staff

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. F,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. M. Schlag, The Staff

100L. Logic Design Laboratory (2 credits). F,W,S
Laboratory sequence illustrating topics covered in course 100. Two 2-hour laboratory sessions 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 a materials fee. Prerequisite(s): courses 12 and 12L; previous or concurrent enrollment in course 100 required. Enrollment limited to 60. M. Schlag, The Staff

105. Principles of Computer Systems Design. F,W,S
Covers the principles governing computer-systems design and complexity; familiarity with memory, storage, and networking; concurrency and synchronization; layering (abstraction and modularity); naming; client-server and virtualized system models; and performance. Requires significant programming projects demonstrating mastery of these concepts. Prerequisite(s): courses 12 and 12L; and either CMPE 13 and 13L, or CMPS 12B and 12M; and knowledge of C programming language. G. Elkaim, E. Miller

107. Probability and Statistics for Engineers. W,S
Introduction to fundamental tools of stochastic analysis. Probability, conditional probability; Bayes Theorem; random variables and transforms; independence; Bernnoulli trials. Statistics, inference from limited data; outcomes of repeated experiments; applications to design; assessment of relative frequency and probability; law of large numbers; precision of measurements. Elements of stochastic processes, Poisson processes; Markov chains. Students cannot receive credit for this course and Applied Mathematics and Statistics 131. (Formerly Mathematical Methods of Systems Analysis: Stochastic.) Prerequisite(s): course 16 or 16H and Mathematics 22 or 23A. (General Education Code(s): SR.) B. Sawhill, J. Garcia-Luna-Aceves

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. Programming experience is required. Prerequisite(s): course 107 or Applied Mathematics and Statistics 131. The Staff

110. Computer Architecture. F,W,S
Introduction to computer architecture including examples of current approaches and the effect of technology and software. Computer performance evaluation, basic combinatorial and sequential digital components, different instruction set architectures with a focus on the MIPS ISA and RISC paradigm. Evolution of CPU microarchitecture from single-cycle to multi-cycle pipelines, with overview of super-scalar, multiple-issue and VLIW. Memory system, cache, virtual memory and relationship between memory and performance. Evolution of PC system architecture. May include advanced topics, such as parallel processing, MIMD, and SIMD. Prerequisite(s): courses 12/L, and courses 13/L or Computer Science 12A/L or Computer Science 11. Course 16 recommended. The Staff, J. Zhao, J. Renau Ardevol

112. Computer and Game Console Architecture. *
Introduces computer and game console architecture, including examples of current approaches and the effect of technology and software. Computer performance evaluation; instruction-set architectures; RISC CPU and pipelining; cache and memory; multi-core, system-level architecture; video card; special console architectures. Pre-requisite(s): course 12. The Staff

113. Parallel and Concurrent Programming. *
Introduction to parallel and concurrent programming. Topics include: types of parallel computers and programming platforms; design, implementation, and optimization of programs for parallel and multicore processors; basic and advanced programming techniques; performance analysis and load balancing; and selected parallel algorithms. (Also offered as Computer Science 113. Students cannot receive credit for both courses.) Prerequisite(s): Computer Engineering 12 and 12L and Computer Science 101. Computer Engineering 110 or 112 recommended. The Staff

114. Embedded Operating Systems. F,W,S
Detailed exploration of the internal design of an embedded operating systems kernel. Covers kernel structure and organization, device drivers, I/O systems, file systems, memory management, and security. Students complete significant programming projects that extend or modify existing operating systems. Prerequisite(s): courses 105 and 110. Enrollment limited to 50. D. Long, E. Miller

115. Introduction to Solid Mechanics. *
Introduces the solid mechanics of materials. Topics include: stress and strain, torsion, bending of beams, shearing stresses in beams, compound stresses, principal stresses, deflections of beams, and statically indeterminate members and columns. Prerequisite(s): course 9 and Mathematics 19B, and Applied Mathematics and Statistics 10 or Mathematics 21. M. Teodorescu

118. Introduction to Mechatronics. F
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. Cannot receive credit for this course and course 218. Prerequisite(s): Electrical Engineering 101/L and courses 12/L and 100/L. Concurrent enrollment in course 118L is required. Enrollment limited to 36. M. Dunne, G. Elkaim

118L. Introduction to Mechatronics Laboratory (2 credits). F
Laboratory sequence illustrating topics covered in course 118. Two 2-hour laboratory sessions per week. Students cannot receive credit for this course and course 218L. Students are billed a materials fee. Prerequisite(s): Concurrent enrollment in course 118 is required. Enrollment limited to 36. M. Dunne, 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 and Electrical Engineering 101/L; and course 13/L or Computer Science 12B/M. Concurrent enrollment in course 121L required and restricted to Computer Engineering and Robotics majors during First Pass Enrollment. Enrollment limited to 40. A. Varma

121L. Microprocessor System Design Laboratory (2 credits). F,S
Laboratory sequence illustrating topics covered in course 121. Two 2-hour laboratory sessions per week. Students design, build, program, debug, document, and demonstrate a microprocessor-based system. Students are billed a materials fee. Prerequisite(s): courses 12/L and 100/L and Electrical Engineering 101/L; and course 13/L or Computer Science 12B/M. Concurrent enrollment in course 121 required and restricted to Computer engineering and Robotics majors during First Pass Enrollment. Enrollment limited to 40. A. Varma

122. Introduction to VLSI Digital System Design. W
Introduces very large scale integrated (VLSI) custom integrated circuits. Topics include: semiconductor manufacturing, logic families, field-effect transistors (FETs), interconnect models, simulation, and circuits. Introduces the design flow from logic design to layout with a focus on high performance and low power. Students cannot receive credit for this course and course 222. Prerequisite(s): courses 100/L and Electrical Engineering 101/L. Enrollment limited to 25. J. Zhao, M. Guthaus

123A. Engineering Design Project I. W
First of a two-course sequence that is the 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. Students are billed a materials fee. Prerequisite(s): Computer Engineering 121; previous or concurrent enrollment in Computer Engineering 185; permission of department and instructor. (General Education Code(s): PR-E.) A. Varma, The Staff

123B. Engineering Design Project II (7 credits). 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. Prerequisite(s): courses 123A and 185. Enrollment limited to 35. A. Varma, The Staff

125. Logic Design with Verilog. S
Verilog digital logic design with emphasis on ASIC and FPGA design. Students design and verify large-scale systems. Assignments and project use the Verilog Hardware Description Language with emphasis on verification and high-frequency ASIC/FPGA targets. Prerequisite(s): courses 100 and 100L. Concurrent enrollment in course 125L required. Enrollment limited to 40. M. Guthaus, J. Renau Ardevol

125L. Logic Design with Verilog Laboratory (2 credits). S
Laboratory sequence illustrating topics covered in course 125. Two 2-hour laboratory sessions per week. Students are billed a materials fee. Prerequisite(s): courses 100 and 100L. Concurrent enrollment in course 125 is required. Enrollment limited to 40. M. Guthaus, J. Renau Ardevol

129A. Capstone Project I (2 credits). *
First of a three-course sequence in which students apply knowledge and skills gained in elective track to complete a major design project. In this first course, students complete the specification and planning for a substantial project. Topics covered: engineering design cycle, engineering teams, and professional practices. Prerequisite(s): previous or concurrent enrollment in courses 121 and 121L. Enrollment is restricted to bioengineering, computer engineering, and robotics engineering majors. P. Mantey

129B. Capstone Project II. *
Second of a three-course sequence in which students apply knowledge and skills gained in elective track to complete a major design project. In this second course, students complete the research and procurement for a substantial project and a preliminary implementation. Students are billed a materials fee. Prerequisite(s): courses 121, 121L, and 129A. Previous or concurrent enrollment in course 185. Enrollment by permission of instructor. (General Education Code(s): PR-E.) P. Mantey

129C. Capstone Project III. *
Third of a three-course sequence in which students apply knowledge and skills gained in elective track to complete a major design project. In this third course, students work in teams to complete the project specified and advanced in the first two courses. A formal written report, oral presentation, and demonstration of the successful project to a review panel of engineering faculty is required. Students are billed a materials fee. Prerequisite(s): courses 129B and 185. Enrollment by permission of instructor. P. Mantey

131. Human-Computer Interaction. *
Theory and hands-on practice to understand what makes user interfaces usable and accessible to diverse individuals. Covers human senses and memory and their design implications, requirement solicitation, user-centered design and prototyping techniques, and expert and user evaluations. Interdisciplinary course for social science and engineering majors. Students cannot receive credit for this course and Computer Engineering 231 or Digital Arts and New Media 231. Prerequisite(s): Computer Science 12B. The Staff

141. Feedback Control Systems. F
Analysis and design of continuous linear feedback control systems. Essential principles and advantages of feedback. Design by root locus, frequency response, and state space methods and comparisons of these techniques. Applications. (Also offered as Electrical Engineering 154. Students cannot receive credit for both courses.) Prerequisite(s): Electrical Engineering 103. Enrollment restricted to School of Engineering and Division of Physical and Biological Sciences majors, or by permission of instructor. Enrollment limited to 30. D. Milutinovic

145. Estimation and Introduction to Control of Stochastic Processes. S
Provides practical knowledge of Kalman filtering and introduces control theory for stochastic processes. Selected topics include: state-space modeling; discrete- and continuous-time Kalman filter; smoothing; and applications in feedback control. Students learn through hands-on experience. Students cannot receive credit for this course and course 245. Enrollment by permission of instructor. (Formerly Applied Mathematics and Statistics 118.) (General Education Code(s): SR.) D. Milutinovic

149. Introduction to Cyber-physical Systems. *
Presents the basic concepts and tools for the study of cyber-physical systems, including modeling and analysis tools for continuous-time and discrete-time systems, finite state machines, stateflow, timed and hybrid automata, concurrency, invariants, linear temporal logic, verification, and numerical simulation. Students are guided on methods for simulation and encouraged to apply them to several applications. The course is self-contained. Students are expected to have a basic background in logic circuits, programming, the mathematical modeling of dynamical systems (course 8 is recommended), differential equations, linear algebra, and basic calculus. Knowledge of MATLAB/Simulink is useful. Students cannot receive credit for this course and course 249. (Formerly course 142.) Prerequisite(s): courses 100/L or equivalent, and courses 13/L or equivalent. R. Sanfelice

150. Introduction to Computer Networks. F,W
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. Prerequisite(s): course 16 and either courses 12 and 12L, or Computer Science 12B and 12M. Concurrent enrollment in course 150L is required. C. Qian, K. Obraczka

150L. Introduction to Computer Networks Laboratory (2 credits). F,W
Illustrates the concepts covered in course 150 and provides students with hands-on experience in computer networks. Students are billed a materials fee. Prerequisite(s): course 16 and either courses 12 and 12L, or Computer Science 12B and 12M. Concurrent enrollment in course 150 is required. C. Qian, K. Obraczka

151. Advanced Computer Networks. S
Provides an in-depth coverage of fundamental topics introduced in course 150 including routing, transport, and internetworking. Also introduces advanced concepts not covered in course 150 including wireless, application-layer services, security, etc. (Formerly Network Administration.) Prerequisite(s): course 150. Concurrent enrollment in course 151L is required. Enrollment limited to 60. J. Garcia-Luna-Aceves, B. Smith

151L. Advanced Computer Networks Laboratory (2 credits). S
Laboratory illustrating the concepts covered in course 151: provides students with hands-on experience in computer networks. Students are billed a materials fee. Prerequisite(s): course 150 and 150L. Concurrent enrollment in course 151 is required. Enrollment limited to 30. B. Smith

153. Digital Signal Processing. S
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 Electrical Engineering 250. Students cannot receive credit for this course and Electrical Engineering 250. (Also offered as Electrical Engineering 153. Students cannot receive credit for both courses.) Prerequisite(s): Electrical Engineering 103. A. Fletcher

156. Network Programming. W
Methods and tools used for network programming. Topics include: operating system (OS) support for network protocols; inter-process communication (IPC) facilities, such as pipes, sockets, and remote procedure call (RPC); design of client and server sides of network applications; network security; and programming projects. Prerequisites: course 150/L and Computer Science 101. Concurrent enrollment in course 156L required. The Staff, A. Varma, M. Parsa

156L. Network Programming Laboratory (2 credits). W
Laboratory sequence illustrating concepts taught in course 156. Students learn use of network programming tools and methods via programming exercises. Students are billed a materials fee. Prerequisites: course 150/L and Computer Science 101. Concurrent enrollment in course 156 required. The Staff, A. Varma, M. Parsa

158. Network Management and Operations. *
Computer networking internship in the Network Management and Operations (NMO) Lab, an industry-sponsored, networks-research center at UCSC. Working in teams under faculty mentorship, students solve problems posed by industry sponsors over the course of a quarter. Students learn technical topics relevant to the problem, and gain experience and training in best practices for collaborative, multi-site problem solving. Prerequisite(s): course 150/L and 151/L; and previous or concurrent enrollment in course 185. Enrollment by instructor permission. The Staff

161. Mobile Sensing and Interaction. S
Provides hands-on knowledge and experience with modern mobile computing platforms for sensing and interactions tasks. Students learn how to create usable applications on a sensor-laden, mobile computing platform with adequate level of user interface. Prerequisite(s): courses 13/L or Computer Science 12B/M; and Physics 5A or Physics 6A. R. Manduchi

167. Sensing and Sensor Technologies. W
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 13/L and Electrical Engineering 103/L. Concurrent enrollment in course 167L is required. M. Guthaus

167L. Sensing and Sensor Technologies Lab (2 credits). W
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. Students are billed a materials fee. Prerequisite(s): course 13/L and Electrical Engineering 103/L. Concurrent enrollment in course 167 is required. M. Guthaus

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,S
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. Enrollment restricted to majors in Computer Engineering, Electrical Engineering, Bioengineering, Bioinformatics, Robotics Engineering, or Network and Digital Technology, or by permission of instructor. Prerequisite(s): satisfaction of Entry Level Writing and Composition requirements; and Computer Science 12B or Computer Engineering 12 or Biomolecular Engineering 160. Enrollment limited to 60. G. Moulds

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 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 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(s): course 123A or 129A. 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. K. Obraczka

202. Computer Architecture. W,S
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 or 112. Enrollment restricted to graduate students; undergraduates may enroll if they have completed course 110 or 112 and with consent of instructor. Enrollment limited to 30. J. Renau Ardevol, J. Zhao

215. Models of Robotic Manipulation. W
Theory and application of mathematical models to analyze, design, and program serial kinematic chains (robot arms). Covers models of arbitrary articulated robotic or biological arms and their application to realistic arms and tasks, including the homogeneous coordinate model of positioning tasks; the forward and inverse kinematic models; the Jacobian matrix; trajectory generation;and dynamic models, including Newton-Euler and Lagrangian formulations. Enrollment restricted to graduate students; and to seniors who have taken electrical engineering 154, and applied mathematics and statistics 10 or 10A or mathematics 21; or by permission of instructor. M. Teodorescu

216. Bio-Inspired Locomotion. S
Presents the principles of biological locomotion and application to robotics problems. Students learn about effective movements in the biological world (slithering, walking, climbing, and flying); extract their underlying principles; and apply them creatively to robotics design. Prerequisite(s): course 9 or equivalent. Enrollment restricted to graduate students, and seniors by permission of instructor. Enrollment limited to 20. M. Teodorescu

218. Mechatronics. F
Introduction to intelligent electro-mechanical systems, combining aspects of computer, electrical, mechanical, and software engineering. Students become proficient in all aspects of mechanical, electrical, computer system design, analysis, prototyping, presentation and team mentorship. Cannot receive credit for this course and course 118. Prerequisite(s): concurrent enrollment in course 218L. Enrollment restricted to graduate students. Enrollment limited to 36. M. Dunne, G. Elkaim

218L. Mechatronics Lab (2 credits). F
Laboratory sequence illustrating topics covered in course 218. Two 2-hour laboratory sessions per week. Students cannot receive credit for this course and course 118L. Students are billed a materials fee. Prerequisite(s): concurrent enrollment in course 218. Enrollment restricted to graduate students. Enrollment limited to 36. M. Dunne, G. Elkaim

220. Advanced Parallel Processing. F
Introduction to programming advanced parallel computer architecture. Topics may include: SIMD massively parallel processor arrays; streaming parallel coprocessors, such as graphics cards used for general-purpose processing (GPGPU); or other hybrid MIMD/SIMD architectures. Course has programming lab component, a project, and student presentation on related topics. (Formerly Parallel Processing.) Enrollment restricted to graduate students; undergraduates may enroll with permission of instructor. J. Renau Ardevol

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 Ardevol

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 Ardevol

222. VLSI Digital System Design. W
Advanced Very Large Scale Integrated (VLSI) custom integrated circuits. Topics include: semiconductors; field-effect transistors (FETs); circuits; and interconnect simulation, along with advanced material on manufacturability, variability, short-channel devices, and non-volatile memories. Students cannot receive credit for this course and course 122. (Formerly VLSI Digital System Design.) Prerequisite(s): course 122 or equivalent. Enrollment limited to 15. J. Zhao, M. Guthaus

223. VLSI System-on-a-Chip Design. *
Design methodologies for Application Specific Integrated Circuits (ASICs). Topics include: behavioral specification; logic synthesis; standard-cell libraries; advanced timing analysis; and physical design automation tools. Familiarizes students with real-world tools during the design of a small system-on-a-chip project. Students are encouraged to fabricate and test their chips in an independent study. Prerequisite(s): course 222 or permission of instructor. Enrollment restricted to graduate students. M. Guthaus

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. The Staff

225. Introduction to ASIC Systems Design. *
Introduces reconfigurable computing systems with emphasis on field-programmable devices. Topics include: architectures of field-programmable devices; novel reconfigurable systems; and hardware algorithms. Students are billed a materials fee. Enrollment restricted to computer engineering graduate students. Enrollment limited to 10. Offered in alternate academic years. The Staff

229. Field-Programmable Gate Arrays Computer-Assisted Design. *
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. 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. *
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. The Staff

231. Human-Computer Interaction. *
Theory and hands-on practice to understand what makes user interfaces usable and accessible to diverse individuals. Covers human senses and memory and their design implications, requirement solicitation, user-centered design and prototyping techniques, and expert and user evaluations. Individual research project. Interdisciplinary course for art, social science and engineering graduate students. Students cannot receive credit for this course and course 131. (Also offered as Digital Arts and New Media 231. Students cannot receive credit for both courses.) Enrollment restricted to graduate students. The Staff

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. The Staff

233. Human Factors. *
Course focuses on theories, practices, and design of systems to optimize human well-being and system performance through consideration of psychological, social, physical, and biological factors. Covers human sensory systems and memory, workload management, error and reliability, performance measurement, and ergonomic design. Interdisciplinary course for social science and engineering graduate students. Enrollment restricted to graduate students; undergraduates may enroll if they have completed course 131. The Staff

240. Introduction to Linear Dynamical Systems. W
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. W. Dunbar, The Staff

241. Introduction to Feedback Control Systems. F
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. D. Milutinovic, R. Sanfelice

242. Applied Feedback Control. S
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. G. Elkaim, R. Sanfelice

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. The Staff

244. Digital Control. W
Teaches the design and analysis of digital control systems. The topics covered are discrete-time system modeling; z-transform; stability, controllability, and observability of discrete-time systems; various design approaches to control design in which sensor, computer hardware, actuation, communication, and user interface are part of the design. Note: knowledge of linear algebra, calculus, basic differential equations, Laplace transform, signals and systems, linear-system control theory, MATLAB, and the use of word-processing software are assumed. Prerequisite(s): course 141 or 241. Enrollment restricted to graduate students, or by permission of the instructor. D. Milutinovic, P. Mantey

245. Estimation and Introduction to Control of Stochastic Processes. S
Provides practical knowledge of Kalman filtering and introduces control theory for stochastic processes. Selected topics include: state-space modeling; discrete- and continuous-time Kalman filter; smoothing; and applications in feedback control. Students learn through hands-on experience. Students cannot receive credit for this course and course 145. (Formerly Applied Mathematics and Statistics 218.) Enrollment restricted to graduate students. D. Milutinovic

246. Hybrid Dynamical Systems. *
Examines the modeling and analysis of hybrid dynamical systems, including the modeling of hybrid systems, the concept of solutions, Zeno behavior, equilibrium sets, stability, convergence, Lyapunov-based conditions, robustness, and simulation. Students are guided on methods for simulation and encouraged to apply them to several applications. Prerequisite(s): course 241. Enrollment restricted to graduate students. R. Sanfelice

247. Advanced Feedback Control Design. *
Advanced methods for the design of control algorithms for systems with nonlinearities, input constraints, network actuators/sensors, and intermittent availability of information. Modeling of nonlinear systems, Lyapunov stability, feedback redesign, nonlinear damping, control-Lyapunov functions, gain scheduling, passivity, network control, self- and event-triggered control, hybrid feedback control. Students validate analytical results using tools for numerical simulation of control systems. Prerequisite(s): courses 241 and 242. Enrollment is restricted to graduate students. R. Sanfelice

248. Games in Design and Control. *
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. The Staff

249. Introduction to Cyber-physical Systems. *
Presents the basic concepts and tools for the study of cyber-physical systems, including modeling and analysis tools for continuous-time and discrete-time systems, finite state machines, stateflow, timed and hybrid automata, concurrency, invariants, linear temporal logic, verification, and numerical simulation. Students are guided on methods for simulation and encouraged to apply them to several applications. The course is self-contained. Students are expected to have a basic background in logic circuits, programming, the mathematical modeling of dynamical systems (course 8 is recommended), differential equations, linear algebra, and basic calculus. Knowledge of MATLAB/Simulink is useful. Students cannot receive credit for this course and course 149. Prerequisite(s): courses 100/L or equivalent, and courses 13/L or equivalent. R. Sanfelice

250. Multimedia Systems. *
Study of state-of-the-art technology for networked multimedia systems. Topics include audio, image, and video acquisition and compression standards (JPEG, MPEG, and ITU families); networking for multimedia; and digital television. Proficiency in C or C++ required. Prerequisite(s): 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. The Staff

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, C. Qian, K. Obraczka

252B. Principles of Computer Communication. *
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. (Formerly Modeling of Communications Protocols.) Prerequisite(s): courses 107 and 252A. J. Garcia-Luna-Aceves

253. Network Security. *
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. C. Qian

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. A. Varma

256. Design Project in Computer Networks. *
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. The Staff

257. Wireless and Mobile Networks. S
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. J. Garcia-Luna-Aceves, C. Qian, K. Obraczka

258. Unix Networking Internals. S
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. D. Long, The Staff

259. Sensor Networks. S
Focuses 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.). Explores how physical layer and hardware issues may influence protocol design. Course 257 is recommended as a prerequisite. Prerequisite(s): course 252A. 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. Enrollment restricted to graduate students. The Staff

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. Enrollment restricted to graduate students. Undergraduate students who are interested in enrolling should meet with the instructor first. R. Manduchi

277. Graph Algorithms. S
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

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. R. Sanfelice, M. Teodorescu, D. Milutinovic

280G. VLSI/CAD Seminar (2 credits). F,W,S
Weekly seminar on advanced topics in VLSI and computer-aided design (CAD). Students present and discuss modern issues in semiconductor design, fabrication, and CAD. Frequent guest speakers present pertinent results from industry and academia. Enrollment limited to 20. May be repeated for credit. M. Guthaus

280N. Seminar on Networks (2 credits). F
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. K. Obraczka, J. Garcia-Luna-Aceves

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. J. Renau Ardevol

280T. Seminar on New Technologies (2 credits). F,W,S
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. J. Zhao

280V. Seminar on Computer Vision (2 credits). F,S
Weekly graduate-level seminar series discussing advanced topics in computer vision and image analysis. Current research and literature presented during each meeting. Enrollment is by permission of the instructor. Enrollment is restricted to graduate students. Enrollment limited to 20. May be repeated for credit. R. Manduchi

285. Technical Writing for Engineering Graduates. *
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. 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. The Staff

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. The Staff

290N. Topics in Computer Performance. *
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. The Staff

290V. Advanced Topics in Visual Computing. *
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. The Staff

293. Advanced Topics in Computer Engineering. F,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, M. Guthaus, E. Miller

296. Masters Project (2 credits). F,W,S
Independent completion of a masters project under faculty supervision. Students submit petition to sponsoring agency. Enrollment restricted to graduate students. May be repeated for credit. 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

299F. Thesis Research (2 credits). F,W,S
Independent study or research under faculty supervision. Enrollment restricted to graduate students. Recommended for part-time students. Students submit petition to sponsoring agency. May be repeated for credit. The Staff

* Not offered in 2017-18

[Return to top]

Revised: 09/01/17