Electrical and Computer Engineering

Course Descriptions

Undergraduate Computer Engineering courses

(Effective fall 2009)

COE201 Computer Proficiency [0-2, 1 cr.] 
This course covers word processing, spreadsheet, presentation software, internet, e-mail, database, and web design.

COE211 Computer Programming [3-2, 4 cr.] 
This course covers a high-level programming language syntax, structured programming, basic constructs, arrays, object programming, case studies, and projects tailored towards solving engineering and mathematically-oriented problems.

COE212 Engineering Programming [3-0, 3 cr.] 
This course covers a high-level programming language syntax, structured programming, basic constructs, arrays, object programming, case studies, and projects tailored towards solving engineering and mathematically-oriented problems.

COE312 Data Structures [3-0, 3 cr.] 
This course covers the programming principles, stacks and recursion, queues, lists, searching, and sorting algorithms, binary trees, and the introduction to object-oriented programming concepts.
Prerequisite: COE 212 Engineering Programming.

COE 313 Data Structures Lab [0-2, 1 cr.] 
This Lab provides hands-on experience in designing, implementing, and using the most-commonly used data structures including arrays, stacks, queues, linked lists, trees, hash tables, and graphs. Other topics may include sorting algorithms, polymorphism, and recursion.
Pre-requisites: COE 312 Data Structures.

COE321 Logic Design [3-0, 3 cr.] 
This course provides an introduction to digital logic circuits and covers binary number representations, combinational logic design, Boolean algebra, arithmetic circuits, regular logic, programmable logic devices, flip flops, registers, counters, sequential state machines, and asynchronous and synchronous logic.
Prerequisites: COE201 Computer Proficiency, COE 212 Engineering Programming, MTH 207 Discrete Structures I.

COE322 Logic Design Lab [0-3, 1 cr.] 
This laboratory course provides hands-on experience implementing digital logic design systems using modern computer-aided design tools, discrete components, breadboards, and digital probes.
Concurrent with COE321 Logic Design.

COE323 Microprocessors [3-0, 3 cr.] 
This course covers the internals of the microprocessor and assembly language, storing, manipulating, moving data, basics of control flow, interfacing to other devices, basics of writing good assembly code using the stacks and position independent codes.
Prerequisite: COE321 Logic Design.

COE324 Microprocessor Lab [0-3, 1 cr.] 
This is a lab course with experiments in microprocessors.
Concurrent with COE323 Microprocessors.

COE414 Operating Systems [3-0, 3 cr.]
This course provides an overview of operating systems and provide the basic structure and architecture of some operating systems in the market. This course covers the process creation, management, synchronization, communications, and scheduling. Memory management and protection.
Prerequisite: COE 312 Data Structures, COE323 Microprocessors.

COE415 Computer Programming II [4-0, 4 cr.]
This course covers advanced object-oriented programming techniques, including composition, inheritance, and polymorphism. Students will learn to design and implement efficient programs using design patterns. The course also covers algorithmic analysis, testing, exception handling, recursion, and advanced sorting algorithms. By the end of the course, students will have gained practical skills in algorithm design and program development.
Pre-requisites: COE211 Computer Programming.

COE416 Software Engineering [3-0, 3 cr.]
This course covers the analysis, development, design and documentation of software.
Prerequisite: COE312 Data Structures.

COE418 Database Systems [3-0, 3 cr.] 
This course covers the data modeling, relational database, SQL, query languages, object oriented databases, and client-server databases.
Prerequisite: COE212 Engineering Programming.

COE423 Computer Architecture [3-0, 3 cr.]
This course introduces computer components and systems. Topics include evolution of computer systems, bus interconnections, I/O mechanisms, memory management and hierarchy, instruction set design, and basic pipelined techniques.
Prerequisites: COE323 Microprocessors.

COE424 Digital Systems [3-0, 3 cr.] 
This course is an introduction to digital systems design and covers timing concepts, area-delay tradeoffs, pipelining, and synthesis. Register transfer notation and VHDL are introduced to model, simulate, and verify designs. Topics include field-programmable gate arrays, technology mapping, layout synthesis, and routing.
Prerequisite: COE321 Logic Design & 3rd year standing.

COE425 Digital Systems Lab [0-3, 1 cr.] 
This laboratory course provides hands-on experience implementing complex digital systems using modern computer-aided design tools, FPGA-based boards, and various I/O devices.
Concurrent with COE424 Digital Systems.

COE431 Computer Networks [3-0, 3 cr.] 
This course covers the topologies, installation and configuration, testing, modeling and simulation of networks. In addition to: protocols, standards, TCP/IP, and socket programming.
Prerequisite: Fourth year standing required.

COE493 Professionalism in Engineering [3-0, 3 cr.] 
Overview of the nature and scope of engineering profession. Working on a multidisciplinary team environment; professional and ethical responsibility; the impact of engineering solutions in a global and societal context; contemporary issues; and life-long learning.
Third year standing required.

COE498 Professional Experience [0-6, 6 cr.] 
This course entails professional experience through training in the execution of real-life engineering projects.
Prerequisite: Fifth year standing, and the consent of the instructor.

