| 2008-09 EECS Course Schedule | Undergraduate Manual |
This is the complete up-to-date course listing for EECS department.
Click the linked course number to view course outlines, including prerequisites. The column to the right indicates which terms the course is offered. Click on the term to see the course homepage (if one exists).
Last updated on June 30, 2008. |
- EECS 101 - 'CS 101': An Introduction to Computer Science For Everyone
- This course is a non-programming introduction to the field of computer science suitable for freshmen, non-majors, and majors who would like to understand the scope of the field of Computer Science, its key intellectual questions, and its impact on the worlds of technology, business, politics, and law. It covers, at a high level, theory and algorithms, systems and networking, programming languages and software engineering, human-computer interaction and graphics, artificial intelligence and machine learning, security, and some current crazy ideas.
- This course is a required Core course in the CS curriculum in McCormick and Weinberg
- This course satisfies the Weinberg Area III (Social and Behavioral Sciences) Distribution
|
Spring 2009 Dinda TuTh 3:30-4:50
|
- EECS 110 - Introduction to Computer Programming
- Introduction to programming practice using a modern programming language. Analysis and formulation of problems for computer solution. Systematic design, construction, and testing of programs. Substantial programming assignments.
|
Fall 2008 Riesbeck MTuWF 10-10:50
Winter 2009 Tumblin MTuWF 10-10:50
Spring 2009 Kuzmanovic MTuWF 10-10:50
|
- EECS 111 - Fundamentals of Computer Programming II
- This is an introductory course on the fundamentals of computer programming. I see this class as an opportunity for you, the student, to see what computer programming is all about and (more importantly) to see whether you want to spend the next few years doing more of it. This course will include weekly programming projects, readings, a midterm, and final examinations. Class participation is not optional.
|
Fall 2008 Horswill MTuWF 11-11:50
Winter 2009 Birnbaum MTuWF 2-2:50
|
- EECS 130 - Tools and Technology of the World Wide Web
- Introduction to the theory and practice of developing sites on and technology for the World Wide Web. It will cover the basics of HTML, JavaScript, ASP, and CGI programming.
|
Fall 2008 Hammond TuTh 11-12:20
|
- EECS 202 - Introduction to Electrical Engineering
- An introduction to the concepts and applications of electrical engineering. Topics include quantization, binary representation, performance; power spectral density, digital filtering; fundamental limitations; control systems, Feedback systems; properties of lasers; amplifiers, passive circuit elements, active circuit elements; electronic devices and materials.
|
Fall 2008 Taflove/Shahiar/Butz MTuWF 2-2:50
Winter 2009 Pappas/Shahriar/Butz MTuWF 10-10:50
Spring 2009 Plonus/Shahriar/Butz MTuWF 10-10:50
|
- EECS 203 - Introduction to Computer Engineering
- Overview of computer engineering design. Number systems and Boolean algebra. Logic gates. Design of combinational circuits and simplification. Decoders, multiplexers, adders. Sequential logic and flip flops. Introduction to assembly language. Application of concepts to a computer engineering design project.
|
Fall 2008 Joseph MTuWF 11-11:50
Winter 2009 C. Wu MTuWF 11-11:50
Spring 2009 Dick MTuWF 11-11:50
|
- EECS 205 - Fundamentals of Computer System Software
- Basics of assembly language programming. Macros. System stack and procedure calls. Techniques for writing assembly language programs. The features of IA-32 based PC will be used. Interfaces between high-level languages and assembly codes will be discussed.
|
Fall 2008 Lin MTuWF 4-4:50
Spring 2009 Joseph MTuWF 2:00-2:50
|
- EECS 211 - Fundamentals of Computer Programming II
- Continuation of 111. Key concepts in software design and systems programming. Object-oriented programming (in C++), design of interpreters and compilers, and register machines. Required for computer science majors.
|
Fall 2008 Henschen MTuWF 1-1:50
Winter 2009 Henschen MTuWF 2-2:50
Spring 2009 Riesbeck MTuWF 1-1:50
|
- EECS 213 - Introduction to Computer Systems
- This course has four purposes: (1) to learn about the hierarchy of abstractions and implementations that comprise a modern computer system; (2) to demystify the machine and the tools that we use to program it; (3) to come up to speed on systems programming in C in the Unix environment; (4) to prepare students for upper-level systems courses.
|
Fall 2008 Dinda MW 2-3:20
Spring 2009 Bustamante MW 2-3:20
|
- EECS 221 - Fundamentals of Circuits
- Fundamental concepts in electrical circuits; circuit analysis and network theorems; linearity and superposition; series/parallel combinations of R, L, and C circuits; sinusoidal forcing; complex frequency and Bode plots; mutual inductance and transformers; two port networks.
|
Winter 2009 Plonus MTuWF 9-9:50
Spring 2009 Plonus MTuWF 2-2:50
|
- EECS 222 - Fundamentals of Signals and Systems
- Comprehensive introduction to analysis of continuous and discrete-time signals and systems. Linear time-invariant systems, convolution; Fourier series representations of periodic signals; Continuous time and discrete time Fourier transforms; Laplace transform; z-transform.
|
Fall 2008 Kumar MTuWF 2-2:50
Winter 2009 Katsaggelos MTuWF 2-2:50
|
- EECS 223 - Fundamentals of Solid State Engineering
- Introduction to Solid State Engineering. Crystalline state of matter. Quantum phenomena, quantum mechanics. Electrons in atoms, atoms in crystals, electrons in crystals. Energy band structures. Semiconductors. Thermal properties of crystals.
|
Fall 2008 Razeghi MTuWF 9-9:50
Spring 2009 Mohseni MTuWF 9-9:50
|
- EECS 224 - Fundamentals of Electromagnetics and Photonics
- Concepts of flux, potential, gradient, divergence, curl, and field intensity. Boundary conditions and solutions to Laplace and Poisson equations. Capacitance and inductance calculations. Conductors, insulators, and magnetic materials. Introduction to Electromagnetic Waves and Transmission Lines.
|
Fall 2008 Shahriar MTuWF 1-1:50
Spring 2009 Taflove MTuWF 11-11:50
|
- EECS 225 - Fundamentals of Electronics
- Fundamental concepts in electronics. Diode, BJT and FET Circuits; design using ideal operational amplifiers; feedback; frequency response; biasing; current sources and mirrors; small-signal analysis; design of operational amplifiers.
|
Fall 2008 C. Wu MTuWF 2-2:50
Winter 2009 C. Wu MTuWF 3-3:50
|
- EECS 230 - Programming for Engineers
- Introduction to programming, basic data types, basic control structures; object-oriented programming, classes, constructors and destructors, derived class and inheritance, pointers; engineering applications. Not for Computer Engineering majors.
|
Winter 2009 Scheuermann MTuWF 1-1:50
Spring 2009 Lin MTuWF 1-1:50
|
- EECS 231 - Advanced Programming for Computer Engineers
- Object-oriented programming, classes and data hiding, dynamic object construction and destruction, derived classes and inheritance, virtual functions; file processing; introduction to UNIX; testing and test generation.
|
|
- EECS 250 - Physical Electronics and Devices
- The physical basis of electronic devices and their application in analog and digital systems. Diodes, transistors, LEDs, photodetectors, and lasers are described, and their properties are explored.
|
Fall 2008 Grayson MTuWF 11-11:50
|
- EECS 270 - Applications of Electronic Devices
- DC and AC networks, rectifiers, transistor amplifiers, feedback and operational amplifiers, digital electronics, and microprocessors. Not open to electrical or computer engineering majors.
|
|
- EECS 302 - Probabilistic Systems and Random Signals
- Basic concepts of probability theory and statistics, random variables, moments; multiple random variables, conditional distributions, correlation; random signals; applications to engineering systems.
|
Fall 2008 Plonus MTuWF 10-10:50
Spring 2009 Haddad MTuWF 10-10:50
|
- EECS 303 - Advanced Digital Logic Design
- Overview of digital logic design. Implementation technologies, timing in combinational and sequential circuits, EDA tools, basic arithmetic units, introduction to simulation and synthesis using VHDL.
|
Fall 2008 Dick TuTh 3:30-4:50
Spring 2009 S. Memik TuTh 3:30-4:50
|
- EECS 307 - Communications Systems
- Analysis of analog and digital communications systems, including modulation, transmission, and demodulation of AM, FM, and TV systems. Design issues, channel distortion and loss, bandwidth limitations, additive noise.
|
Fall 2008 Lee MTuWF 10-10:50
|
- EECS 308 - Advanced Electromagnetics and Photonics
- Electromagnetic waves, transmission lines; impedance transformation; transients on lines; wave reflection and transmission; metallic waveguides and wave transmission; antenna and diffraction, antenna arrays, communication, and radar.
|
Winter 2009 Li MTuWF 1-1:50
|
- EECS 310 - Mathematical Foundations of Computer Science
- This course will discuss fundamental concepts and tools in discrete mathematics with emphasis on their applications to computer science. Example topics include logic and Boolean circuits; sets, functions, relations, databases, and finite automata; deterministic algorithms and randomized algorithms; analysis techniques based on counting methods and recurrence equations; trees and more general graphs.
|
Fall 2008 Immorlica MWF 10-10:50
|
- EECS 311 - Data Structures and Data Management
- The design, implementation, and analysis of abstract data types, data structures and their algorithms. Topics include: data and procedural abstraction, linked lists, stacks, queues, binary trees, searching, and sorting. Required for computer science majors.
|
Fall 2008 Hartline MWF 11-11:50
Spring 2009 Scheuermann MWF 11-11:50
|
- EECS 313 - Telecommunication Networks for Multimedia
- Signals and bandwidth concepts, spectra, basics of electronics, information and coding, modulation, multiplexing, transmission systems, transmission media, analog versus digital communications, computer networks, and switching techniques. Not for electrical engineering or computer engineering majors.
|
|
- EECS 317 - Data Management and Information Processing
- Data models and database design. Modeling the real world: structures, constraints, and operations. The entity relationship to data modeling (including network hierarchical and object-oriented), emphasis on the relational model. Use of existing database systems for the implementation of information systems. Note: This course is only for IE/MFE students - CS/CIS students are not allowed to register for this course, and it does not carry credit towards the CS/CIS major
|
Fall 2008 Trajcevski MWF 2-2:50
|
- EECS 322 - Compiler Construction
- Overview of compilers and context-free languages, top-down parsing, LL(1) parser construction, translation grammars, implementation of lexical analyzer, parser and translator, compiler optimization, error handling, and recovery.
|
Spring 2009 TBA (PLAC hire) MWF 10-10:50
|
- EECS 325 - Artificial Intelligence Programming
- Introduction to Lisp and programming knowledge-based systems and interfaces. Strong emphasis on writing maintainable, extensible systems. Topics include: semantic networks, frames, pattern matching, deductive inference rules, case-based reasoning, discrimination trees. Project-driven. Substantial programming assignments.
|
Fall 2008 Riesbeck MWF 9-9:50
|
- EECS 328 - Numerical Methods for Engineers
- Introduction to numerical methods; numerical differentiation, numerical integration, solution of ordinary and partial differential equations. Students write programs in C++, FORTRAN, C, or Matlab using methods presented in class.
|
Spring 2009 Kao MWF 3-3:50
|
- EECS 330 - Human Computer Interaction
- Introduction to human-computer interaction and the design of systems that work for people and their organizations. The goal is to understand the manner in which humans interact with, and use, their computers for productive work. The course focus is on the interface as designed artifact. The interface is a design problem without a single "correct" solution but which has many "good" solutions and a plethora of "bad" solutions. Class discussion centers on what makes an interface good and proven techniques for designing interfaces that meet human needs.
|
Winter 2009 Gomez Th 2:30-4:50
|
- EECS 332 - Digital Image Analysis
- Introduction to computer and biological vision systems, image formation, edge detection, image segmentation, texture, representation and analysis of two-dimensional geometric structures, and representation and analysis of three-dimensional structures.
|
Fall 2008 Y. Wu TuTh 12:30-1:50
|
- EECS 333 - Introduction to Communication Networks
- Data communication basics, Telephone, cellular, cable and computer networks, Layered network architectures, models, and protocols, Switching, routing, flow control, and congestion control, Medium access control, ARQ, and local area networks. Queueing models and network performance analysis.
|
Fall 2008 Guo MWF 2-2:50
|
- EECS 334
- Please contact the Professor teaching this course for more information
|
|
- EECS 336 - Design and Analysis of Algorithms
- Analysis techniques: solving recurrence equations. Algorithm design techniques: divide and conquer, the greedy method, backtracking, branch-and-bound, and dynamic programming. Sorting and selection algorithms, order statistics, heaps, and priority queues.
|
Winter 2009 Kao TuTh 9:30-10:50
|
- EECS 337 - Introduction to Semantic Information Processing
- A semantics-oriented introduction to natural language processing, broadly construed. Representation of meaning and knowledge inference in story understanding, script/frame theory, plans and plan recognition, counter-planning, and thematic structures.
|
Fall 2008 Birnbaum TuTh 11-12:20
|
- EECS 338 - Practicum in Intelligent Information Systems
- A practical excursion into the building of Intelligent Information Systems. Each student will develop a working program in the area of information access, management, capture, or retrieval. Project definition, data collection, technology selection, implementation, and project management. Semantics-oriented introduction to natural language processing, broadly construed. Representation of meaning and knowledge inference in story understanding, script/frame theory, plans and plan recognition, counter-planning, and thematic structures.
|
Winter 2009 Hammond Tu 2-4:50
|
- EECS 339 - Introduction to Databases
- Data models and database design. Modeling the real world: structures, constraints, and operations. The entity relationship to data modeling (including network hierarchical and object-oriented), emphasis on the relational model. Use of existing database systems for the implementation of information systems.
|
|
- EECS 340 - Introduction to Computer Networking
- A top-down exploration of networking using the 5-layer model and the TCP/IP stack. HTTP, FTP, DNS, BSD Sockets, concurrent servers, checksums, reliable transport with stop-and-wait, go-back-n, selective repeat, flow control, congestion control, TCP, unicast routing, multicast routing, router architecture, IP, IPv6, IP multicast, MAC protocols and LANs, Ethernet,wireless networks, and network security. Over the course of the quarter, students build web clients and servers, a fully compatible TCP/IP stack that can run them, and evaluate routing protocols in simulation.
|
Winter 2009 Kuzmanovic MW 3:30-4:50
|
- EECS 343 - Operating Systems
- A fundamental overview of operating systems. Topics covered include: Operating system structures, processes, process synchronization, deadlocks, CPU scheduling, memory management, file systems, secondary storage management. Requires substantial programming projects.
|
Fall 2008 Bustamante TuTh 2-3:20
|
- EECS 344 - Design of Computer Problem Solvers
- Principles and practice of organizing and building AI reasoning systems. Topics include pattern-directed rule systems, truth-maintenance systems, and constraint languages.
|
|
- EECS 345 - Distributed Systems
- Basic principles behind distributed systems (collections of independent components that appear to users as a single coherent system) and main paradigms used to organize them.
|
|
- EECS 346 - Microprocessor System Design
- Structure and timing of typical microprocessors. Sample microprocessor families. Memories, UARTS, timer/counters, serial devices and related devices. MUX and related control structures for building systems. Interrupt programming. Hardware/software design tradeoffs.
|
Spring 2009 Henschen MTuWF 9-9:50
|
- EECS 347 - Microprocessor System Projects
- Design, prototype and test individual projects involving microprocessors and programmable logic devices. Introduction to programmable logic devices such as PAL, FPGA, etc. Introduction to and discussion of other circuits as needed for the selected projects.
|
|
- EECS 348 - Introduction to Artificial Intelligence
- Core techniques and applications of artificial intelligence. Representation retrieving and application of knowledge for problem solving. Hypothesis exploration, theorem proving, vision and neural networks.
|
Spring 2009 Pardo MWF 10-10:50
|
- EECS 349 - Machine Learning
- Machine Learning is the study of algorithms that improve automatically through experience. Topics covered typically include Bayesian Learning, Decision Trees, Genetic Algorithms, Neural Networks.
|
Fall 2008 TBA (AI hire) TBA TBA
|
- EECS 350 - Introduction to Computer Security
- The past decade has seen an explosion in the concern for the security of information. This course introduces students to the basic principles and practices of computer and information security. Focus will be on the software, operating system and network security techniques with detailed analysis of real-world examples. Topics include cryptography, authentication, software and operating system security (e.g., buffer overflow), Internet vulnerability (DoS attacks, viruses/worms, etc.), intrusion detection systems, firewalls, VPN, Web and wireless security. Students with good performance in the class will be awarded researchship in the academic year and/or the summer. This course can help satisfy the project course requirement for undergraduates and satisfy the breadth requirement in computer systems for system Ph.D. students.
|
Spring 2009 TBA MWF 1-1:50
|
- EECS 351 - Introduction to Computer Graphics
- First in a 3-course series to teach fundamental ideas underlying all forms of computer-assisted picture-making. Teaches you to write simple programs that make any interactive 2D/3D shapes with simple lighting and textured surfaces. You will learn by doing, with 4 projects that teach 1) 2-D and 3-D viewing transformations, 2) polygonal shape descriptions, 3) lighting and shading 4) textures and surfaces using OpenGL (DirectX is similar). Surveys advanced topics covered in later courses, including ray tracing, global illumination, particle systems, implicit surfaces GPUs and more.
|
Fall 2008 Tumblin TuTh 12:30-1:50
|
- EECS 352 - Machine Perception of Music & Audio
- Machine extraction of musical structure in audio, MIDI and score files, covering areas such as source separation and perceptual mapping of audio to machine-quantifiable measures.
|
|
- EECS 353 - Digital Microelectronics
- Logic families, comparators, A/D and D/A converters, combinational systems, sequential systems, solid-state memory, large-scale integrated circuits, and design of electronic systems.
|
Spring 2009 Sahakian MWF 11-11:50
|
- EECS 354 - Network Penetration and Security
- This RTFM course will focus on remote computer penetration (hacking). The class will introduce basic theory for many different types of attacks and then actually carry them out in ’real-world’ settings. The goal is to learn security by learning how to view your machine as a ’hacker.’ In addition, we will be preparing for the 2007 International Capture the Flag Competition (held each December by UCSB). Capture the Flag is a network security exercise where the goal is to exploit other machines while defending your own.
|
Fall 2008 Chen (354) MW 6:30-7:50
|
- EECS 355 - ASIC and FPGA Design
- Overview of Computer Aided Design tool flow for ASIC and FPGA Design. Synthesis from hardware description languages and creation of finite state machines. Differences between FPGA and ASIC design flows. Exploration of concepts in several projects.
|
Winter 2009 S. Memik MWF 11-11:50
|
- EECS 356 - Introduction to Formal Specification and Verification
- Introduction to formal techniques used for system specifications and verifications: temporal logic, set theory, proofs, and model checking. TLA+ (Temporal Logic of Actions) specifications. Safety and liveness properties. Real time specs and verifications.
|
|
- EECS 357 - Introduction to VLSI CAD
- Basic concepts in VLSI CAD with emphasis on physical design, fundamental algorithms for CAD problems, development of CAD tools.
|
|
- EECS 358 - Introduction to Parallel Computing
- Introduction to parallel computing for scientists and engineers. Shared memory parallel architectures and programming, distributed memory, message-passing data-parallel architectures, and programming.
|
Winter 2009 G. Memik TuTh 2-3:20
|
- EECS 359 - Digital Signal Processing
- Discrete-time signals and systems, Discrete-Time Fourier Transform, z-Transform, Discrete Fourier Transform, Digital Filters.
|
Fall 2008 Pappas TuTh 3:30-4:50
|
- EECS 360 - Introduction to Feedback Systems
- Linear feedback control systems, their physical behavior, dynamical analysis, and stability. Laplace transform, frequency spectrum, and root locus methods. System design and compensation using PID and lead-lag controllers. Digital implementations of analog controllers.
|
Winter 2009 Freeman MWF 10-10:50
|
- EECS 361 - Computer Architecture I
- Design and understanding of the computer system as a whole unit. Performance Evaluation and its role in computer system design; Instruction Set Architecture design, Datapath design and optimizations (e.g., ALU); Control design; Single cycle, multiple cycle and pipeline implementations of processor; Hazard detection and forwarding; memory hierarchy design; Cache memories, Virtual memory, peripheral devices and I/O.
|
Fall 2008 G. Memik TuTh 11-12:20
|
- EECS 362 - Computer Architecture Project
- Quarter long team project that entails designing a processor for a complete Instruction Set. Involves ISA design, design of components, datapath and control for a pipelined processor to implement the ISA. The design is performed using industry strength design tools and VHDL is used as the design specification language. The design is evaluated using benchmark programs for correctness and performance.
|
Winter 2009 G. Memik TuTh 11-12:20
|
- EECS 363 - Digital Filtering
- Recursive and nonrecursive digital filters, decimation and interpolation, A/D and D/A conversion as digital filtering problems. Implementation of nonrecursive filters via FFT, quantization problems, e.g., companding and limit cycles.
|
Winter 2009 Butz MWF 1-1:50
|
- EECS 366
- Please contact the Professor teaching this course for more information
|
|
- EECS 370 - Computer Game Design
- Fundamentals of computer game design. Topics include: Plot, narrative and character, simulation for creating game worlds, AI for synthetic characters, tuning game play. Substantial programming and project work.
|
Spring 2009 Forbus TuTh 3:30-4:50
|
- EECS 374 - Introduction to Digital Control
- Discrete dynamics systems; discrete models of continuous systems feedback and digital controllers; analog-digital conversion; digital control design including PID, lead-lag, deadbeat, and model matching controllers.
|
Spring 2009 Freeman MW 3:30-4:50
|
- EECS 378 - Digital Communications
- Sampling and time-division multiplexing, baseband digital signals and systems. Coded pulse modulation, error control coding, digital modulation systems, information measure and source encoding, and introduction to spread spectrum communications.
|
Winter 2009 Haddad MWF 9-9:50
|
- EECS 379 - Introduction to Lasers and Fiber Optics
- Optical fields as a subset of electromagnetic fields, optical cavities, theory of laser action, and the basics of optical waveguides, including optical fiber.
|
Fall 2008 Ho MW 4-5:20
|
- EECS 380 - Wireless Communications
- Overview of existing and emerging wireless communications systems; interference, blocking, and spectral efficiency; radio propagation and fading models; performance of digital modulation in the presence of fading; diversity techniques; Code-Division Multiple Access.
|
Spring 2009 Guo TuTh 2-3:20
|
- EECS 381 - Electronic Properties of Materials
- Quantum physics; electrons and energy bands in crystals; electronic transport in materials, superconductivity; optical properties of materials and their applications; magnetic properties of materials and their applications; thermal properties of materials.
|
Fall 2008 Mohseni MWF 1-1:50
|
- EECS 382 - Photonic Information Processing
- Introduction to photonic information processing; coherent and incoherent light; electro-optic and acousto-optic modulation; optical signal processing; holography; optical storage.
|
Winter 2009 Shahriar WF 4-5:30
|
- EECS 383 - Fiber-Optic Communications
- Introduction to fiber-optic communications. Semiconductor diode lasers, internal modulation, electro-optic modulation, coherent and incoherent detection, optical fibers and their properties, optical amplifiers, communication systems, and optical networks.
|
Spring 2009 Yuen MWF 2-2:50
|
- EECS 384 - Solid State Electronic Devices
- Applications of energy band models for semiconductors. Carrier statistics and transport. Diodes, bipolar and field-effect transistors. Integrated circuits. Heterojunction devices.
|
|
- EECS 385 - Optoelectronics
- Introduction to solid-state optoelectronic devices; display devices, laser diodes, photodetectors, and light modulators; optical waveguides and fibers; system application of optoelectronic devices.
|
Winter 2009 Grayson MWF 3-3:50
|
- EECS 386 - Computational Electromagnetics and Photonics
- Introduction to the finite-difference time-domain (FDTD) method in numerical modeling of electromagnetic and optical wave interactions with engineering structures. Topics: finite differences; Maxwell's equations; numerical dispersion and stability; free-space and waveguide field sources; absorbing boundary conditions; material dispersions and nonlinearities.
|
|
- EECS 388 - Nanotechnology
- Physics and technology of nanoscale photonic and electronic devices. Bulk crystal, thin film and epitaxial growth technologies. Semiconductor characterization techniques. Defects in crystals. Nanotechnology processing: diffusion oxidation, ion implantation, annealing, etching, and photolithography. Nanoscale optoelectronic and electronic devices.
|
Winter 2009 Razeghi TuTh 9:30-10:50
|
- EECS 389 - Superconductivity and Its Applications
- Properties of materials in the superconducting state; charge flow dynamics of type II superconductors; high Tc superconductors; applications for computers and high-frequency devices.
|
|
- EECS 390 - Introduction to Robotics
- Homogeneous vector and plane, homogeneous transformation, position and orientation transformations, kinematics and inverse kinematic solutions of robot manipulators, Jacobian and inverse Jacobian relation, robot trajectory and task planning, dynamic formulation and computation of robot manipulators, robot programming and control systems.
|
Spring 2009 C.H. Wu TuTh 3:30-4:50
|
- EECS 391 - VLSI Systems Design
- Design of CMOS digital integrated circuits, concentrating on architectural and topological issues. Tradeoffs in custom design, standard cells, gate arrays. Use of VLSI design tools on a small project.
|
|
- EECS 392 - VLSI Systems Design Projects
- Design of a cutting-edge VLSI chip. Teams of 5 to 10 students undertake a large circuit design problem, going from specification to VLSI implementation while optimizing for speed, area, and/or power. Group collaboration and engineering design.
|
Spring 2009 S. Memik TuTh 12:30-1:50
|
- EECS 393 - Design and Analysis of High-Speed Integrated Circuits
- Issues that arise in the design and analysis of VLSI circuits at high speeds such as buffer sizing, repeater insertion, noise, electromigration, Elmore delay, scaling trends, and power consumption. Cross-listed as EECS 493.
|
|
- EECS 394 - Software Project Management
- EECS 394 is focused on the process of software development from the perspective of both rapid prototyping and responsive relationships with clients. We'll take an Extreme Programming approach in which teams will maintain tight, iterative development cycles that include ongoing interactions with clients. In the style of EDC, the class is project oriented, with teams focused on specific projects during the entire 10 week period. The class also has a studio feel, with team interactions during class guided by faculty and graduate students.
|
Spring 2009 Hammond TuTh 11-12:20
|
- EECS 395 - Human-level Artificial Intelligence
- The combination of increasing computational power, off-the-shelf resources, and steady scientific progress in AI and Cognitive Science has lead to a revolution in the kinds of AI systems that can be built. This seminar will explore the state of the art in building AI systems that capture larger constellations of human cognitive abilities and the problems that lie ahead in human-level AIs. Extensive reading, writing, and discussion will be required.
Prerequisites: EECS 348 or equivalent AI course, plus at least one other AI course, or permission of instructor.
|
|
- EECS 395 - Intermediate Computer Graphics
- Second in a 3-course series on the methods and theory of computer graphics: this project-oriented course explores how to describe shapes, movement, and lighting effects beyond the abilities of the standard OpenGL rendering pipeline.
Includes interactive particle systems and dynamics solvers (suitable for simple fluids and cloth) and an introduction to ray tracing (chrome, glass, and diffraction) with a few basic ideas for global illumination
|
|
- EECS 395
- Please contact the Professor teaching this course for more information
|
|
- EECS 395 - Understanding Technology and Human Interaction
- We are surrounded by technologies that support our everyday social interactions. MySpace, Facebook and Orkut provide persistent services for exchanging personal information, ubiquitous computing environments allow objects to adapt to our everyday
experiences, and new technologies enable people to collaborate on projects when they are thousands of miles apart. The design of such systems, however, is not simply a technical question. In order to
successfully create these systems, we need to understand how people work, play, and communicate with one another in a wide variety of situations. This course illustrates the practice of understanding human interactions that take place both with and through technology; and it explores the design, creation and evaluation of technologies to support such interactions. Course topics include: design processes, prototype construction and evaluation techniques. Specialized topics cover
technologies for special populations, social software and collaborative
systems, and entertainment technologies. No programming experience is necessary. There will be occasional labs to explain technical content. Course requirements include short hands-on exercises, two exams, and a group project.
|
|
- EECS 395 - Distributed Systems in Challenging Environments
- This seminar will review new ideas and ongoing projects that are pushing distributed systems into new and challenging domains - from outerspace to underwater. The class is structured as a traditional seminar with readings, class discussion and a quarter-long research project.
|
|
- EECS 395 - Internet Architectures
- This course will cover a broad range of topics relevant for evolution and redesign of Internet architectures, including design principles, evolvability, “clean-slate” design approach to Internet architectures, etc.
|
|
- EECS 395 - CG and Movie Merge Algorithms
- TBA
|
|
- EECS 395 - Introduction to Computational Complexity
- This course will give an overview of computational complexity
including Turing machines, relationships between time and memory,
determinism and nondeterminism, reductions and the P versus NP
problem. We will explore more recent results on randomness including
pseudorandom generators and the power of probabilistic proofs.
This course is designed for graduate students or advanced
undergraduates. We will assume familiarity with mathematical proofs
but no previous knowledge of Turing machines or computational
complexity.
Prerequisites: EECS 336 or instructor's permission.
|
|
- EECS 395 - RTFM: Algorithmic Problem Solving and Programming in a Competitive Environment
- It is common for computer scientists to be confronted with challenging problems that require both quick algorithmic thinking and skillful programming to solve. This is the case both in industry and research, and is one of the reasons why programming puzzles occur so readily in job interviews and qualifying exams in the best companies and graduate programs. The goal of this course is to make students better algorithmic problem solvers and programmers by giving them the opportunity to practice these skills in a fun competitive environment
|
|
- EECS 398 - Electrical Engineering Design
- Design of electrical and electronic devices, circuits, and systems by the application of the engineering sciences, economics, and Institute of Electrical and Electronics Engineers or other national standards.
|
Spring 2009 Butz MWF 1-1:50
|
- EECS 401 - Fundamentals of Electronic Devices
- Transport phenomena in semiconductors, theory of the p-n junction, bipolar and unipolar devices, general analysis of the metal-semiconductor and MIS structures, CCD, MOSFET and bipolar transistors.
|
Spring 2009 Liu MWF 3-3:50
|
- EECS 402 - Advanced Electronic Devices
- Semiconductor optics, heterojunctions, quantum wells, superlattices and resonant tunneling. Field-effect and potential-effect devices. Hot-electron devices. Microwave devices.
|
|
- EECS 403 - Quantum Semiconductors
- Elements of wave mechanics necessary to explain band theory. Fermi-Dirac statistics, introduction to the theory of electrical conductivity in semiconductors, optical and thermal properties, diffusion of electrons, and holes in solids.
|
Spring 2009 Grayson MWF 1-1:50
|
- EECS 404 - Quantum Electronics
- Review of quantum mechanics. Harmonic oscillator. Perturbation theory. Phonons and photons. Interaction of radiation and atomic systems. Einstein coefficients. Laser oscillation. Laser photon statistics.
|
Fall 2008 Ho MW 2-3:20
|
- EECS 405 - Advanced Photonics
- Physical description of compound semiconductors; optical properties of heterostructures, quantum wells, super-lattices, quantum wires and quantum dots; physics and technology of optoelectronic devices; light emitting diodes (LEDs) and lasers.
|
Winter 2009 Mohseni TuTh 3:30-4:50
|
- EECS 406 - Nonlinear Optics
- Nonlinear optical susceptibilities; wave propagation and coupling in nonlinear media; harmonic, sum, and difference frequency generation; parametric amplification and oscillation; phase-conjugation via four-wave mixing; self-phase modulation and solitons.
|
Winter 2009 Kumar TuTh 4-5:30
|
- EECS 407 - Quantum Optics (same as Physics 427)
- Review of quantum fields; quantization of the electro-magnetic field; photodetection theory; direct, homodyne and heterodyne detection; squeezed and photon-number state generation; application to optical communication and interferometers; introduction to quantum cryptography and quantum computation.
|
Winter 2009 Yuen MW 3:30-4:50
|
- EECS 408 - Computational Electrodynamics
- Advanced topics in the finite-difference time-domain (FDTD) method for numerical modeling of electromagnetic wave interactions with engineering structures. Reduced-numerical-dispersion algorithms employing fourth-order spatial differencing; uniaxial perfectly matched layer absorbing boundary conditions; generalized grids; incorporation of lumped-circuit elements.
|
Spring 2009 Yuen MW 3:30-4:50
|
- EECS 409 - Semiconductor Lasers
- Basic concepts of lasers; laser applications; gas and liquid lasers; solid-state lasers; semiconductor lasers; materials and devices; rate equations; laser gain and saturation; modulation and light pulse generation; advanced technology for semiconductor laser fabrications and integration; industrial and medical applications of lasers.
|
|
- EECS 410 - System Theory
- Unified treatment of continuous and discrete time systems from a state-variable viewpoint; emphasis on linear systems. Concept of state, writing and solving state equations, controllability and observability, transform techniques (Fourier, Laplace, Z), stability, and Lyapunov's method.
|
Fall 2008 Freeman MWF 1-1:50
|
- EECS 418 - Advanced Digital Signal Processing
- Selected topics in digital signal processing such as digital speech processing, multidimensional digital signal processing, spectrum estimation, and error analysis.
|
Fall 2008 Butz MWF 1-1:50
|
- EECS 420 - Digital Image Processing
- Fundamentals of image processing. Image compression, enhancement, and restoration. Image reconstruction from projections and partial information.
|
Winter 2009 Katsaggelos W 4:00-7:00
|
- EECS 421 - Multimedia Signal Processing
- Fundamentals of processing multimedia signals: text, graphics, speech, audio, image, video; standards for multimedia coding, processing and compression. Related products and services will be discussed.
|
Spring 2009 Katsaggelos W 4:00-7:00
|
- EECS 422 - Random Processes in Communications and Control I
- Fundamentals of random variables; mean-squared estimation; limit theorems and convergence; definition of random processes; autocorrelation and stationarity; Gaussian and Poisson processes; Markov chains.
|
Spring 2009 Haddad MWF 9-9:50
|
- EECS 423 - Random Processes in Communications and Control II
- Advanced topics in random processes: point processes, Wiener processes; Markov processes, spectral representation, series expansion of random processes, linear filtering, Wiener and Kalman filters, optimum receivers and matched filters.
|
|
- EECS 424 - Noise and Fluctuation in Physical/ Engineering Systems
- Fluctuation in linear and nonlinear systems via Markov random processes, Fokker-Planck-Kolmogorov equation, Langevin-Ito equation, stochastic calculus, and Feynman-Wiener integral; applications to electronic devices, lasers, communication, and control systems.
|
|
- EECS 425 - Quantum Electronics II: Noise, Modulation, and Quantum Properties of Laser Emissions
- Introduction to semiclassical and fully quantized theory of laser leading to noise, coherent, and modulation properties of laser light, with emphasis on semiconductor laser. The quantum concept of photon and photodetection will be formulated. The theory will be applied to describing noise in optical amplifier and photodetection. The effect of optical feedback on laser will be covered. The inhibition and enhancement of spontaneous emission in microcavity and nanophotonic device structures will be discussed.
|
|
- EECS 426 - Signal Detection and Estimation
- Simple-hypothesis detection problems, detection of signals with unknown parameters, Bayes' maximum likelihood estimation, estimation of signal parameters, detection of stochastic signals, nonparametric detection and estimation.
|
|
- EECS 427 - Optical Communications
- Optical communication systems, optical wave propagation, photodetection statistics, heterodyne receiver, and noise sources. Evaluation of communication performance for the free-space channel. Introduction to fiber optic communication and fiber optic networks.
|
|
- EECS 428 - Information Theory
- Information measures and their properties: entropy, divergence, mutual information, channel capacity. Shannon's fundamental theorems for data compression and coding for noisy channels. Applications in communications, statistical inference, algorithmic complexity, probability, and finance.
|
|
- EECS 429 - Selected Topics in Quantum Information Science and Technology
- Basic general principles of quantum mechanics for applications to quantum information science and technology. The fundamentals will be covered together with topics of current interest among the areas of quantum teleportation, quantum computation, and quantum cryptography.
|
|
- EECS 432 - Advanced Computer Vision
- Advanced topics in computer vision including low-level vision, geometrical and 3D vision, stereo, 3D scene reconstruction, motion analysis, visual tracking, object recognition and human motion analysis, capturing and recognition, with the applications to video processing and vision-based modeling and interaction.
|
|
- EECS 435 - Neural Networks
- Learning in one-layer and multi-layer feed-forward networks, recurrent networks and dynamical systems. Perceptrons, Hebbian learning, associative memories, Widrow-Hoff learning, backpropagation networks, radial basis function networks, competitive networks, counterprapagation networks, Grossberg network, Adaptive resonance theory, Hopfield networks, simulated annealing, Boltzmann machine.
|
|
- EECS 438 - Interdisciplinary Nonlinear Dynamics
- 438-1: Example-oriented survey of nonlinear dynamical systems, including chaos, combining numerical, analytical and geometrical approaches to differential equations. 438-2,3: Interdisciplinary theoretical, computational and experimental projects involving complex systems in science and engineering, directed by a cross-disciplinary faculty team.
|
|
- EECS 440 - Advanced Networking
- This course will cover a broad range of topics including Internet evolution and architectures; analysis and design of network protocols (both wired and wireless); networking issues for Web and gaming applications; analysis and performance of content distribution networks; network security, vulnerability, and defenses.
|
|
- EECS 441 - Resource Virtualization
- Virtual machines of all kinds, virtual networking, virtual services, virtual storage, emulation, distributed computing using virtualized resources.
|
Winter 2009 Dinda TBA TBA
|
- EECS 442 - Dynamic Behavior of Applications, Hosts, and Networks
- Students will learn the current state of theory and practice in workload characterization, and use what they learn to measure, analyze, model, and predict the dynamic behavior of distributed computing environments and their applications.
|
|
- EECS 443 - Advanced Operating Systems
- Advanced Operating Systems is a graduate level course on advanced concepts on operating systems and distributed computing. The course covers a wide array of research topics in systems, from historical perspectives to current topics such as peer-to-peer computing and mobile systems. The class consists of two major thrusts: reading and reviewing papers and doing a research project on your own.
|
Winter 2009 Bustamante TBA TBA
|
- EECS 450 - Internet Security
- The evolution of Internet has spawned rich complexity and vulnerability in its infrastructure. In this course, we will take a measurement-based approach to understand the complexity of the Internet, i.e., characterize, understand, and model the enormous volume and great variety of Internet traffic in terms of large-scale behaviors. Based on that, we will investigate the vulnerability of the Internet when different services have evolved and innovated in different and competing ways, with increasingly less global consensus. We will start with the basic concepts of Internet architecture, its design principles and evolution, and then focus on security challenges of network and distributed systems as well as the counter-attack approaches.
During the course, we will read and discuss research papers, and identify a list of open research problems, from which the students can choose their class projects. In addition to deploying end-to-end measurement on global network testbed, PlanetLab (http://www.planet-lab.org), massive real-world anonymized router/gateway traffic data will be obtained to analyze the reliability/vulnerability of the Internet and to detect both well-known and unknown virus/worm/attacks. We will further characterize and diagnose the unknown anomalies and network failures.
|
Winter 2009 Chen TBA TBA
|
- EECS 452 - Advanced Computer Architecture I
- Design and evaluation of modern uniprocessor computing systems. Evaluation methodology/metrics and caveats, instruction set design, advanced pipelining, instruction level parallelism, prediction-based techniques, alternative architectures (VLIW, Vector and SIMD), memory hierarchy design, I/O, and recent trends in architecture (e.g., low-power architectures, application-specific processors). Case studies.
|
Spring 2009 G. Memik TuTh 2-3:20
|
- EECS 453 - Advanced Computer Architecture II
- Parallel computer architecture and programming models. Message passing and shared memory multiprocessors. Scalability, synchronization, memory consistency, cache coherence. Memory hierarchy design. Network design.
|
Winter 2009 Joseph MWF 3:30-4:50
|
- EECS 454 - Modeling and Analysis of Communication Networks
- Basic techniques for modeling and analyzing data communication networks. Protocol specification and correctness, queuing models, loss networks, multi-class queues and scheduling, graph-based and flow-based routing, congestion control and pricing.
|
|
- EECS 455 - Distributed Computing Systems
- Fundamentals and systems design aspects of distributed systems, paradigms for distributed computing, client-server computing, concurrency control, distributed file systems, resource management, high-performance computing aspects.
|
|
- EECS 457 - Advanced Algorithms
- Design and analysis of advanced algorithms: graph algorithms; maximal network flows; min-cost flow algorithms; convex cost flows.
|
Spring 2009 Zhou TBA TBA
|
- EECS 459 - VLSI Algorithmics
- Design and analysis of algorithms for VLSI synthesis problems. Study both theoretical and practical aspects of CAD-tool development in VLSI environments.
|
|
- EECS 463 - Adaptive Filters
- Applications of adaptive filtering, autoregressive and moving average processes, linear prediction, lattice filters, Least Mean Square (LMS) algorithm, least squares filtering, convergence analysis.
|
|
- EECS 467 - Parallel and Distributed Database Systems
- File allocation and load balancing in parallel I/O systems. Distributed, scalable file systems. Declustering and range partitioning. Parallel processing of relational queries: sort, clustering and join algorithms. Distributed database systems architectures. Query processing in distributed database systems: Processing simple queries; using semi-joins and joins for general queries.
|
|
- EECS 478 - Advanced Digital Communications
- Digital modulation, complex base band signaling, sequence estimation, the Viterbi algorithm, probability of error analysis, equalization, and code-division multiple access.
|
Winter 2009 Honig TuTh 2-3:20
|
- EECS 479 - Nonlinear Optimization
- Numerical solution of unconstrained optimization problems, nonlinear least squares and nonlinear systems of algebraic equations, large-scale nonlinear optimization, quadratic programming, and constrained optimization.
|
Spring 2009 Nocedal TuTh 2-3:20
|
- EECS 493 - Design and Analysis of High-Speed Integrated Circuits
- Issues that arise in the design and analysis of VLSI circuits at high speeds such as buffer sizing, repeater insertion, noise, electromigration, Elmore delay, scaling trends, and power consumption. Cross-listed as EECS 393.
|
|
- EECS 495 - Innovative Technologies in Autism
- None yet
|
|
- EECS 495 - Embedded Systems Design and Synthesis
- Embedded systems are computers within devices that are not generally regarded to be computers, e.g., the computers within automobiles and medical devices. This course will survey the field of real-time embedded system design and synthesis, introducing open research topics in the automatic design of reliable, high-performance, low power consumption, inexpensive embedded systems.
|
Winter 2009 Dick TuTh 12:30-1:50
|
- EECS 495 - RTFM: Algorithmic Problem Solving and Programming in a Competitive Environment
- It is common for computer scientists to be confronted with challenging problems that require both quick algorithmic thinking and skillful programming to solve. This is the case both in industry and research, and is one of the reasons why programming puzzles occur so readily in job interviews and qualifying exams in the best companies and graduate programs. The goal of this course is to make students better algorithmic problem solvers and programmers by giving them the opportunity to practice these skills in a fun competitive environment
|
|
- EECS 495 - Internet Architectures
- This course will cover a broad range of topics relevant for evolution and redesign of Internet architectures, including design principles, evolvability, “clean-slate” design approach to Internet architectures, etc.
|
|
- EECS 495
- Please contact the Professor teaching this course for more information
|
Winter 2009 Tumblin TuTh 3:30-4:50
|
- EECS 495 - Introduction to Computational Complexity
- This course will give an overview of computational complexity including Turing machines, relationships between time and memory, determinism and nondeterminism, reductions and the P versus NP problem. We will explore more recent results on randomness including pseudorandom generators and the power of probabilistic proofs. This course is designed for graduate students or advanced undergraduates. We will assume familiarity with mathematical proofs but no previous knowledge of Turing machines or computational complexity. Prerequisites: EECS 336 or instructor's permission.
|
|
- EECS 495 - Distributed Systems in Challenging Environments
- This seminar will review new ideas and ongoing projects that are pushing distributed systems into new and challenging domains - from outerspace to underwater. The class is structured as a traditional seminar with readings, class discussion and a quarter-long research project.
|
|
- EECS 510 - Information Processing in Sensor Networks
- Introduction to sensor networks: hardware, software platforms and applications. Embedded operating systems : TinyOS. The wireless network architecture and protocols for the MAC layer. Localizaton algorithms and sensor area coverage. Routing algorithms: data-centric, geographical and energy-aware routing. Query processing in sensor networks: in-network aggregation and routing. Introduction to TinyDB. Target detection and tracking.
|
Fall 2008 Scheuermann TuTh 3:30-4:50
|
- EECS 510 - Statistical Pattern Recognition
- Fundamental and advanced topics in statistical pattern recognition including Bayesian decision theory, Maximum-likelihood and Bayesian estimation, Nonparametric density estimation, Component Analysis and Discriminants, Kernel machines, Feature selection, dimension reduction and embedding, Boosting, Minimum description length, Mixture models and clustering, Spectral clustering, Bayesian network and Hidden Markov models, with the applications to image and video pattern recognition.
|
|
- EECS 510 - Algorithmic Mechanism Design
- This course provides an in-depth study of topics in the interface of theoretical computer science and the economics subfield of mechanism design. This course will survey foundational mechanism design theory, it will study computational issues in economic settings, and will discuss the role of algorithmic techniques in economic analysis. Motivating applications will be taken from the design of Internet services such as auctions, advertising, and reputation systems.
|
|
- EECS 510
- Please contact the Professor teaching this course for more information
|
|
- EECS 510 - Interconnection Networks
- Prerequisite : Basic understanding of computer architecture (EECS 361 or equivalent)
This class will be offered for the first time and focus on the interconnection network aspect of computer architecture. With the
performance of processor and memory continuing to increase, the communication through the interconnection network is becoming more of a bottleneck in determining the overall performance and cost of
systems. In addition, electronic systems are becoming increasingly
parallel – from multi-core microprocessor chips in PCs, servers, mobile devices and game stations; to optical cross-connects and IP
routers in the Internet; to supercomputers. As a result, the design of interconnection networks, the fabric connecting these parallel
systems, is becoming a critical for system designers and researchers.
The course will be conducted in two phases. The first phase consists of lectures on the basics of interconnection networks. The second half
of the class will consist of case studies presented by students. The case studies will focus on the network design in a variety of systems including on-chip networks, SoC, supercomputer networks, and clusters. In addition, there will be a project that looks at the design of on-chip networks for future many-core architectures.
|
|