< back 
Send To Printer 
LSA Course Guide Search Results:
UG, GR, Fall 2007, Dept = EECS 
  Page 1 of 1, Results 1 — 48 of 48  

Title
Section
Instructor 
Term
Credits
Requirements 
EECS 183 — Elementary Programming Concepts
Section 001, LEC
Instructor: Dorf,Mary Lou

FA 2007
Credits: 4
Reqs: MSA 
Credit Exclusions: Credit is granted for only one course among EECS 183 or ENGR 101.
Fundamental concepts and skills of programming in a highlevel language.
Flow of control: selection, iteration, subprograms. Data structures: strings,
arrays, records, lists, 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.
Not intended for Engineering students (who should take ENGR 101), nor for
CS majors in LSA who qualify to enter EECS 280.

EECS 183 — Elementary Programming Concepts
Section 002, LEC
Instructor: Dorf,Mary Lou

FA 2007
Credits: 4
Reqs: MSA 
Credit Exclusions: Credit is granted for only one course among EECS 183 or ENGR 101.
Fundamental concepts and skills of programming in a highlevel language.
Flow of control: selection, iteration, subprograms. Data structures: strings,
arrays, records, lists, 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.
Not intended for Engineering students (who should take ENGR 101), nor for
CS majors in LSA who qualify to enter EECS 280.

EECS 203 — Discrete Math
Section 001, LEC
Instructor: Boyapati,Chandrasekhar

FA 2007
Credits: 4
Reqs: MSA 
Introduction to the mathematical foundations of computer science. Topics
covered include: propositional and predicate logic, set theory, function and
relations, growth of functions and asymptotic notation, introduction to algorithms,
elementary combinatorics and graph theory, and discrete probability
theory.
Enforced Prerequisites: MATH 115 or 116 or 119 or 120 or 121 or 156 or 176 or 185 or 186 or 295 or 296 or 215 or 255 or 285 with a grade of at least C or better

EECS 203 — Discrete Math
Section 002, LEC
Instructor: Pettie,Seth

FA 2007
Credits: 4
Reqs: MSA 
Introduction to the mathematical foundations of computer science. Topics
covered include: propositional and predicate logic, set theory, function and
relations, growth of functions and asymptotic notation, introduction to algorithms,
elementary combinatorics and graph theory, and discrete probability
theory.
Enforced Prerequisites: MATH 115 or 116 or 119 or 120 or 121 or 156 or 176 or 185 or 186 or 295 or 296 or 215 or 255 or 285 with a grade of at least C or better

EECS 270 — Introduction to Logic Design
Section 001, LEC
Instructor: Chesney,David R

FA 2007
Credits: 4
Reqs: MSA 
Introduction to Logic Design Binary and nonbinary systems, Boolean algebra digital design techniques, logic gates, logic minimization, standard combinational circuits, sequential circuits, flipflops, synthesis of synchronous sequential circuits, PLA's, ROM's, RAM's, arithmetic circuits, computeraided design. Laboratory includes hardware design and CAD experiments.
Enforced Prerequisites: ENGR 101 or EECS with a grade of at least C

EECS 270 — Introduction to Logic Design
Section 002, LEC
Instructor: Chesney,David R

FA 2007
Credits: 4
Reqs: MSA 
Introduction to Logic Design Binary and nonbinary systems, Boolean algebra digital design techniques, logic gates, logic minimization, standard combinational circuits, sequential circuits, flipflops, synthesis of synchronous sequential circuits, PLA's, ROM's, RAM's, arithmetic circuits, computeraided design. Laboratory includes hardware design and CAD experiments.
Enforced Prerequisites: ENGR 101 or EECS with a grade of at least C

EECS 280 — Programming and Introductory Data Structures
Section 001, LEC

FA 2007
Credits: 4
Reqs: MSA 
Credit Exclusions: No credit granted to those who have completed or are enrolled in EECS 283.
Techniques and algorithm development and effective programming, topdown
analysis, structured programming, testing, and program correctness. Program
language syntax and static and runtime 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.
Advisory Prerequisite: MATH 115

EECS 280 — Programming and Introductory Data Structures
Section 002, LEC
Instructor: Flinn,Jason Nelson

FA 2007
Credits: 4
Reqs: MSA 
Credit Exclusions: No credit granted to those who have completed or are enrolled in EECS 283.
Techniques and algorithm development and effective programming, topdown
analysis, structured programming, testing, and program correctness. Program
language syntax and static and runtime 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.
Advisory Prerequisite: MATH 115

EECS 281 — Data Structures and Algorithms
Section 001, LEC
Instructor: Jamin,Sugih