COE 521 Embedded Systems [3 – 0, 3 cr.] (Last Offered: Fall 2016)
This course provides an introduction to the design of embedded systems including both their hardware and software. Topics ranging from simple circuit design to computer architecture will be discussed. Different types of processors will be presented along with interfacing to memories, I/O devices, and other processors. The 68HC12 or PIC microcontrollers will be used as an example processor for assignments and the course project.
Prerequisite: COE 323 Microprocessors.

COE522 High Performance Computer Architecture [3-0, 3 cr.] (Last Offered: Spring 2016)
This course covers topics in advanced pipelined techniques and scheduling, instruction level parallelism, and dynamic scheduling. Advanced processor design techniques are introduced such as superscalar, super-pipelined, VLIW, multiprocessing, multithreading, and supercomputing architectures. In addition, relationships between high-performance computing and interconnection networks, embedded systems, advanced storage systems, and cloud computing examples are established.
Prerequisite: COE423 Computer Architecture.

COE526 VLSI Design Automation [3-0, 3 cr.] (Last Offered: Fall 2012)
This course covers the algorithms and methodologies for the synthesis, analysis, and verification of digital systems, silicon compilation, high-level synthesis, logic synthesis, and layout synthesis, hardware description languages and their use in the synthesis process, fault simulation and coverage analysis, and the extensive use of electronic design automation Tools.
Prerequisite: COE321 Logic Design.

COE527 VLSI Design [3-0, 3 cr.] (Last Offered: Spring 2017)
This course covers the VLSI design, circuits’ layout, timing, delay, power estimation, use of layout editors and circuit simulation tools, synthesis, and an introduction to electronic design automation.
Prerequisite: COE424 Digital Systems.

COE529 Testing for Digital Integrated Circuits [3-0, 3 cr.]
This course covers the essentials of electronic testing for digital ULSI circuits, design methods, and design for testability. Topics include introduction to the testing process, fault modeling and detection, logic and fault simulation, testability measures, test generation for combinational circuits, test generation for sequential circuits, design for testability, built-in self-testing, ATPG-based logic synthesis, Boundary Scan, and system test and core-based design.
Prerequisites: COE321 Logic Design and 3rd-year standing.

COE535 Optical Networks [3 – 0, 3 cr.] (Last Offered: Fall 2011)
This course covers the fundamentals of optical networking. In particular, it touches on the following topics: the building blocks of optical wavelength division multiplexed networks, wavelength division multiplexing (WDM) and its enabling technologies, WDM-based access and metro optical network architectures, wavelength-routed optical wavelength division multiplexed networks used for wide area coverage, optical burst switched networks, and optical packet switched networks.
Prerequisite: COE 312 Data Structures.

COE543 Intelligent Data Processing and Applications [3 – 0, 3 cr.] (Last Offered: Spring 2017)
This course provides an overview on state of the art algorithms and techniques allowing semi-structured and semantic-aware data processing, forming the main building blocks of the Semantic (Intelligent) Web vision. It covers semantic data descriptions and knowledge bases (taxonomies and ontologies), XML-based data representation and manipulation technologies (e.g., SVG, MPEG-7, RDF, OWL, etc.), structure and semantic similarity, Web information retrieval and related applications.
Prerequisites: COE 312 Data Structures and COE 418 Database Systems.

COE544 Intelligent Engineering Algorithms [3 – 0, 3 cr.] (Last Offered: Fall 2016)
This course allows students to acquire basic knowledge of algorithms and methods of Artificial Intelligence, geared toward developing intelligent engineering solutions. The course covers concepts ranging over intelligent agents, fuzzy logic, neural networks, and genetic algorithms. A series of exercises, a set of simulations/ projects on computers, and a set of academic presentations (prepared in part by students) will allow students to better cover course materials, while concurrently developing applied projects. By the end of the course, students should be able to create software agents with intelligent features (intelligently perceiving surrounding environment, noise resistance, approximate (fuzzy) data processing, and simulating human behavior).
Prerequisite: COE 312 Data Structures.

COE545 Information Security [3 – 0, 3 cr.]
This course provides an introduction to the topic of information security in the context of network communication. It is intended for students who have some understanding of networks, but not necessarily any background in security. The goal of the course is to provide students with a foundation that will help them to identify, analyze and make appropriate security decisions during the design and deployment of information and network systems.

COE546 Machine Learning [3 – 0, 3 cr.]
This course provides a comprehensive introduction to the field of machine learning, covering fundamental concepts, techniques, and applications. Students will gain a foundation in both theoretical principles and hands-on coding. The course is organized to progressively guide students through various aspects of machine learning, from the basics to more advanced topics in machine learning.  
Prerequisites GNE331 Probability and Statistics, and fourth-year standing.

COE547 Deep Learning [3 – 0, 3 cr.]
This course provides a comprehensive introduction to the field of deep learning, covering fundamental concepts, techniques, and applications. Students will gain a foundation in both theoretical principles and hands-on coding. The course is organized to progressively guide students through various aspects of deep learning, from the basics to more advanced topics.
Prerequisites GNE331 Probability and Statistics, and fourth-year standing.

