< 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 high-level 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 high-level 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 non-binary systems, Boolean algebra digital design techniques, logic gates, logic minimization, standard combinational circuits, sequential circuits, flip-flops, synthesis of synchronous sequential circuits, PLA's, ROM's, RAM's, arithmetic circuits, computer-aided 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 non-binary systems, Boolean algebra digital design techniques, logic gates, logic minimization, standard combinational circuits, sequential circuits, flip-flops, synthesis of synchronous sequential circuits, PLA's, ROM's, RAM's, arithmetic circuits, computer-aided 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, top-down 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, top-down 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 O-notation. 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 divide-and-conquer 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 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. In this course, building 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. 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 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. In this course, building 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. 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 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.).

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, context-free 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 large-scale, complex, or high-performance 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 mask-level 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, transistor-level 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 16-bit 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, Addison-Wesley, 2005.
Design of High-Performance 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 graduate-level 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 state-of-the-art systems, and trends that will affect them in future systems. We will cover instruction set architectures, pipelining (including basic pipelining, multiple-instruction-per-cycle machines, out-of-order 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. 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.

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 model-checking 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: multi-tasking; concurrency and synchronization; inter-process communication; deadlock; scheduling; resource allocation; memory and storage management; input-output; file systems; 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.

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 hands-on 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 multi-media 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 text-based 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 Experience-Professionalism
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 400-level team project courses in computing (4 cr.).

Enforced Prerequisites: Senior or Above

EECS 496 — Major Design Experience-Professionalism
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 400-level 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 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).

Enforced Prerequisites: Senior or Above

Advisory Prerequisite: Successful completion of at least two-thirds 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 higher-level and lower-level 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 special-purpose system in which the computer is completely encapsulated by the device it controls. Unlike a general-purpose computer, such as a personal computer, an embedded system performs pre-defined 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 mass-produced, 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 higher-level 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 21st-Century era of triumvirate information, bio and nano technologies have fueled the growth of multi-billion-transistor 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 sub-50 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 nano-scale Silicon technologies in conjunction with other emerging quantum and nanotechnologies will bring about a profound and radical changes in our technology-centric 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)
  • RTD-Based Circuit Digital Circuit Design
  • Cellular Neural Networks Architecture
  • Quantum-Dot Based Logic and Local Computational Models
  • Quantum-Dot Based Monochromatic Image Processing
  • Quantum-Dot 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 Nano-PLA 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 Nano-CAD
  • Quatum Tunneling through 2-D 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, Time-Harmonic 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 time-harmonic and time-domain analysis. Introduction to vector calculus, electrostatics and magnetostatics. Lay foundation for advanced EM courses. Laboratory segment includes experiments with transmission lines, the use of computer-simulation exercises and classroom demonstrations.

Homeworks: Homework problems will be assigned every week (6-8 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, Kramers-Kronig 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, non-periodic media, energy storage

5. Electro-optic and acousto-optic phenomena; electro-optic and acousto- optic devices

6. Introduction to nonlinear optics: 3-wave mixing, 4-wave 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 mid-term and a final exam, with official scheduling and location to be announced in class. (See schedule below).

Grading:
Percentage Midterm 30
Homework (~6 bi-weekly 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 — Knowledge-Based 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, problem-solving, automated planning, and natural language processing. Discussion of major programming approaches used in the design and development of knowledge-based 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, problem-solving 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 large-scale multiprocessor systems. Shared-memory 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 real-time 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. Real-time 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, NP-completeness, P-completeness, 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 fault-tolerant computing. Fault sources and models. Testing process. Combinational circuit testing. D-Algorithm and PODEM. Sequential circuit testing. Checking experiments. RAM and microprocessor testing. Fault simulation. Design for testability. Testability measures. Self-testing circuits and systems.

Advisory Prerequisite: Graduate standing

EECS 583 — Advanced Compilers
Section 001, LEC

Instructor: Mahlke,Scott

FA 2007
Credits: 4

In-depth study of compiler backend design for high-performance architectures. Topics include control-flow and data-flow analysis, optimization, instruction scheduling, register allocation. Advanced topics include memory hierarchy management, instruction-level parallelism, predicated and speculative execution. The class focus is processor-specific 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: object-oriented and deductive databases; architectures: main-memory and parallel repositories; distributed organizations: client-server 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 wide-area 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., Prentice-Hall, 2000. Keshav, S., An Engineering Approach to Computer Networking, Addison-Wesley, 1997.
Kurose and Ross, ``Computer Networking: A Top-Down Approach,'' Addison-Wesley, 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., Prentice-Hall, 1997.
Tanenbaum, A., Computer Networks, 3rd ed., Prentice-Hall, 1996. Wright and Stevens, TCP/IP Illustrated v.2, Addison-Wesley.

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 in-depth 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, knowledge-based 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 — Diss-Precand
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 full-term candidacy enrollment.

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

EECS 995 — Diss-Cand
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 full-term candidacy enrollment.

Enforced Prerequisites: Graduate School authorization for admission as a doctoral Candidate

 
Page 1 of 1, Results 1 — 48 of 48