Coursework
Computer Architectures
-
Advanced Computer Architecture
Advanced issues in the design and evaluation of high performance computer architectures. Topics include RISC design techniques, pipelining, instruction-level parallelism, superscalar systems, high-performance memory systems, and performance evaluation.
-
Parallel and Distributed Computer Architectures
An advanced study of the critical issues and limiting factors in the design of asynchronous and synchronous parallel and distributed architectures.
-
RISC Architectures
An advanced design oriented class studying the design techniques and operational principles of modern Superscalar RISC datapaths.
-
Embedded Systems
The course will survey a broad array of subjects including system specification languages, embedded processors, hardware accelerators, memory architecture, communication architecture, real-time operating systems, hardware-software co-design techniques and verification techniques.
Operating Systems, Compilers, and Parallel Computing
-
Design of Operating Systems
An in-depth study of operating systems with a focus on the design and construction of a modern OS kernel. Fundamental operating system concepts such as booting, system calls, process and thread abstractions, scheduling, synchronization, interprocess communication, memory management (allocation, paging, mapping), file systems, device drivers, and networking.
-
Advanced Operating Systems
Study of operating system abstractions and their implementations. Concurrent programming (threads and synchronization), inter-address communication, and an introduction to distributed operating systems.
-
High Performance Parallel Computing
Introduction to the area of high-performance, parallel/distributed/network computing. Topics include: Computer System Architectures, parallel applications, resource management, programming parallel applications (MPI, OpenMP).
-
Compilers
-
Compiler Optimization for Modern Processors
An in-depth study of state-of-the-art code optimization techniques used in compilers for modern processors. The emerging explicit parallel instruction computing (EPIC) processors such as Itanium and McKinley are significantly dependent on a range of aggressive program optimizations to yield performance. Rather than burdening the programmer with this additional complexitiy during code development, modern compilers offer automatic support for code optimization.
Digital Systems Test
-
Digital Systems Test
Introduction to the basic concepts in digital systems testing. Advanced topics in fault modeling and simulation, test patterns generation, and design for testability.
-
Advanced Digital Systems Test
Design and test techniques for high-speed digital systems operating at rates above 100 MHz with a practical emphasis via substantial projects
Others
-
Microelectronics Technologies
-
VLSI Design
-
Computer Communication Networks
-
Advanced Digital Signal Processing
-
Algorithms
-
Principles of Management for Engineers
Last Modified On: August 7, 2008