COE548 Introduction to Large Language Models (LLMs) [3 – 0, 3 cr.]
Foundations of natural language processing (NLP); deep learning and neural networks basics; transformer models and attention mechanisms; advancements in LLMs; application-specific tuning; practical exercises with off-the-shelf and open-source LLMs; addressing scalability and ethical considerations in AI. This course combines theoretical knowledge with practical applications, providing a comprehensive overview of current LLM technologies and their impact.
Prerequisites COE211 Computer Programming and fourth-year standing.

COE554 Computer Vision and Deep Learning [3 – 0, 3 cr.]
This course is concerned with understanding the fundamentals of computer vision and deep learning with applications in visual classification and processing.
Prerequisite: COE 211 Computer Programming, GNE 331 Probability and Statistics, and ELE 430 Signals and Systems.

COE555 Queuing Theory [3 – 0, 3 cr.] (Last Offered: Spring 2013)
This course introduces two modeling techniques, namely simulation and queuing modeling techniques. The following topics are discussed in this regard: single queue Markovian systems, semi-Markovian queuing systems, open queueing networks, closed queueing networks, pseudo-random number generation, estimation techniques for analyzing endogenously created data, and validation of a simulation design.
Prerequisite: GNE 331 Probability & Statistics.

COE591 Capstone Design Project [3-0, 3 cr.]  
This course is devoted to the solution of open-ended engineering design projects with functional specifications and realistic constraints. This project provides a culminating major design experience that is concluded by a written report and an oral presentation.
Prerequisite: Fifth year standing.

COE593 COE Application [3-0, 3 cr.]  
This course allows COE graduates to acquire the technical skills that are required to match a specific industry-related need. In particular, it exposes students to the techniques, which can improve their chances of gaining employment in jobs aligned with the considered need. This exposure is reinforced by an extensive hands-on experience that is brought into classroom through small-scale projects pertaining to problems inspired from the identified need.
Prerequisite: Fourth Year standing.

COE594 Undergraduate Research Project [3-0, 3 cr.] 
Engagement in a research project under the direction of a faculty member with emphasis on problem identification, formulation and solution. Requires a formal research report in the form of a paper.
This course is considered as a technical elective (ECE elective).

COE595 Capstone Design Project I [3-0, 3 cr.] 
The course is devoted to the solution of open-ended engineering design projects with functional specifications and realistic constraints. This project provides a study of multiple solutions for a major design experience while accounting for multiple realistic constraints and relevant standards. The study is concluded by a written report and an oral presentation providing a course of action for the fulfilment of the project. This course is the first part of a two course sequence (COE 595 and COE 596).
Restrictions: Fifth year standing

COE596 Capstone Design Project II [3-0, 3 cr.] 
The course is devoted to the solution of open-ended engineering design projects with functional specifications and realistic constraints. This project provides a culminating major design experience that is concluded by a written report and an oral presentation. This course is the final part of a two course sequence (COE 595 and COE 596).
Prerequisite: COE 595 Capstone Design Project I

COE599 Topics in Computer Engineering [3-0, 3 cr.] 
This course covers the treatment of new developments in various areas of computer engineering. Prerequisite: Prerequisite: Fifth year standing.

COE599E Topics: Programming for Data Science [3-0, 3 cr.] 
This course introduces the essential elements of data science: importing, cleaning, manipulating, and visualizing data. Students also work on different datasets to learn the statistical and machine learning techniques needed to perform hypothesis testing and build predictive models. Students will gain experience using the Python programming language and Jupyter notebooks. This is a computing course focused on programming and algorithms.
Prerequisites: COE211 or COE212

Graduate Computer Engineering courses

COE723 High Performance Computer Architecture [3-0, 3 cr.] (Offered with COE522) 

This course covers topics in advanced pipelined techniques and scheduling, instruction level parallelism, and dynamic scheduling. Advanced processor design techniques are introduced such as superscalar, super-pipelined, VLIW, multiprocessing, multithreading, and supercomputing architectures. In addition, relationships between high-performance computing and interconnection networks, embedded systems, advanced storage systems, and cloud computing examples are established.
Prerequisites: COE423 Computer Architecture or the consent of the instructor.

COE725 VLSI Design [3-0, 3 cr.] (Offered with COE527)
This course covers the VLSI design, circuits’ layout, timing, delay, power estimation, use of layout editors and circuit simulation tools, synthesis, and an introduction to electronic design automation.
Prerequisite: COE321 Logic Design

COE726 VLSI Design Automation [3-0, 3 cr.] (Last Offered: Fall 2012)
This course covers the algorithms and methodologies for the synthesis, analysis, and verification of digital systems, silicon compilation, high-level synthesis, logic synthesis, and layout synthesis, hardware description languages and their use in the synthesis process, fault simulation and coverage analysis, and the extensive use of electronic design automation Tools.
Prerequisite: COE321 Logic Design.

COE728 ULSI Testing [3-0, 3 cr.] (Last Offered: Fall 2013)
This course covers the problems of testing of Ultra Large Scale Integrated Circuits (ULSI), the design of circuits for testability, the design of built-in self-testing circuits, and the use of the IEEE Boundary Scan Standards. Topics include introduction to the testing process, fault modeling and detection, logic and fault simulation, testability measures, test generation for combinational circuits, test generation for sequential circuits, design for testability, built-in self-test, delay testing, current testing, ATPG-based logic synthesis, system test, and core-based design, and testing a system-on-a-chip (SOC).
Prerequisite: COE321 Logic Design.