FA 2007
Credits: 4
Reqs: NS 
Introduction to algorithm analysis and Onotation. Fundamental data structures including lists, stacks, queues, priority queues, hash tables, binary triees, search trees, balanced trees and graphs. Searching and sorting algorithms, recursive algorithms, basic graph algorithms. Introduction to greedy algorithms and divideandconquer strategy. Several programming assignments.
Prerequisites
EECS 280, EECS 203.
Enforced Prerequisites: EECS 280 and 203 with a grade of at least C

EECS 285 — A Programming Language or Computer System
Section 001, LEC
Instructor: O'Malley,Kevin A

FA 2007
Credits: 2 
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.
Advisory Prerequisite: PROG EXP

EECS 370 — Introduction to Computer Organization
Section 001, LEC
Instructor: Bertacco,Valeria M
Instructor: Winsor,Donald C

FA 2007
Credits: 4 
Course Overview
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 highlevel programming language such as C/C++. In EECS 370, you will see how a lowlevel 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. In this course, building will not mean connecting chips and gates. Rather, you will describe the hardware in diagrams, finitestate 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. We 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 (3rd edition), by Patterson and Hennessy. The lecture notes are posted 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.
Grading policy
Final grades will be based on the total points earned on the projects and exams. Factors such as class participation may be used to adjust your final grade, especially if it falls on a borderline. The tentative point breakdown is as follows:
Projects 10% each = 40%
Homework (4 assignments) = 5%
Exams 2 midterms, 15% each, 1 final 25% = 55%
Enforced Prerequisites: EECS 203 or 270 with a grade of at least C; and EECS 280 or 283 with a grade of at least C

EECS 370 — Introduction to Computer Organization
Section 002, LEC
Instructor: Winsor,Donald C
Instructor: Bertacco,Valeria M

FA 2007
Credits: 4 
Course Overview
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 highlevel programming language such as C/C++. In EECS 370, you will see how a lowlevel 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. In this course, building will not mean connecting chips and gates. Rather, you will describe the hardware in diagrams, finitestate 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. We 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 (3rd edition), by Patterson and Hennessy. The lecture notes are posted 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.
Grading policy
Final grades will be based on the total points earned on the projects and exams. Factors such as class participation may be used to adjust your final grade, especially if it falls on a borderline. The tentative point breakdown is as follows:
Projects 10% each = 40%
Homework (4 assignments) = 5%
Exams 2 midterms, 15% each, 1 final 25% = 55%
Enforced Prerequisites: EECS 203 or 270 with a grade of at least C; and EECS 280 or 283 with a grade of at least C

EECS 373 — Design of Microprocessor Based Systems
Section 001, LEC
Instructor: Brehob,Mark W B

FA 2007
Credits: 4 
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 nontrivial 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, flipflops, and finitestate 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, pointerbased data structures, and basic structured programming techniques (information hiding, modular programming, etc.).
Enforced Prerequisites: EECS 270 and 370 with a grade of at least C

EECS 376 — Foundations of Computer Science
Section 001, LEC
Instructor: Strauss,Martin J; homepage

FA 2007
Credits: 4 
An introduction to computation theory: finite automata, regular languages,
pushdown automata, contextfree languages, Turing machines, recursive languages
and functions, and computational complexity.

EECS 381 — Object Oriented and Advanced Programming
Section 001, LEC
Instructor: Kieras,David Edward

FA 2007
Credits: 4 
Programming techniques in Standard C++ for largescale, complex, or
highperformance software. Encapsulation, automatic memory management,
exceptions, generic programming with templates and function objects, Standard
Library algorithms and containers. Using single and multiple inheritance
and polymorphism for code reuse and extensibility; basic design idioms,
patterns, and notation.
Enforced Prerequisites: EECS 281 with a grade of at least C

EECS 427 — Very Large Scale Integrated Design I
Section 001, LEC
Instructor: Sylvester,Dennis Michael

