EECS 233: Introduction to Data Structures (100/6139)
TR 01:15-02:30 PM Jan 10-Apr 25
Rabinovich, M
The programming language Java; pointers, files, and recursion. Representation and manipulation of data: one way and circular linked lists, doubly linked lists; the available space list. Different representations of stacks and queues. Representation of binary trees, trees and graphs. Hashing; searching and sorting. Laboratory. Recommended preparation: ENGR 131.
EECS 245: Electronic Circuits (100/6141)
MW 12:30-01:45 PM Jan 10-Apr 25
Mohseni, P
Analysis of time-dependent electrical circuits. Dynamic waveforms and elements: inductors, capacitors, and transformers. First- and second-order circuits, passive and active. Analysis of sinusoidal steady state response using phasors. Laplace transforms and pole-zero diagrams. S-domain circuit analysis. Two-port networks, impulse response, and transfer functions. Introduction to nonlinear semiconductor devices: diodes, BJTs, and FETs. Gain-bandwidth product, slew-rate and other limitations of real devices. SPICE simulation and laboratory exercises reinforce course materials. Recommended preparation: ENGR 210 or concurrent enrollment in MATH 224.
EECS 245: Electronic Circuits (110/7087)
R 02:45-03:35 PM Jan 10-Apr 25
Mohseni, P
Analysis of time-dependent electrical circuits. Dynamic waveforms and elements: inductors, capacitors, and transformers. First- and second-order circuits, passive and active. Analysis of sinusoidal steady state response using phasors. Laplace transforms and pole-zero diagrams. S-domain circuit analysis. Two-port networks, impulse response, and transfer functions. Introduction to nonlinear semiconductor devices: diodes, BJTs, and FETs. Gain-bandwidth product, slew-rate and other limitations of real devices. SPICE simulation and laboratory exercises reinforce course materials. Recommended preparation: ENGR 210 or concurrent enrollment in MATH 224.
EECS 245: Electronic Circuits (111/7131)
F 10:30-11:20 AM Jan 10-Apr 25
Mohseni, P
Analysis of time-dependent electrical circuits. Dynamic waveforms and elements: inductors, capacitors, and transformers. First- and second-order circuits, passive and active. Analysis of sinusoidal steady state response using phasors. Laplace transforms and pole-zero diagrams. S-domain circuit analysis. Two-port networks, impulse response, and transfer functions. Introduction to nonlinear semiconductor devices: diodes, BJTs, and FETs. Gain-bandwidth product, slew-rate and other limitations of real devices. SPICE simulation and laboratory exercises reinforce course materials. Recommended preparation: ENGR 210 or concurrent enrollment in MATH 224.
EECS 245: Electronic Circuits (112/7133)
F 03:00-03:50 PM Jan 10-Apr 25
Mohseni, P
Analysis of time-dependent electrical circuits. Dynamic waveforms and elements: inductors, capacitors, and transformers. First- and second-order circuits, passive and active. Analysis of sinusoidal steady state response using phasors. Laplace transforms and pole-zero diagrams. S-domain circuit analysis. Two-port networks, impulse response, and transfer functions. Introduction to nonlinear semiconductor devices: diodes, BJTs, and FETs. Gain-bandwidth product, slew-rate and other limitations of real devices. SPICE simulation and laboratory exercises reinforce course materials. Recommended preparation: ENGR 210 or concurrent enrollment in MATH 224.
EECS 281: Logic Design and Computer Organization (100/6143)
TR 10:00-11:15 AM Jan 10-Apr 25
Oldham, D
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory. Recommended preparation: ENGR 131.
EECS 281: Logic Design and Computer Organization (110/7089)
M 10:30-11:20 AM Jan 10-Apr 25
Oldham, D
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory. Recommended preparation: ENGR 131.
EECS 281: Logic Design and Computer Organization (111/7091)
M 11:30-12:20 PM Jan 10-Apr 25
Oldham, D
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory. Recommended preparation: ENGR 131.
EECS 281: Logic Design and Computer Organization (112/7093)
T 09:00-09:50 AM Jan 10-Apr 25
Oldham, D
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory. Recommended preparation: ENGR 131.
EECS 290: Introduction to Computer Game Design and Implementation (100/6145)
TR 01:15-02:30 PM Jan 10-Apr 25
Buchner, M
This class begins with an examination of the history of video games and of game design. Games will be examined in a systems context to understand gaming and game design fundamentals. Various topics relating directly to the implementation of computer games will be introduced including graphics, animation, artificial intelligence, user interfaces, the simulation of motion, sound generation, and networking. Extensive study of past and current computer games will be used to illustrate course concepts. Individual and group projects will be used throughout the semester to motivate, illustrate and demonstrate the course concepts and ideas. Group game development and implementation projects will culminate in classroom presentation and evaluation. Recommended preparation: ENGR 131.
EECS 301: Digital Logic Laboratory (100/6147)
F 02:00-02:50 PM Jan 10-Apr 25
Bhunia, S
This course is an introductory experimental laboratory for digital networks. The course introduces students to the process of design, analysis, synthesis and implementation of digital networks. The course covers the design of combinational circuits, sequential networks, registers, counters, synchronous/asynchronous Finite State Machines, register based design, and arithmetic computational blocks. Recommended preparation: EECS 281.
EECS 302: Discrete Mathematics (100/7041)
MW 12:30-01:45 PM Jan 10-Apr 25
Sun, X
A general introduction to basic mathematical terminology and the techniques of abstract mathematics in the context of discrete mathematics. Topics introduced are mathematical reasoning, Boolean connectives, deduction, mathematical induction, sets, functions and relations, algorithms, graphs, combinatorial reasoning.
Offered as EECS 302 and MATH 304.
EECS 304: Control Engineering I with Laboratory (100/6873)
MW 09:00-10:15 AM Jan 10-Apr 25
Garcia Sanz, M
Analysis and design techniques for control applications. Linearization of nonlinear systems. Design specifications. Classical design methods: root locus, bode, nyquist. PID, lead, lag, lead-lag controller design. State space modeling, solution, controllability, observability and stability. Modeling and control demonstrations and experiments single-input/single-output and multivariable systems. Control system analysis/design/implementation software. Recommended preparation: EECS 246.
EECS 305: Control Engineering I Laboratory (100/6957)
Garcia Sanz, M
A laboratory course based on the material in EECS 304. Modeling, simulation, and analysis using MATLAB. Physical experiments involving control of mechanical systems, process control systems, and design of PID controllers. Recommended preparation: EECS 212 or equivalent and EECS 304.
EECS 309: Electromagnetic Fields I (100/6149)
MWF 02:00-02:50 PM Jan 10-Apr 25
Merat, F
Maxwell's integral and differential equations, boundary conditions, constitutive relations, energy conservation and Pointing vector, wave equation, plane waves, propagating waves and transmission lines, characteristic impedance, reflection coefficient and standing wave ratio, in-depth analysis of coaxial and strip lines, electro- and magneto-quasistatics, simple boundary value problems, correspondence between fields and circuit concepts, energy and forces. Recommended preparation: MATH 223 and PHYS 122 and concurrent enrollment in MATH 224.
EECS 313: Signal Processing (100/6151)
TR 10:00-11:15 AM Jan 10-Apr 25
Buchner, M
Fourier series and transforms. Analog and digital filters. Fast-Fourier transforms, sampling, and modulation for discrete time signals and systems. Consideration of stochastic signals and linear processing of stochastic signals using correlation functions and spectral analysis. Prereq: EECS 246.
EECS 314: Computer Architecture (100/6153)
TR 04:15-05:30 PM Jan 10-Apr 25
Bhunia, S
This course provides students the opportunity to study and evaluate a modern computer architecture design. The course covers topics in fundamentals of computer design, performance, cost, instruction set design, processor implementation, control unit, pipelining, communication and network, memory hierarchy, computer arithmetic, input-output, and an introduction to RISC and super-scalar processors. Recommended preparation: EECS 281.
EECS 315: Digital Systems Design (100/6155)
TR 01:15-02:30 PM Jan 10-Apr 25
Saab, D
This course gives students the ability to design modern digital circuits. The course covers topics in logic level analysis and synthesis, digital electronics: transistors, CMOS logic gates, CMOS lay-out, design metrics space, power, delay. Programmable logic (partitioning, routing), state machine analysis and synthesis, register transfer level block design, datapath, controllers, ASM charts, microsequencers, emulation and rapid protyping, and switch/logic-level simulation. Recommended preparation: EECS 281.
EECS 316: Computer Design (100/6157)
F 04:00-07:00 PM Jan 10-Apr 25
Papachristou, C
Methodologies for systematic design of digital systems with emphasis on programmable logic implementations and prototyping. Laboratory which uses modern design techniques based on hardware description languages such as VHDL, CAD tools, and Field Programmable Gate Arrays (FPGAs). Recommended preparation: EECS 281; EECS 315 or consent of instructor.
EECS 319: Applied Probability and Stochastic Processes for Biology (100/15951)
MWF 11:30-12:20 PM Jan 10-Apr 25
Thomas, P
Applications of probability and stochastic processes to biological systems. Mathematical topics will include: introduction to discrete and continuous probability spaces (including numerical generation of pseudo random samples from specified probability distributions), Markov processes in discrete and continuous time with discrete and continuous sample spaces, point processes including homogeneous and inhomogeneous Poisson processes and Markov chains on graphs, and diffusion processes including Brownian motion and the Ornstein-Uhlenbeck process. Biological topics will be determined by the interests of the students and the instructor. Likely topics include: stochastic ion channels, molecular motors and stochastic ratchets, actin and tubulin polymerization, random walk models for neural spike trains, bacterial chemotaxis, signaling and genetic regulatory networks, and stochastic predator-prey dynamics. The emphasis will be on practical simulation and analysis of stochastic phenomena in biological systems. Numerical methods will be developed using both MATLAB and the R statistical package. Student projects will comprise a major part of the course.
Offered as BIOL 319, EECS 319, MATH 319, BIOL 419, EBME 419, and PHOL 419.
Energy bands and charge carriers in semiconductors and their experimental verifications. Excess carriers in semiconductors. Principles of operation of semiconductor devices that rely on the electrical properties of semiconductor surfaces and junctions. Development of equivalent circuit models and performance limitations of these devices. Devices covered include: junctions, bipolar transistors, Schottky junctions, MOS capacitors, junction gate and MOS field effect transistors, optical devices such as photodetectors, light-emitting diodes, solar cells and lasers. Laboratory experiments to characterize some of the above devices. Recommended preparation: EECS 309.
EECS 338: Introduction to Operating Systems (100/15615)
MWF 10:30-11:20 AM Jan 10-Apr 25
Ozsoyoglu, G
CPU scheduling, memory management, concurrent processes, semaphores, monitors, deadlocks, secondary storage management, file systems, protection, UNIX operating system, fork, exec, wait, UNIX System V IPCs, sockets, remote procedure calls, threads. Must be proficient in "C" programming language. Recommended preparation: EECS 337.
EECS 338: Introduction to Operating Systems (110/15808)
T 06:00-07:00 PM Jan 10-Apr 25
Ozsoyoglu, G
CPU scheduling, memory management, concurrent processes, semaphores, monitors, deadlocks, secondary storage management, file systems, protection, UNIX operating system, fork, exec, wait, UNIX System V IPCs, sockets, remote procedure calls, threads. Must be proficient in "C" programming language. Recommended preparation: EECS 337.
EECS 340: Algorithms and Data Structures (100/7509)
TR 02:45-04:00 PM Jan 10-Apr 25
Liberatore, V
Efficient sorting algorithms, external sorting methods, internal and external searching, efficient string processing algorithms, geometric and graph algorithms. Recommended preparation: EECS 233 and MATH 304.
EECS 341: Introduction to Database Systems (100/6161)
TR 01:15-02:30 PM Jan 10-Apr 25
Yang, J
Relational model, ER model, relational algebra and calculus, SQL, OBE, security, views, files and physical database structures, query processing and query optimization, normalization theory, concurrency control, object relational systems, multimedia databases, Oracle SQL server, Microsoft SQL server. Recommended preparation: EECS 233.
EECS 343: Theoretical Computer Science (100/6163)
MW 12:30-01:45 PM Jan 10-Apr 25
Zhang, G
This course is taught together with EECS 600-Section 104.
EECS 344: Electronic Analysis and Design (100/15814)
MW 12:30-01:45 PM Jan 10-Apr 25
Merat, F
The design and analysis of real-world circuits. Topics include: junction diodes, non-ideal op-amp models, characteristics and models for large and small signal operation of bipolar junction transistors (BJTs) and field effect transistors (FETs), selection of operating point and biasing for BJT and FET amplifiers. Hybrid-pi model and other advanced circuit models, cascaded amplifiers, negative feedback, differential amplifiers, oscillators, tuned circuits, and phase-locked loops. Computers will be extensively used to model circuits. Selected experiments and/or laboratory projects. Recommended preparation: EECS 245.
EECS 346: Engineering Optimization (100/6165)
TR 02:45-04:00 PM Jan 10-Apr 25
Malakooti, B
Optimization techniques including linear programming and extensions; transportation and assignment problems; network flow optimization; quadratic, integer, and separable programming; geometric programming; and dynamic programming. Nonlinear optimization topics: optimality criteria, gradient and other practical unconstrained and constrained methods. Computer applications using engineering and business case studies. Recommended preparation: MATH 201.
EECS 376: Mobile Robotics (100/15834)
TR 04:30-05:45 PM Jan 10-Apr 25
Newman, W
This course is taught together with EECS 476
EECS 376: Mobile Robotics (110/15836)
Newman, W
This course is taught together with EECS 476
EECS 391: Introduction to Artificial Intelligence (100/6169)
TR 10:00-11:15 AM Jan 10-Apr 25
Lewicki, M; Ray, S
This course is an introduction to artificial intelligence. We will study the concepts that underlie intelligent systems. Topics covered include problem solving with search, constraint satisfaction, adversarial games, knowledge representation and reasoning using propositional and first order logic, reasoning under uncertainty, introduction to machine learning, automated planning, reinforcement learning and natural language processing. Recommended: basic knowledge of probability and statistics.
EECS 395: Senior Project in Computer Science (100/6963)
MWF 11:30-12:20 PM Jan 10-Apr 25
Ozsoyoglu, G
Capstone course for computer science (BS major) seniors. Material from previous and concurrent courses used to solve computer programming problems and to develop software systems. Professional engineering topics such as project management, engineering design, communications, and professional ethics. Requirements include periodic reporting of progress, plus a final oral presentation and written report. Scheduled formal project presentations during last week of classes.
EECS 397: Hardware Security (102/7611)
MW 03:00-04:15 PM Jan 10-Apr 25
Bhunia, S
Security of computer hardware, in the domain of both general purpose and embedded systems, has emerged as a major concern. New generation of attacks by the hardware hackers and countermeasures to these attacks are rapidly emerging. To enable secure, trust-worthy operation of computer hardware, it is important to understand the security issues and incorporate appropriate security measures during design, verification, test, and deployment. This course aims at providing comprehensive coverage on security issues in computer hardware covering topics such as cryptography, hardware Trojan, side-channel information leakage, hardware IP protection against piracy and reverse-engineering, and security in embedded systems including software infection or bus snooping. After completing this course, students will be able to analyze and validate computer hardware for security and build secure hardware for trustworthy computing. The course will include five group projects on hands-on hardware security, where the students will "hack" a hardware mopdule, a 32-bit RISC processor, using an Altera FPGA board. The projects will help understand different attack modes and ways to protect against them. Students can be creative to launch their own attacks! The final project will have a challenge session, "Can you Hack It?"
EECS 398: Engineering Projects I (100/6173)
MW 11:30-12:20 PM Jan 10-Apr 25
Malakooti, B
Taught together with EECS 399
EECS 399: Engineering Projects II (100/6175)
MW 11:30-12:20 PM Jan 10-Apr 25
Malakooti, B
Taught together with EECS 398
EECS 400T: Graduate Teaching I (100/6177)
Zorman, C
EE, CE AND SY STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 400T: Graduate Teaching I (101/6179)
Zorman, C
CS STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 401: Digital Signal Processing (100/7517)
W 03:00-05:30 PM Jan 10-Apr 25
Loparo, K
Characterization of discrete-time signals and systems. Fourier analysis: the Discrete-time Fourier Transform, the Discrete-time Fourier series, the Discrete Fourier Transform and the Fast Fourier Transform. Continuous-time signal sampling and signal reconstruction. Digital filter design: infinite impulse response filters, finite impulse response filters, filter realization and quantization effects. Random signals: discrete correlation sequences and power density spectra, response of linear systems. Recommended preparation: EECS 313.
EECS 416: Convex Optimization for Engineering (100/6181)
TR 01:15-02:30 PM Jan 10-Apr 25
Chankong, V
This course will focus on the development of a working knowledge and skills to recognize, formulate, and solve convex optimization problems that are so prevalent in engineering. Applications in control systems; parameter and state estimation; signal processing; communications and networks; circuit design; data modeling and analysis; data mining including clustering and classification; and combinatorial and global optimization will be highlighted. New reliable and efficient methods, particular those based on interior-point methods and other special methods to solve convex optimization problems will be emphasized. Implementation issues will also be underscored. Recommended preparation: MATH 201 or equivalent.
EECS 416: Convex Optimization for Engineering (101/7097)
TR 01:15-02:30 PM Jan 10-Apr 25
Chankong, V
This course will focus on the development of a working knowledge and skills to recognize, formulate, and solve convex optimization problems that are so prevalent in engineering. Applications in control systems; parameter and state estimation; signal processing; communications and networks; circuit design; data modeling and analysis; data mining including clustering and classification; and combinatorial and global optimization will be highlighted. New reliable and efficient methods, particular those based on interior-point methods and other special methods to solve convex optimization problems will be emphasized. Implementation issues will also be underscored. Recommended preparation: MATH 201 or equivalent.
EECS 421: Optimization of Dynamic Systems (100/15829)
M 04:30-07:30 PM Jan 10-Apr 25
Chankong, V
This course is taught together with MATH 434
EECS 424: Introduction to Nanotechnology (100/15610)
R 06:00-08:30 PM Jan 10-Apr 25
Abramson, A
This course is taught together with EMAE 424
EECS 441: Internet Applications (100/7307)
TR 08:30-09:45 AM Jan 10-Apr 25
Rabinovich, M
This course exposes students to research in building and scaling internet applications. Covered topics include Web services, scalable content delivery, applications of peer-to-peer networks, and performance analysis and measurements of internet application platforms. The course is based on a collection of research papers and protocol specifications. Students are required to read the materials, present a paper in class, prepare short summaries of discussed papers, and do a course project (team projects are encouraged).
EECS 454: Analysis of Algorithms (100/6185)
TR 10:00-11:15 AM Jan 10-Apr 25
Liberatore, V
The course is taught together with OPRE 454
EECS 459: Bioinformatics for Systems Biology (100/15617)
MW 01:15-02:30 PM Jan 10-Apr 25
Koyuturk, M
Taught together with EECS 359
EECS 476: Mobile Robotics (100/15835)
TR 04:30-05:45 PM Jan 10-Apr 25
Newman, W
This course is taught together with EECS 376
EECS 476: Mobile Robotics (110/15837)
Newman, W
This course is taught together with EECS 376
EECS 488: Embedded Systems Design (100/6187)
R 06:30-09:00 PM Jan 10-Apr 25
Papachristou, C
Objective: to introduce and expose the student to methodologies for systematic design of embedded system. The topics include, but are not limited to, system specification, architecture modeling, component partitioning, estimation metrics, hardware software codesign, diagnostics.
EECS 488: Embedded Systems Design (101/7099)
R 06:30-09:00 PM Jan 10-Apr 25
Papachristou, C
Objective: to introduce and expose the student to methodologies for systematic design of embedded system. The topics include, but are not limited to, system specification, architecture modeling, component partitioning, estimation metrics, hardware software codesign, diagnostics.
EECS 492: VLSI Digital Signal Processing Systems (100/6189)
MW 04:15-05:30 PM Jan 10-Apr 25
Zhang, X
Digital signal processing (DSP) can be found in numerous applications, such as wireless communications, audio/video compression, cable modems, multimedia, global positioning systems and biomedical signal processing. This course fills the gap between DSP algorithms and their efficient VLSI implementations. The design of a digital system is restricted by the requirements of applications, such as speed, area and power consumption. This course introduces methodologies and tools which can be used to design VLSI architectures with different speed-area tradeoffs for DSP algorithms. In addition, the design of efficient VLSI architectures for commonly used DSP blocks is presented in this class. Recommended preparation: EECS 485.
EECS 500: EECS Colloquium (100/6191)
TR 11:30-12:20 PM Jan 10-Apr 25
Ray, S
Seminars on current topics in Electrical Engineering and Computer Science.
EECS 500T: Graduate Teaching II (100/6193)
Zorman, C
EE, CE AND SY STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 500T: Graduate Teaching II (101/6195)
Zorman, C
CS STUDENTS SHOULD REGISTER FOR THIS SECTION.
EECS 527: Theory & Techniq (100/15614)
TR 10:00-11:15 AM Jan 10-Apr 25
Feng, P
Sensor technology with a primary focus on semiconductor-based devices. Physical principles of energy conversion devices (sensors) with a review of relevant fundamentals: elasticity theory, fluid mechanics, silicon fabrication and micromachining technology, semiconductor device physics. Classification and terminology of sensors, defining and measuring sensor characteristics and performance, effect of the environment on sensors, predicting and controlling sensor error. Mechanical, acoustic, magnetic, thermal, radiation, chemical and biological sensors will be examined. Sensor packaging and sensor interface circuitry.
EECS 589: Robotics II (100/16446)
MW 04:15-05:30 PM Jan 10-Apr 25
Lee, G
Survey of research issues in robotics. Force control, visual servoing, robot autonomy, on-line planning, high-speed control, man/machine interfaces, robot learning, sensory processing for real-time control. Primarily a project-based lab course in which students design real-time software executing on multi-processors to control an industrial robot. Recommended preparation: EECS 489.
EECS 600: Algorithmic Robotics (100/6197)
MW 12:30-01:45 PM Jan 10-Apr 25
Cavusoglu, C
EECS 600: Complex Systems Biol (103/6199)
R 05:00-07:30 PM Jan 10-Apr 25
Sreenath, S
Taught together with EECS 365
EECS 600: Software Test & Analys (110/7503)
TR 10:00-11:15 AM Jan 10-Apr 25
Podgurski, H
EECS 600: Computational Perception (111/7507)
TR 02:45-04:00 PM Jan 10-Apr 25
Lewicki, M
The perceptual capabilities of even the simplest biological organisms are far beyond what we can achieve with machines. Whether you look at sensitivity, robustness, or sheer perceptual power, perception in biology just works, works in complex, ever changing environments, and can pick up the most subtle sensory patterns. Is it the neural hardware? Does biology solve fundamentally different problems? What can we learn from biological systems? Can human perception give us any insight into how to design better signal processing algorithms, or build devices that can perceive their world more like we do?
This course teaches advanced aspects of perception and scene analysis in both the visual and auditory modalities, concentrating on those aspects that allow us and animals to behave in natural, complex environments. The focus is on understanding set of fundamental computational problems that must be solved in robust perceptual systems. The course follows the lines of scientific reasoning and key experimental results that lead to our current understanding of the important computational problems in perception and scene analysis. We survey the most important solutions to these problems, focusing on the idealizations and simplifications that are used to achieve practical computational algorithms. Specific topics include signal detection, sensory coding, spatial vision, sounds localization, perceptual invariance, visual and auditory scene segmentation, attention, recognition, and scene analysis.