COE729 Testing for Digital Integrated Circuits [3-0, 3 cr.]
This course covers the essentials of electronic testing for digital ULSI circuits, design methods, and design for testability. Topics include introduction to the testing process, fault modeling and detection, logic and fault simulation, testability measures, test generation for combinational circuits, test generation for sequential circuits, design for testability, built-in self-testing, ATPG-based logic synthesis, Boundary Scan, and system test and core-based design.
Prerequisites: COE321 Logic Design and 3rd-year standing.

COE732 Networks Security [3-0, 3 cr.] (Last Offered: *)
This course is an introduction to network security, including developing an understanding of security engineering, cryptography, mechanisms to protect private communication over public network, and techniques to protect networked computer systems. This course considers the technical, operational, and managerial issues of computer systems, and network security in an operational environment. The course will address the threats to computer security, including schemes for breaking security, and techniques for detecting and preventing security violations. Emphasis will be on instituting safeguards, examining the different types of security systems, and applying the appropriate level of security for the perceived risk.
Prerequisite: COE431 Computer Networks.

COE733 Optical Networks [3-0, 3 cr.] (Offered with COE535)
This course covers the fundamentals of optical networking. In particular, it touches on the following topics: the building blocks of optical wavelength division multiplexed networks, wavelength division multiplexing (WDM) and its enabling technologies, WDM-based access and metro optical network architectures, wavelength-routed optical wavelength division multiplexed networks used for wide area coverage, optical burst switched networks, and optical packet switched networks.
Prerequisite: Consent of instructor.

COE741 Artificial Intelligence [3-0, 3 cr.] (Last Offered: *)
This course is an introduction to artificial intelligence concepts, heuristic search, clause form logic, knowledge representation, reasoning and inference, an overview of the computer vision, planning, natural language, Lisp, and Prolog. Subjects covered may include unification and resolution in first order logic, graph search algorithms, planning, game playing, heuristic classifiers, knowledge engineering, and uncertainty management.
Prerequisite: COE312 Data Structures.

COE743 Intelligent Data Processing and Applications [3 – 0, 3 cr.] (Offered with COE543)
This course provides an overview on state of the art algorithms and techniques allowing semi-structured and semantic-aware data processing, forming the main building blocks of the Semantic (Intelligent) Web vision. It covers semantic data descriptions and knowledge bases (taxonomies and ontologies), XML-based data representation and manipulation technologies (e.g., SVG, MPEG-7, RDF, OWL, etc.), structure and semantic similarity, Web information retrieval and related applications.

COE744 Intelligent Engineering Algorithms [3 – 0, 3 cr.] (Offered with COE544)
This course allows students to acquire basic knowledge of algorithms and methods of Artificial Intelligence, geared toward developing intelligent engineering solutions. The course covers concepts ranging over intelligent agents, fuzzy logic, neural networks, and genetic algorithms. A series of exercises, a set of simulations/ projects on computers, and a set of academic presentations (prepared in part by students) will allow students to better cover course materials, while concurrently developing applied projects. By the end of the course, students should be able to create software agents with intelligent features (intelligently perceiving surrounding environment, noise resistance, approximate (fuzzy) data processing, and simulating human behavior).

COE746 Machine Learning [3 – 0, 3 cr.]
This course provides a comprehensive introduction to the field of machine learning, covering fundamental concepts, techniques, and applications. Students will gain a foundation in both theoretical principles and hands-on coding. The course is organized to progressively guide students through various aspects of machine learning, from the basics to more advanced topics in machine learning.

COE747 Deep Learning [3 – 0, 3 cr.]
This course provides a comprehensive introduction to the field of deep learning, covering fundamental concepts, techniques, and applications. Students will gain a foundation in both theoretical principles and hands-on coding. The course is organized to progressively guide students through various aspects of deep learning, from the basics to more advanced topics.

COE748 Introduction to Large Language Models (LLMs) [3 – 0, 3 cr.]
Foundations of natural language processing (NLP); deep learning and neural networks basics; transformer models and attention mechanisms; advancements in LLMs; application-specific tuning; practical exercises with off-the-shelf and open-source LLMs; addressing scalability and ethical considerations in AI. This course combines theoretical knowledge with practical applications, providing a comprehensive overview of current LLM technologies and their impact.
Prerequisites COE211 Computer Programming and fourth-year standing.

COE752 Design and Analysis of Algorithms [3-0, 3 cr.]  (Last Offered: Fall 2011) 
This course covers the time and space complexity of algorithms. It looks at the models of computation, the techniques for efficient algorithm design, and the effect of data structure choice on the efficiency of an algorithm, as well as the divide and conquer techniques, greedy methods, dynamic programming, amortized analysis, graph and network algorithms, NP-completeness, and selected advanced algorithms. Prerequisite: The consent of the Instructor.

