These are the official catalog descriptions of all the courses we offer in EECS, including cross-listed courses.  

If you see this icon:  instructor-course-page-button it links to the instructor's online course syllabus.

To find the textbook that has been ordered for each course, please visit the NU Bookstore Course Materials finder.


CATALOG DESCRIPTION:

The Engineering First®program is an innovative first-year curriculum for McCormick undergraduates. The program gives Northwestern engineering students the fundamentals of a successful engineering education, and lets them experience more real engineering early in their undergraduate careers.

Read more...

CATALOG DESCRIPTION:

The Engineering First®program is an innovative first-year curriculum for McCormick undergraduates. The program gives Northwestern engineering students the fundamentals of a successful engineering education, and lets them experience more real engineering early in their undergraduate careers.

Read more...

CATALOG DESCRIPTION: Introduction to solid-state optoelectronic devices; display devices, laser diodes, photodetectors, and light modulators; optical waveguides and fibers; system application of optoelectronic devices.

Read more...

CATALOG DESCRIPTION: Introduction to contemporary topics in electrical and computer engineering via lectures, demonstrations, lab tours, and invited speakers from industry and Government. Weekly reading and writing assignments.

Read more...

CATALOG DESCRIPTION: Computation is ubiquitous: DNA contains biological programs and is a part of all lifeforms, the human brain is a powerful computer, and the digital computer has revolutionized most aspects of our society. The primary goal of this course is to explore the whats, whys, and hows of computer science.

instructor-course-page-button

Read more...

CATALOG DESCRIPTION: 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. This is an introductory programming course that is not part of the major. It provides an introduction to programming for those that can benefit from becoming better programmers, but without committing to the major student's version of the course. Fall is offered in C; Winter and Spring are offered in Python. See professor's website for an updated syllabus.

This is an introductory programming course that is not part of the major. It provides an introduction to programming for those that can benefit from becoming better programmers, but without committing to the major student's version of the course.

  • This course is approved for Weinberg Area II (Formal Studies) distribution credit

Read more...

CATALOG DESCRIPTION: 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.

  • This course is approved for Weinberg Area II (Formal Studies) distribution credit
  • This course is a required Core course in the CS curriculum in McCormick and Weinberg

Read more...

CATALOG DESCRIPTION: This class is an introduction to the current state of tool and techniques used to design, build and maintain web pages, sites and applications. We say current, because things change and by the time you graduate, three new languages will be on the scene, four old approaches will pass away, and an entirely new vision of online information will have arisen.

Read more...

CATALOG DESCRIPTION: Introduction to fundamental concepts and applications of electrical engineering.  Topics include:  circuit analysis;  sinusoids and spectra;  analog filtering;  signal sampling and digital filtering;  channel capacity;  feedback and control systems;  optical components and systems;  transistor and operational amplifiers;  and semiconductor devices including diodes, transistors, light-emitting diodes, and lasers.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION:  Object-oriented programming, classes and data hiding, dynamic object construction and destruction, derived classes and inheritance, virtual functions; functions, call by value/reference, overloading; abstract data types; standard template libraries; exception handling; introduction to UNIX, file processing, process management.

  • This course is a required Core course in the CS curriculum in McCormick and Weinberg

Both sections of this course have required discussions that are on Tuesday and can be either 1- 1:50  or 2- 2:50 (check with instructor).

Read more...

CATALOG DESCRIPTION: 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.

  • (Formerly EECS 310)
  • This course is a required Core course in the CS curriculum in McCormick and Weinberg

Read more...

CATALOG DESCRIPTION: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.

  • This course is a required Core course in the CS curriculum in McCormick and Weinberg

Instructor's Course Home Page

Read more...

CATALOG DESCRIPTION: 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.

  • (Formerly EECS 311)
  • This course is a required Core course in the CS curriculum in McCormick and Weinberg

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Introduction to electromagnetic waves in electrical engineering. Topics include: concepts of transmission lines, electrostatics and magnetostatics; Maxwell's equations for time-varying fields; plane-wave propagation, reflection, and transmission; introduction to fiber optics and photonics.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: DC and AC networks, rectifiers, transistor amplifiers, feedback and operational amplifiers, digital electronics, and microprocessors. Not open to electrical or computer engineering majors.

Read more...

CATALOG DESCRIPTION: A laboratory-based introduction to robotics. Focus will be on both hardware (sensors and actuators) and software (sensor processing and behavior development). Topics will include: the basics in kinematics, dynamics, control, and motion planning; and an introduction to Artificial Intelligence (AI) and Machine Learning (ML). Formerly EECS 295.

  • This course fulfills the AI Depth requirement. 

Read more...