FA 2007
Credits: 4 
Objectives: This course introduces masklevel integrated circuit design.
Correct
engineering design methodology is emphasized. Topics covered in lectures
include: CMOS processes, mask layout methods and design rules; circuit
characterization and performance estimation; design for testability; and CMOS
subsystem and system design.
Prerequisites: EECS 270 and 312. Students are expected to know logic design,
transistorlevel circuit design (especially static CMOS), and device physics.
Some background in computer architecture is helpful (EECS 370/470), but not
required.
Assignments:
The term project involves the design of a 16bit RISC microprocessor. The initial
cell designs probably will not be used in the final project and must be done
individually. You are encouraged to interact with others, but until you are asked
to form teams, the work on your cell designs, simulations, etc., must be your
own. There is an initial homework assignment to ensure that all students have
the prerequisite digital IC design knowledge to succeed in EECS 427.
The final project will be done in teams of four. The project must be completed,
and you must submit a final report in the format specified. Within the constraints
of available funding, eligible projects will be fabricated through the MOSIS
service. If your project is fabricated, it must be tested; you can get credit for
testing it in EECS 579 or as a directed study project. You are encouraged to
enter your design in the DAC Student Design Contest.
Exams:
There will be ~60 minute quizzes approximately every 4 weeks (3 total) during
the semester.
Required text:
Jan Rabaey, Anantha Chandrakasan, and Borivoje Nikolic, Digital Integrated
Circuits: A Design Perspective, second edition, Prentice Hall, 2003.
We will also be pulling material from the following texts:
N. Weste and D. Harris, CMOS VLSI Design: A Circuits and Systems
Perspective, 3rd edition, AddisonWesley, 2005.
Design of HighPerformance Microprocessor Circuits, edited by A.
Chandrakasan, W. Bowhill, and F. Fox, IEEE Press, 2001.
Another useful circuit design reference is:
D.A. Hodges, H.G. Jackson, and R.A. Saleh, Analysis and Design of Digital
Integrated Circuits in Deep Submicron Technology, 3rd edition, McGraw Hill,
2004.
Grading scheme:
Homeworks (including project presentation): 10%
CAD assignments: 35%
Quizzes: 24% (8% each)Final project, report, and individual contributions: 31%
Enforced Prerequisites: EECS 270 and 312 with a grade of at least C; or graduate standing

EECS 470 — Computer Architecture
Section 001, LEC

FA 2007
Credits: 4 
Class Overview
EECS 470 is an introductory graduatelevel course in computer architecture. This course is intended to do two things: to give you a solid, detailed understanding of how computers are designed and implemented, including the central processor and memory and I/O interfaces; and to make you aware of the numerous tradeoffs in design and implementation, their interaction, their realization in both historical and stateoftheart systems, and trends that will affect them in future systems. We will cover instruction set architectures, pipelining (including basic pipelining, multipleinstructionpercycle machines, outoforder instruction execution, and vector processing), memory systems (including caches and virtual memory), I/O interfaces, operating system issues, and basic multiprocessor systems. We will also do case studies on microprocessors and systems you may have used, perhaps including the P6 (Pentium Pro/II/III), Pentium 4, and the Sony PlayStation/2.
A central part of EECS 470 is the detailed design of major portions of a substantial processor using the Verilog hardware design language (HDL).
Portions of this work will be done individually as homeworks; the bulk of the work will be done in groups of three to five as a term project. You will use modern commercial CAD tools to develop your design. This project represents a significant investment of time on your part, and is a significant portion of your grade in this class. However, in computer architecture it is particularly true that "the devil is in the details," and you will gain important experience and knowledge by coming face to face with that devil.
Textbooks:
Computer Architecture: A Quantitative Approach, 3rd edition, by Hennessy and Patterson, Morgan Kaufman Publishers.
Optional: Verilog Styles for Synthesis of Digital Systems, 1st edition, by Smith and Franzon, Prentice Hall.
Grading
Homework* 10%
Programming projects 10%
Exam 1 25%
Exam 2 25%
Project 30%
* There will be 5 homework assignments and 1 quiz each of equal weight that make up this score. The lowest score of those 6 grades will be dropped.
You must achieve passing grades on the both the project/homework as well as on the exams in order to pass the class! A rough measure of passing is that those within 2.0 standard deviations of the median of the students receiving a grade would be considered passing. A passing grade is a "C".
Enforced Prerequisites: EECS 270 and 370 with a grade of at least C; or graduate standing
Advisory Prerequisite: EECS 370, EECS 270 or Graduate Standing

EECS 478 — Logic Circuit Synthesis and Optimization
Section 001, LEC
Instructor: Papaefthymiou,Marios C

FA 2007
Credits: 4 
Advanced design of logic circuits. Technology constraints. Theoretical foundations.
Computeraided design algorithms. Twolevel and multilevel optimization
of combinational circuits. Optimization of finitestate machines. Highlevel synthesis
techniques: modeling, scheduling, and binding. Verification and testing.
Enforced Prerequisites: EECS 270 and 203 with a grade of at least C; and senior or graduate standing
Advisory Prerequisite: EECS 203 and 270 and senior or graduate standing.

EECS 480 — Logic and Formal Verification
Section 001, LEC
Instructor: Compton,Kevin J

FA 2007
Credits: 4 
EECS 480 is a new course which explores the uses of logic in verifying hardware and software systems. It requires EECS 376, or appropriate mathematical maturity. The course is appropriate for both undergraduates and graduate students, particularly those in software who have an interest in programming languages. The course focuses on those aspects of logic which have been particularly useful in verifying systems. We look in particular those pieces of logic which have been developed into verifiers, or which have been made into automated theorem proving systems. We look at propositional logic and predicate logic, and then branch into newer kinds of logic such as temporal logic, showing how you can implement these. For example, the temporal logic CTL was developed into the SMV modelchecking software and used to verify circuits. We also look at Hoare logic, and we consider efficient data structures like binary decision diagrams.
Advisory Prerequisite: EECS 281 or or EECS 398, Winter 2005, Section 001 and (EECS 376 or EECS 270) and EQ;