COE753 Heuristic Optimization [3-0, 3 cr.] (Last Offered: *)
This course covers the basic heuristic optimization techniques in computing. This course describes a variety of heuristic search methods including serial simulated annealing, Tabu search, genetic algorithms, ant algorithms, derandomized evolution strategy, and random walk. Algorithms will be described in serial as well as in parallel fashion. Students can select application projects from a range of application areas. The advantages and disadvantages of heuristic search methods, for both serial and parallel computation, are discussed in comparison to other optimization algorithms.

COE755 Queuing Theory [3‑0, 3 cr.] (Offered with COE555) 
This course introduces two modeling techniques, namely simulation and queueing modeling techniques. The following topics are discussed in this regard: single queue Markovian systems, semi-Markovian queueing systems, open queueing networks, closed queueing networks, pseudo-random number generation, estimation techniques for analyzing endogenously created data, and validation of a simulation design.
Prerequisite: Consent of instructor.

COE899 Thesis [6-0, 6 cr.]

This is a Master’s thesis research course under the direction of a faculty member.

ELE721 Electrical Energy Storage Systems [3-0, 3 cr.]  
This course covers different types of electrical energy storage systems. It provides a broad understanding of the operating principles and the sizing techniques based on Ragone relation. Topics covered include energy and power analysis, secondary batteries with a focus on lithium-ion batteries, conventional supercapacitors, hybrid supercapacitors, modelling techniques, and state of charge and state of health estimation methods. Hybrid systems that combine two or more energy storage systems will be also discussed.
Prerequisite: ELE302 Electrical Circuits II and Third year standing.

ELE724 Faulted Power System [3-0, 3 cr.]  (Offered with ELE525)
This course covers the techniques and mathematical tools needed to analyze faulted power systems. Topics include impedance model, analysis of three-phase symmetrical faults, symmetrical components, unsymmetrical faults, and power systems stability. Students will be challenged to draw upon a background of knowledge from earlier studies to explore these topics in a comprehensive manner.
Prerequisite: ELE 422 Power Systems and Consent of instructor.

ELE726 Renewable Energy Sources [3 – 0, 3 cr.] (Offered with ELE526)
This course covers the principles of emerging renewable technologies, including solar, wind, biomass, geothermal, hydropower and other energy sources. A premise of the course is that a renewable energy technology must both be technically feasible and economically viable. At the conclusion of the course, students will have a solid technical and economic understanding of these energy technologies.
Restrictions: Senior standing

ELE729 Design and Operation of Smart Grids [3 – 0, 3 cr.]
This course focuses on the concept of smart grids. It offers a basic introduction to the different components of a power system and explores its development in the presence of distributed generation, energy storage and electric vehicles. The course also covers the use of ICT technologies in the development of smart grid applications that enhance the operation of the power system.
Prerequisite: ELE302 Electrical Circuits II.

ELE731 Optical Fiber Communications [3-0, 3 cr.] (Offered with ELE531) 
This course covers the waveguiding in optical fibers, fiber losses including attenuation, dispersion and nonlinearities, noise, receiver and transmitter design, link analysis, introduction to erbium-doped amplifiers, and time- and wavelength-division-multiplexed networks.
Prerequisite: The consent of the Instructor.

ELE735 Information and Coding Theory [3-0, 3 cr.] (Offered with ELE535) 
Information theory applied to communication systems. It covers digital signals and streams, information measures, data compression, error-correcting codes, block codes, convolutional codes, Viterbi algorithm, noise, maximum-entropy, Markov chains, channel capacity formalism and Shannon’s theorem.
Prerequisite: Consent of instructor.

ELE742 Linear Systems [3-0, 3 cr.] (Offered with ELE548) 
This course covers the canonical realization of transfer functions, state observability and controllability, state feedback and asymptotic observers, reduced order observers, and regulator design.
Prerequisite: ELE442 Control Systems.

ELE753 Reliability Evaluation of Engineering Systems [3-0, 3 cr.] (Offered with ELE553) 
This course covers the basic reliability concepts, elements of probability and statistical theory, application of important distributions, reliability in series, parallel and complex systems, application of Markov chains in the evaluation of repairable system reliability, application of Markov processes for reliability evaluation of complex systems, and the utilization of Monte Carlo simulation in basic system reliability evaluation. Prerequisite: GNE331 Probability and Statistics.

ELE757 Simulation of Electronic Circuits [3 – 0, 3 cr.] (Offered with ELE557)
This course covers the principles of efficient electronic circuit simulation using numerical methods and techniques. Topics include the formulation of network equations, dc analysis, frequency domain analysis, simulation of nonlinear networks, transient analysis, sensitivity analysis and model order reduction. The simulation of specialized circuits is also considered, including the analysis of radio frequency circuits and high-speed interconnects. In addition, students will learn how to implement circuit simulation methods using mathematical software tools.

ELE799 Topics in Electrical Engineering [3-0, 3 cr.]
This course covers the treatment of new development in various areas of Electrical Engineering.

ELE799C Digital Image and Video Processing and Compression [3-0, 3 cr.] 
This course is concerned with understanding the fundamentals of digital image and video perception, representation, processing, understanding, and compression.

* Indicates course has not been Offered in the last 2 or more years (no specific date for Last Offered is specified)

 

Undergraduate Electrical Engineering courses

(Effective fall 2009)

