Home Academics Course Descriptions
Course Descriptions
purple line

EA1 Engineering Analysis

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.

The program is composed of two integrated sequences: Engineering Analysis and Engineering Design and Communication
Learn more:  www.mccormick.northwestern.edu/undergraduates/curriculum/engineering_first/

 

EDC - Engineering Design and Communication

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.

The program is composed of two integrated sequences: Engineering Analysis and Engineering Design and Communication
Learn more:  www.mccormick.northwestern.edu/undergraduates/curriculum/engineering_first/

 

GenEng Engineering Analysis

GEN_ENG-205 1: Engineering Analysis 1 – Computational Methods and Linear Algebra
GEN_ENG 205-2: Engineering Analysis 2 – Linear Algebra and Mechanics
GEN_ENG 205-3: Engineering Analysis 3 – Dynamic System Modeling
GEN_ENG 205-4: Engineering Analysis 4 – Differential Equations

Learn more:  www.mccormick.northwestern.edu/undergraduates/curriculum/engineering_first/

 

EECS 100 - Electrons, Photons, and Bits: Adventures in Electrical and Computer Engineering

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

EECS 101 (CS 101) - An Introduction to Computer Science For Everyone

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.

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

EECS 110 - Introduction to Computer Programming

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. Fall and Winter are offered in C, Spring is offered in Python.

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

EECS 111 - Fundamentals of Computer Programming I

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

EECS 130 - Tools and Technology of the World Wide Web

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

EECS 202 - Introduction to Electrical Engineering

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

EECS 203 - Introduction to Computer Engineering

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

EECS 205 - Fundamentals of Computer System Software

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

EECS 211 - Fundamentals of Computer Programming II

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
Read more...
 

EECS 213 - Introduction to Computer Systems

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

EECS 221 - Fundamentals of Circuits

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

EECS 222 - Fundamentals of Signals and Systems

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

EECS 223 - Fundamentals of Solid State Engineering

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

EECS 224 - Fundamentals of Electromagnetics and Photonics

CATALOG DESCRIPTION: Concepts of flux, potential, gradient, divergence, curl, and field intensity. Boundary conditions and solutions to Laplace and Poisson equations. Capacitance and inductance calculations. Conductors, insulators, and magnetic materials. Introduction to Electromagnetic Waves and Transmission Lines.
Read more...
 

EECS 225 - Fundamentals of Electronics

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

EECS 230 - Programming for Engineers

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

EECS 231 - Advanced Programming for Computer Engineers

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

EECS 250 - Physical Electronics and Devices

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

EECS 270 - Applications of Electronic Devices

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

EECS 302 - Probabilistic Systems and Random Signals

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

EECS 303 - Advanced Digital Logic Design

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

EECS 307 Communications Systems

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

EECS 308 - Advanced Electromagnetics and Photonics

CATALOG DESCRIPTION: Electromagnetic waves, transmission lines; impedance transformation; transients on lines; wave reflection and transmission; metallic waveguides and wave transmission; antenna and diffraction, antenna arrays, communication, and radar.
Tags: Li
Read more...
 

EECS 310 - Mathematical Foundations of Computer Science

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.
  • This course is a required Core course in the CS curriculum in McCormick and Weinberg
Read more...
 

EECS 311 - Data Structures and Data Management

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.
  • This course is a required Core course in the CS curriculum in McCormick and Weinberg
Read more...
 

EECS 313 - Telecommunication Networks for Multimedia

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

EECS 317 - Data Management and Information Processing

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

EECS 321 - Programming Languages

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

EECS 322 - Compiler Construction

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

EECS 325 - Artificial Intelligence Programming

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

EECS 328 - Numerical Methods for Engineers

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

EECS 330 - Human Computer Interaction

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 project requirement.

Read more...
 

EECS 332 - Digital Image Analysis

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

EECS 333 - Introduction to Communication Networks

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

EECS 334 - Introduction to Computer Vision

Please contact the instructor for information about this course.

 

