College of LS&A

Fall Academic Term '02 Graduate Course Guide

Note: You must establish a session for Fall Academic Term 2002 on wolverineaccess.umich.edu in order to use the link "Check Times, Location, and Availability". Once your session is established, the links will function.

Courses in Electrical Engineering and Computer Science


This page was created at 5:38 PM on Thu, Oct 3, 2002.

Fall Academic Term, 2002 (September 3 - December 20)


EECS 427. VLSI (Very Large Scale Integrated) Design I.

Computer Science

Instructor(s):

Prerequisites: EECS 270 and 311. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Design techniques for rapid implementations of very large scale integrated (VLSI) circuits, MOS technology and logic. Structured design. Design rules, layout procedures. Design aids: layout, design rule checking, and logic and circuit simulation. Timing. Testability. Architectures for VLSI. Projects to develop and lay out circuits.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 470. Computer Architecture.

Computer Science

Instructor(s):

Prerequisites: EECS 370. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/courses/eecs470/

Basic concepts of computer architecture and organization. Computer evolution. Design methodology. Performance evaluation. Elementary queueing models. CPU architecture. Instruction sets. ALU design. Hardwired and microprogrammed control. Nanoprogramming. Memory hierarchies. Virtual memory. Cache design. Input-output architectures. Interrupts and DMA. I/O processors. Parallel processing. Pipelined processors. Multiprocessors.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 477. Introduction to Algorithms.

Computer Science

Instructor(s):

Prerequisites: EECS 281. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Fundamental techniques for designing efficient algorithms and basic mathematical methods for analyzing their performance. Paradigms for algorithm design: divide-and-conquer, greedy methods, graph search techniques, and dynamic programming. Design of efficient data structures and analysis of the running time and space requirements of algorithms in the worst and average cases.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 478. Logic Circuit Synthesis and Optimization.

Computer Science

Instructor(s):

Prerequisites: EECS 270 and 203, and senior or graduate standing. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Advanced design of logic circuits. Technology constraints. Theoretical foundations. Computer-aided design algorithms. Two-level and multilevel optimization of combinational circuits. Optimization of finite-state machines. High-level synthesis techniques: modeling, scheduling, and binding. Verification and testing.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 481. Software Engineering.

Computer Science

Instructor(s):

Prerequisites: EECS 281. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Pragmatic aspects of the production of software systems, dealing with structuring principles, design methodologies, and informal analysis. Emphasis is given to development of large, complex software systems. A term project is usually required.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 482. Introduction to Operating Systems.

Computer Science

Instructor(s):

Prerequisites: EECS 370 and 281. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/~pmchen/eecs482/

Operating system design and implementation: multi-tasking; concurrency and synchronization; inter-process communication; deadlock; scheduling; resource allocation; memory and storage management; input-output; file systems; and protection and security. Students write several substantial programs dealing with concurrency and synchronization in a multi-task environment, with file systems, and with memory management.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 482. Introduction to Operating Systems.

Computer Science

Instructor(s):

Prerequisites: EECS 370 and 281. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/~pmchen/eecs482/

No Description Provided. Contact the Department.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 483. Compiler Construction.

Computer Science

Instructor(s):

Prerequisites: EECS 281 or graduate standing. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www-personal.engin.umich.edu/~jcaputo/eecs483/

Introduction to compiling techniques including parsing algorithms, semantic processing, and optimization. Students implement a compiler for a substantial programming language using a compiler generating system.

The class will have about 6 homeworks and no exams. The grades will be 40% homeworks and 60% projects.

Books:

  • Lex & Yacc (Required) by Levine, Mason, Brown O'Reilly Publishers
  • Compilers: Principles, Techniques, and Tools (Required) Alfred V. Aho, Ravi Sethi, Jeffrey Ulman
  • Mastering Regular Expression (Recommendd) Powerful Techniques for Perl and Other Tools By Jeffrey Friedl O'Reilly Publishers

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 484. Database Management Systems.

Computer Science

Instructor(s):

Prerequisites: EECS 380. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/courses/eecs484/

EECS 484 provides basic introduction to relational database management systems (DBMSs). This course is designed to provide you with both an external and an internal view of relational DBMSs. Topics related to the external view will cover concepts that will allow you to use a relational DBMS. Topics related to the internal view will allow you to better understand how a relational DBMS works, making you more sophisticated (and perhaps higher paid) database users/administrators. The course has a group course project in which you will build a simple, but fairly complete, single-user relational database engine. Note, in this course you will not learn the details of how to use any specific commercial database system, or the intricacies of SQL programming. This course is designed to cover the fundamental database concepts and the implementation techniques that are used in relational database engines. Using the course project, you will actually build a few key components of a database engine. If you are interested in the details of SQL programming, or the operation of a specific commercial database system, you will be able to pick this up very easily after you have taken this course.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 487. Interactive Computer Graphics.

