|Course Number||Course Title and Catalog Description|
| ECE2035 ||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.
| ECE2036 ||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.
| ECE3020 ||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.
| ECE3056 ||Architecture, Concurrency, and Energy in Computation |
Basic organizational principles of the major components of computer processors: cores, memory hierarchy, and the I/O subsystem. Implications for performance, concurrency, and energy.
| ECE3090 ||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.
| ECE4100 ||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.
| ECE4110 ||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.
| ECE4112 ||Internetwork Security|
Hands on experimentation and evaluation of Internet Security theory, principles, and practices. Laboratory component involves implementing both defensive and offensive security techniques.
| ECE4122 ||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.
| ECE4180 ||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.
| ECE4185 ||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.
| ECE6100 ||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.
| ECE6101 ||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.
| ECE6102 ||Dependable Distributed Systems|
Concepts, theory, and practice of dependable distributed systems. Techniques for tolerating hardware and software faults.
| ECE6110 ||CAD for Computer Communication Networks|
Investigation of the methodologies and algorithms used for designing and optimizing computer/communications networks with a focus on the algorithmic aspects of network design.
| ECE6277 ||DSP Software Systems Design|
Specification, evaluation, and implementation of realtime DSP applications on embedded DSP-based environments.
| ECE7102 ||RISC Architectures|
An advanced design oriented class studying the design techniques and operational principles of modern Superscalar RISC datapaths.