EECS 335 - Introduction to the Theory of Computation

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

EECS 336 - Design and Analysis of Algorithms

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

Read more...
 

EECS 337 - Introduction to Semantic Information Processing

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

EECS 338 - Practicum in Intelligent Information Systems

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

EECS 339 - Introduction to Databases

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

EECS 340 - Introduction to Computer Networking

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

EECS 343 - Operating Systems

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

EECS 344 - Design of Computer Problem Solvers

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

EECS 345 - Distributed Systems

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

EECS 346 - Microprocessor System Design

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

EECS 347-1 - Microprocessor Systems Project I

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

EECS 347-2 - Microprocessor Systems Project II

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

EECS 348 - Introduction to Artificial Intelligence

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

EECS 349 - Machine Learning

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

EECS 350 - Introduction to Computer Security

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

EECS 351 - Introduction to Computer Graphics

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 any 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 curved surfaces. We will learn OpenGL (DirectX is similar) and GLUT, with brief surveys of advanced topics.

Read more...
 

EECS 352 - Machine Perception of Music & Audio

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

EECS 353 - Digital Microelectronics

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.

Tags: Sahakian
Read more...
 

EECS 354 - Network Penetration and Security

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

EECS 355 - ASIC and FPGA Design

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

EECS 356 - Introduction to Formal Specification and Verification

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

EECS 357 - Introduction to VLSI CAD

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

Tags: Zhou
Read more...
 

EECS 358 - Introduction to Parallel Computing

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

EECS 359 - Digital Signal Processing

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

Read more...
 

EECS 360 - Introduction to Feedback Systems

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

EECS 361 - Computer Architecture I

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

EECS 362 - Computer Architecture Project

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

EECS 363 - Digital Filtering

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

EECS 366 - Designing and Constructing Models with Multi-agent Languages

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

 

EECS 369 - Introduction to Sensor Networks

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

EECS 370 - Computer Game Design

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.
http://www.cs.northwestern.edu/~forbus/CS370/

  • This course satisfies the project requirement
Read more...
 

EECS 371 - Knowledge Representation and Reasoning

COURSE DESCRIPTION: Principles and practices of knowledge representation and reasoning, including logics, ontologies, common sense knowledge, and Semantic Web technologies.
 
  • This course satisfies the project requirement.
 
Read more...
 

EECS 372/472 - Designing and Constructing Models with Multi-Agent Languages

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

EECS 374 - Introduction to Digital Control

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.

Tags: Freeman
Read more...
 

EECS 378 - Digital Communications

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

EECS 379 - Introduction to Lasers and Fiber Optics

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.

Tags: Ho Fall 2012
Read more...
 

EECS 380 - Wireless Communications

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

EECS 381 - Electronic Properties of Materials

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

EECS 382 - Photonic Information Processing

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

EECS 383 - Fiber-Optic Communications

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

EECS 384 - Solid State Electronic Devices

COURSE TITLE: EECS 384 Solid State Electronic Devices

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

EECS 385 - Optoelectronics

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.

Tags: Grayson
Read more...
 

EECS 386 - Computational Electromagnetics and Photonics

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.

Tags: Li
Read more...
 

EECS 388 - Nanotechnology

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

EECS 389 - Superconductivity and Its Applications

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

EECS 390 - Introduction to Robotics

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

EECS 391 - VLSI Systems Design

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

EECS 392 VLSI Systems Design Projects

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

EECS 393/493 - Design and Analysis of High-Speed Integrated Circuits

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.

Tags: Ismail
Read more...
 

EECS 394 - Software Project Management

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

EECS 395 (C. Liu)

CATALOG DESCRIPTION:
Tags: Liu
Read more...
 

EECS 395/495 - Advanced Topics in Computer Architecture

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

Tags: Hardavellas
Read more...
 

EECS 395 - Algorithmic and Economic Aspects of Social Networks

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

EECS 395/495 - Advanced Topics in Quantum Electronics

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.