CATALOG DESCRIPTION: Basic concepts of probability theory and statistics, random variables, moments; multiple random variables, conditional distributions, correlation; random signals; applications to engineering systems.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Transmission lines; impedance transformation; transients on lines; electromagnetic waves; electromagnetic wave reflection and transmission; metallic, dielectric and optical waveguides and wave transmission; single and multimode fibers; antennas and diffraction, antenna arrays; communication, and radar.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

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

Read more...

CATALOG DESCRIPTION:  This course introduces students to the key features of programming languages. Students implement a series of interpreters that nail down the precise details of how various aspects of programming languages behave.  Students are assumed to understand trees and (mathematical) functions that process them; the course builds up to the features of real programming languages from there.

Read more...

CATALOG DESCRIPTION: The compiler is the programmer's primary tool. Understanding the compiler is therefore critical for programmers, even if they never build one. Furthermore, many design techniques that emerged in the context of compilers are useful for a range of other application areas. This course introduces students to the essential elements of building a compiler: parsing, context-sensitive property checking, code linearization, register allocation, etc. To take this course, students are expected to already understand how programming languages behave, to a fairly detailed degree. The material in the course builds on that knowledge via a series of semantics preserving transformations that start with a fairly high-level programming language and culminate in machine code.

  • This course satisfies the project requirement.

 

Read more...

CATALOG DESCRIPTION: 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.

Instructor's course page

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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. 

  • This course satisfies the CS Project Course, CS Breadth: Interfaces, and CD Depth: Interfaces requirements.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: TBA

Please contact the instructor for information about this course.

Read more...

CATALOG DESCRIPTION: This course gives an introduction to the mathematical foundations of computation. The course will look at Turing machines, universal computation, the Church-Turing thesis, the halting problem and general undecidability, Rice’s theorem, the recursion theorem, efficient computation models, time and space (memory) bounds, deterministic and nondeterministic computation and their relationships, the P versus NP problem and hard problems for NP and beyond.

Note: This course will replace Math 374 (Theory of Computability and Turing Machines) which is listed as a recommended way to fulfill the undergraduate theory breadth requirement in CS but hasn’t been taught in several years. The Math department is happy to give it up.

 

Read more...

CATALOG DESCRIPTION: Algorithm design and analysis is fundamental to all areas of computer science and gives a
rigorous framework for the study optimization. This course provides an introduction to algorithm design through a survey of the common algorithm design paradigms of greedy optimization, divide and conquer, dynamic programming, network flows, reductions, and randomized algorithms. Important themes that will be developed in the course include the algorithmic abstraction-design-analysis process and computational tractability (e.g., NP-completeness).

instructor-course-page-button

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement 

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement.

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement. 

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement.

Read more...

CATALOG DESCRIPTION: 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.

  • Approved for Systems Breadth and Depth in the CS curriculum in McCormick and Weinberg
  • This course satisfies the project requirement. 

Read more...

CATALOG DESCRIPTION: Principles and practice of organizing and building AI reasoning systems. Topics include pattern-directed rule systems, truth-maintenance systems, and constraint languages.

  • This course satisfies the project requirement. 

Read more...

CATALOG DESCRIPTION: 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. 

  • This course satisfies the project requirement

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Design, prototype and test individual projects involving microprocessors and related devices such as PAL/FPGA and special purpose ICs. Embedded-system tools such as special purpose compilers and ICE (in-circuit emulation). Manufacturing issues such as PCB layout. Survey of microprocessor platforms. Part I deals with specification and design.

Read more...

CATALOG DESCRIPTION: Design, prototype and test individual projects involving microprocessors and related devices such as PAL/FPGA and special purpose ICs. Embedded-system tools such as special purpose compilers and ICE (in-circuit emulation). Manufacturing issues such as PCB layout. Survey of microprocessor platforms. Part II deals with implementation, testing, and documentation.

Read more...

CATALOG DESCRIPTION: Core techniques and applications of artificial intelligence. Representation retrieving and application of knowledge for problem solving. Hypothesis exploration, theorem proving, vision and neural networks.

Read more...

CATALOG DESCRIPTION: Machine Learning is the study of algorithms that improve automatically through experience. Topics covered typically include Bayesian Learning, Decision Trees, Genetic Algorithms, Neural Networks.

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement

Read more...

CATALOG DESCRIPTION: 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 collections of interactive 2D/3D shapes with simple lighting and textured surfaces. You will learn by doing, with four projects that teach: 1) Shape descriptions; points, lines, polys, and trees of transformations; 2) Viewing: how to make a 3D camera that computes a picture 3) lighting and shading; 4) textures and buffer tricks. We will use 'WebGL' to write 3D graphics programs that run in HTML-5 browsers such as Chrome. We will learn GLSL to write shaders in OpenGL (DirectX is similar), with brief surveys of advanced topics.

  • This course satisfies the project requirement.

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement 

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION : 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.

Read more...