ELE201 Electrical Circuits I [3-0, 3 cr.] 
This course covers the resistors, capacitors and inductors, voltage and current sources, operational amplifiers, voltage and current laws, node and mesh analysis, network theorems, power and energy, three-phase circuits, DC and sinusoidal excitation of circuits, and computer-aided circuit simulation (SPICE).
Prerequisite: PHY201 Electricity and Magnetism.

ELE300 Electric Circuits [3-0, 3 cr.]
This course covers resistors, capacitors and inductors; voltage and current sources; voltage and current laws, node and mesh analysis, network theorems, power and energy; ideal operational amplifiers; DC and sinusoidal excitation of circuits, time-domain and frequency-domain response of circuits; transfer functions; transformers, resonant circuits and filter design.
Prerequisite: PHY201 Electricity & Magnetism; MTH304 Differential Equations.

ELE302 Electrical Circuits II [3-0, 3 cr.]
This course covers frequency-domain response of circuits; transfer functions; resonant circuits and filter designs; time-domain response of circuits; step, impulse and ramp responses; linearity and time invariance; input-output descriptions of circuits; parameter representation of two-ports networks; computer-aided circuit simulation (SPICE).
Prerequisites: ELE201 Electrical Circuits I, MTH304 Differential Equations.

ELE303 Electrical Circuits II Lab [0-3, 1 cr.] 
This is a lab course with experiments in Electrical Circuits II.
Concurrent with ELE302 Electrical Circuits II.

ELE305 Introduction to Electrical Engineering [3-0, 3 cr.] 
This course introduces the concepts of resistors, capacitors and inductors, voltage and current sources, operational amplifiers, voltage and current laws, node and mesh analysis, network theorems, power and energy, three-phase circuits, logic circuits, and binary representations.

ELE391 Mathematical Methods in Electrical Engineering [3-0, 3 cr.] 
This course introduces foundation knowledge of complex variables and linear algebra with applications to electrical engineering. Topics covered are vector spaces, subspaces, linear dependence/independence, basis; linear transformations and eigenstructure analysis; matrix representations of linear electrical systems; analytic functions of complex variables and contour integrals; Cauchy integral formula.
Prerequisite: MTH 304 Differential Equations.

ELE401 Electronics I [3-0, 3 cr.]
Introduction to electronic circuits using operational amplifiers, PN junction diodes, bipolar junction transistors (BJTs), and MOS field-effect transistors (MOSFETs), including: terminal characteristics, large and small-signal models; configuration and frequency response of single-stage amplifiers with discrete biasing.
Prerequisite: ELE302 Electrical Circuits II.

ELE402 Electronics I Lab [0-3, 1 cr.] 
This Laboratory explores miscellaneous electronic components. Students perform hands-on experiments to analyze circuits that are based on operational amplifiers, Silicon diodes, Zener diodes, Bipolar Junction Transistors (BJTs), and Metal Oxide Silicon Field Effect Transistors (MOSFETs). Students also evaluate circuits with sensors such as Light-dependent resistors and Photodiodes..
Concurrent with ELE401 Electronics I.

ELE411 Electromagnetic Fields [3-0, 3 cr.] 
Fundamental concepts of the electromagnetic model, vector analysis, static electric fields, static magnetic fields, steady electric currents, Maxwell’s equations, Coulomb’s law, Gauss’s law, Biot-Savart law, Faraday’s law, Poisson’s and Laplace’s equations, Joule’s law, capacitance calculations, inductance calculations, resistance calculations.
Prerequisites: ELE 201 Electrical Circuits I, ELE 391 Mathematical Methods in Electrical Engineering, and MTH206 Calculus IV.

ELE413 Electromagnetic Waves [3-0, 3 cr.]
Fundamental concepts of electromagnetic waves, Maxwell’s equations, propagation of plane electromagnetic waves, theory and application of transmission lines, waveguides, antennas.
Prerequisite:  ELE411 Electromagnetic Fields.

ELE420 Electromechanics [3-0, 3 cr.]
This course covers three-phase circuit concepts; magnetic circuits; magnetic fields and their surroundings; linear DC machines; power transformers and autotransformers; principles of electric AC machines; synchronous generators; three-phase induction motors.
Prerequisite:  ELE302 Electrical Circuits II.

ELE422 Power Systems [3-0, 3 cr.]
This course provides students with a working knowledge of power system problems and computer techniques to solve some of these problems. Topics include: review of three-phase analysis, complex power, per-unit system, synchronous machines, transformers, autotransformers, and regulating transformers; calculation of transmission line parameters, evaluation of steady state operation of transmission lines; reactive power compensation; line capability; power flow analysis using Gauss-Seidel and Newton-Raphson methods.
Prerequisites: ELE420 Electromechanics and ELE411 Electromagnetic Fields.

ELE423 Power Systems Lab [0-3, 1 cr.] 
This course covers the following experiments to study various aspects of electric machines and power systems: fundamentals of electrical power technology; alternating currents; power and impedance in ac circuits; three-phase circuits; single-phase and three-phase transformers; fundamentals of rotating machines; dc motors and generators; ac induction motors; three-phase synchronous generators and motors.
Prerequisite: ELE420 Electromechanics .

