ECE Courses


  • Click on the course number for a detailed course outline.
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.
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.