CATALOG DESCRIPTION : Basic concepts in VLSI CAD with emphasis on physical design, fundamental algorithms for CAD problems, development of CAD tools.

Read more...

CATALOG DESCRIPTION: Introduction to parallel computing for scientists and engineers. Shared memory parallel architectures and programming, distributed memory, message-passing data-parallel architectures, and programming.

Read more...

CATALOG DESCRIPTION: Discrete-time signals and systems, Discrete-Time Fourier Transform, z-Transform, Discrete Fourier Transform, Digital Filters.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Please refer to the course schedule and contact the Professor teaching this course for more information.

CATALOG DESCRIPTION:  GPU architecture, CUDA programming model, parallel programming optimization techniques, profilers and performance analysis tools, OpenCL. (Formerly numbered EECS 395/495.)

Read more...

CATALOG DESCRIPTION: This course will provide coverage of the basic hardware and software platforms for sensor networks and will address in detail several algorithmic techniques for data routing, querying processing, and topology management. The students will obtain hands-on experience through programming projects involving TinyOS or MantisOS, running on Telos/MicaZ platforms. In addition, a number of prototype systems, such as TinyDB will be studied, in the context of various application domains of sensor networks.

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement

Read more...

COURSE DESCRIPTION: Principles and practices of knowledge representation, including logics, ontologies, common sense knowledge, and semantic web technologies.

  • Prerequisite: 348, 325, or equivalent experience with artificial intelligence.
  • This course satisfies the project requirement. 

Read more...

CATALOG DESCRIPTION: This course focuses on the exploration, construction and analysis of multi-agent models. Sample models from a variety of content domains are explored and analyzed. Spatial and network topologies are introduced. The prominent agent-based frameworks are covered as well as methodology for replicating, verifying and validating agent-based models. We use state of the art ABM and complexity science tools. This course can help satisfy the project course and artificial intelligence area course requirement for CS and CIS majors, and satisfy the breadth requirement in artificial intelligence for Ph.D. students in CS. It also satisfies a design course requirement for Learning Sciences graduate students, counts towards the Cognitive Science specialization and as an advanced elective for the Cognitive Science major.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Optical fields as a subset of electromagnetic fields, optical cavities, theory of laser action, and the basics of optical waveguides, including optical fiber.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Introduction to photonic information processing; coherent and incoherent light; electro-optic and acousto-optic modulation; optical signal processing; holography; optical storage.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Applications of energy band models for semiconductors. Carrier statistics and transport. Diodes, bipolar and field-effect transistors. Integrated circuits. Heterojunction devices.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Properties of materials in the superconducting state; charge flow dynamics of type II superconductors; high T c superconductors; applications for computers and high-frequency devices.

Read more...

CATALOG DESCRIPTION: Homogeneous vector and plane, homogeneous transformation, position and orientation transformations, kinematics and inverse kinematic solutions of robot manipulators and mobile robots, Jacobian and inverse Jacobian relation, robot trajectory and task planning, mobile robot planning, dynamic formulation and computation of robot manipulators, robot programming and control systems.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: I ssues 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.

Read more...

CATALOG DESCRIPTION: 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.
Instructor's Course Home Page

Read more...

CATALOG DESCRIPTION: In this course, students will design and develop 3D game games using the Unity engine and the agile scrum development methodology.  The focus will be on project work, both software development (programming) and iterative design, however lecture material will also be included on game architecture and the MDA framework.  
 (This course was formerly known as "EECS-395/495 Real-Time 3D Game Engine Design")

  • This course satisfies the project requirement; Interfaces (breadth or depth); software development (breadth)

Read more...

CATALOG DESCRIPTION: Algorithmic and economic fundamentals of social networks, including standard measures of network analysis like clustering, diameter, and degree distribution; network clustering and community detection algorithms; random and strategic network formation models; search, diffusion, and learning in networks.

Read more...

CATALOG DESCRIPTION: Emerging interactive technologies are rapidly transforming the ways in which we work, play, communicate, and learn. Research on tangible interaction attempts to blur the line between digital technologies and the broader physical, social, and cultural worlds within which computer use is situated. This course will explore the use of tangible interaction to create innovative learning experiences and will review both theoretical and technological foundations of the field. Topics may include distributed cognition, embodied interaction, cultural forms, and tangible interaction frameworks.

  • This course fulfills the Interfaces breadth & Interfaces depth requirement.

Read more...

CATALOG DESCRIPTION: The course discusses modern processor architectures, the constraints that limit their design and programmability, and promising techniques to mitigate these constraints.

Read more...

CATALOG DESCRIPTION: Study of advanced topics of current interest in the field of quantum electronics, with an emphasis of atom-laser interaction. Selected topics from the following areas will be covered, with an emphasis on practical applications: Semi-Classical Atom-Laser Interaction, Quantized Radiation Field, Cavity Quantum Electrodynamics, Fundamental Formalisms in Quantum Noise, Quantum Theory of Spontaneous Emission, and Quantum Theory of Laser.

