Electrical & Computer Engineering
View courses in
-
ENG EC 712: Advanced Software for Computer Engineers
Explores the design of software using state-of-the-art technologies; emphasis on distributed systems, Web-based applications, and the use of the latest application frameworks; project-oriented course. -
ENG EC 713: Parallel Computer Architecture
Problems in parallel processing, how they are addressed by current parallel computers, and design of future systems. Topics include characteristics of parallel applications; parallel system support; cache coherency protocols; network interfaces; switch and interconnection network design; scalable systems; and hardware-software tradeoffs. Examples of both small-scale and large-scale parallel systems, including web servers, clusters of networked PCs, MPPs, and vector supercomputers. -
ENG EC 715: Wireless Communications
Design and analysis of robust wireless communication systems. Radio-channel modeling: propagation, path loss, multipath, and fading. Cellular system design. Coding, diversity, and equalization. Multi-antenna channels, Multicarrier modulations, Spread-spectrum and CDMA techniques. Multiuser scheduling. Case studies. Multiple-access, mobility, and networking issues. -
ENG EC 716: Advanced Digital Signal Processing
Selected topics from time-frequency distributions, parametric signal modeling, high-resolution spectral estimation, multi-rate signal processing, multidimensional signal processing, adaptive signal processing, alternative algorithms for DFT computation, symbolic and knowledge based signal processing. Application examples chosen from speech, image, communication, and biomedical applications. -
ENG EC 717: Image Reconstruction and Restoration
Principles and methods of reconstructing images and estimating multidimensional fields from indirect and noisy data; general deterministic (variational) and stochastic (Bayesian) techniques of regularizing ill-posed inverse problems; relationship of problem structure (data and models) to computational efficiency; impact of typically large image processing problems on viability of solution methods; problems in imaging and computational vision including tomography and surface reconstruction. Computer assignments. -
ENG EC 719: Statistical Pattern Recognition
The statistical theory of pattern recognition, including both parametric and nonparametric approaches to classification. Covers classification with likelihood functions and general discriminant function, density estimation, supervised and unsupervised learning, decision trees, feature reduction, performance estimation, and classification using sequential and contextual information, including Markov and hidden Markov models. A project involving computer implementation of a pattern recognition algorithm is required. -
ENG EC 720: Digital Video Processing
Review of sampling/filtering in multiple dimensions, human visual system, fundamentals of information theory. Motion analysis: detection, estimation, segmentation, tracking. Image sequence segmentation. Spectral analysis of image sequences. Video enhancement: noise reduction, super-resolution. Video compression: transformation, quantization, entropy coding, error resilience. Video compression standards (H.26X and MPEG families). Future trends in image sequence compression and analysis. Homework and project will require MATLAB programming. -
ENG EC 724: Advanced Optimization Theory and Methods
Introduces advanced optimization techniques. Emphasis on nonlinear optimization and recent developments in the field. Topics include: unconstrained optimization methods such as gradient, conjugate direction, Newton and quasi-Newton methods; constrained optimization methods such as gradient projection, feasible directions, barrier and interior point methods; duality theory and methods; convex duality; and introduction to other advanced topics such as semi-definite programming, incremental gradient methods and stochastic approximation algorithms. Applications drawn from control, production and capacity planning, resource allocation, communication and neural network problems. Meets with ENGME724 and ENGSE724. Students may not receive credit for both. -
ENG EC 725: Queueing Systems
Performance modeling using queueing networks analysis of product form and nonproduct form networks, numerical methods for performance evaluation, approximate models of queueing systems, optimal design and control of queueing networks. Applications from manufacturing systems, computer systems, and communication networks. Meets with ENGME725 and ENGSE725. Students may not receive credit for both. -
ENG EC 727: Advanced Coding Theory
Advanced topics in the theory of error-correcting codes, with an emphasis on decoding algorithms. Various codes and corresponding decoding algorithms: cyclic (BCH, Reed-Solomon), Reed-Muller, Golay, algebraic-geometry (Goppa, Hermitian), and iteratively-decoded codes (turbo and LDPC), graph-based decoding; trellis construction and decoding (Viterbi algorithm), belief propagation (sum-product, min-sum). Various applications: cryptography, data synchronization, and tiling. -
ENG EC 730: Information-Theoretical Design of Algorithms
Recently developed information-theoretical approach to the analysis and design of computer algorithms. Previous knowledge of information theory or the theory of algorithms is not required, though desirable. Main topics include the complexity of algorithms; P, E, NP, and NP?hard problems; basic concepts of information theory, optimal coding; information-theoretical approach to sorting, order statistics, binary search, decision trees, hashing, minimization of Boolean functions, test, and similar problems; and design of efficient computer algorithms. -
ENG EC 731: Applied Plasma Physics
Statistical description of plasmas as many-body systems. Liouville equation. Distribution functions. Transport phenomena in plasmas. Fokker-Planck theory. Applications for MHD power generation, sputtering, plasma deposition, ambipolar diffusion in machine plasmas. Kinetic equations for plasma. Maxwell-Vlasov theory of plasma waves and plasma instability. Applications to microwave devices, particle beams, space and laboratory plasmas. Fluctuations, correlations, and plasma radiation. -
ENG EC 732: Combinatorial Optimization and Graph Algorithms
of algorithms for the solution of optimization problems with discrete decision spaces. Review of linear programming and duality. Discussion of advanced network optimization algorithms and matroid optimization. Approximate algorithms for NP-Hard optimization problems. Submodular optimization. Meets with ENGSE732. Students may not receive credit for both. -
ENG EC 733: Discrete Event and Hybrid Systems
Review of system theory fundamentals distinguishing between time-driven and event-driven dynamics. Modeling of Discrete Event and Hybrid Systems: Automata, Hybrid Automata, Petri Nets, basic queueing models, and stochastic flow models. Monte Carlo computer simulation: basic structure and output analysis. Analysis, control and optimization techniques based on Markov Decision Process theory with applications to scheduling, resource allocation and games of chance. Perturbation Analysis and Rapid Learning methods with applications to communication networks, manufacturing systems, and command-control. Meets with ENGME733 and ENGSE733. Students may not receive credit for both. -
ENG EC 734: Hybrid Systems
The course offers a detailed introduction to hybrid systems, which are dynamical systems combining continuous dynamics (modeled by differential equations) with discrete dynamics (modeled by automata). The covered topics include modeling, simulation, stability analysis, verification, and control of such systems. The course contains several applications from both natural and manmade environments, ranging from gene networks in biology, to networked embedded systems in avionics and automotive controls, and to motion planning and control in robotics. Same as ENG ME 734 and ENG SE 734. Students may receive credit for one. -
ENG EC 741: Randomized Network Algorithms
Probabilistic techniques and paradigms in the design and evaluation of network algorithms. Review of basic concepts in probability, graph theory, and algorithms. Tail inequalities and Chernoff bounds. Ball and bins and random graph models. Markov chains and random walks. The probabilistic method. Monte Carlo methods. Introduction to martingales, networking applications: distributed content storage and look-up in P2P networks, IP traceback, fountain codes, universal hash functions, packet routing. Same as SE 741. Students may not receive credit for both. 4 cr. -
ENG EC 744: Mobile Ad Hoc Networking and Computing
Mobile routers, wireless interconnectivity, and an unpredictably changing topology characterize a Mobile Ad hoc Network (MANET). Covers MANET-specific topics related to resource discovery, handoff, MAC-layer, security, routing, mobility and location management, self-organization, caching, and practical implementations. -
ENG EC 749: Interconnection Networks fo Multicomputers
Interconnection network topologies. Static and dynamic networks. Routing in multicomputer networks. Network flow control. Deadlocks in routing. Multicast and broadcast. Fault-tolerance and reliability of interconnection networks. Modules for realization (nodes and routers). Performance metrics for different topologies. -
ENG EC 752: Theory of Computer Hardware Testing
At the present time cost of testing is much higher than cost of design and manufacturing for computer systems. The course will contain a unified presentation of approaches for testing and diagnosis of computer hardware. Gate-level testing, functional testing, testing and diagnosis of microprocessors, memory testing, and random testing. Design for testability. Data compression of test responses. Architectures for built-in self-testing and self-diagnosis. Self-error-detection and self-error-correction in processors and memories. -
ENG EC 753: Fault-Tolerant Computing
This course will cover techniques for design of fault-tolerant digital devices with on-line self-error-detection and self-error-correction. Fault-tolerant PLAs, gate arrays, and computer memories. Fault-tolerant computer architectures. Application of error-detecting and error-correcting codes for design of reliable devices with self-error detection/correction. Design of self-checking checkers. Combining on-line and off-line error-detecting techniques. Reliability analysis of fault-tolerant devices. Self-error detection/correction for multiprocessors.

