Electrical & Computer Engineering
View courses in
-
ENG EC 311: Introduction to Logic Design
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
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
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 381: Probability Theory in Electrical and Computer Engineering
Introduction to modeling uncertainty in electrical and computer systems. Experiments, models, and probabilities. Discrete and continuous random variables. Reliability models for circuits. Probability distributions. Moments and expectations. Random vectors. Functions of random variables. Sums of random variables and limit theorems. Signal detection and estimation. Basic stochastic processes. Discrete-time Markov chains. State-diagrams. Applications to statistical modeling and interpretation of experimental data in computer, communication, and optical systems. -
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
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
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
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
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
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
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
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 416: Introduction to Digital Signal Processing
Introduces techniques of digital signal processing and application to deterministic as well as random signals. Topics include representation of discrete-time random signals, A/D conversion, D/A conversion, frequency domain and z-domain analysis of discrete-time signals and systems, discrete-time feedback systems, difference equation and FFT based realizations of digital filters, design of IIR Butterworth filters, window-based FIR filter design, digital filtering of random signals, FFT-based power spectrum analysis. Includes lab. -
ENG EC 417: Electric Energy Systems: Adapting to Renewable Resources
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 440: Introduction to Operating Systems
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
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
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
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 450: Microprocessors
This course focuses on the interface between the digital world and the physical world. Hardware and software design methodology for embedded microcomputers. Open laboratory and projects and considerable hands-on work. Architecture, hardware, I/O, interrupts, memory organization and decoding. Uses the TI MSP430 family microcontrollers. Peripheral devices including general digital I/O, timers, analog to digital converters, and synchronous serial interfaces SPI and I2C. The course stresses the dependency of hardware and software design on project identification, rationale, and goals. Includes lab. -
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.