EECS 482 — Introduction to Operating Systems
Section 001, LEC
Instructor: Noble,Brian D

FA 2007
Credits: 4 
Operating system design and implementation: multitasking; concurrency and
synchronization; interprocess communication; deadlock; scheduling; resource
allocation; memory and storage management; inputoutput; file systems; protection
and security. Students write several substantial programs dealing with
concurrency and synchronization in a multitask environment, with file systems,
and with memory management.
Enforced Prerequisites: EECS 281 with a grade of at least C; or graduate standing
Advisory Prerequisite: (EECS 370 and EECS 281 or EECS 398, Winter 2005, Sec 001) or Graduate Standing

EECS 484 — Database Management Systems
Section 001, LEC
Instructor: Patel,Jignesh M

FA 2007
Credits: 4 
Concepts and methods for the design, creation, query and management of
large enterprise databases. Functions and characteristics of the leading database
management systems. Query languages such as SQL, forms, embedded
SQL, and application development tools. Database design, integrity, normalization,
access methods, query optimization, transaction management and
concurrency control and recovery.
Enforced Prerequisites: EECS 281 with a grade of at least C; or graduate standing
Advisory Prerequisite: EECS 281 or EECS 398, Winter 2005, Section 001 or Graduate Standing

EECS 487 — Interactive Computer Graphics
Section 001, LEC
Instructor: Guskov,Igor; homepage

FA 2007
Credits: 4 
Topics
The course will address the following topics:
Mathematics for Computer Graphics Points, vectors, matrices, linear algebra, triangles, barycentric coordinates, interpolation, 2D and 3D rigid transformations, and 3D viewing and perspective.
Rendering
Scan line and ray tracing techniques, antialiasing, illumination and reflection models for surfaces, shadowing, texture mapping, radiosity, GPU programming.
Geometric Modeling Meshes, modeling hierarchies, splines, implicit curves and surfaces, procedural models, and user interfaces.
Animation
Principles of animation. Keyframe animation.
Text books:
Fundamentals of Computer Graphics, 2nd Edition, by Peter Shirley, Michael Ashikhmin, Michael Gleicher, Stephen R. Marschner, Erik Reinhard, Kelvin Sung, William B. Thompson, Peter Willemsen.
OpenGL® Programming Guide: The Official Guide to Learning OpenGL®, Version 2, 5th Edition, by Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis.
Enforced Prerequisites: EECS 281 with a grade of at least C; or graduate standing
Advisory Prerequisite: EECS 281 or Graduate Standing

EECS 492 — Introduction to Artificial Intelligence
Section 001, LEC
Instructor: Baveja,Satinder Singh

FA 2007
Credits: 4 
Fundamental concepts of AI, organized around the task of building computational
agents. Core topics include search, logic, representation and reasoning,
automated planning, decision making under uncertainty, and machine learning.
Enforced Prerequisites: EECS 281 with a grade of at least C, or graduate standing
Advisory Prerequisite: EECS 281 or EECS 398, Winter 2005, Section 001 or Graduate Standing

EECS 494 — Computer Game Design and Development
Section 001, LEC
Instructor: Laird,John E

