Updates on the campus response to coronavirus (COVID-19)

ECE Courses by TIG

Course NumberCourse Title and Catalog Description


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.


DSP Software Systems Design

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


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.


RISC Architectures

An advanced design oriented class studying the design techniques and operational principles of modern Superscalar RISC datapaths.


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.


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.


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.


Internetwork Security

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


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.


Introduction to Computer Security

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


Advanced Programming Techniques

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


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 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.


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.


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.


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.


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.


Dependable Distributed Systems

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


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.