Electrical & Computer Engineering
View courses in
ENG EC 311: Introduction to Logic Design
Undergraduate Prerequisites: Sophomore standing.
Introduction to hardware building blocks used in digital computers. Boolean algebra, combinatorial and sequential circuits: analysis and design. Adders, multipliers, decoders, encoders, multiplexors. Programmable logic devices: read- only memory, programmable arrays, Verilog. Counters and registers. Includes lab.
ENG EC 327: Introduction to Software Engineering
Undergraduate Prerequisites: ENG EK 125.
This course aims to introduce students to software design, programming techniques, data structures, and software engineering principles. The course is structured bottom up, beginning with basic hardware followed by an understanding of machine language that controls the hardware and the assembly language that organizes that control. It then proceeds through fundamental elements of functional programming languages, using C as the case example, and continues with the principles of object-oriented programming, as principally embodied in C++ but also its daughter languages Java, C#, and objective C. The course will conclude with an introduction to elementary data structures and algorithmic analysis. Throughout, the course develops core competencies in software engineering, including programming style, optimization, debugging, compilation, and program management, utilizing a variety of Integrated Development Environments and operating systems.
ENG EC 330: Applied Algorithms for Engineers
Undergraduate Prerequisites: ENG EC 327; Recommended: CAS MA 193
Introduction to the general concept of algorithms. Efficiency and run-time of algorithms. Graph algorithms, priority queues, search trees. Various approaches to design of algorithms and data structures, together with their applications to numerical and non-numerical problems.
ENG EC 400: Undergraduate Special Topics in Electrical & Computer Engineering
Coverage of a specific topic in electrical and computer engineering at the undergraduate level. Subject matter varies from semester to semester; not offered every semester.
ENG EC 401: Signals and Systems
Undergraduate Prerequisites: CAS MA 226 and ENG EK 307.
Cannot be taken for credit in addition to ENG BE 401. Continuous-time and discrete-time signals and systems. Convolution sum, convolution integral. Linearity, time-invariance, causality, and stability of systems. Frequency domain analysis of signals and systems. Filtering, sampling, and modulation. Laplace transform, z-transform, pole-zero plots. Linear feedback systems. Includes lab. Cannot be taken for credit in addition to ENG BE 403.
ENG EC 402: Control Systems
Undergraduate Prerequisites: CAS MA 226 ; ENG EK 307 ; ENG EC 401.
Analysis of linear feedback systems, their characteristics, performance, and stability. The Routh-Hurwitz, root-locus, Bode, and Nyquist techniques. Design and compensation of feedback control systems. Cannot be taken for credit in addition to ENG ME 403, ENG ME 404, or ENG BE 404.
ENG EC 410: Introduction to Electronics
Undergraduate Prerequisites: ENG EK 307.
Principles of diode, BJT, and MOSFET circuits. Graphical and analytical means of analysis. Piecewise linear modeling; amplifiers; digital inverters and logic gates. Biasing and small-signal analysis, microelectronic design techniques. Time-domain and frequency domain analysis and design. Includes lab.
ENG EC 412: Analog Electronics
Undergraduate Prerequisites: ENG EC 410.
Continuation of ENG EC 410. Topics include detailed analysis of differential amplifiers, design and principles of operational amplifier including multistage circuit structure, BJT, MOSFET, CMOS, and BiCMOS design principles, active filters and oscillators, negative and positive feedback, and power devices. Includes lab.
ENG EC 413: Computer Organization
Undergraduate Prerequisites: ENG EC 311.
Introduction to the fundamentals and design of computer systems. Topics covered include computer instruction sets, assembly language programming, arithmetic circuits, CPU design (data path and control, pipelining), performance evaluation, memory devices, memory systems including caching and virtual memory, and I/O. Project using design automation tools. Includes lab.
ENG EC 414: Introduction to Machine Learning
Undergraduate Prerequisites: ENG EK 103 ; ENG EK 125 ; ENG EK 381.
Linear regression. Maximum likelihood and maximum a posteriori estimation. Classification techniques, including na?ve Bayes, k-nearest neighbors, logistic regression, and support vector machines. Data visualization and feature extraction, including principal components analysis and linear projections. Clustering. Introduction to neural networks and deep learning. Discussion of other modern analysis methods.
ENG EC 415: Software Radios
Undergraduate Prerequisites: ENG EC 401; equivalent
Signal analysis and transmission: amplitude modulation, angle modulation, pulse- amplitude and pulse-code modulation; amplitude shift-keying, frequency shift- keying, phase-shift keying. Case studies of practical communication systems. Includes lab.
ENG EC 417: Electric Energy Systems: Adapting to Renewable Resources
Undergraduate Prerequisites: ENG EK 307.
This course will present a detailed perspective of electric power systems from generation, transmission, storage, to distribution to end users. Significant emphasis will be placed on methodologies for reliable and efficient transmission and distribution of power over the grid including challenges for adapting to renewable resources such as photovoltaics and wind. Conventional approaches will be presented with emphasis to future technology such as the "smart grid". Analysis of 3-phase power will be presented using numerous examples. Items such as power system stability, security, reliability will be covered. Optimization methods, models, simulation techniques, monitoring and control, grid storage technologies, and micro-grids will also be discussed. Power electronics will be introduced specifically in reference to high voltage circuits. Finally, planning for large numbers of electric vehicles will present new challenges to the effective distribution of power which will be discussed from both centralized and decentralized approaches.
ENG EC 418: Introduction to Reinforcement Learning
Undergraduate Prerequisites: Students must either take all three of MA225, EK103, and EK 381 (Multi-variable Calculus, Linear Algebra, Probability, or their equivalents) or all three of DS 120, 121, 122 (Foundations of Data Scien
Reinforcement learning is a subfield of artificial intelligence which deals with learning from repeated interactions with an environment. Reinforcement learning is the basis for algorithms for playing strategy games such as Chess, Go, Backgammon, and Starcraft, as well as a number of algorithms throughout robotics, operations research, and other fields of engineering. This course will cover the fundamental algorithms of reinforcement learning, focusing on the core principles underlying these methods. Topics covered will include Dynamic Programming, Markov Decision Processes, Value Iteration, Policy Iteration, Temporal Difference Methods and Monte Carlo, Function Approximation in Reinforcement Learning and Neural Networks
ENG EC 440: Introduction to Operating Systems
Undergraduate Prerequisites: ENG EC 327.
Operating system concepts and design objectives. Concurrent processes, process synchronization, and deadlocks. Resource management including virtual memory, CPU scheduling, and secondary storage. File structures, input/output, and distributed systems. Case studies of popular operating systems.
ENG EC 441: Introduction to Computer Networking
Undergraduate Prerequisites: ENG EK 381; ENGEC327 and ENGEC401 recommended
Computer networks, focusing on the Internet. Application protocols (Web, E- mail), basics of socket programming, major Internet protocols (TCP and IP), fundamental aspects of routing and reliable data transfer over networks, medium access protocols, wired and wireless Local Area Networks (LANs) technologies. Hands-on laboratory modules on client-server programming, Internet experiments, and protocol implementation. Includes lab.
ENG EC 444: Smart and Connected Systems
Undergraduate Prerequisites: ENG EC 311 and ENG EC 327.
Hands-on introductory course to cyber-physical and IoT systems. Microcontrollers: integrated development environments (ISEs), architecture, and I/O interfaces. Hardware interfacing of systems: formal design and specifications, real-time OS, programming, and control. IoT systems: smart phones, wireless personal area networks (WPANs), IP gateways, mobile cloud computing, reliability, security, and privacy. Course culminates with a team project.
ENG EC 447: Software Design
Undergraduate Prerequisites: ENGEC327
Object-oriented software design for desktop applications with a graphical user interface. C# and Microsoft .NET programming assignments. Provides a solid foundation in modern programming for engineering and other applications.
ENG EC 451: Directed Study
Student may, under the supervision of a faculty member, undertake individual study of a subject relevant to electrical, computer, and systems engineering, if the subject is not covered in a regularly scheduled course. Tangible evidence of achievement must be submitted at the end of the semester.
ENG EC 455: Electromagnetic Systems I
Undergraduate Prerequisites: CAS PY 212 and CAS MA 226.
Time varying electric and magnetic fields. Maxwell equations. Electromagnetic waves. Propagation, reflection, and transmission. Remote sensing applications. Radio frequency coaxial cables, microwave waveguides, and optical fibers. Microwave sources and resonators. Antennas and radiation. Radio links, radar, and wireless communication systems. Electromagnetic effects in high-speed digital systems.
ENG EC 456: Electromagnetic Systems II
Undergraduate Prerequisites: ENG EC 455.
Electric field, energy, and force. Lorenz force. Dielectric materials. Steady electric currents. Magnetic field, energy, and force. Magnetic materials. Applications of electrostatics, magnetostatics, and electrodynamics. Electromagnetic waves in dielectric and conducting materials. Solution techniques for electromagnetic fields and waves.