Computer Engineering Classes that were scheduled 2002-2007

 
Instructor Course Name F02 Sp03 F03 Sp04 F04 Sp05 F05 Sp06 F06 Sp07
Ghosh EE380L Pract Data Min   XXX                
Ghosh EE380L-10 Data Mining XXX       XXX     XXX   XXX
Chase EE380L-5 Eng Prog Lan XXX   XXX   XXX   XXX   XXX  
Aggarwal EE380L-7 Pattern Rec XXX   XXX       XXX   XXX  
Aggarwal EE380L-8 Adv Comp. Vis   XXX   XXX       XXX   XXX
Perry EE382C-10 Emp Studies XXX   XXX     XXX       XXX
Khurshid EE382C-3 Val/Ver Soft.       XXX XXX   XXX XXX XXX  
Barber EE382C-7 Soft  Arch   XXX                
Jacome EE382C-8 HW/SW Codes   XXX           XXX    
Evans EE382C-9 Emb SW Sys       XXX            
Touba EE382M-1 VLSI Testing       XXX           XXX
Aziz EE382M-10 Syn Dig Sys     XXX             XXX
Aziz EE382M-11 Verification       XXX            
Ambler EE382M-12 Sys Des Met   XXX                
Touba EE382M-13 Digital IC XXX   XXX   XXX   XXX   XXX  
Yan EE382M-14 Analog IC XXX     XXX XXX   XXX   XXX  
John EE382M-15 Comp Perf XXX         XXX     XXX  
Swanson EE382M-19 Mix-Sig Des XXX   XXX   XXX   XXX   XXX  
Touba EE382M-2 Depend Comp   XXX           XXX    
Abraham EE382M-7 VLSI I XXX   XXX     XXX   XXX    
Aziz EE382M-7 VLSI I         XXX   XXX   XXX  
Pan EE382M-7 VLSI I                   XXX
Tupuri EE382M-7 VLSI I   XXX                
McDermott EE382M-8 VLSI II XXX XXX   XXX   XXX   XXX   XXX
Devgan EE382M-9 Sim Met VLSI     XXX              
Chase EE382N-10 PaCompArch XXX   XXX              
Chiou EE382N-10 PaCompArch             XXX   XXX XXX
Garg EE382N-11 Dist. Sys I   XXX   XXX   XXX   XXX   XXX
Swartzlander EE382N-14 High-Speed I XXX   XXX   XXX   XXX   XXX  
Swartzlander EE382N-15 High-Speed II     XXX   XXX          
Bard EE382N-16 Net Security     XXX   XXX          
John EE382N-17 Superscalar     XXX         XXX   XXX
Garg EE382N-18 Dist. Sys II         XXX          
Patt EE382N-19 Microarch       XXX       XXX    
Lipovski EE382N-4 Adv Emb Mic       XXX   XXX        
Nettles EE382N-5 Net Protocols XXX   XXX   XXX   XXX   XXX  
Ghosh EE382V Adv Data Min           XXX        
Gharpurey EE382V Analog/RF Wireless               XXX    
Orshansky EE382V CAD Deep Sub     XXX   XXX          
Erez EE382V Comp Arch: User-Sys                   XXX
Yan EE382V Data Converters                   XXX
Swartzlander EE382V Floating-Point Arith                   XXX
Julien EE382V Form Meth Dist           XXX XXX     XXX
Hassibi EE382V Integrated Sensors                 XXX  
Garg EE382V Lattice Theory     XXX              
Julien EE382V Mobile Comp         XXX   XXX   XXX  
Nettles EE382V Mobile Net   XXX   XXX   XXX       XXX
Orshansky EE382V Nano Scale Des       XXX     XXX   XXX  
Pan EE382V Opt VLSI Des       XXX   XXX   XXX    
Gharpurey EE382V RF IC Design             XXX   XXX  
Perry EE382V SW Arch & Des Int               XXX    
Chase EE382V SW High Perf Comp                   XXX
Abraham EE382V System on Chip           XXX XXX   XXX  
Aziz EE382V VLSI Comm Sys           XXX   XXX    
Pan EE382V VLSI Phy Des         XXX   XXX   XXX  

EE380L Topic 5: Engineering Programming Languages
Higher-level languages for engineering design and problem solving; object-oriented programming in C++ and UNIX systems programming.