ELE430 Signals and Systems [3-0, 3 cr.]
Signal and system modeling concepts; system modeling and analysis in time domain; the Fourier series; the Fourier transform and its applications; the Laplace transformation and its applications; discrete-time signals and systems; z-transform; analysis and design of digital filters; DFT and FFT.
Prerequisites: ELE302 Electrical Circuits II and MTH206 Calculus IV.

ELE442 Control Systems [3-0, 3 cr.]
This course covers modeling and dynamical systems, transient-response analysis, response of control systems, root locus analysis, and modern control (state space).
Prerequisite: ELE430 Signals and Systems.

ELE443 Control Systems Lab [0-3, 1 cr.] 
Laboratory experiments in Control Systems. This course introduces students to the implementation of PID- controllers and two-step controllers, first order delay as well as third order delay, such implementation are done using educational PID boards and DC servo boards. Experimentations and analysis use Industrial standard oscilloscopes, and data-acquisition boards interfaced via SIMULINK/MATLAB.
Concurrent with ELE442 Control Systems.

ELE493 Professionalism in Engineering [3-0, 3 cr.]
Overview of the nature and scope of engineering profession. Working on a multidisciplinary team environment; professional and ethical responsibility; the impact of engineering solutions in a global and societal context; contemporary issues; and life-long learning. 
Third year standing required.

ELE498 Professional Experience [0-6, 6 cr.] 
This course entails a professional experience through training in the execution of real life engineering projects.
Prerequisite: Fifth Year standing, and the consent of the Instructor

ELE501 Microelectronics [3 – 0, 3 cr.] (Last Offered: Fall 2015)
This course provides students with advanced knowledge of integrated circuit theory. Topics include: Single-stage integrated circuit amplifiers; differential and multi-stage amplifiers, integrated-circuits biasing techniques; non-ideal characteristics; frequency response; feedback amplifiers; output stages; digital CMOS logic circuits.
Prerequisite: ELE401 Electronics .

ELE521 Electrical Energy Storage Systems [3-0, 3 cr.]  
This course covers different types of electrical energy storage systems. It provides a broad understanding of the operating principles and the sizing techniques based on Ragone relation. Topics covered include energy and power analysis, secondary batteries with a focus on lithium-ion batteries, conventional supercapacitors, hybrid supercapacitors, modelling techniques, and state of charge and state of health estimation methods. Hybrid systems that combine two or more energy storage systems will be also discussed.
Prerequisite: ELE302 Electrical Circuits II and Third year standing.

ELE525 Faulted Power System [3-0, 3 cr.] (Last Offered: Spring 2016)
This course provides students with advanced knowledge of power system evaluation techniques. Topics include: economic load dispatch with generation limits and line losses; impedance model; three-phase symmetrical faults; symmetrical components; and unsymmetrical faults analysis.
Prerequisite: ELE422 Power Systems.

ELE526 Renewable Energy Sources [3 – 0, 3 cr.] (Last Offered: Spring 2017)
This course covers the principles of emerging renewable technologies, including solar, wind, biomass, geothermal, hydropower and other energy sources. A premise of the course is that a renewable energy technology must both be technically feasible and economically viable. At the conclusion of the course, students will have a solid technical and economic understanding of these energy technologies.
Restrictions: Senior standing

ELE529 Design and Operation of Smart Grids [3 – 0, 3 cr.] (Last Offered: Fall 2016)
This course focuses on the concept of smart grids. It offers a basic introduction to the different components of a power system and explores its development in the presence of distributed generation, energy storage and electric vehicles. The course also covers the use of ICT technologies in the development of smart grid applications that enhance the operation of the power system.
Prerequisite: ELE302 Electrical Circuits II.

ELE531 Optical Fiber Communications [3 – 0, 3 cr.] (Last Offered: Fall 2016)
Basic principles of point-to-point optical fiber communications, waveguiding and signal degradation in optical fibers, optical sources, photodetectors, WDM components, dimensioning of fiber links for analog and digital transmissions, performance of digital optical communication systems in the presence of noise. 
Prerequisite: GNE 331 Probability & Statistics.

ELE535 Information and Coding Theory [3 – 0, 3 cr.] (Last Offered: Spring 2017)
Information theory applied to communication systems. It covers digital signals and streams, information measures, data compression, error-correcting codes, block codes, convolutional codes, Viterbi algorithm, noise, maximum-entropy, Markov chains, channel capacity formalism and Shannon’s theorem.
Prerequisite: GNE 331 Probability & Statistics.

ELE537 Communication Systems [3-0, 3 cr.] 
Basic principles of point-to-point communication link design and analysis, introduction to the theory and principles of modern communication systems, overview of the currently used analog and digital communication techniques and their relative advantages and disadvantages, analog modulation and demodulation, component parts used in analog and digital transceivers.
Prerequisite: ELE430 Signals and Systems, GNE 331 Probability and Statistics.

ELE538 Noise in Communication Systems [3-0, 3 cr.]
This course covers physical noise sources, noise calculations in communication systems, stochastic processes, and communication systems performance in the presence of noise.
Prerequisite: ELE537 Communication Systems.

