Information for Prospective Students Information for First-Year Students Information for Transfer Students Information for International Students Learning Communities, Study Abroad, Theme Semester Calendars Quick Reference Forms Listings Table of Contents SAA Search Feature Academic Advising, Concentration Advising, How-tos, and Degree Requirements Academic Standards Board, Academic Discipline, Petitions, and Appeals SAA Advisors and Support Staff

Fall Academic Term 2002 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:16 PM on Thu, Oct 3, 2002.

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


For all courses numbered 499 and below, prerequisites are being enforced. If the machine doesn't find that you have completed or are currently enrolled in the prequisites, you will get this message when trying to enroll: "Requisites not met for class. Not enrolled."


EECS 181. Introduction to Computer Systems.

Computer Science

Instructor(s):

Prerequisites & Distribution: Intended for students whose goal is computer literacy; not intended for computer science, computer engineering, electrical engineering concentrators. (4). (Excl). (BS). 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 computer skills needed to increase productivity. Use of software packages and applications including word processors, web browsers, spreadsheets, database systems. Creating a web home page. History of computing, ethics, and legal issues. Introduction to basic hardware components. Intended for non-CE/CS/EE concentrators whose goal is computer literacy.

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

EECS 183. Elementary Programming Concepts.

Computer Science

Instructor(s):

Prerequisites & Distribution: Not intended for engineering students. Students intending transfer to the College of Engineering should take ENGR 101. CS concentrators who qualify should elect EECS 280. Credit is granted for only one course among EECS 183 or ENGR 101. (4). (MSA). (BS). 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 concepts and skills of programming in a high level language. Flow of control: selection, iteration, and subprograms. Data structures: strings, arrays, records, lists, and tables. Algorithms using selection and iteration (decision making, finding maxima/minima, searching, sorting, simulation, etc.). Good program design, structure, and style are emphasized. Testing and debugging. This course is intended for CS majors as well as non-concentrators in LS&A, and is not intended for Engineering students.

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

EECS 203(303). Discrete Mathematics.

Computer Science

Instructor(s):

Prerequisites & Distribution: MATH 115. (4). (MSA). (BS). 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/203/001.nsf

Introduces the mathematical foundations of computer science and engineering. Topics covered include: propositional and predicate logic, set theory, functions and relations, growth of functions and asymptotic notation, introduction to algorithms, elementary combinatorics and graph theory.

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

EECS 270. Introduction to Logic Design.

Computer Science

Instructor(s):

Prerequisites & Distribution: Engineering 101 or EECS 183. (4). (MSA). (BS). 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/eecs270/index.html

Course goals: This course is intended to give you an understanding of digital logic. We will mostly concern ourselves with gate-level designs, but we will also address one level of abstraction up (larger logic devices such as MUXes, adders, etc.) and one level down (CMOS and TTL logic). There will be a heavy emphasis on learning design tools in your lab sections, and in the latter half of the course, the use of a hardware description language (HDL), namely the ABEL HDL, to complete labs.

Textbook: Wakerly, J. F., Digital Design: Principles and Practices, 3d ed. Upper Saddle River, NJ: Prentice-Hall, 2000.

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

EECS 280. Programming and Introductory Data Structures.

Computer Science

Instructor(s):

Prerequisites & Distribution: MATH 115 and prior programming experience (assumes prior programming experience using decision constructs, iteration, functions, basic I/O, and simple arrays in C/C++). Those without prior programming experience should elect ENGR 101 or EECS 183 before electing EECS 280. No credit granted to those who have completed or are enrolled in EECS 283. (4). (MSA). (BS). 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/280/001.nsf

Techniques of algorithm development and effective programming, top-down analysis, structured programming, testing, and program correctness. Program language syntax and static and run-time semantics. Scope, procedure instantiation, recursion, abstract data types, and parameter passing methods. Structured data types, pointers, linked data structures, stacks, queues, arrays, records, and trees.

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

EECS 281(380). Data Structures and Algorithms.

Computer Science

Instructor(s):

Prerequisites & Distribution: EECS 280 and 203. (4). (NS). (BS). 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.

Introduction to algorithm analysis and O-notation; fundamental data structures including lists, stacks, queues, priority queues, hash tables, binary trees, search trees, balanced trees, and graphs; searching and sorting algorithms; recursive algorithms; basic graph algorithms; introduction to greedy algorithms; and divide and conquer strategy. Several programming assignments.

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

EECS 283. Programming for Science and Engineering.

Computer Science

Instructor(s):

Prerequisites & Distribution: ENGR 101 or EECS 183. This course is not intended for computer science concentrators. No credit granted to those who have completed or are enrolled in EECS 280. (4). (Excl). (BS). 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.

Programming concepts with numeric applications for mathmatics, the sciences, and engineering. Object-oriented programming, abstract data types, and standard class libraries with numeric and non-numeric applications. Elementary data structures, linked lists, and dynamic allocation. Searching and sorting methods. Not intended for Computer Science majors.

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

EECS 285. A Programming Language or Computer System.