EE380L  Topic 7: Intro Pattern Recog/Computer Vision
Image formation, early vision, image segmentation, two-dimensional and three-dimensional representations.

EE380L Topic 8: Computer Vision Systems
Discussion of current research results and exploration of new directions in computer vision research; emphasis varies each semester.

EE380L Topic 10: Data Mining
Discover and extract pieces of information useful for making smart business decisions, understanding of concepts from exploratory data analysis, pattern recognition, machine learning, heterogeneous data bases, parallel processing and data visualization, in addition to knowing the problem domain.

EE380L Practicum In Data Mining
Analyzing the World Wide Web and for extracting useful information out of it by mining its hyperlink structure, content of web pages and usage patterns. Topics covered will include (i) hyperlink analysis of the internet, (ii) information retrieval --- query retrieval, clustering and classification of hypertext, (iii) web-log analysis to determine website usage patterns and (iv) personalization.

EE382C Topic 3: Verification and Validation of Software
Evaluation of software for correctness, efficiency, performance, and reliability.

EE382C Topic 7: Domain-Specific Software Architecture
Software engineering approaches; scenario-based engineering processes to analyze problem domain; domain modeling and representations; creation of component-based reference architecture providing an object-oriented representation of system requirements.

EE382C Topic 8: Methodologies for Hardware/Software Codesign
Techniques used to design complex hardware/software systems; emphasis on specification, modeling, estimation, partitioning, verification/validation, and synthesis.

EE382C Topic 9: Embedded Software Systems
Dataflow models, uniprocessor and multiprocessor scheduling, hardware/software codesign, hierarchical finite state machines, synchronous languages, reactive systems, synchronous/reactive languages, heterogeneous systems.

EE382C Topic 10: Empirical Studies In Software Engineering
Software Engineering is of necessity an empirical enterprise. We will look at different kinds of empirical evaluation from related fields such as behavioral sciences and see how we can adapt those techniques to the service of software engineering. We will then evaluate current empirical studies in software engineering to see where there are strengths and weaknesses in the current state of the art.

EE382M Topic 1: VLSI Testing
Hardware and software reliability analysis of digital systems; testing, design for testability, self-diagnosis, fault-tolerant logic design, error-detecting and error-correcting codes.

EE382M Topic 2: Dependable Computing
Design techniques for reliable, fault-tolerant, fail-safe and fail-soft systems; fault diagnosis and fault avoidance methods at program and system levels; experimental and commercial fault-tolerant computer systems.

EE382M Topic 7: VLSI I
CMOS technology; structured digital circuits; VLSI systems; computer-aided design tools and theory for design automation; chip design.

EE382M Topic 8: VLSI II
Microelectronic systems architecture; VLSI circuit testing methods; integration of heterogeneous computer-aided design tools; wafer scale integration; advanced high-speed circuit design and integration.

EE382M Topic 9: Simulation Methods in CAD/VLSI
Techniques and algorithms for simulating large-scale digital and analog circuits.

EE382M Topic 10: Synthesis of Digital Systems
Automatic generation of gate-level implementations from HDL specifications; optimization of two-level, multilevel, and sequential circuits for area, speed, and testability.

EE382M Topic 11: Verification of Digital Systems
Automatic verification of digital systems; formal models and specifications, equivalence checking, design verification, temporal logic, BDDs, logical foundations, automata theory, recent developments.

EE382M Topic 12: System Design Metrics
Analysis of design at chip, board, and system levels; life cycle implications of design decisions, including design for testability effects on production and field service; economic and customer-driven factors.

EE382M Topic 13: Analysis/Design Digital Integrated Circuits 
Circuit-level aspects of metal oxide silicon (MOS) and bipolar integrated
circuit technologies; logic gates and latches; propagation delays; circuit
simulation models. (same as EE382V Analysis/Design Of Digit Integ Circs)

EE382M Topic 14: Analog Integrated Circuit Design
This course presents the design of analog integrated circuits in CMOS technology. The course begins with a review of CMOS technology and MOS transistor operation principles. Basic CMOS analog building blocks, including current mirrors, inverting amplifiers, differential pairs, and cascade amplifiers, are then introduced. Frequency response, stability, and frequency compensation are explained, followed by the design of one-stage and two-stage operational amplifiers. The students will do design, simulation, and layout of analog circuits in Cadence design environment during the semester, and will complete a final project at the end of the semester.

