Electrical & Computer Engineering

  • ENG EC 592: Internatnl Crse
  • ENG EC 593: Adv Elective
  • ENG EC 595: Tech Elective
  • ENG EC 596: Breadth Electiv
  • ENG EC 597: Comp Elective
  • ENG EC 599: Advanced Laboratory Topics in Electrical and Computer Engineering
    Advanced laboratories in 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 601: Product Design in Electrical and Computer Engineering
    Engineers influence their community, society and the world. Engineers build products and services that can enhance people's lives. The product starts with an idea and is delivered through research (technical and societal), design, implementation, testing and support. During this class, students will experience all of this. The course provides design and practical insights into building products that involve WEB and mobile app development, data simulation, analysis and modeling, cloud computing, signal processing and/or computer vision. In the class, we work on how to take an idea and concept and translate it into product requirements. Afterwards, we translate the product requirements into system and engineering requirements. We also discuss solution selection techniques. We then work on implementing our ideas into systems and verify that they address the product requirements and fulfill the concept we started with. During the class, we go over how to choose solutions to build our products. We also discuss real product realization, implementations and tradeoffs. The class is taught via an example product and the class sessions are interactive. Students are divided into groups where they work in parallel on their projects during class sessions and hackathons. Teams define their target audience, product mission, requirements and features. The class adopts agile software development based on a two-week sprint. Students present their sprint results to the class.
  • ENG EC 602: Design by Software
    Software plays a central role in all aspects of electrical and computer engineering. This course will provide the foundation for effectively using software as a key part of a career as a professional electrical or computer engineer. Fundamentals of software development systems: system languages, high-level object-oriented languages, and computational languages. Data structures and algorithms in problem analysis and design. Strategies for designing software and designing with software. Software design and development: methodologies, principles and practice. Formalizing software: management, requirements, specifications, testing. Survey of software applications in ECE, including real-time systems, the web, networked systems, audio, graphics, and video systems, research and engineering analysis, consumer electronics and computing, instrumentation and measurement, design, modeling, prototyping, simulation, optimization and information analysis. Students can choose projects and assignments with application to/inspired by/drawn from a broad array of ECE fields including the traditional areas of electro-physics/photonics, computer engineering, and information and data science.
  • ENG EC 605: Computer Engineering Fundamentals
    This is an introductory course to computer engineering, focusing on the hardware/software interface, and presenting a bottom-up view of a computer system. Topics include logic design: binary arithmetic, combinational and sequential logic. Computer organization: assembly language programming, CPU design, and memory systems. Introduction to compilers, operating systems, and computer networks.
  • ENG EC 674: Optimization Theory II
    This course is an introduction to optimization problems and algorithms emphasizing problem formulation, basic methodologies and the underlying mathematical structures. We will cover the classical theory as well as the state of the art. The major topics we will cover are: 1. Theory and algorithms for linear programming. 2. Introduction to combinatorial problems and methods for handling intractable problems. 3. Introduction to nonlinear programming. 4. Introduction to network optimization. Optimization techniques have many applications in science and engineering. To name a few: * Optimal routing in communication networks. * Transmission scheduling and resource allocation in sensor networks. * Production planning and scheduling in manufacturing systems. * Fleet management. * Air traffic flow management by airlines. * Optimal resource allocation in manufacturing and communication systems. * Optimal portfolio selection. * Analysis and optimization of fluxes in metabolic networks. * Protein docking. Prerequisites: Working knowledge of Linear Algebra and some degree of mathematical maturity
  • ENG EC 700: Advanced Topics in Electrical and Computer Engineering
    Advanced topics of current interest in electrical and computer engineering.
  • ENG EC 701: Optimal and Robust Control
    This course is aimed at an introduction (with rigorous treatment) to the fundamentals of optimal and robust control. It will be divided roughly into two parts. The first will cover aspects of robust control including model reduction, H_2 and H_ infinity control, and feedback control of uncertain systems. The second will delve into optimal control including topics such as the linear quadratic regulator, the calculus of variations, the maximum principle, and the Hamilton-Jacobi-Bellman equation. Meets with ENG ME701 and ENG SE 701; only one of these courses may be taken both for credit.
  • ENG EC 702: Recursive Estimation and Optimal Filtering
    State-space theory of dynamic estimation in discrete and continuous time. Linear state-space models driven by white noise, Kalman filtering and its properties, optimal smoothing, non-linear filtering, extended and second-order Kalman filters, and sequential detection. Applications to radar, sonar, and optimal multitarget tracking, parameter identification.
  • ENG EC 703: Internship Ece
  • ENG EC 707: Radar Remote Sensing
    Principles of radar systems and radar signal analysis with emphasis on environmental remote sensing. Topics include antenna fundamentals, wave propagation/scattering in various media, the radar equation, radar cross-section, target characteristics, ambiguity function, radar system components, pulse compression techniques, and aperture synthesis. Highlighted systems include ground-penetrating radars, synthetic aperture radar (SAR), weather radars, and incoherent scatter radars, and LIDAR.
  • ENG EC 708: Advanced Process Control
    Integrated study of process control and modern control theory. Includes process modeling and simulation, analysis of linear and non-linear dynamics, evaluation and selection of actuators and measurements, control structure design for single and multiple variable systems, and control algorithm design. Examples drawn from a variety of process control applications. Same as MN 508, students may not receive credit for both.
  • ENG EC 710: Dynamic Programming and Stochastic Control
    Introduction to sequential decision making via dynamic programming. The principle of optimality as a unified approach to optimal control of dynamic systems and Markovian decision problems. Applications from control theory and operation research include linear-quadratic problems, the discrete Kalman Filter, inventory control, network, investment, and resource allocation models. Adaptive control and numerical solutions through successive approximation and policy iteration, suboptimal control, and neural network applications involving functional approximations and learning. Meets with ENGME710 and ENGSE710. Students may not receive credit for both.
  • 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.

Back to full list of Courses