Tags: Shahriar
Read more...
 

EECS 395/495 - Algorithmic Mechanism Design

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.
Tags: Hartline
Read more...
   

EECS 395/495 - Bioinformatics

COURSE DESCRIPTION: To come

Tags: Kao Fall 2012
 

EECS 395/495 - Cardiovascular Instrumentation

Please contact the Professor teaching this course for more information
Read more...
   

EECS 395/495 - Computational Auditory Scene Analysis

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.

Tags: Pardo
Read more...
 

EECS 395/495 - Topics in Computational Complexity

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.

Instructor's Course Home Page

Tags: Fortnow
Read more...
 

EECS 395/495 - Computational Geometry

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.

Tags: Trajcevski
Read more...
 

EECS 395/495 - Computational Photography

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.

Tags: Tumblin
Read more...
 

EECS 395/495 - Derandomization

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.

Tags: Fortnow
Read more...
 

EECS 395/495 - Human-level Artificial Intelligence

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.

Tags: Forbus
Read more...
 

EECS 395/495 - Intermediate Computer Graphics

CATALOG DESCRIPTION: 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 and 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.
Tags: Tumblin
Read more...
 

EECS 395/495 - Introduction to Cryptography

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

Tags: Fortnow
Read more...
 

EECS 395/495 - Kolmogorov Complexity

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.
Tags: Fortnow
Read more...
 

EECS 395/495 - Machine Learning and Artificial Intelligence for Robotics

COURSE DESCRIPTION: A coverage of artificial intelligence, machine learning and statistical estimation topics that are especially relevant for robot operation and robotics research. Course evaluation will be largely project-based.
Tags: Argall
Read more...
   

EECS 395/495 - Networking Problems in Cloud Computing

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.

Tags: Kuzmanovic
Read more...
 

EECS 395/495 - Object-Oriented Languages and Environments

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.

Tags: Trajcevski
Read more...
 

EECS 395/495 - The Probabilistic Method

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.
Tags: Fortnow
Read more...
 

EECS 495 - Probabilistic Systems and Random Signals

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

EECS 395/495 - Programming Languages Seminar

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

EECS 395/495 - Programming Massively Parallel Processors

COURSE DESCRIPTION: This course focuses on developing applications software for graphics processors with massively parallel computing resources. Ideally this course will bring together people with strong programming skills, with people with a strong need for solving compute-intensive programs that can potentially benefit from programming graphics processors. The initial part of the course will discuss a popular programming interface for graphics processors, the CUDA™ programming tools for NVIDIA processors. The course will continue with a closer view of the internal organization of graphics processors and how it impacts performance. Finally, implementations of applications and algorithms on graphics processors will be discussed.

Tags: Hardavellas
Read more...
 

EECS 395/495 - Real-Time 3D Game Engine Design

CATALOG DESCRIPTION: This class will cover the fundamentals of modern 3D game programming with an emphasis on performance optimization.
  • This course satisfies the project requirement; Interfaces (breadth or depth); software development (breadth)
Read more...
 

EECS 395/495 - Simulation-Based Virtual Characters for Interactive Entertainment

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

EECS 395/495 - Special Relativity in Optics

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.
Tags: Shahriar
Read more...
 

EECS 395/495 - Special Topics: Innovation in Journalism & Technology

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.

Read more...
 

EECS 395/495 - Special Topics: Embedded Systems

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.

Tags: Henschen
Read more...
 

EECS 395/495 - Special Topics in Machine Learning: Probabilistic Graphical Models

In Fall 2011, this course covers Probabilistic Graphical Models. 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 int he models, and how the models are utilized for machine learning in practice.
Tags: Downey
Read more...
 

EECS 395/495 - Technology Infrastructure: Concepts, Requirements, Design and Operation

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

EECS 395/495 - Web Information Retrieval and Extraction

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

EECS 397 - Introduction to Real-time Sytems

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

EECS 398 - Electrical Engineering Design

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

