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)
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.
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.
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.
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.
Hands on experimentation and evaluation of Internet Security theory, principles, and practices. Laboratory component involves implementing both defensive and offensive security techniques.
Introductory topics in computer security are presented with an emphasis on fundamental security primitives and current security challenges facing society.
Processors, chipsets, busses, and I/O devices for high-end embedded
systems. Embedded operating systems; device drivers and applications for
embedded systems.
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 technologies, computation models, and applications; design methodologies for cloud applications; use of cloud-based languages and tools in developing advanced applications.
Exploration of internet implementation as a network of embedded computing
systems. Internetworking skills for design and implementation of hardware
and embedded software internet products.
Design, implement, and debug embedded microcontroller systems. Develop code; understand underlying assembly code instructions and addressing modes. Use ADC, timers, and other resources.
Using computer algorithms for solving electrical engineering problems arising in
various application domains. Development of effective algorithms and their
implementation by object-oriented code.