ELE539 Telecommunication Systems [3-0, 3 cr.]
This course covers spread spectrum and data communications, microwave and satellite links, optical fiber, mobile radio systems, the evolution of mobile radio communications including 2G, 2.5G and 3G, cellular concept, and mobile radio propagation including large-scale path loss.
Prerequisite: ELE537 Communication Systems.

ELE540 Communication Systems Lab [0-3, 1 cr.]
This is a lab course with experiments in communication systems. The experiments implement the modulation and the demodulation techniques acquired in the communication system course through modulation and demodulation boards and through MATLAB. 
Prerequisite: ELE537 Communication Systems.

ELE548 Linear Systems [3 – 0, 3 cr.] (Last Offered: Fall 2010)
This course covers the canonical realization of transfer functions, state observability and controllability, state feedback and asymptotic observers, reduced order observers, and regulator design.
Prerequisite: ELE 442 Control Systems.

ELE552 Digital Image and Video Processing and compression [3 – 0, 3 cr.]
This course is concerned with understanding the fundamentals of digital image and video perception, representation, processing, understanding, and compression.
Prerequisite: COE 211 Computer Programming, GNE 331 Probability and Statistics, ELE 430 Signals and Systems.

ELE553 Reliability Evaluation of Engineering Systems [3 – 0, 3 cr.] (Last Offered: Fall 2016)
This course covers the basic reliability concepts, elements of probability and statistical theory, application of important distributions, reliability in series, parallel and complex systems, application of Markov chains in the evaluation of repairable system reliability, application of Markov processes for reliability evaluation of complex systems, and the utilization of MonteCarlo simulation in basic system reliability evaluation.
Prerequisite: GNE 331 Probability & Statistics.

ELE557 Simulation of Electronic Circuits [3 – 0, 3 cr.] (Last Offered: Fall 2016)
This course covers the principles of efficient electronic circuit simulation using numerical methods and techniques. Topics include the formulation of network equations, dc analysis, frequency domain analysis, simulation of nonlinear networks, transient analysis, sensitivity analysis and model order reduction. The simulation of specialized circuits is also considered, including the analysis of radio frequency circuits and high-speed interconnects. In addition, students will learn how to implement circuit simulation methods using mathematical software tools.
Prerequisite: ELE 401 Electronics.

ELE591 Capstone Design Project [3-0, 3 cr.] 
This course is devoted to the solution of open-ended engineering design projects with functional specifications and realistic constraints. This project provides a culminating major design experience that is concluded by a written report and an oral presentation.
Prerequisite: Fifth year standing.

ELE593 ELE Application [3-0, 3 cr.] 
This course allows ELE graduates to acquire the technical skills that are required to match a specific industry-related need. In particular, it exposes students to the techniques, which can improve their chances of gaining employment in jobs aligned with the considered need. This exposure is reinforced by an extensive hands-on experience that is brought into classroom through small-scale projects pertaining to problems inspired from the identified need.
Prerequisite: Fourth Year standing.

ELE594 Undergraduate Research Project [3-0, 3 cr.] 
Engagement in a research project under the direction of a faculty member with emphasis on problem identification, formulation and solution. Requires a formal research report in the form of a paper.
This course is considered as a technical elective (ECE elective).

ELE595 Capstone Design Project I [3-0, 3 cr.] 
The course is devoted to the solution of open-ended engineering design projects with functional specifications and realistic constraints. This project provides a study of multiple solutions for a major design experience while accounting for multiple realistic constraints and relevant standards. The study is concluded by a written report and an oral presentation providing a course of action for the fulfilment of the project. This course is the first part of a two course sequence (ELE 595 and ELE 596) .
Restrictions: Fifth year standing

ELE596 Capstone Design Project II [3-0, 3 cr.] 
The course is devoted to the solution of open-ended engineering design projects with functional specifications and realistic constraints. This project provides a culminating major design experience that is concluded by a written report and an oral presentation. This course is the final part of a two course sequence (ELE 595 and ELE 596).This course is the final part of a two course sequence (ELE 595 and ELE 596).
Prerquisite: ELE 595 Capstone Design Project I

ELE599 Topics in Electrical Engineering [3-0, 3 cr.]
This course covers the treatment of new development in various areas of Electrical Engineering.
Prerequisite: Fifth Year standing.

ELE599B Topics in Computer Vision & Deep Learning [3-1, 4 cr.] (Last Offered: Fall 2020)
This course is concerned with understanding the fundamentals of computer vision and deep learning with applications in visual classification and processing.
Restrictions: Fifth year standing

ELE599C Digital Image and Video Processing and Compression [3-0, 3 cr.] 
This course is concerned with understanding the fundamentals of digital image and video perception, representation, processing, understanding, and compression.
prerequisites: COE 211 Computer Programming, GNE 331 Probability & Statistics, and ELE 430 Signals and Systems

ELE599D Topics: Electricity Markets & Renewable Energy [3-0, 3 cr.] 
This course focuses on the fundamental concepts of competitive electricity markets and introduces the models and tools that are needed to understand and analyze them. Additionally, it explores how market incentives can be used to promote the development of renewable energy and, in turn, how renewable energy affects the operation of electricity markets.
Prerequisites: ELE302 or ELE300

* Indicates course has not been Offered in the last 2 or more years (no specific date for Last Offered is specified)

<