This is supplemental course information, designed to give you a fuller picture of the course and an expanded look at the topics covered. This is an unofficial document. The USC Course Catalog is the binding description of all university courses. Information such as books, materials covered, and the order of topics is subject to change. Please consult instructor for this semseter to get more upto date course information.
Power Point Presentation "Why You Must Take EE-581 if You are Interested in VLSI" by Prof. Mel Breuer
Catalogue 2006-07:
Mathematical techniques employed in computer-aided-design systems, including: graph theory, algorithmic and heuristic techniques for combinatorial problems, data structures and modeling. Prerequisite: CSCI 455, EE 457, EE 477; recommended preparation: CSCI 570.
Textbook:
1. Online course reader consisting of published papers and other links
2. Lecture slides
Course monitors:
Melvin Breuer
Topics:
1. Overview of CAD: VLSI design flow
2. Basic math concepts: Notation, functions, relations, complexity, elementary logic
3. Theorems and Proofs: Theorems, lemmas, corollaries, various techniques
4. Combinatorics: Enumerations, permutations, combinations, generating functions, recurrence relations
5. Graph Theory: Terminology, special graphs, graph algorithms
6. Implicit Representations: Charateristic functions, BDDs
7. Computational Approaches: Greedy, dynamic programming, simulated annealing, genetic algorithms
8. Mathematical programs: Linear/integer/mixed-integer linear/special non-linear programs
9. Modeling: Boolean functions, FSMs, Petri nets, state transition diagrams
Course Objectives:
1. Provide mathematical foundations that are the basis of computer-aided-design techniques in academia and industry.
2. Provide experience with a powerful suite tools that solve problems within multiple computer engineering disciplines.
Course Outcomes:
The student will be able to
1. Write/read math precisely
2. Prove and disprove a wide range of theorems
3. Count objects from collections and enumerate possibilities thoroughly
4. Interpret and utilize a variety of graphs
5. Design effective and efficient algorithms
6. Solve difficult problems using mathematical programs
7. Model complex systems with expressive constructs
Projects:
1. Possible Lab assignments: Graphs, BDDs, Linear Programming, Simulated Annealing, Genetic Algorithm, etc.
2. Exams: Midterm, Final
Prepared by: Roger Su Date: September 27, 2006