Computer Science

Instructor(s):

Prerequisites: EECS 281 and senior standing. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Computer graphics hardware, line drawing, rasterization, anti-aliasing, graphical user interface (GUI), affine geometry, projective geometry, geometric transformation, polygons, curves, splines, solid models, lighting and shading, image rendering, ray tracing, radiosity, hidden surface removal, texture mapping, animation, virtual reality, and scientific visiualization.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 489. Computer Networks.

Computer Science

Instructor(s):

Prerequisites: EECS 482. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://devon.eecs.umich.edu/

Textbooks:

  • Kurose and Ross, "Computer Networking: A Top-Down Approach," 2nd. ed., Addison-Wesley, 2002. ISBN 0-201-4711-4.
  • W.R. Stevens, UNIX Network Programming, vol. 1: Networking APIs: Sockets and XTI, 2nd. ed., Prentice-Hall, 1997. (Don't buy the first edition!).

If you want to learn how to design way-cool Web pages, how to build and maintain a killer Web site, or how to setup, administer, and engineer a LAN, this course is not for you. In this course we do not study how modem works, nor do we study how ISDN works. We do not study Novell Netware Administration and we do not learn how to use Adobe Photoshop. We do not learn how to set up a chat room, nor how to set up an electronic guest book.

We do try to understand how networks operate and how network applications are written. We study the workings of the Ethernet and the Internet: how packets are routed, how packets are transmitted, and what to do when there is network congestion. We look at packet headers and routing and transmission protocols. We learn what sockets are and how to use them. And we write code. We write code to implement various routing and transmission protocols. We write code to build client-server applications. There will be a lot of programming. You should know what processes and threads are and be familiar with concurrency and interprocess communication. EECS 482 (Introduction to Operating Systems) is a strict prerequisite. You must also have good working knowledge of C and UNIX. An introduction to probability course such as EECS 401, EECS 501, Math 425, Math 525, or Stat 412 is highly recommended as a co-requisite.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 492. Introduction to Artificial Intelligence.

Computer Science

Instructor(s):

Prerequisites: EECS 281. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: https://coursetools.ummu.umich.edu/2002/fall/eecs/492/001.nsf

The purpose of this course is to introduce the student to the major ideas and techniques of Artificial Intelligence, as well as to develop an appreciation for the engineering issues underlying the design of intelligent, computational agents. The successful student will finish the course with specific modeling and analytical skills (e.g., search, logic, probability), knowledge of many of the most important knowledge representation, reasoning, and machine-learning schemes, and a general understanding of AI principles and practice. The course will serve to prepare the student for further study of AI, as well as to inform any work involving the design of computer programs for substantial application domains.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 494. Computer Game Design and Development.

Computer Science

Instructor(s):

Prerequisites: EECS 281. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Concepts and methods for the design and development of computer games. Topics include: history of games, 2D graphics and animation, sprites, 3D animation, binary space partition trees, software engineering, game design, interactive fiction, user interfaces, artificial intelligence, game SDK's, networking, multi-player games, game development environments, and commercialization of software.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 497. EECS Major Design Projects.

Computer Science

Instructor(s):

Prerequisites: Senior standing. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Professional problem-solving methods developed through intensive group studies. Normally, one significant design project is chosen for entire class requiring multiple EECS disciplines and teams. Use of analytic, computer, design, and experimental techniques where applicable are used. Projects are often interdisciplinary allowing non-EECS seniors to also take the course (consult with instructor).

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 498. Special Topics.

Computer Science

Instructor(s):

Prerequisites: (1-4). CAEN lab access fee required for non-Engineering students.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Topic of current interest selected by faculty.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 498. Special Topics.

Computer Science

Section 001 Programming Science and Engineering

Instructor(s): A Morgan

Prerequisites: (1-4). CAEN lab access fee required for non-Engineering students.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

No Description Provided. Contact the Department.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 498. Special Topics.

Computer Science

Section 003 Patent Fundamentals for Engineers. (3 credits).

Instructor(s): M Islam

Prerequisites: (1-4). CAEN lab access fee required for non-Engineering students.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

No Description Provided. Contact the Department.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 570. Parallel Computer Architecture.

Computer Science

Instructor(s):

Prerequisites: EECS 470. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/courses/eecs570/

Pipelining and operation overlapping, SIMD and MIMD architectures, numeric and non-numeric applications, VLSI, WSI architectures for parallel computing, and performance evaluation. Case studies and term projects.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 574. Theoretical Computer Science.

Computer Science

Computational Complexity Theory

Instructor(s): Satyanarayana V. Lokam

Prerequisites: EECS 376. (4). CAEN lab access fee required for non-Engineering students.

Credits: (4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/~satyalv/tcs/

We will cover the following basic topics:

  • Turing Machine Model of Computation
  • Recursively Enumerable and Recursive Languages, Undecidability
  • Time and Space Complexity Classes, Hierarchy Theorems
  • Relations between DTIME, NTIME, DSPACE, NSPACE
  • Savitch's Theorem, Immerman-Szelepcsenyi Theorem
  • Standard Complexity Classes: L, NL, P, NP, PSPACE, EXP
  • Reductions and Completeness, poly-time and log-space reductions
  • Cook-Levin: NP-Completeness of SAT, Examples of NP-Complete Problems
  • NL-Completeness of Reachability
  • P-Completeness of Circuit Value Problem, Examples of P-Complete Problems
  • P vs NP, NP vs Co-NP, L vs NL vs P
  • Oracle Computations, Alternating Turing Machines, PH, PSPACE
  • PSPACE-Completeness of TQBF, Examples of PSPACE-Complete Problems
  • Function Classes, #P,
  • Valiant: #P-completeness of PERMANENT, Examples of #P-Complete Functions
  • Randomized Complexity Classes: BPP, ZPP, RP
  • P vs BPP

In addition, we will try to survey the following advanced areas:

  • Randomness + Nondeterminism
    • Interactive Proof Systems, Arthur-Merlin Games
    • IP = PSPACE
    • Probabilistically Checkable Proof Systems
    • Overview of NP = PCP(log n, 1)
    • Inapproximability of some NP-complete problems
  • Nonuniform Complexity
    • Boolean Circuits
    • Lower Bounds on Monotone Circuits
    • Decision Trees and Branching Programs, Barrington's Theorem
    • Communication Complexity

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 579. Digital System Testing.

Computer Science

Section 001.

Instructor(s): Pinaki Mazumder (mazum@umich.edu)

Prerequisites: Graduate standing. (3). CAEN lab access fee required for non-Engineering students.

Credits: (3).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/~mazum/F02/

Introduction to fault-tolerant computing and digital testing. Fault classification, char- acterization of physical defects, fault modeling, hierarchy of fault models, and testing terminolo- gies. Test generation algorithms. Combinational circuit testing: D-algorithm, PODEM, FAN, etc. for stuck-at faults; Bridging faults testing; Delay faults testing. Functional testing of arithmetic and regular arrays. Synchronous and asynchronous sequential circuit testing. Memory (RAM, ROM and CAM), register file, and FIFO buffer testing. IDDQ testing and current monitoring. Functional testing of microprocessors and microcontrollers. Design for testability.Testability measures. Boundary scan and partial scan design. Test data and response compression. Built-in self-testing. Self-testing of RAMs, ROMs and PLAs. Pseudo-random testing. Estimation of test coverage by random test vectors: memories and logic blocks. System-on-chip (SOC) testing. In- tellectual Property (IP) and embedded core testing. Modern issues in digital testing.

The objective of this course is to understand the failure mechanisms in VLSI chips and character- ization of failures at various levels of circuit hierarchy and finally to develop appropriate testing strategies. Test generation algorithms are segregated into different classes based on the circuits they are intended to test: combinational circuit testing, synchronous and asynchronous sequential logic testing in the presence of flip-flops, and testing of large storage arrays such as RAM's, ROM's and FIFO's. Further,how much one needs to test also depends on the composition of cir- cuit blocks: a simple logical fault describing a signal line is shorted to ground or to power supply can suffice for random and glue logic scattered all over a chip, while for extremely fine-grained array of memory cells, occupying a large chunk of chip real estate, may require more complex fault model that will account for anomalies in masking, process parameters and chip layout.

Text Book: M. Bushnell, and V. D. Agarwal, Essential of Electronic Testing for Digital, Memory and Mixed Signal VLSI Circuits, Kluwer Aacdemic Press,, Boston, 2000, 690 pages

Supplementary Text Book:

  • P. Mazumder and K.Chakraborty, Testing and Testable Design of Random-Access Memories, Kluwer Academic Publishers, New York, 1996, 430 pages.
  • M. Abramovici, M. A. Breuer, and A. D. Friedman, Digital System Testing and Testable Design, IEEE Press, New York, 1990, 652 pages (an early version of the same book was published by Computer Science Press).

Evaluation: Homework Assignments(6): 30%; Project: 30%; Midterm(2): 20%; Final Exam: 20%.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 584. Advanced Database Systems.

Computer Science

Instructor(s):

Prerequisites: EECS 484. (3). CAEN lab access fee required for non-Engineering students.

Credits: (3).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Survey of advanced topics in database systems. Distributed databases, query processing, and transaction processing. Effects of data models: object-oriented and deductive databases, architectures, main-memory and parallel repositories, distributed organizations, and client-server and heterogeneous systems. Basic data management for emerging areas: Internet applications, OLAP, and data mining. Case studies of existing systems. Group projects.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 587. Parallel Computing.

Computer Science

Section 001.

Instructor(s): Quentin F. Stout (qstout@umich.edu)

Prerequisites: EECS 281 and graduate standing. (3). CAEN lab access fee required for non-Engineering students.

Credits: (3).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/~qstout/587/index.html

Audience: Typically about half the class is from Computer Science and Engineering, and half is from a wide range of other areas throughout the sciences, engineering, and medicine. Some students want to become parallel computing specialists, while others intend to apply parallel computing to their discipline. Students range from seniors through postdocs, and occasionally faculty sit in on the course as well.

Content: The course covers a wide range of aspects of parallel computing, with the emphasis on developing efficient software for commercially available systems. Because there is not a single parallel computing model, you also have to learn some about various parallel architectures, since there is significant hardware/software interaction. This includes aspects such as shared vs. distributed memory, clustering, cache coherency, interconnection networks, fine-grain vs. medium-grain, and MIMD/SIMD. For fun, we may briefly discuss some more exotic parallel models, such as DNA computing, quantum computing, or processor-in-memory systems. Various operating system and language issues are also covered. In particular, we will emphasize using standard software, especially MPI (Message Passing Interface) and OpenMP. Use of standard software helps make the code more portable, preserving the time invested in it.

We examine many reasons for poor parallel performance, and a wide range of techniques for improving it. Concepts such as domain decomposition; deterministic, probabilistic and adaptive load balancing; and sychronization will be covered. You'll learn why modest parallelization is relatively easy to achieve, and why efficient massive parallelization is quit difficult - in particular, we will cover various implications of Amdahl's Law. Examples and programs will be numeric, such as matrix multiplication, and nonnumeric, such as sorting. v Here is a somewhat whimsical overview of what parallel computing is.

Work required: Your grade will be based on written homeworks, computer programming projects, and a final project of your choosing (though I must approve it). Often students can integrate this project in with their other work, so, for example, it may be part of their thesis. Many other students have used this project to start a new research area, and have ultimately gotten a thesis in the topic. Many of the projects have lead to publications, and a few have resulted in awards of various types. If you don't have any ideas for a project, I'll help you find some. Here is some more information and suggestions for the final project.

Prerequisites: Ability to program well in C or Fortran, plus an ability to analyze programs, plus willingness to rethink how problems should be solved. You do not need any prior experience with parallel computing or supercomputing, nor do you need to have a background in numerical analysis. However, you do need to be a good programmer - after all, it makes little sense to use an expensive supercomputer if you can't utilize a regular computer well.

Computing Resources: The class will use the parallel machines in the Center for Parallel Computing (CPC) here at the University of Michigan. These include an IBM SP2, an SGI PowerChallenge, an SGI Origin, and a PC-based cluster computer. Sometimes, for illustrative purposes, the class itself will be the parallel computer.

Texts: None, but you will need to buy some computer manuals and you will have lots of papers and web resources to read. (You could always buy the professor's book, but it is not really relevant to the course.)

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 595 / LING 541. Natural Language Processing.

Computer Science

Section 001.

Instructor(s): Richmond H Thomason (rthomaso@umich.edu)

Prerequisites: Senior standing. (3). CAEN lab access fee required for non-Engineering students.

Credits: (3).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/~rthomaso/cl/cl-course.html

See Linguistics 541.001.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: 1

EECS 597 / LING 702 / SI 760. Language and Information.

Section 001.

Instructor(s): Dragomir Radkov Radev (radev@umich.edu)

Prerequisites: (3).

Credits: (3).

Course Homepage: http://perun.si.umich.edu/~radev/760/syllabus.html

See Linguistics 702.001.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: 1

EECS 598. Special Topics in Electrical Engineering and Computer Science.

Computer Science

Instructor(s):

Prerequisites: Permission of instructor or advisor. (1-4). CAEN lab access fee required for non-Engineering students. May be repeated for credit.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Topics of current interest in electrical engineering and computer science. Lectures, seminar, or laboratory.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 598. Special Topics in Electrical Engineering and Computer Science.

Computer Science

Section 001 RF Power Amplifier Design. [credits?].

Instructor(s): A Mortazawi

Prerequisites: Permission of instructor or advisor. (1-4). CAEN lab access fee required for non-Engineering students. May be repeated for credit.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

No Description Provided. Contact the Department.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 598. Special Topics in Electrical Engineering and Computer Science.

Computer Science

Section 002 Analog to Digital Conversion Circuits. [credits?].

Instructor(s): M Flynn

Prerequisites: Permission of instructor or advisor. (1-4). CAEN lab access fee required for non-Engineering students. May be repeated for credit.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

No Description Provided. Contact the Department.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 598. Special Topics in Electrical Engineering and Computer Science.

Computer Science

Section 003 Theory of Quantum Computation: Introduction and Current Problems. [credits?].

Instructor(s): Yaoyun Shi

Prerequisites: Permission of instructor or advisor. (1-4). CAEN lab access fee required for non-Engineering students. May be repeated for credit.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: http://www.eecs.umich.edu/~shiyy/598/

As a result of remarkable theoretical advances in recent years, the emerging field of quantum computation has drawn enthusiastic participations from scientists in many fields. It has been demonstrated that quantum information behaves fundamentally differently from classical information, and, it appears that computers based on exact quantum mechanical principles can be dramatically more powerful than those currently deployed.

This course is to provide an introduction to the theory of quantum computation, as well as to explore its frontier. Topics include, but are not limited to:

  • Mathematical foundations of quantum mechanics and models of quantum computation;
  • Quantum algorithms;
  • Classical simulations of quantum circuits;
  • Quantum lower bounds;
  • Quantum communication complexity;
  • Quantum error-correcting codes, and fault-tolerant quantum computation;
  • Quantum cryptography.

The course is intended for all interested and mathematically mature audiences. College-level linear algebra is required. Knowledge in quantum mechanics and theoretical computer science is helpful, but not required.

Reference Books

  1. A. Yu. Kitaev, A. H. Shen and M. N. Vyalyi. Classical and Quantum Computation, American Mathematical Society, July 2002. ISBN: 0821832298.
  2. John Preskill. Quantum Information and Computation, Lecture notes available at http://theory.caltech.edu/people/preskill/ph229/.
  3. Isaac L. Chuang and M. A. Nielsen. Quantum Computation and Information, Cambridge University Press, December 2000. ISBN: 0521635039.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 598. Special Topics in Electrical Engineering and Computer Science.

Computer Science

Section 004.

Instructor(s): Wise

Prerequisites: Permission of instructor or advisor. (1-4). CAEN lab access fee required for non-Engineering students. May be repeated for credit.

Credits: (1-4).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

No Description Provided. Contact the Department.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: No Data Given.

EECS 990. Dissertation/Precandidate.

Computer Science

Instructor(s):

Prerequisites: Election for dissertation work by doctoral student not yet admitted as a Candidate.Graduate standing. (1-8). CAEN lab access fee required for non-Engineering students. (INDEPENDENT). May be repeated for credit.

Credits: (1-8; 1-4 in the half-term).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Election for dissertation work by doctoral student not yet admitted as a Candidate.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: 5, Permission of Department

EECS 995. Dissertation/Candidate.

Computer Science

Instructor(s):

Prerequisites: Graduate School authorization for admission as a doctoral Candidate. (8). CAEN lab access fee required for non-Engineering students. (INDEPENDENT). May be repeated for credit.

Credits: (8; 4 in the half-term).

Lab Fee: CAEN lab access fee required for non-Engineering students.

Course Homepage: No homepage submitted.

Graduate School authorization for admission as a doctoral Candidate. N.B. The defense of the dissertation (the final oral examination) must be held under a full term Candidacy enrollment period.

Check Times, Location, and Availability Cost: No Data Given. Waitlist Code: 5, Permission of Department

Undergraduate Course Listings for EECS.


Page


This page was created at 5:38 PM on Thu, Oct 3, 2002.


lsa logo

University of Michigan | College of LS&A | Student Academic Affairs | LS&A Bulletin Index

This page maintained by LS&A Academic Information and Publications, 1228 Angell Hall

Copyright © 2002 The Regents of the University of Michigan,
Ann Arbor, MI 48109 USA +1 734 764-1817

Trademarks of the University of Michigan may not be electronically or otherwise altered or separated from this document or used for any non-University purpose.