Courses
The listing of a course description here does not guarantee a course’s being offered in a particular semester. Please refer to the published schedule of classes on the Student Link for confirmation a class is actually being taught and for specific course meeting dates and times.
View courses in
-
ENG EC 512: Enterprise Client-Server Software Systems Design
Examination of past, current, and emerging technologies. Client side technologies including DHTML, CSS, scripting, ActiveX, RSS, and proprietary applications. Legacy server side technologies including CGI, ISAPL, and active server pages. Current and emerging server technologies including ASP.NET 2, XML/SOAP web services, wireless and handheld access, WAP/WML, SQL databases, streaming media, CMS, and middleware. Design and implementation of solutions involving database connectivity, session state, security requirements, SSL, and authentication of clients. Small-team projects involving design through implementation. -
ENG EC 513: Computer Architecture
Computer architecture and design. Topics include computer arithmetic and ALU design; performance evaluation; instruction set design; CPU design, including pipelining, branch prediction, and speculative execution; memory hierarchy, including cache basics, cache design for performance, and virtual memory support; I/O, including devices, interfaces, specification, and modeling. Examples from high-end microprocessors and embedded systems. -
ENG EC 514: Simulation
Modeling of discrete event systems and their analysis through simulation. Systems considered include, but are not limited to, manufacturing systems, computer-communication networks, and computer systems. Simulating random environments and output analysis in such contexts. A simulation language is introduced and is the main tool for simulation experimentation. Meets with ENG ME 514; students may not receive credit for both. -
ENG EC 515: Digital Communication
Canonical point-to-point digital communication problem; Communication channel models; Optimal receiver principles with focus on additive Gaussian noise channels: Maximum Aposteriori Probability (MAP) and Maximum Likelihood (ML) receivers for both vector and waveform channels, principles of irrelevance and reversibility; Concepts of signal space and signal constellation; Efficient signaling for message sequences over frequency-flat additive Gaussian noise channels: basic digital modulation and demodulation techniques and their performance analysis; Notions of symbol and bit rate, symbol and bit error probability, and power and bandwidth efficiency; Real passband additive Gaussian noise waveform channels and their equivalent complex base-band representation; Efficient signaling for message sequences over general bandlimited additive Gaussian noise channels: signal design and equalization methods to combat intersymbol interference; Coherent versus Noncoherent digital signaling; Synchronization; Channel estimation; Error correction coding basics. -
ENG EC 516: Digital Signal Processing
Advanced structures and techniques for digital signal processing and their properties in relation to application requirements such as real-time, low-bandwidth, and low-power operation. Optimal FIR filter design; time-dependent Fourier transform and filterbanks; Hilbert transform relations; cepstral analysis and deconvolution; parametric signal modeling; multidimensional signal processing; multirate signal processing. -
ENG EC 517: Introduction to Information Theory
Discrete memoryless stationary sources and channels; Information measures on discrete and continuous alphabets and their properties: entropy, conditional entropy, relative entropy, mutual information, differential entropy; Elementary constrained convex optimization; Fundamental information inequalities: data-processing, and Fano's; Block source coding with outage: weak law of large numbers, entropically typical sequences and typical sets, asymptotic equipartition property; Block channel coding with and without cost constraints: jointly typical sequences, channel capacity, random coding, Shannon's channel coding theorem, introduction to practical linear block codes; Rate-distortion theory: Shannon's block source coding theorem relative to a fidelity criterion; Source and channel coding for Gaussian sources and channels and parallel Gaussian sources and channels (water-filling and reverse water-filling); Shannon's source-channel separation theorem for point-to-point communication; Lossless data compression: Kraft's inequality, Shannon's lossless source coding theorem, variable-length source codes including Huffman, Shannon-Fano-Elias, and Arithmetic codes; Applications; Mini course-project. -
ENG EC 519: Speech Processing by Humans and Machines
Speech (naturally spoken) is the main mode of communication between humans. Speech technology aims at providing the means for speech-controlled man-machine interaction. The goal of this course is to provide the basic concepts and theories of speech production, speech perception, and speech signal processing. The course is organized in a manner that builds a strong foundation of basics, followed by a range of signal processing methods for representing and processing the speech signal. -
ENG EC 520: Digital Image Processing and Communication
Review of signals and systems in multiple dimensions. Sampling of still images. Quantization of image intensities. Human visual system. Image color spaces. Image models and transformations. Image enhancement and restoration. Image analysis. Image compression fundamentals. Image compression standards (JPEG, JPEG-2000). Homework will include MATLAB assignments. -
ENG EC 521: Cybersecurity
Fundamentals of security related to computers and computer networks. Laws and ethics. Social engineering and psychology-based attacks. Information gathering, network mapping, service enumeration, and vulnerability scanning. Operating system security related to access control, exploits, and disk forensics. Shellcoding. Wired and wireless network security at the physical, network, and application layers. Theoretical lessons are augmented with case studies and demonstrative experimental labs. -
ENG EC 522: Computational Optical Imaging
Recent years have seen the growth of computational optical imaging - optical imaging systems that tightly integrate hardware and computation. The results are the emergence of many new imaging capabilities, such as 3D, super resolution, and extended depth of field. Computational optical imaging systems have a wide range of applications in consumer photography, scientific and biomedical imaging, microscopy, defense, security and remote sensing. This course looks at this new design approach as it is applied to modern optical imaging, with a focus on the tools and techniques at the convergence of physical optical modeling, and signal processing. -
ENG EC 523: Deep Learning
Mathematical and machine learning background for deep learning. Feed-forward networks., Backpropagation. Training strategies for deep networks. Convolutional networks. Recurrent neural networks. Deep reinforcement learning. Deep unsupervised learning. Exposure to Tensorflow and other modern programming tools. Other recent topics, time permitting. -
ENG EC 524: Optimization Theory and Methods
Introduction to optimization problems and algorithms emphasizing problem formulation, basic methodologies, and underlying mathematical structures. Classical optimization theory as well as recent advances in the field. Topics include modeling issues and formulations, simplex method, duality theory, sensitivity analysis, large-scale optimization, integer programming, interior-point methods, non-linear programming optimality conditions, gradient methods, and conjugate direction methods. Applications are considered; case studies included. Extensive paradigms from production planning and scheduling in manufacturing systems. Other illustrative applications include fleet management, air traffic flow management, optimal routing in communication networks, and optimal portfolio selection. Meets with ENGSE524. Students may not receive credit for both. -
ENG EC 526: Parallel Programming for High Performance Computing
The explosive advance in High Performance Computing (HPC) and advances in Big Data/Machine Learning and Cloud Computing now provides a fundamental tool in all scientific, engineering, and industrial advances. Software is massively parallel so parallel algorithms and distributed data structures are required. Examples will be drawn from FFTs, Dense and Sparse Linear Algebra, Structured and unstructured grids. Techniques will be drawn from real applications to simple physical systems using Multigrid Solvers, Molecular Dynamics, Monte Carlo Sampling and Finite Elements with a final student project and team presentation to explore one example in more detail. Coding exercises will be in C++ in the UNIX environment with parallelization using MPI message passing, OpenMP threads and QUDA for GPUs. Rapid prototypes and graphics may use scripting in Python or Mathematica. -
ENG EC 527: High Performance Programming with Multicore and GPUs
Considers theory and practice of hardware-aware programming. Key theme is obtaining a significant fraction of potential performance through knowledge of the underlying computing platform and how the platform interacts with programs. Studies architecture of, and programming methods for, contemporary high-performance processors. These include complex processor cores, multicore processors, and graphics processors. Laboratory component includes use and evaluation of programming methods on these processors through applications such as matrix operations and the Fast Fourier Transform. -
ENG EC 528: Cloud Computing
Fundamentals of cloud computing covering IaaS platforms, OpenStack, key Big Data platforms, and data center scale systems. Examines influential publications in cloud computing. Culminates in a group project supervised by a mentor from industry or academia. -
ENG EC 533: Advanced Discrete Mathematics
Selected topics in discrete mathematics. Formal systems. Mathematical deduction. Logical concepts. Theorem proving. Sets, relations on sets, operations on sets. Functions, graphs, mathematical structures, morphisms, algebraic structures, semigroups, quotient groups, finite-state machines, their homomorphism, and simulation. Machines as recognizers, regular sets. Kleene theorem. -
ENG EC 534: Discrete Stochastic Models
Markov chains, Chapman-Kolmogorov equation. Classification of states, limiting probabilities, Poisson process and its generalization, continuous-time Markov chains, queuing theory, reliability theory. -
ENG EC 535: Introduction to Embedded Systems
This course introduces students to a unified view of hardware and software in embedded systems. The lectures will survey a comprehensive array of techniques including system specification languages, embedded computer architecture, real-time operating systems, hardware-software codesign, and co-verification techniques. The lectures will be complemented by assignments and projects that involve system design, analysis, optimization, and verification. -
ENG EC 541: Computer Communication Networks
Basic delay and blocking models for computer communications: M/M/1 queue; Jackson networks and loss networks; analysis of MAC protocols; flow control for data traffic; TCP and active queueing mechanisms for congestion control; traffic shaping and network calculus; packet switch architectures and scheduling algorithms; routing algorithms; flow assignment and fairness. -
ENG EC 543: Sustainable Power Systems: Planning, Operation and Markets
Breakthroughs in clean energy generation technologies and the advantage of exploiting efficiently the available work in fossil fuels will render electricity the dominant energy form in a sustainable environment future. We review the key characteristics of Electric Power Transmission and Distribution (T&D) networks and the associated planning and operation requirements that ensure supply adequacy, system security and stability. Capital asset investment and operation cost minimization is discussed in a systems engineering context where the assets as well as the dynamic behavior of generators, T&D networks, and loads interact. Recent developments in the formation of competitive wholesale markets at the High Voltage Transmission system level, the associated market participation and clearing rules and the market clearing optimization algorithms are presented and analyzed in terms of their effectiveness in fostering cost reflective price signals and competitive conditions that encourage optimal distributed/not-centralized investment and operating decisions. Finally, we present T&D congestion and supply-demand imbalance related barriers to the widespread adoption of environmentally friendly and economically efficient technological breakthroughs, and propose a systems engineering and real-time retail-market based coordination of centralized as well as decentralized generation, storage and load management resources that is able to achieve desirable synergies and mitigate these barriers. 4 cr