Read more...

CATALOG DESCRIPTION: This course will cover a variety of topics in computational complexity including pseudorandomness, counting complexity, quantum computing and the structure of complete sets.

Read more...

CATALOG DESCRIPTION: Introduction to the design and evaluation of embedded systems, with emphasis on the system-level aspects of embedded systems.  Topics include modeling (models of computation and models of communication), survey of embedded system hardware, software and operating system issues specific to embedded system design, mapping specifications to hardware, and testing and evaluation of embedded systems.

  • This course fulfills the Systems breadth and depth requirement.

Read more...

CATALOG DESCRIPTION:  This is a joint projects class with Medill in conjunction with the newly announced Knight News Innovation Lab at Northwestern.  McCormick students (primarily CS and CE majors) and journalism students will join cross-functional teams to assess and develop, from both an audience/market perspective and a technology perspective, a range of technology projects with the ultimate goal of deployment for impact in media and journalism.  Some projects may continue over the summer if students are interested.

  • This course fulfills the AI depth, Interfaces depth & Project Course requirement.

Read more...

CATALOG DESCRIPTION: A laboratory-based course on the principles of analog and digital communication systems and applications of software-defined radios. Laboratory work will begin with computer simulations using GNUradio companion and move to software/hardware platforms, specifically the Universal Software Radio Peripherals from National Instruments (NI USRP). Participants will learn how to transmit, receive, analyze and process radio signals. The class will also form one or two large groups to work on a competitive project, the goal of which is to program radios to reliably transmit as many packets as possible in presence of unknown/hostile interference.

Read more...

CATALOG DESCRIPTION: This course combines game theory and economics with algorithms. Algorithms studies at simple processes for finding optimal or near optimal solutions to complicated optimization problems. The output of an algorithm is often an allocation of resources, e.g., which edges in a graph are in the shortest path or which tasks can be scheduled on a computer server. Game theory and economics study the outcome of systems of selfish agents, each optimizing their own objective. Algorithmic mechanism design combines the two fields and looks to find simple processes that result in good allocations of resources even when the input to these processes are provided by selfish agents who may try to game the system to get a more favorable outcome for themselves. These settings of selfish agents are especially relevant in computer networks such as the Internet. Unfortunately, optimal mechanisms are almost never simple enough to be implemented in practice, therefore, this course develops techniques for designing and analyzing simple mechanisms that approximate the optimal ones. From a computer science perspective, this course can be views as adding game theory to standard settings for approximation algorithms. From an economics perspective, this course can be viewed as adding approximation to standard settings in auction theory and mechanism design. Examples will be taken from eBay, Internet routing, Internet broadcast, FCC spectrum auction, and Internet advertising.

Read more...

CATALOG DESCRIPTION: You will not get the automatic speedup for your software when you upgrade to a new computer, since the frequency scaling is virtually stopped, and you only get more cores on new machines. For speed, you have to do concurrent programming for multicores. This course will teach you how to do it effectively. We will start with synchronization primitives, mutual exclusion, and consensus, and talk about different programming models such as multi-threading, locking, and transactional memory. We will also discuss how to debug and check concurrent programs, which may give your different behaviors at different executions.

Read more...

CATALOG DESCRIPTION: In a security conscious society, biometrics-based authentication and identification have become a central focus for many important applications as biometrics can provide accurate and reliable identification. Biometrics research and technology continue to mature rapidly, driven by pressing industrial and government needs and supported by industrial and government funding. This course offers an introduction to major biometric techniques, the underlying pattern recognition and computer vision basis for these biometrics, scientific testing and evaluation methodologies of biometrics systems, a deeper study of facial recognition, and an examination of the current privacy and social/ethical issues surrounding the technology. The course includes readings from the literature, short writing assignments, and practical experience with current biometric technology.

Read more...

CATALOG DESCRIPTION: Students will build new intelligent applications using IBM's Watson. IBM will work with us to provide the base technology and some technical advice, as well as guest lecturers etc. This is a joint class with the IEMS & the MS Analytics program.

Read more...

Please contact the Professor teaching this course for more information

Read more...

COURSE DESCRIPTION: This course focuses on understanding communication and behavior in groups, with a particular focus on the unique and sometimes difficult issues raised by the collaborative use of communication and computing technologies. Topics include theories of group and organizational behavior, interpersonal awareness, privacy, trust, technology-mediated communication, and technology evaluation and adoption.

Crosslisted with COMM_ST 395-0

Read more...