Computer Science

Instructor(s):

Prerequisites & Distribution: Some programming knowledge required. (2). (Excl). (BS). CAEN lab access fee required for non-Engineering students.

Credits: (2).

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

Course Homepage: No homepage submitted.

A course covering a complex computer system or programming language. Programming problems will be assigned. Specific languages or systems to be offered will be announced in advance.

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

EECS 285. A Programming Language or Computer System.

Computer Science

Section 001 Java.

Instructor(s): Sandra Bartlett (bartlett@umich.edu)

Prerequisites & Distribution: Some programming knowledge required. (2). (Excl). (BS). CAEN lab access fee required for non-Engineering students.

Credits: (2).

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

Course Homepage: No homepage submitted.

Supported programming environment - Java 1.2 - Java 1.4 using Sun's JDK on Unix using Sun's JDK on Unix

  • Writing, compiling and running Java programs, and Java syntax
  • Object Oriented Programming in Java
  • Object Oriented Design in Java
  • Exception handling
  • Applets
  • AWT and Swing Components
  • Layout managers and GUI design
  • Event handling
  • Images and sounds, animation basics - Thanksgiving week
  • Advanced animation and Threads

Textbooks

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

EECS 370. Introduction to Computer Organization.

Computer Science

Instructor(s):

Prerequisites & Distribution: EECS 280 or 283. (4). (Excl). (BS). 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/eecs370/

This course is intended to give you a basic understanding of how computers execute programs. Understanding computers means understanding the hardware/software process of how you and the computer work together to have the computer carry out a concept. In your introductory programming courses (e.g., EECS 280), you learned how to express a concept in terms of a high-level programming language such as C/C++. In EECS 370, you will see how a low-level language is executed by the hardware, and you will see how to put together basic, hardware building blocks to form the functional units of a computer.

To achieve these goals, you will design and "build" simple computers at various levels of detail. Building in this course will not mean connecting chips and gates. Rather, you will describe the hardware in diagrams, finite-state machines, and hardware simulators (written in C). To further your understanding of other topics, we will provide practice questions that will be discussed in the discussion sections.

Prerequisites: Students must have taken EECS 280. Depending on when you took EECS 280, you may not yet be familiar with programming C on Unix. I advise you to learn quickly. A brief overview of C vs. C++ will occur during the first discussion section of the semester. Also you can go to GSI office hours for additional help.

Course Material: The required text for the course is Computer Organization and Design: The Hardware/Software Interface (2nd edition), by Patterson and Hennessy. There are also optional lecture notes on the course web page.

Class Projects: Four projects will be assigned during the term, each of which will require a substantial time commitment on your part. Many students find the work load in this course to be heavy.

Exams: There will be three exams this semester.

Homework: There will be somewhere around 4 to 7 homework assignments during the semester.

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

EECS 373. Design of Microprocessor Based Systems.

Computer Science

Instructor(s):

Prerequisites & Distribution: EECS 370 and 270; junior standing. (4). (Excl). (BS). 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/eecs373/

Course Overview We have a number of educational goals when teaching 373. The primary ones are:

  • Learning the basics of embedded systems including hardware/software interfacing.
  • Learning about computer architecture outside of the CPU core.
  • Design and implementation of non-trivial projects involving both hardware and software.

In the classroom, we will focus on generic principles and ideas. In the lab, we will focus on the Motorola PowerPC 823 (MPC823) and the specific support hardware and software found in the lab. When needed the lecture will support the lab, and where possible, the lab will support the lecture. You will find that you will need to spend large amounts of time in the lab in order to complete your projects -- this is a lab intensive class. Prerequisites

You must have taken EECS 270 and EECS 370 to take this course. This also implies you have taken EECS 280. I will assume you are familiar with (on the hardware side) Boolean algebra, gates, multiplexers, flip-flops, and finite-state machines, (on the computer architecture side) assembly language, pipelining, memory, and caching, and (on the software side) program control structures (if/then/else, while and for loops), functions, procedures, parameter passing, pointer-based data structures, and basic structured programming techniques (information hiding, modular programming, etc.).

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

EECS 376(476). Foundations of Computer Science.

Computer Science

Instructor(s):

Prerequisites & Distribution: EECS 280 or 203. (4). (Excl). (BS). 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.

An introduction to computation theory: finite automata, regular languages, pushdown automata, context-free languages, Turing machines, recursive languages and functions, and computational complexity.

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

EECS 381. Object Oriented and Advanced Programming.

Computer Science

Instructor(s):

Prerequisites & Distribution: EECS 281. Recommended for students in interested in a career in software development, especially applications. (4). (Excl). (BS). 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.engin.umich.edu/class/eecs381/

Prerequisite: EECS 281 (formerly 380) is the required prerequisite for this course. Since a grade of C or better is the minimum grade for required courses in the CS and CE degree programs, if you received a grade of C- (C-minus) or lower in 281/380, you do not belong in this course, but should be retaking 281/380 (or any other course with a C- or lower grade).

