Architecture, Systems, Concurrency and Energy in Computation

Basic organizational principles of the major components of a processor, e.g., the core, memory hierarchy, I/O subsystem and basic operating system constructs that utilize them.

Interconnection Networks for High-Performance Systems

Architecture, design methodology, and trade-offs of interconnection networks at various scales - on-chip (for multicore CPUs and accelerators) and off-chip (for HPC and datacenters)

Advanced Computer Architecture

Comprehensive coverage of the architecture and system issues that confront
the design of a high performance workstation/PC computer architectures
with emphasis on quantitaive evaluation. Credit is not allowed for both
ECE 6100 and any of the following courses: ECE 4100, CS 4290, CS 6290.

CAD for Computer Communication Networks

Models and algorithms for simulation-based design and evaluation of computer networks and network protocols.

Dependable Distributed Systems

Concepts, theory, and practice of dependable distributed systems. Techniques for tolerating hardware and software faults.

Advanced Programming Techniques

Covers a number of advanced topics in programming methods, data management, distributed computing, and advanced algorithms used in typical engineering applications.

Advanced Programming Techniques for Engineering Applications

Course covers a number of programming techniques for distributed and parallel computing and other advanced methods, such as multiprecision arithmetic and nonblocking I/O.

Programming for Hardware/Software Systems

Creation of complex execution and storage mechanisms, based on instruction set architecture, for software design including high-level programming languages and operating systems. Programming design projects.

Mathematical Foundations of Computer Engineering

Fundamental concepts in discrete mathematics and their efficient realization via algorithms, data structures, computer programs, and hardware. Discussion of engineering and computational applications.

Architecture, Systems, Concurrency and Energy in Computation

Basic organizational principles of the major components of a processor, e.g., the core, memory hierarchy, I/O subsystem and basic operating system constructs that utilize them.

Internetwork Security

Hands on experimentation and evaluation of Internet Security theory, principles, and practices. Laboratory component involves implementing both defensive and offensive security techniques.

Introduction to Computer Security

Introductory topics in computer security are presented with an emphasis on fundamental security primitives and current security challenges facing society.

Embedded Systems Design

Processors, chipsets, busses, and I/O devices for high-end embedded
systems. Embedded operating systems; device drivers and applications for
embedded systems.

Engineering Software Design

Object-oriented software methods for engineering applications. Numerical analysis methods; simulations and graphical presentation of simulation results; analysis of numerical precision. Programming projects.

Advanced Computer Architecture

Comprehensive coverage of the architecture and system issues that confront
the design of high performance workstation/PC computer architectures with
emphasis on quantitative evaluation. Credit is not allowed for both ECE
4100 and any of the following courses: ECE 6100, CS 4290, CS 6290.

Cloud Computing

Cloud computing technologies, computation models, and applications; design methodologies for cloud applications; use of cloud-based languages and tools in developing advanced applications.

Internetwork Programming

Exploration of internet implementation as a network of embedded computing
systems. Internetworking skills for design and implementation of hardware
and embedded software internet products.

Embedded Microcontroller Design

Design, implement, and debug embedded microcontroller systems. Develop code; understand underlying assembly code instructions and addressing modes. Use ADC, timers, and other resources.

Software Fundamentals for Engineering Systems

Using computer algorithms for solving electrical engineering problems arising in
various application domains. Development of effective algorithms and their
implementation by object-oriented code.

DSP Software Systems Design

Specification, evaluation, and implementation of realtime DSP applications
on embedded DSP-based environments.

Parallel & Distributed Computer Architecture

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.