CATALOG DESCRIPTION: After a brief introduction to numerical computation issues, the course will continue with a sequence of canonical problem settings (e.g., Intersections; Arrangements/Duality), mostly focusing on the combinatorial aspects of the algorithms and the impact of the data structures. Each part will be casted in respective applications settings (GIS; Motion Planning; etc). The last part of the course will present several potpourri-like topics, e.g., Skeletons/Medial Axis; Davenport-Shinzel sequences.

  • This course fulfills the AI Depth & Theory Depth requirement.

Read more...

COURSE DESCRIPTION: This course is second in a two-part series that explores the emerging new field of Computational Photography. Computational photography combines ideas in computer vision, computer graphics, and image processing to overcome limitations in image quality such as resolution, dynamic range, and defocus/motion blur. This course will first cover state-of-the-art topics in computational photography such as motion/defocus deblurring cameras, light field cameras, computational displays, and much more!

Instructor's Course Home Page

Read more...

COURSE DESCRIPTION: In the past twenty years we have seen great progress in removing the need for random bits based on assumptions of hard languages and in some cases no assumptions at all. This course will discuss pseudorandom generators for low time and memory algorithms, extracting randomness from unknown distributions and constructions of combinatorial structures such as expander graphs with their applications.

Read more...

CATALOG DESCRIPTION:  A top on interesting ideas and ongoing projects pushing distributed systems in to new and challenging domains.

Read more...

COURSE DESCRIPTION: Geospatial information has become ubiquitous in everyday life, as evidenced by on-line mapping services such as Microsoft Virtual Earth/Bing Map, the recent addition of "place" features on social network websites such as Facebook, and free navigation on Nokia smart phones. Behind the scenes is digital map content engineering that enables all types of location-based services. Course material will be drawn from the instructor's research experience at NOKIA Location and Commerce (formerly NAVTEQ), the Chicago-based leading global provider of digital map, traffic and location data. This course will provide comprehensive treatment of computer vision, image processing and visualization techniques in the context of digital mapping, global positioning and sensing, next generation map making, and three-dimensional map content creations. Real world problems and data and on-site industry visits will comprise part of the course curriculum.

  • The course satisfies the interfaces breadth and depth requirements.

Read more...

CATALOG DESCRIPTION: 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 AI systems that capture larger constellations of human cognitive abilities and the problems that lie ahead in creating human-level AIs. Extensive reading, writing, and discussion will be required, as well as a term project.

Read more...

CATALOG DESCRIPTION: (to become CS351-2) 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. It includes interactive particle systems, simple rigid-body dynamics, explicit and implicit dynamics solvers (suitable for smoke, simple fluids and cloth) and an introduction to ray tracing (chrome, glass, and diffraction) with a few basic ideas for global illumination.

  • This course satisfies the project requirement.
Instructor's PDF

Read more...

CATALOG DESCRIPTION: Computational photography combines plentiful low-cost computing, digital sensors, actuators, and lights to escape the limitations of traditional film-like methods. New methods offer unbounded dynamic range and variable focus, lighting, viewpoint, resolution and depth of field; hints about shape, reflectance, and location. Instead of fixed digital snapshots and video playback, computational methods promise direct interactions to explore what we photograph. The pre-requisites are EECS 351 (Introduction to Computer Graphics) or consent of the instructor.

  • This course fulfills the Interfaces Breadth & Interfaces Depth requirement. 

Read more...

This course will give a broad overview of cryptographic techniques withan emphasis on modern tools based on prime numbers. We discuss many basic protocols from classical tools to DES, RSA and discrete logarithms and applications such as digital signatures, secure protocols, secret sharing, secure computation and zero-knowledge proofs. As time permits we will explore connections between cryptography, coding theory and quantum mechanics.
instructor-course-page-button1

Read more...

CATALOG DESCRIPTION: The new generation electricity power network, a.k.a., smart grid, is a complex socio-technical system involving nonlinear physical constraints, large scale computations and intricate economic/environmental impacts. This course gives an interdisciplinary perspective of the grid: the fundamental physics of the grid; the related modeling and computation challenges; basic game theoretic tools and analysis of the dynamic market interactions. The pre-requisites are basic optimization and mathematical maturity or consent of the instructor.

Read more...

CATALOG DESCRIPTION: An introduction to computational complexity beyond the P versus NP question. Topics include the polynomial-time hierarchy and alternation, counting complexity, interactive proofs and circuit complexity.

Read more...

COURSE DESCRIPTION:  From robotics, speech recognition, and analytics to finance and social network analysis, machine learning has become one of the most useful set of scientific tools of our age. With this course we want to bring interested students and researchers from a wide array of disciplines up to speed on the power and wide applicability of machine learning. The ultimate aim of the course is to equip you with all the modelling and optimization tools you’ll need in order to formulate and solve problems of interest in a machine learning framework. We hope to help build these skills through lectures and reading materials which introduce machine learning in the context of its many applications, as well as by describing in a detailed but user-friendly manner the modern techniques from nonlinear optimization used to solve them. In addition to a well curated collection of reference materials, registered students will receive a draft of a forthcoming manuscript authored by the instructors on machine learning to use as class notes.