EECS 399 - Independent Study

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

EECS 401 - Fundamentals of Electronic Devices

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.

Tags: Winter 2013
Read more...
 

EECS 402 - Advanced Electronic Devices

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

Read more...
 

EECS 403 - Quantum Semiconductors

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.
Tags: Grayson
Read more...
 

EECS 404 - Quantum Electronics

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

EECS 405 - Advanced Photonics

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.

Tags: Mohseni
Read more...
 

EECS 406 - Nonlinear Optics

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

EECS 407 - Quantum Optics (same as Physics 427)

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

EECS 408 - Statistical Optics

CATALOG DESCRIPTION: In this course we focus on statistical optics and optical imaging, which are related to various
research activities in our department.

Read more...
 

EECS 409 - Semiconductor Lasers

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

EECS 410 - System Theory

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.

Tags: Butz Fall 2012
Read more...
 

EECS 418 - Advanced Digital Signal Processing

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

EECS 420 - Digital Image Processing

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

EECS 421 - Multimedia Signal Processing

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.
Tags: Katsaggelos
Read more...
 

EECS 422 - Random Processes in Communications and Control I

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

EECS 423 - Random Processes in Communications and Control II

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

EECS 425 - Quantum Electronics II: Noise, Modulation, and Quantum Properties of Laser Emissions

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.

 

Tags: Ho Spring 2013
Read more...
 

LS 426 - Design of Technological Tools for Thinking and Learning

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.  
Tags: Lee Wilensky
Read more...
 

EECS 428 - Information Theory

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

EECS 429 Selected Topics in Quantum Information Science and Technology

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.   
Tags: Yuen
Read more...
 

EECS 431 - Human Perception and Electronic Media

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.

Tags: Pappas
Read more...
 

EECS 432 - Advanced Computer Vision

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

EECS 435 - Neural Networks

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

Tags: Lin
Read more...
 

EECS 441 - Resource Virtualization

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

EECS 442 - Dynamic Behavior of Applications, Hosts, and Networks

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

EECS 443 - Advanced Operating Systems

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

EECS 450 - Internet Security

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. 
Read more...
 

EECS 452 - Advanced Computer Architecture I

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

EECS 453 - Advanced Computer Architecture II

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

EECS 457 - Advanced Algorithms

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

Read more...
   

EECS 473-1 NUvention: Web

COURSE DESCRIPTION: http://entrepreneur.northwestern.edu/
Tags: Winter 2013
Read more...
 

EECS 473-2 NUvention: Web

COURSE DESCRIPTION: http://entrepreneur.northwestern.edu/

Tags: Spring 2013
Read more...
 

EECS 479 - Nonlinear Optimization

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.

Tags: Nocedal
Read more...
 

EECS 495 - Stochastic Models for Web 2.0

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

EECS 495 - Physics and Technology of Quantum Devices

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
Tags: Razeghi
Read more...
 

EECS 510 - Topics in Information Theory

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.

Tags: Guo
Read more...
 


instructor-course-page-button1If you see this button within a description, clicking it will take you to the Instructor's own page for this class.

Search subsets

Course schedules & descriptions

Graduate Study Manual

 Graduate program study manual cover image

Undergraduate Study Manual

Undergraduate program study manual cover image

Search Courses by Instructor


Robert R. McCormick School of Engineering and Applied Science
Electrical Engineering & Computer Science Home | McCormick Home | Northwestern Home
© 2012 Robert R. McCormick School of Engineering and Applied Science, Northwestern University
MapsContact UsCalendar
TECH: 2145 Sheridan Rd, Tech L359, Evanston IL 60208-3118 USA |  Phone: (847) 491-5410  |  Fax: (847) 491-4455
FORD: 2133 Sheridan Rd, Ford Building, Rm 3.320, Evanston  IL 60201 USA |  Phone: (847) 491-5410  |  Fax: (847) 491-5258
Questions about this site? Please email the webmasterLegal and Policy Statements