Course goals: This is a relatively new elective course that introduces advanced concepts and techniques in practical C/C++ programming. Some important "legacy" topics in C will be covered, but the course will emphasize object-oriented programming with the use of single and multiple inheritance and polymorphism, and using the Standard Library algorithms and containers. Key ideas in object-oriented analysis and design and common design patterns will be introduced. Programming projects will focus on learning and using techniques that are valuable for professional practice in developing and extending large scale or high-performance software relatively easily.

Course format and attendance: There are two lectures per week, one discussion session per week. The lecture topics and reading assignments will be announced in the schedule posted and revised on the course web site. The purpose of the lectures and the discussion sessions is to explain the material and to answer your questions. You are expected to have studied the assigned textbook material yourself prior to the lectures on each subject. There will be several programming projects (one due approximately every two weeks), a midterm exam, and a final exam; their due dates are given in the course schedule which will be maintained on the course web page. Changes to the schedule will be announced in lecture and via the announcements email group, and updated on the course web page. You should plan on attending the lectures and discussion sections regularly. You may choose to skip, but you are responsible for all material and announcements presented in the lectures and in the discussion sections. You are not entitled to a private presentation of a lecture or a discussion that you chose to skip. Material not in the textbooks will often be presented in lecture or discussion; you are responsible for this material, in addition to the material in the assigned readings. Your projects will be evaluated in terms of whether they take advantage of the course material properly, not just whether they happen to work correctly So skip the lectures and discussion at your own risk. When feasible and useful, the course web pages will include materials such as handouts, lecture outlines, and examples. In general, this material will not be comprehensible without the lecture; it will be provided to supplement, not replace, the lecture presentation.

Required Textbooks:

  • Kernighan, B. & Ritchie, D. The C Programming Language. (2nd edition), Prentice-Hall, 1988.
  • Stroustrup, B. The C++ Programming Language. (3rd or Special edition). Addison-Wesley, 1997.

Recommended References:

  • Harbison, S., & Steele, G. C: A Reference Manual. (4th edition), Prentice-Hall, 1994.
  • Josuttis, N. The C++ Standard Library: A Tutorial and Reference. Addison-Wesley, 1999.

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

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

Computer Science

Instructor(s):

Prerequisites & Distribution: EECS 270 and 311. (4). (Excl). (BS). 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 & Distribution: EECS 370. (4). (Excl). (BS). 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 & Distribution: EECS 281. (4). (Excl). (BS). 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 & Distribution: EECS 270 and 203, and senior or graduate standing. (4). (Excl). (BS). 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 & Distribution: EECS 281. (4). (Excl). (BS). 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 & Distribution: EECS 370 and 281. (4). (Excl). (BS). 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 & Distribution: EECS 370 and 281. (4). (Excl). (BS). 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 & Distribution: EECS 281 or graduate standing. (4). (Excl). (BS). 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 & Distribution: EECS 380. (4). (Excl). (BS). 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 & Distribution: EECS 281 and senior standing. (4). (Excl). (BS). 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 & Distribution: EECS 482. (4). (Excl). (BS). 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 & Distribution: EECS 281. (4). (Excl). (BS). 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 & Distribution: EECS 281. (4). (Excl). (BS). 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 496. Capstone Design Course in Computing.

Computer Science

Instructor(s):

Prerequisites & Distribution: Senior standing, and concurrent enrollment in Technical Communication 496 and one of the approved 400-level team project courses in computing. (2). (Excl). (BS). CAEN lab access fee required for non-Engineering students.

Credits: (2).

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

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

Capstone design course for seniors in computer science or computer engineering. Design principles for multidisciplinary team projects, team strategies, entrepreneurial skills, ethics, and social and environmental awareness.

Each student must take (simultaneously) Tech Comm 496 (2 credits) and one of the approved 400-level team project courses in computing (2-4 credits).

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 & Distribution: Senior standing. (4). (Excl). (BS). 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 & Distribution: (1-4). (Excl). 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 & Distribution: (1-4). (Excl). 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 & Distribution: (1-4). (Excl). 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 & Distribution: EECS 470. (4). (Excl). (BS). 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 584. Advanced Database Systems.

Computer Science

Instructor(s):

Prerequisites & Distribution: EECS 484. (3). (Excl). (BS). 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 595 / LING 541. Natural Language Processing.

Computer Science

Section 001.

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

Prerequisites & Distribution: Senior standing. (3). (Excl). (BS). 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 598. Special Topics in Electrical Engineering and Computer Science.

Computer Science

Instructor(s):

Prerequisites & Distribution: Permission of instructor or advisor. (1-4). (Excl). (BS). 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 & Distribution: Permission of instructor or advisor. (1-4). (Excl). (BS). 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 & Distribution: Permission of instructor or advisor. (1-4). (Excl). (BS). 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 & Distribution: Permission of instructor or advisor. (1-4). (Excl). (BS). 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 & Distribution: Permission of instructor or advisor. (1-4). (Excl). (BS). 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.

Graduate Course Listings for EECS.


Page


This page was created at 5:16 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.