EE382M Topic 15: Computer Performance Evaluation/Benchmarking
Benchmarking processor and computer system architectures have become extremely difficult due to the complexity of the processors and the complexity of the applications that run on the computers. This course will focus on quantitative and analytical characterization of processors and applications from general purpose and scientific computing. Several papers from the recent computer architecture, performance evaluation, and workload characterization related conferences will be used as supplemental material.

EE382M Topic 19: Mixed-Signal Sys Design/Model

EE382M Topic 4: Advanced Embedded Systems

EE382N Topic 5: Communication Networks: Tech, Arch, and Protocols.
Network services and techniques, layered architectures, circuit and packet-switching networks, internetworking, switch architectures, control mechanisms, and economic issues.

EE382N Topic 10: Parallel Computer Architecture.
Study of parallel computing, including models, algorithms, languages, compilers, interconnection networks, and architectures.

EE382N Topic 11: Distributed Systems.
This will be an introductory graduate level course in distributed systems. It will expose students to theoretical as well as practical aspects of designing such systems. The course assumes that the student has some familiarity with programming. 
Models of Distributed Computation: Happened before relation, posets, lattices
Time: Logical clocks, vector clocks, direct dependency clocks, matrix clocks.
Resource Allocation: Mutual Exclusion, Drinking Philosophers, Election
Global Property Evaluation: Chandy and Lamport's algorithm, termination detection, unstable properties.
Ordering of Messages: causal, synchronous, multi-cast protocols.
Global Computation: Diffusing computation, supervised computation.
Consensus: FLP Result, Synchronous systems, Byzantine Agreement
Fault-tolerance: Failure Detectors, Checkpointing, optimistic and pessimistic recovery, Self-stabilizing algorithms.

EE382N Topic 14: High-Speed Computer Arithmetic I.
Design of computer arithmetic units: fast adders, fast multipliers, dividers, and floating-point arithmetic units.

EE382N Topic 15: High-Speed Computer Arithmetic II.
Advanced topics in computer arithmetic, including error correcting coding, residue number systems, CORDIC arithmetic, and VLSI implementation. Additional prerequisite: Electrical Engineering 382N (Topic 14).

EE382N Topic 16: Distributed Information System Security.

EE382N Topic 17: Superscalar Microprocessor Architectures.
Superscalar processor architectures, comparison with VLIW processors, program parallelism, performance evaluation, trace generation, memory systems, branch prediction.

EE382N Topic 18: Distributed Systems II
The course will cover some current topics in distributed systems. Much of the course will be based on recent papers in the area. Students will be expected to read and present papers assigned by the instructor. In addition, the students are expected to write a term paper based on their term project. The course is likely to cover a subset of the following topics. The set of topics covered significantly depends upon the interests of the students enrolled in the course.

EE382N Topic 19: Microarchitecture
Basic concepts in architecture and microarchitecture. Critical path, Bread and Butter Design, Partitioning, Timing, Pipelining. Data Path, state machine, microsequencer, microinstruction definition, and microcode. Microprogramming (horizontal, vertical, two-level, dynamic microprogramming, bit steering). Extension to pipelining and pipelined control. Effective use of short pipelines, with some digressions into more effective use of long pipelines without blocking. The structure of a modern pipeline. Functions at each stage. CAD tools. The x86 ISA, and some implementation issues.   Pipelining in the year 2004.   Branch Prediction.  The Trace Cache.  The Block-structured ISA.   Simultaneous Multithreading.  Clustering and its implications.   Data Flow; HPS.  Pentium Pro and Pentium 4 implementations.   Importance of Compiler technology to Future Microarchitectures.  RISC, a Retrospective.  Cache Coherency.  Memory consistency.   IEEE Floating Point arithmetic, The IEEE Standard. Formats. Gradual underflow, NaNs, Exceptions, Round-off, Guard Digits and Sticky bits, Wobble.   Measurement methodology and abuses.  The IBM Power 5 microarchitecture

EE382V Advanced Topics In Comp Architecture