FA 2007
Credits: 4 
In this course we will study the technology, science, and art involved in the creation of computer games. The course will emphasize handson development of games. We will survey a variety of software technologies and the underlying concepts from computer science and related fields relevant to game programming including simulation engines, graphics, artificial intelligence, scripting languages, network gaming, and multimedia design systems. We will also survey the art and design principles for developing fun and engaging games including: human computer interaction, thematic structure, graphic design, game aesthetics.
The course will include visiting lectures and a variety of group projects. The group projects will involve system implementation, but emphasize design and use of existing tools. The final group project will require the students to go through all phases of system conceptualization, specification, design, implementation, and evaluation.
We assume significant programming experience and knowledge of programming language concepts. We also assume student can learn new programming concepts and systems (such as DirectX or OpenGL) on their own.
Required Course Material:
There is no required reading, browse your favorite bookstores for books on game design and programming.
You will be required to purchase the textbased adventure development tool ADRIFT (~$19.
Enforced Prerequisites: EECS 281 with a grade of at least C; or graduate standing
Advisory Prerequisite: EECS 281 or EECS 398, Winter 2005, Section 001 or Graduate Standing

EECS 496 — Major Design ExperienceProfessionalism
Section 001, LEC
Instructor: Jahanian,Farnam

FA 2007
Credits: 2 
Design principles for multidisciplinary team projects, team strategies, entrepreneurial
skills, ethics, social and environmental awareness, and life long learning.
Each student must take (simultaneously) TCHNCLCM 496 (2 cr.) and one
of the approved 400level team project courses in computing (4 cr.).
Enforced Prerequisites: Senior or Above

EECS 496 — Major Design ExperienceProfessionalism
Section 002, LEC
Instructor: McAfee Jr,L C

FA 2007
Credits: 2 
Design principles for multidisciplinary team projects, team strategies, entrepreneurial
skills, ethics, social and environmental awareness, and life long learning.
Each student must take (simultaneously) TCHNCLCM 496 (2 cr.) and one
of the approved 400level team project courses in computing (4 cr.).
Enforced Prerequisites: Senior or Above

EECS 497 — Major Design Projects
Section 001, LEC
Instructor: Soloway,Elliot

FA 2007
Credits: 4 
Professional problemsolving 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 nonEECS seniors to also take the course
(consult with instructor).
Enforced Prerequisites: Senior or Above
Advisory Prerequisite: Successful completion of at least twothirds of the credit hours required for the program subjects and Sr. Standing.

EECS 498 — Special Topics
Section 001, LEC
Instructor: Radev,Dragomir Radkov

FA 2007
Credits: 3 
Goals
The goals of this class are:
Provide you with a Major Design Experience in embedded systems
Provide you with an understanding of embedded systems that are both higherlevel and lowerlevel than you've seen in EECS 373.
Provide you with experience formally presenting work in both written and oral form.
Provide you with schedule and budgeting experience.
Expose you to the breadth of the field of embedded systems. Course Overview
From Wikipedia:
An embedded system is a specialpurpose system in which the computer is completely encapsulated by the device it controls. Unlike a generalpurpose computer, such as a personal computer, an embedded system performs predefined tasks, usually with very specific requirements. Since the system is dedicated to a specific task, design engineers can optimize it, reducing the size and cost of the product. Embedded systems are often massproduced, so the cost savings may be multiplied by millions of items.
In this class we will be exposing you to different types of embedded systems, from the very low end (a processor family with as few as 8 pins!), to the high end (Running Linux). At the same time, issues of cost and design complexity will be addressed. Finally, the students will spend most of the semester proposing, designing and implementing an embedded system.
Texts:
A printed form of the ATMega8 reference will be loaned to the students. In addition the AVR ISA will be a commonly used reference. You'll need to print this (shorter) manual if you want a copy, though there are some in the lab. There are a number of AVR books available on Amazon, you might find one of them helpful.
Labs
There are six labs in this class. The purpose of the first four labs is to provide you an introduction to the tools and hardware you will be using for your project. The last two labs are there to provide some exposure to higherlevel systems.
Grading
Midterm 15%
Lab assignments (6) 20%
Group presentation 4%
Individual report 4%
Class participation 4%
Project
Formal Proposal 4%
Milestone 1 4%
Milestone 2 5%
Project and its
Report/Pres/Demo 40%
Advisory Prerequisite: Permission of instructor.

EECS 498 — Special Topics
Section 002, LEC
Instructor: Lafortune,Stephane

FA 2007
Credits: 3 
Pervasive applications of microelectronics in all walks of our life that ushered in the 21stCentury era of triumvirate information, bio and nano technologies have fueled the growth of multibilliontransistor Silicon integrated circuits. Advances in integrated circuit technologies have been steadily accomplished during the past four decades by continually shrinking the feature sizes of MOS transistors and the accompanying metal interconnects with a view to achieving higher density, faster clock rate, and lower power consumption. As the feature sizes of MOS devices are further scaled down deep into sub50 nanometer dimensions, the Silicon industry is swiftly approaching the realms of nanoelectronics where device fabrication will mandate the creation of precision structures by manipulation of a string of atoms. It is expected that the nanoscale Silicon technologies in conjunction with other emerging quantum and nanotechnologies will bring about a profound and radical changes in our technologycentric society in the same ways as the revolutionary monolithic fabrication technologies have brought about the electronic revolution in the last century.

Introduction to Nanotelectronic Devices

ITRS Nanoelectronics Road Map

Double Barrier Resonant Tunneling Devices (RTD's)

Quantum Dots (QD's)

Single Electron Transistors (SET's):

Coulomb Barrier Devices

Molecular Electronics (Moltronics)

Carbon NanoTubes (CNT's)

RTDBased Circuit Digital Circuit Design

Cellular Neural Networks Architecture

QuantumDot Based Logic and Local Computational Models

QuantumDot Based Monochromatic Image Processing

QuantumDot Based Velocity Tuned Filters

Quantum Cellular Array Based Logic Circuits

Single Electron Transistor

SET Memory System

SET Logic Devices

Molecular Electronics Circuits

Moltronics Crossbar Memory

Molecular NanoPLA Architecture

Nanoscale Silicon and CNT Circuits

CNT FET's in Silicon Memory Design

Nano Tube/Nano Wire Based Digital Logic Design

Nanoscale CMOS Circuits

Quantum Device Modeling for NanoCAD

Quatum Tunneling through 2D RTD
Prerequisite: Instructor's Consent
Grading Criteria (tentative)
Class Presentation: 30%
Written Homework: 20%
Term Project: 50%
Advisory Prerequisite: Permission of instructor.

EECS 499 — Directed Study
Section 001, IND

FA 2007
Credits: 1 — 4 
Individual study of selected topics in Electrical Engineering and Computer
Science. May include experimental investigation or library research. Primarily
for undergraduates.
Enforced Prerequisites: Senior or Above
Advisory Prerequisite: Senior standing in EECS.

EECS 530 — Electromagnetic Theory I
Section 001, LEC
Instructor: Sarabandi,Kamal

FA 2007
Credits: 3 
Text: R.F. Harrington, TimeHarmonic Electromagnetic Fields, McGraw Hill Book Company, 1961.
The instructor will also provide handouts throughout the semester.
References: J.A. Stratton, Electromagnetic Theory, McGraw Hill Book Company, 1941.
J.A. Kong, Electromagnetic Wave Theory, EMW Publishing, 2000
Goals: Introduction to electric charge and current, electric and magnetic fields, and traveling waves. The concept of traveling waves is introduced by studying the theory of wave propagation in transmission lines using both timeharmonic and timedomain analysis. Introduction to vector calculus, electrostatics and magnetostatics. Lay foundation for advanced EM courses. Laboratory segment includes experiments with transmission lines, the use of computersimulation exercises and classroom demonstrations.
Homeworks: Homework problems will be assigned every week (68 problems). You are strongly encouraged to do the homework problems to get familiar with the details of not so familiar techniques.
Due dates for Homeworks are Thursdays at the beginning of class time a week after they are assigned.
Honor code applies to all homework assignments.
Solutions will be posted on class website a week after.
Grading: Your grade will be based upon:
30% Hwks + 20% Midterm #1 + 30% Final
Advisory Prerequisite: PHYSICS 438 or EECS 330.

EECS 537 — Classical Optics
Section 001, LEC
Instructor: Norris,Theodore B; homepage

FA 2007
Credits: 3 
A theory of electromagnetic, physical, and geometrical optics. Classical theory of dispersion. Linear response, KramersKronig relations, and pulse propagation. Light scattering. Geometrical optics and propagation in inhomogeneous media. Dielectric waveguides. Interferometry and theory of coherence. Diffraction, Fresnel and Fraunhofer. Guassian beams and ABCD law.
Advisory Prerequisite: EECS 330 or 334.

EECS 538 — Optical Waves in Crystals
Section 001, LEC
Instructor: Rand,Stephen C; homepage

FA 2007
Credits: 3 
Course Outline:
1. Propagation of laser beams — Gaussian wave optics, ABCD Law,
propagation in quadratic index media, cavities, negative index
media
2. Anisotropic media, uniaxial and biaxial crystals, optical activity,
Faraday rotation, coupled mode analysis
3. Jones calculus, polarization evolution in anisotropic media
4. Periodic media, Bragg reflectors, phase/group/energy velocity, surface
waves, nonperiodic media, energy storage
5. Electrooptic and acoustooptic phenomena; electrooptic and acousto
optic devices
6. Introduction to nonlinear optics: 3wave mixing, 4wave mixing, self
phase modulation and continuum generation
Textbooks: A. Yariv and P. Yeh, Optical Waves in Crystals", Wiley Interscience, New York, 1984.
On Reserve: 1. G. R. Fowles, Introduction to Modern Optics, Second edition, Dover, 1975.
2. B.E.A. Saleh and M.C. Teich, Fundamentals of Photonics, J. Wiley and Sons, New York, 1991.
3. A. Yariv, Quantum Electronics, Third edition, J. Wiley and Sons, New York, 1989.
4. M. Born and E. Wolf, Principles of Optics, Seventh edition, Cambridge University Press, 1999.
Homework: Handed out (or assigned on the basis of posted homepage information) every second Wednesday in lecture. Due the following Wednesday at the beginning of lecture.
Exams: A short midterm and a final exam, with official scheduling and location to be announced in class. (See schedule below).
Grading:
Percentage
Midterm 30
Homework (~6 biweekly problem sets) 40
Final Exam (pm) 30
Advisory Prerequisite: EECS 434 and Graduate standing.

EECS 540 — Applied Quantum Mechanics
Section 001, LEC
Instructor: Steel,Duncan G; homepage

FA 2007
Credits: 3 
Introduction to nonrelativistic quantum mechanics. Summary of classical mechanics, postulates of quantum mechanics and operator formalism, stationary state problems (including quantum wells, harmonic oscillator, angular momentum theory and spin, atoms and molecules, band theory in solids), time evolution, approximation methods for time independent and time dependent interactions including electromagnetic interactions, scattering.
Advisory Prerequisite: Permission of instructor.

EECS 543 — KnowledgeBased Systems
Section 001, LEC
Instructor: Durfee,Edmund H

FA 2007
Credits: 3 
Techniques and principles for developing application software based on explicit
representation and manipulation of domain knowledge, as applied to areas
such as pattern matching, problemsolving, automated planning, and natural language
processing. Discussion of major programming approaches used in
the design and development of knowledgebased systems.
Advisory Prerequisite: EECS 281 and grad standing or permission of instructor

EECS 545 — Machine Learning
Section 001, LEC
Instructor: Scott,Clayton D

FA 2007
Credits: 3 
Survey of recent research on learning in artificial intelligence systems.
Topics include learning based on examples, instructions, analogy, discovery,
experimentation, observation, problemsolving and explanation. The cognitive
aspects of learning will also be studied.
Advisory Prerequisite: EECS 492

EECS 570 — Parallel Computer Architecture
Section 001, LEC
Instructor: Mudge,Trevor N

FA 2007
Credits: 4 
Architectures for explicit parallelism. Multithreaded processors, small and
largescale multiprocessor systems. Sharedmemory coherence and consistency.
Effect of architecture on communication latency, bandwidth, and overhead.
Latency tolerance techniques. Interconnection networks. Case studies.
Term projects.
Advisory Prerequisite: EECS 470

EECS 571 — Principles of Real Time Computing
Section 001, LEC
Instructor: Shin,Kang Geun

FA 2007
Credits: 4 
Principles of realtime computing based on high performance, ultra reliability
and environmental interface. Architectures, algorithms, operating systems and
applications that deal with time as the most important resource. Realtime
scheduling, communications and performance evaluation.
Advisory Prerequisite: EECS 470 and 482 or permission of instructor.

EECS 574 — Computational Complexity
Section 001, LEC
Instructor: Shi,Yaoyun

FA 2007
Credits: 4 
Fundamentals of the theory of computation and complex theory. Computatability, undecidability, and logic. Relations between complexity classes, NPcompleteness, Pcompleteness, and randomized computation. Applications in selected areas such as cryptography, logic programming, theorem proving, approximation of optimization problems, or parallel computing.
Enforced Prerequisites: EECS 376 (C or better)
Advisory Prerequisite: EECS 376 or graduate standing

EECS 579 — Digital Systems Testing
Section 001, LEC
Instructor: Hayes,John Patrick

FA 2007
Credits: 3 
Overview of faulttolerant computing. Fault sources and models. Testing process.
Combinational circuit testing. DAlgorithm and PODEM. Sequential circuit
testing. Checking experiments. RAM and microprocessor testing. Fault
simulation. Design for testability. Testability measures. Selftesting circuits and
systems.
Advisory Prerequisite: Graduate standing

EECS 583 — Advanced Compilers
Section 001, LEC
Instructor: Mahlke,Scott

FA 2007
Credits: 4 
Indepth study of compiler backend design for highperformance architectures.
Topics include controlflow and dataflow analysis, optimization, instruction
scheduling, register allocation. Advanced topics include memory hierarchy
management, instructionlevel parallelism, predicated and speculative execution.
The class focus is processorspecific compilation techniques, thus familiarity
with both computer architecture and compilers is recommended.
Advisory Prerequisite: EECS 281 and 370 ( EECS 483 is also recommended)

EECS 584 — Advanced Database Systems
Section 001, LEC
Instructor: Patel,Jignesh M

FA 2007
Credits: 4 
Survey of advanced topics in database systems. Distributed databases, query
processing, transaction processing. Effects of data models: objectoriented
and deductive databases; architectures: mainmemory and parallel repositories;
distributed organizations: clientserver and heterogeneous systems.
Basic data management for emerging areas: internet applications, OLAP, data
mining. Case studies of existing systems. Group projects.
Advisory Prerequisite: EECS 484 or permission of instructor

EECS 587 — Parallel Computing
Section 001, LEC
Instructor: Stout,Quentin F

FA 2007
Credits: 4 
The development of programs for parallel computers. Basic concepts such as speedup, load balancing, latency, system taxonomies. Design of algorithms for idealized models. Programming on parallel systems such as shared or distributed memory machines, networks. Grid computing. Performance analysis.
Advisory Prerequisite: EECS 281; graduate standing

EECS 588 — Computer and Network Security
Section 001, LEC
Instructor: Prakash,Atul

FA 2007
Credits: 4 
Survey of advanced topics and research issues in computer and network security. Topics will be drawn from a variety of areas of such as mandatory and discretionary security policies, secure storage, security darnels, trust management, preventing software vulnerabilities, applied cryptography, network security.
Advisory Prerequisite: 482/489/G.

EECS 589 — Advanced Computer Networks
Section 001, LEC
Instructor: Mao,Zhuoqing

FA 2007
Credits: 4 
Prerequisite:
CS489 or undergraduate introductory class to networking required. Background in system programming, statistics and probability are helpful.
Overview:
This is a graduate level course on computer networking focusing on advanced topics and is a must for anyone interested in doing research in computer networks. The course consists of both a reading/lecture/discussion component and a project component. We will read at least 50 research papers on most recent topics of computer networking: This class examines the current and emerging research topics in computer networking. Topics covered include network protocols, network measurement, Internet routing, peer to peer networks, network security, wireless and sensor networks. Significant emphasis will be put on security and network management issues related to computer networks, as these are becoming increasingly important given the growing number attacks and complexity of networks. We focus both on the existing technologies also on why some of them are not sufficient because of technology trends or changes in fundamental assumptions. As an example, early designers of Internet assumed cooperative behavior of end nodes. The state of the art of tens of thousands of compromised hosts, i.e., zombies, completely changes this assumption and today's landscape on the Internet. Emphasis of the course is on topics in widearea networks and measurement methodologies for Internet experiments. Students are expected to carry out a research project including analysis, design, and implementation components when appropriate on a novel subject.
The class projects can be either of the following types: algorithm design applied to networked system, implementation of a novel networking system, measurement of existing network protocols, and simulation of a proposed network algorithm. We emphasize on problems that are real and solutions that will make a difference, ideally can be deployed. The lecture will be conducted in an interactive fashion. I will lead the discussion for the first part of the class, but I expect everyone to participate. For the second half of the class, I expect each student (can be in groups) to present a paper. You will be graded for both the paper summaries and class discussions.
Textbooks:
Please see the course's Reading List for the papers we will be reading this semester. There is no textbook for this course. For background review and reference, you may find the following textbooks useful:
Huitema, C., Routing in the Internet, 2nd ed., PrenticeHall, 2000. Keshav, S., An Engineering Approach to Computer Networking, AddisonWesley, 1997.
Kurose and Ross, ``Computer Networking: A TopDown Approach,'' AddisonWesley, 2000.
Peterson and Davie, ``Computer Networks: A Systems Approach,'' 2nd ed., Morgan Kaufmann, 2000.
Stevens, ``UNIX Network Programming, vol. 1: Networking APIs: Sockets and XTI,'' 2nd ed., PrenticeHall, 1997.
Tanenbaum, A., Computer Networks, 3rd ed., PrenticeHall, 1996. Wright and Stevens, TCP/IP Illustrated v.2, AddisonWesley.
Grading:
Research project 50%
Assignments/exam 20%
Paper presentation 10%
Reading summaries 10%
Class discussion 10%
Project: A major component of this course, both in terms of your grade and your time, is a research project. The goal of this project is to investigate new research ideas and solutions in a topic related to computer networks.
Assignments: There will be 2 small assignments focused on applying what you learned by reading papers. These are meant to bring you up to speed of the current state of the art of networking. The assignments are meant to be fun and encourage students to be creative.
Paper presentation: Students are expected to lead one discussion on one of the suggested topics based on indepth understanding of two to three papers. The presentation should consist of two components: a brief summary of the work and a critical evaluation that show deeper understanding and provide avenues for future work.
Reading summaries: Students are expected to come prepared to class by reading the papers assigned. Short reading summaries describing the papers are to be handed in before each class. The format of the summary is here.
Class discussion: This class is meant to be highly interactive. Everyone is expected to engage in discussions. I encourage students to attend all lectures
Advisory Prerequisite: EECS 489

EECS 592 — Advanced Artificial Intelligence
Section 001, LEC
Instructor: Wellman,Michael P

FA 2007
Credits: 4 
Advanced topics in artificial intelligence. Issues in knowledge representation,
knowledgebased systems, problem solving, planning and other topics will be
discussed. Students will work on several projects.
Advisory Prerequisite: EECS 492 or permission of instructor.

EECS 990 — DissPrecand
Section 001, IND

FA 2007
Credits: 1 — 8 
Dissertation work by doctoral student not yet admitted to status as candidate.
The defense of the dissertation, that is, the final oral examination, must be held
under a fullterm candidacy enrollment.
Advisory Prerequisite: Election for dissertation work by doctoral student not yet admitted as a Candidate.

EECS 995 — DissCand
Section 001, IND

FA 2007
Credits: 8 
Election for dissertation work by a doctoral student who has been admitted
to candidate status. The defense of the dissertation, that is, the final oral
examination, must be held under a fullterm candidacy enrollment.
Enforced Prerequisites: Graduate School authorization for admission as a doctoral Candidate

  Page 1 of 1, Results 1 — 48 of 48  