Read more...

CATALOG DESCRIPTION: This course will cover a broad range of topics related to networking problems in cloud computing, including network structure of Internet Data Centers, layer 2 data network fabric, lease management and partitioning, data placement for geo-distributed cloud services, energy efficient cloud design, flow scheduling, congestion control, i.e., the incast problem, and more.

Read more...

CATALOG DESCRIPTION: After a short motivational discussion of software-design issues (i.e., modularization) and the impact of the O-O paradigm in the software lifecycle, the first part of this course will give a brief overview the programming paradigms and representative languages, specifically focusing on the O-O one. The second part of the course will focus on Smalltalk, as a representative of pure Object-Oriented languages featuring: (1) every operation is a message; (2) dynamic typing/binding and all-reference semantics; (3) everything is an object (classes too). In the third part of the course, we will contrast this with the O-O capabilities of the C++, which will be studied in detail – in the lieu of the fact that C++ is a “hybrid” O-O language (e.g., its “default behavior” is to be statically typed). During the last week of the course, a comparative analysis of the O-O languages will be discussed, with a special focus on placing Java along the spectrum.

Read more...

CATALOG DESCRIPTION: This course will cover a broad range of topics related to online advertising on the web, mobile, search-engines, and online social networks. Example topics include online advertising architectures, click frauds and malicious advertising, privacy-preserving online advertising, measuring and predicting the effects of online advertising, behavioral and contextual advertising, and more.

Read more...

CATALOG DESCRIPTION: Probabilistic graphical models are a powerful technique for handling uncertainty in machine learning. The course will cover how probability distributions can be represented in graphical models, how inference and learning are performed in the models, and how the models are utilized for machine learning in practice.

  • This course fulfills the AI Depth course requirement.

Read more...

This course is a PL reading seminar aimed at graduate students (or undergraduates who have taken 321 and 322 and want more). The content varies from year to year; contact the instructor for this year's topic.

Read more...

CATALOG DESCRIPTION: This course will cover the basic principles of character simulation, including artificial intelligence, physical simulation, and animation.  Grading will be based on programming assignments and open projects involving the Twig procedural animation system.  AI topics will include: emotion and personality simulation, social simulation, behavior-based programming, reactive planning, and path planning.  Other topics will include physical simulation of rigid and non-rigid bodies, procedural animation, and control structures for interactive narrative.

Read more...

CATALOG DESCRIPTION: This course will introduce students to Special Relativity (SR), illustrate the relation between SR and Maxwell’s Equations, and explain the origin of magentic fields and forces.  In addition, it will describe quantitatively how modern optical devices and systems such as Sagnac interferometers, gyroscopes, accelerometers, clocks and the global positioning system must take into account the effects of SR.

Read more...

CATALOG DESCRIPTION: Requirements of large-scale computer systems and networks; space, power, environmental control, operational software and security; planning, data centers, network operations centers, national and international regulations and practices.

Read more...

CATALOG DESCRIPTION:  This course will give a basic introduction to discrete probability including random variables, expectation, variance and probabilistic inequalities. We then use these tools to show the existence of combinatorial objects with certain properties by choosing them at random and showing the property holds with positive probability, for example Ramsey graphs with no large clique or independent set.

Read more...

Catalog Description: This course covers the fundamentals of Internet search engines, including Web crawlers, inverted indices, hyperlink analysis, and relevance ranking.  Also covered are advanced topics including information extraction for knowledge base construction, question answering, search marketing and ad targeting, and activity mining for relevance optimization and personalization.

Read more...

CATALOG DESCRIPTION: Theory, design, and implementation of real-time systems, i.e., special-purpose computers that guarantee certain tasks will be completed by certain times.  Use of real-time operating systems.

  • This course satisfies the project requirement
Instructor's Course Home Page

Read more...

CATALOG DESCRIPTION: 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

Read more...

CATALOG DESCRIPTION: Independent Study (can be taken multiple times)
 

  • Approved for Systems Breadth and Depth in the CS curriculum in McCormick and Weinberg
  • This course satisfies the project requirement. 

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Semiconductor optics, heterojunctions, quantum wells, superlattices and resonant tunneling. Field-effect and potential-effect devices. Hot-electron devices. Microwave devices.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Review of quantum mechanics. Harmonic oscillator. Perturbation theory. Phonons and photons. Interaction of radiation and atomic systems. Einstein coefficients. Laser oscillation. Laser photon statistics.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION:  In this course we review the basics of Fourier optics.  The focus would be on statistical optics and optical imaging, which are related to various research activities in our department.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Selected topics in digital signal processing such as digital speech processing, multidimensional digital signal processing, spectrum estimation, and error analysis.

Read more...

