Courses

  • ENG EC 500: Special Topics in Electrical and Computer Engineering
    Undergraduate Prerequisites: senior standing or consent of instructor.
    Specific prerequisites vary according to topic. Coverage of a specific topic in electrical, computer, or systems engineering. Subject varies from year to year and is generally from an area of current or emerging research.
  • ENG EC 501: Dynamic System Theory
    Undergraduate Prerequisites: Familiarity with differential equations and matrices at the level of ENG EC 404 or CAS MA 242, or consent of instructor.
    Introduction to analytical concepts and examples of dynamic systems and control. Mathematical description and state space formation of dynamic systems; modeling, controllability, and observability. Eigenvector and transform analysis of linear systems including canonical forms. Performance specifications. State feedback: pole placement and the linear quadratic regulator. Introduction to MIMO design and system identification using computer tools and laboratory experiments. Same as ENG ME 501 and ENG SE 501. Students may not receive credit for both.
  • ENG EC 504: Advanced Data Structures
    Undergraduate Prerequisites: ENG EC 327.
    Review of basic data structures and Java syntax. Data abstraction and object-oriented design in the context of high-level languages and databases. Design implementation from the perspective of data structure efficiency and distributed control. Tailoring priority queues, balanced search trees, and graph algorithms to real-world problems, such as network routing, database management, and transaction processing.
  • ENG EC 505: Stochastic Processes
    Undergraduate Prerequisites: ENG EC 401 and CAS MA 142; or equivalent and either ENGEC381 or ENGEK500.
    Introduction to discrete and continuous-time random processes. Correlation and power spectral density functions. Linear systems driven by random processes. Optimum detection and estimation. Bayesian, Weiner, and Kalman filtering.
  • ENG EC 508: Wireless Communication
    Fundamentals of wireless communication from a physical layer perspective. Multipath signal propagation and fading channel models. Design of constellations to exploit time, frequency, and spatial diversity. Reliable communication and single-user capacity. Interference management, multiple-access protocols, and multi-user capacity. Cellular uplink and downlink. Multiple-antenna systems and architectures. Connections to modern wireless systems and standards.
  • ENG EC 511: Software Systems Design
    Undergraduate Prerequisites: ENG EC 312.
    Concept of software product life cycle. Various forms of a software product from requirements definition through operation and maintenance. Life cycle models and the activities performed in each phase. Role of rapid prototyping in requirements analysis and design. Design concepts and design strategies. Comparative evaluation of requirements definition and design methods. Analysis and design validation. Small-team projects involving architectural design and software specification.
  • ENG EC 512: Enterprise Client-Server Software Systems Design
    Undergraduate Prerequisites: Senior standing or consent of instructor, programming experience in C++, Java, or C#, basic knowledge of internet protocols and HTML, ENGEC440 or equivalent is required. ENGEC441 ENGEC447 are recommen
    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
    Undergraduate Prerequisites: ENG EC 413.
    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
    Undergraduate Prerequisites: ENG ME 308 or ENG EC 381; ENG EC 127 or knowledge of a general purpose programming language.
    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
    Undergraduate Prerequisites: ENG EC 415 and ENG EC 381; or CAS MA 381.
    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
    Undergraduate Prerequisites: ENG EC 416 or ENG EC 402 or ENG EC 415.
    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
    Undergraduate Prerequisites: ENG EC 381.
    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 518: Project Management for Software-Intensive Systems
    Undergraduate Prerequisites: Senior level software course such as ENG EC 447 or permission of the instructor.
    Planning and control of a project involving the definition, development and implementation of a system in which software provides essential functionality. Cost factors and cost estimation models; cost/benefit trade-offs, risk analysis; project metrics for quality, schedule, budget, and progress. Role of the project manager and organization of the development team. Case studies used to illustrate successes and failures in the management of actual projects. Small-team projects involving the development of project plans for a system that requires software development and hardware-software integration. 4 cr.
  • ENG EC 519: Speech Processing by Humans and Machines
    Undergraduate Prerequisites: ENGBE401 or ENGEC401 and ENGBE200 or ENGEC381 and MATLAB
    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. 4 cr.
  • ENG EC 520: Digital Image Processing and Communication
    Undergraduate Prerequisites: ENG EC 381 or ENG EC 416; or equivalent
    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
    Undergraduate Prerequisites: ENG EC 327.
    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 524: Optimization Theory and Methods
    Undergraduate Prerequisites: ENG EK 102 or CAS MA 142.
    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 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 533: Advanced Discrete Mathematics
    Undergraduate Prerequisites: CAS MA 124; or equivalent
    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
    Undergraduate Prerequisites: ENG EC 381 or ENG EK 500.
    Markov chains, Chapman-Kolmogorov equation. Classification of states, limiting probabilities, Poisson process and its generalization, continuous-time Markov chains, queuing theory, reliability theory.