ECE Courses

  • Click on the course number for a detailed course outline.
Course Number  Course Title and Catalog Description
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.
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.
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, 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.
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.
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.
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.
Internetwork Security
Hands on experimentation and evaluation of Internet Security theory, principles, and practices. Laboratory component involves implementing both defensive and offensive security techniques.
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.
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.
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.
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.
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.
Dependable Distributed Systems
Concepts, theory, and practice of dependable distributed systems. Techniques for tolerating hardware and software faults.
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.
Advanced Programming Techniques
Covers a number of advanced topics in programming methods, data management, distributed computing, and advanced algorithms used in typical engineering applications.
DSP Software Systems Design
Specification, evaluation, and implementation of realtime DSP applications on embedded DSP-based environments.
RISC Architectures
An advanced design oriented class studying the design techniques and operational principles of modern Superscalar RISC datapaths.