CATALOG DESCRIPTION: Fundamentals of image processing. Image compression, enhancement, and restoration. Image reconstruction from projections and partial information.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Fundamentals of random variables; mean-squared estimation; limit theorems and convergence; definition of random processes; autocorrelation and stationarity; Gaussian and Poisson processes; Markov chains.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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. T he 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.

 

Read more...

CATALOG DESCRIPTION:  Simple-hypothesis detection problems, Continuous-time signal detection in white noise, Karhunen-Loeve expansion of random processes, detection of signals in colored noise, Detection of signals with random parameters, Bayes and maximum likelihood signal parameter estimation, Nonparametric detection, sequential detection procedures, Distributed detection techniques.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION:  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, probability, physics.

Prerequisites by course: EECS 302 Probabilities.
Prerequisites by topic: Good understanding of basic probability.  (A review of probability theory will be given in Week 1.)

Read more...

CATALOG DESCRIPTION: "Quantum Information and Quantum Computation" In this course the basics of quantum information science will be covered, including general descriptions of quantum state, measurement, and transformation. Emphasis will be put on quantum entanglement and its applications to quantum teleportation and quantum computation.  Their underlying theories and some expeimental development will be discussed.  Depending on class interests, selected topics on quantum error correction, quantum cryptogaphy, or quantum information theory will be covered.   

Read more...

CATALOG DESCRIPTION: Fundamentals of visual, acoustic, and tactile perception; display devices; perceptual models for image, video,
acoustic, and tactile signal analysis, compression, quality evaluation, and understanding; multimodal signal processing and perception; content-based retrieval; sense substitution.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: 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

Read more...

CATALOG DESCRIPTION: The Internet has evolved from a small, well controlled, and trusted network, into a gigantic, loosely controlled, and highly uncooperative infrastructure of astonishing scale and complexity. Not only that different hosts or networks have divergent functional or economical interests, but the Internet has become a “playground” for malicious denial-of-service attackers of all kinds. Moreover, its everyday operation is often poorly understood, and existing solutions to many of the classical challenges remain unsatisfactory. Hence, the design of Internet is far from complete, and it is certain that it will continue to change. This class is intended to help you understand how and why, by letting the Internet to become your “playground” for a quarter.

Read more...

CATALOG DESCRIPTION:  The bulk of the time in this class examining a virtual machine monitor (VMM) in depth, at the source code level.  The course explains the hardware/software interface of a modern x86 computer in detail.   A VMM is an operating system that is implemented directly on top of the hardware interface, and itself presents a hardware interface to higher-level software.  Students will also acquire valuable kernel development skills.
Prof. Dinda's EECS 441 course page

  • This course satisfies the project requirement

Read more...

CATALOG DESCRIPTION: 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.

  • This course satisfies the project requirement.

Read more...

CATALOG DESCRIPTION: Advanced operating systems. Topics covered include:

  • Approved for Systems Breadth and Depth in the CS curriculum in McCormick and Weinberg
  • This course satisfies the project requirement. 

Read more...

CATALOG DESCRIPTION: Cybercrime has exploded over the last decade. In this course, we will start with the basic concepts of network security, then focus on security challenges of network and distributed systems as well as the counter-attack approaches.

  • Approved for Security Depth and Systems Breadth and Depth in the CS curriculum in McCormick and Weinberg
  • This course satisfies the project requirement. 
Click to see the instructor's course page.

Read more...

CATALOG DESCRIPTION: 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.

Read more...

CATALOG DESCRIPTION: Parallel computer architecture and programming models. Message passing and shared memory multiprocessors. Scalability, synchronization, memory consistency, cache coherence. Memory hierarchy design. Network design.

Read more...

CATALOG DESCRIPTION: Basic techniques for modeling and analyzing communication networks. Fairness and utility functions, routing, congestion control, pricing, queuing models, loss networks, multi-class queues and scheduling.

Read more...

CATALOG DESCRIPTION: Design and analysis of advanced algorithms: graph algorithms; maximal network flows; min-cost flow algorithms; convex cost flows.

Read more...

CATALOG DESCRIPTION: Introduction to advanced topics in synthesis and modeling of complex VLSI systems at behavioral and logic level. Topics include resource allocation, resource binding, scheduling, and controller design in high level synthesis, C to hardware compilation flows, logic synthesis, survey of stat-of-the-art in high level and system level design methods and tools.

Read more...

CATALOG DESCRIPTION: Joint with EECS 372. Please refer to the description for EECS 372

Read more...

COURSE DESCRIPTION: NUvention:Web is an interdisciplinary experiential learning program designed to expose students to the entire product and  business development life cycle for a software company. Project areas include iPad/Tablet App, Mobile Applications, New Media, Social Gaming, Twitter or Facebook Apps, eCommerce/Deals, Analytics, Cloud, Big Data or ideas from students in the program. Teams will be able to continue to work on their projects after the completion of the course. Past NUvention:Web teams have gone on to make TechCrunch, PCMag, Rolling Stone and GigaOM headlines and join incubators, while others are bootstrapping and building their businesses to this day.