EE382V Cad For Deep Submicron VLSI
This course reviews the major components of the modern computer-aided circuit design flow, concentrating on models and algorithms for physical design and timing analysis. An important motivation for the course is to explore the directions in which computer-aided circuit design evolves as it copes with the challenges brought about by the increased complexity of deep submicron silicon technology. The course will survey the major disruptive technological trends, and study their impact on timing analysis and physical design. It will also explore the techniques in computer-aided design for testability, reliability, and manufacturability. The course will build the links between solid-state technology, circuit design, and CAD, and will be of interest to students in all these areas.

EE382V System On A Chip Design

EE382V VLSI Physical Design Automation
This course studies the fundamental of physical design, a key design implementation stage for VLSI systems. Physical design is the process of transforming structural representation of a VLSI system into layout representation. The objective of physical design automation is to carry out such transformation efficiently using computers so that the resulting layout satisfies topological, geometric, timing and power-consumption constraints of the design. This course focuses on various design automation problems in the physical design process of VLSI circuits, including: logic partitioning, floor planning, placement, global routing, detailed routing, clock and power routing, and new trends in physical synthesis. We shall also discuss the applications of a number of important optimization techniques, such as graph theory, network flow, Steiner tree, simulated annealing, generic algorithm, and linear/convex programming. Guest lecture(s) given by industry experts will further broaden the view of students. 

EE382V Analysis/Design Of Digital Integrated Circs 
Circuit-level aspects of metal oxide silicon (MOS) and bipolar integrated circuit technologies; logic gates and latches; propagation delays; circuit
simulation models. (same as EE382M 13 Analysis/Design Digital Integrated Circuits)

EE382V Lattice Theory with Applications
Partial order and lattice theory now play an important role in many disciplines of computer science and engineering. For example, they have applications in distributed computing (vector clocks, global predicate detection), concurrency theory (pomsets, occurrence nets), programming language semantics (fixed-point semantics), and data mining (concept analysis). They are also useful in other disciplines of mathematics such as combinatorics, number theory and group theory. In this course, I will introduce important results in this theory along with their applications in computer engineering. The bias of the course will be on computational aspects of lattice theory (algorithms) and on applications (esp. distributed systems). 
Posets: Basics Calculating height and width of a poset, Dilworth's theorem, decomposition of a poset
Lattices: Distributive and Modular Lattices, Lattices as algebraic structures, M3-N5 theorem.
Ideals Ideals and Filters, Birkhoff's Theorem, Join and Meet Irreducible Elements, Applications to Global Predicate Detection
Fixed Point Theorems: Complete Lattices, monotone and continuous functions, Knaster-Tarski theorem, Application to semantics of CSP
Sperner Property: Ranked Posets, Erdos-Szekeres Theorem, Sperner property, Hall's Theorem
Enumeration: Enumerating ideals in BFS, DFS, Lexical and Gray Code; enumerating level sets, enumeration of linear extensions.
Dimension Theory: Encoding posets, applications to encoding distributed computations, Hiraguchi's conjecture
Special Classes of Posets: 2-dimensional posets, series-parallel posets, interval posets.
Mobius Inversion: Mobius function and applications to number theory
Slicing: Slicing with applications to distributed computing and combinatorics

EE382V Advanced Topics In Mobile Networking

EE382V Optimization Issues in VLSI CAD
As CMOS scales into nanometer dimensions, VLSI designs are more and more interconnect dominated for the overall chip performance, cost, and reliability.  The resulting design closure problem has been the central problem for electronic design automation, as seen by enormous efforts from both academia and industry. Meanwhile, as CMOS scaling continues, power is emerging as a key design limiter, together with other deep submicron effects such as signal integrity.  All these make modern VLSI designs extremely complex and CAD tools are essential to optimize the overall system performance, power and reliability.  This course will study key optimization techniques with underlying modeling issues to deal with the nanometer design challenges. Guest lecture(s) given by industry experts will further broaden the view of students. 

EE382V Nanometer Scale IC Design
This course explores the challenges of digital integrated circuit design in advanced CMOS technologies. The students will learn about the impact of new physical effects on the traditional circuit design solutions and methods, and on ways they need to adopt to enable successful integrated circuit design. The primary themes of the course will be the challenges of ensuring high yield, reliability, manufacturability, and robustness of advanced integrated circuits, including mixed-signal circuits.

Jonathan Valvano 9/10/08