Read More

Read more...

COURSE DESCRIPTION:  NUvention:Web is an interdisciplinary experiential learning program designed to expose students to the entire product and  business development life cycle for a software company. Project areas include iPad/Tablet App, Mobile Applications, New Media, Social Gaming, Twitter or Facebook Apps, eCommerce/Deals, Analytics, Cloud, Big Data or ideas from students in the program. Teams will be able to continue to work on their projects after the completion of the course. Past NUvention:Web teams have gone on to make TechCrunch, PCMag, Rolling Stone and GigaOM headlines and join incubators, while others are bootstrapping and building their businesses to this day.

Read More

Read more...

CATALOG DESCRIPTION: Digital modulation, complex baseband signaling, multicarrier modulation, sequence estimation, the Viterbi algorithm, probability of error analysis, equalization.

Read more...

CATALOG DESCRIPTION: Numerical solution of unconstrained optimization problems, nonlinear least squares and nonlinear systems of algebraic equations, large-scale nonlinear optimization, quadratic programming, and constrained optimization.

Read more...

CATALOG DESCRIPTION: Computational auditory scene analysis (CASA) is the study of how a computational system can organize sound into perceptually meaningful elements. Problems in this field include source separation (splitting audio mixtures into individual sounds), source identification (labeling a source sound), and streaming (finding which sounds belong to a single explanation/event). This course is an advanced graduate course covering current research in the field.

Read more...

COURSE DESCRIPTION: This course is an introduction to the foundations of nonlinear control theory, with an emphasis on feedback stabilization. As needed, topics from differential geometry and other mathematical disciplines are introduced to support the development of basic concepts. The focus of the course is on mathematical tools for the analysis and design of nonlinear feedback systems, not the hardware and software technology required for their implementation.

Read more...

COURSE DESCRIPTION: A coverage of artificial intelligence, machine learning and statistical estimation topics that are especially relevant for robot operation and robotics research. The focus is on robotics-relevant aspects of ML and AI that are not covered in depth in EECS 348 or EECS 349. Course evaluation will be largely project-based.

Read more...

CATALOG DESCRIPTION: This course presents the physics and technology of nanoscale  semiconductor photonic and electronic quantum devices. The student is expected to have a basic understanding of quantum mechanics and semiconductor devices. This course reviews basic semiconductor device technologies and then focuses on several novel devices including quantum cascade lasers, multi-junction solar cells, Type-II superlattices, quantum dot infrared photodetectors, single photon detectors, and THz emitters

Read more...

CATALOG DESCRIPTION: Basic concepts of probability theory and statistics, random variables, moments; multiple random variables, conditional distributions, correlation; random signals; applications to engineering systems.  NOTE: This is the graduate level version of EECS 302; additional material and different homework will be provided for EECS 495.

Read more...

CATALOG DESCRIPTION: In this course we review the basics of Fourier optics. The focus would be on statistical optics and optical imaging, which are related to various research activities in our department.

Read more...

CATALOG DESCRIPTION: Starting with Napster and now with applications like Bit-Torrent, peer-to-peer networking has come to be one of the mainstays of networking. Similarly, applications to online advertising have lead to a revival of the classical multi-armed bandit problem. The purpose of this course is to discuss analytical models and theoretical foundations underlying these two application topics.

Read more...

CATALOG DESCRIPTION:  Social media is transforming the way people communicate, influence each other, perform commerce, and in how information is disseminated and is amplified. Social networks emerge with the pervasive use of social media. This class will introduce background of social computing including concepts.  This course will entail learning applications, algorithms and software related to mining of data available in Social Media. This course aims to introduce the state-of-the art developments in participatory Web techniques, social networks and analysis, network analysis and graph algorithms, information extraction, link analysis, and Web mining, to study emerging problems with social media, and to learn innovatively applying multidisciplinary approaches to problem solving. The class will involve reading papers, presentations, and team project.

Read more...

CATALOG DESCRIPTION: 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.

Instructor's Course Home Page

Read more...

CATALOG DESCRIPTION:  An advanced seminar course in information theory that complements EECS 428 Information Theory. It covers selected topics in classical information theory as well as some recent advances in network information theory, information theoretic aspects of signal processing (e.g., the compressed sensing problem), and the application of information theory in economics. We learn by doing.

Read more...

CATALOG DESCRIPTION: Constructionist approach to design. Participants discuss learning design literature, critique software, and design and build computer-based learning environments (CBLE). Student LE designs can include microworlds, goal-based scenarios, games, robots, and complex systems models among many others working primarily in Logo, NetLogo, and NetLogoLab.  

Read more...