Electrical & Computer Engineering
This course introduces basic concepts underlying the current and future methods of generation, transmission, storage, and use of electric energy. Beginning with an historical overview of the electric power system that has served well for more than 100 years, the course provides an introduction to the fundamental engineering principles needed to understand the design and implementation of traditional as well as modern electric power systems. Energy sources including thermal (combustion, nuclear, geothermal), solar, wind, and chemical (fuel cells) are presented. Important aspects of economic analysis and government regulation are also covered. Finally, the critical roles played by sensor, communications, and security systems will be made clear. Students will engage in substantial project work by which they will gain experience in integration of these many elements in designing and implementing ?Smart Grid? systems for the reliable supply of affordable and environmentally benign electric energy. Recommended background: PH 1120 or 1121 or equivalent
This course provides an introduction to modern cryptography and information security. It focuses on how cryptographic algorithms and protocols work and how to use them. The course covers the concepts of block ciphers and message authentication codes, public key encryption, digital signatures, and key establishment, as well as common examples and uses of such schemes, including the AES, RSA-OAEP, and the Digital Signature Algorithm. Basic cryptanalytic techniques and examples of practical security solutions are explored to understand how to design and evaluate modern security solutions. The course is suited for students interested in cryptography or other security related fields such as trusted computing, network and OS security, or general IT security. Recommended background: ECE 2049 Embedded Computing in Engineering Design or CS 2301 Systems Programming for Non-Majors or equivalent Suggested background: CS 2022/MA2201 Discrete Mathematics
Cat. I (1/6 unit semester course, spread out evenly over A and B terms) This is a seminar-based course intended for First Year students seeking to understand the breadth of activities, career choices and technology that are considered to comprise Electrical and Computer Engineering. Students considering ECE as a major, both those who are ?decided? as well as those who are ?undecided? should enroll in ECE 1799. The class meets once a week during the fall semester (A & B terms). Note: There are no ?recommended? or ?suggested? courses for this description.
The objective of this course is to introduce students to the broad field of electrical and computer engineering within the context of real world applications. This course is designed for first-year students who are considering ECE as a possible major or for non-ECE students fulfilling an out-of-major degree requirement. The course will introduce basic electrical circuit theory as well as analog and digital signal processing methods currently used to solve a variety of engineering design problems in areas such as entertainment and networking media, robotics, renewable energy and biomedical applications. Laboratory experiments based on these applications are used to reinforce basic concepts and develop laboratory skills, as well as to provide system-level understanding. Circuit and system simulation analysis tools are also introduced and emphasized. Topics: Basic concepts of AC/DC and Digital electrical circuits, power, linear circuit simulation and analysis, op-amp circuits, transducers, feedback, circuit equivalents and system models, first order transients, the description of sinusoidal signals and system response, analog/digital conversion, basic digital logic gates and combinatorial circuits. Recommended Background: high school physics, and MA 1022 (concurrent).
Cat. I This course investigates commonly used sensors such as resistive temperature sensors, capacitive touch sensors, and inductive motion sensors and actuators. Numerous applications are presented to motivate coverage of fundamental operating principles of circuit elements such as resistors, capacitors, and inductors; model the signals produced by these sensors; and analyze the circuits and systems used to amplify and process these signals. After a review of Kirchhoff `s current and voltage laws, fundamental analysis techniques such as Thevenin and Norton?s theorems and the superposition principle are used to model and analyze sensors, circuits, and systems. Concepts from analysis of linear, time-invariant continuous-time signals and systems are introduced as necessary, including Fourier series and characterization of systems such as filters in both the frequency domain (bandwidth, transfer function) and time domain (rise time, step response). Capacitance, inductance and mutual inductance are explored as energy storage elements, including consideration of resonance and energy losses in power systems. Concepts will be reinforced with the use of laboratory exercises and computer simulation. Recommended background: ECE 2010, MA 1024 (or equivalent), PH 1120/21. Suggested background: MA 2051 (concurrent) Note: Students who have received credit for ECE 2111 may not receive credit for ECE 2019.
Cat. I Digital circuits are the foundation upon which the computers, cell phones, and calculators we use every day are built. This course explores these foundations by using modern digital design techniques to design, implement and test digital circuits ranging in complexity from basic logic gates to state machines that perform useful functions like calculations, counting, timing, and a host of other applications. Students will learn modern design techniques, using a hardware description language (HDL) such as Verilog to design, simulate and implement logic systems consisting of basic gates, adders, multiplexers, latches, and counters. The function and operation of programmable logic devices, such as field programmable gate arrays (FPGAs), will be described and discussed in terms of how an HDL logic design is mapped and implemented. Experiments involving the design of combinational and sequential circuits will provide students a hands-on introduction to basic digital electrical engineering concepts and the skills needed to gain more advanced skills. In the laboratory, students will construct, troubleshoot, and test the digital circuits that they have developed using a hardware description language. These custom logic designs will be implemented using FPGAs and validated using test equipment. Topics: Number representations, Boolean algebra, design and simplification of combinational circuits, arithmetic circuits, analysis and design of sequential circuits, and synchronous state machines. Lab exercises: Design, analysis and construction of combinational and sequential circuits; use of hardware description languages to implement, test, and verify digital circuits; function and operation of FPGAs. Recommended background: Introductory Electrical and Computer Engineering concepts covered in a course such as ECE 2010 or RBE 2001, and MA 1022. Note: Students will not be able to receive credit for both ECE 2022 and ECE 2029.
Cat. I Embedded computers are literally everywhere in modern life. On any given day we interact with and depend on dozens of small computers to make coffee, run cell phones, take pictures, play music, control elevators, manage the emissions and antilock brakes in our automobile, control a home security system, and so on. Using popular everyday devices as case studies, students in this course are introduced to the unique computing and design challenges posed by embedded systems. Students will then solve real-world design problems using small, resource constrained (time/memory/power) computing platforms. The hardware and software structure of modern embedded devices and basic interactions between embedded computers and the physical world will also be covered in lecture and as part of laboratory experiments. In the laboratory, emphasis is placed on interfacing embedded processors with common sensors and devices (e.g. temperature sensors, keypads, LCD display, SPI ports, pulse width modulated motor controller outputs) while developing the skills needed to use embedded processors in systems design. This course is also appropriate for RBE and other engineering and CS students interested in learning about embedded system theory and design. Topics: Number/data representations, embedded system design using C, microprocessor and microcontroller architecture, program development and debugging tools for a small target processor, hardware/software dependencies, use of memory mapped peripherals, design of event driven software, time and resource management, applications case studies. Lab Exercises: Students will solve commonly encountered embedded processing problems to implement useful systems. Starting with a requirements list students will use the knowledge gained during the lectures to implement solutions to problems which explore topics such as user interfaces and interfacing with the physical world, logic flow, and timing and time constrained programming. Exercises will be performed on microcontroller and/or microprocessor based embedded systems using cross platform development tools appropriate to the target platform. Recommended Background: ECE 2010 or equivalent knowledge in basic circuits, devices and analysis; and C language programming (CS 2301 or equivalent) Suggested Background: ECE 2029 or equivalent knowledge of digital logic, logic signals and logic operations; Note: Students who have received credit for ECE 2801 may not receive credit for ECE 2049.
Cat. I The object of this course is a comprehensive treatment of electromagnetic engineering principles covering the entire application spectrum from static to dynamic field phenomena. The starting point will be the basic electric and magnetic field definitions of Coulomb and Biot-Savart leading to Gauss?s and Ampere?s laws. They form the foundation of electro- and magnetostatics fields. Students will examine capacitive and inductive systems and relate them to lumped element circuit models. By introducing tempora l and spatial magnetic flux variations, Faraday?s law is established. The engineering implications of this law are investigated in terms of transformer and motor actions. Incorporation of the displacement current density into Ampere?s law and combining it with Faraday?s law will then culminate in the complete set of Maxwell?s field equations. As a result of these equations, students will develop the concept of wave propagation in the time and frequency domain with practical applications such as wireless communication, radar, Global Positioning Systems, and microwave circuits. Recommended background: ECE 2019.
Cat. I This course is the first of a two-course sequence in electronic circuit design. It begins with a substantive treatment of the fundamental behavior of semiconductor materials and moves on to the semiconductor diode, the bipolar transistor, and the field-effect transistor. Laboratory exercises are provided to reinforce the theory of operation of these devices. Numerous circuit applications are considered, including: power supplies, transistor amplifiers, and FET switches. Topics include: the pn junction, diode operation, transducers, rectification, voltage regulation, limiting and clamping circuits, transistor operation, biasing, small-signal and large-signal models, transistors amplifiers, and switching applications. Recommended background: ECE 2019.
Cat. II This course provides an introduction to the broad area of communications and networking, providing the context and fundamental knowledge appropriate for all electrical and computer engineers, as well as for further study in this area. The course is organized as a systems approach to communications and networking. Topics include key concepts and terminology (delay, loss, throughput, bandwidth, etc.), types of transmission media, addressing, switching, routing, networking principles and architectures, networking protocols, regulatory and applications issues. Recommended background: ECE 2010. This course will be offered in 2014-15 and in alternating years thereafter.
Cat. I This course provides an introduction to time and frequency domain analysis of continuous time signals and linear systems. Topics include signal characterization and operations; singularity functions; impulse response and convolution; Fourier series; the Fourier transform and its applications; frequency-domain characterization of linear, time-invariant systems such as filters; and the Laplace transform and its applications. Recommended background: ECE 2019.
Cat. I This course provides an introduction to the time and frequency domain analysis of discrete-time signals and linear systems. Topics include sampling and quantization, characterization of discrete-time sequences, the discrete-time Fourier transform, the discrete Fourier transform and its applications, the Z transform and its applications, linear and circular convolution, characterization of FIR and IIR discrete-time systems, and the analysis and design of discrete-time filters. Projects include topics such as sampling and quantization; application of the DFT to signal and system analysis and design; and digital filter design and simulation. Recommended background: ECE 2311.
Cat. I The goal of this course is to provide experience with the design of a system, component, or process. Basic sciences, mathematics, and engineering sciences are applied to convert resources to meet a stated objective. Fundamental steps of the design process are practiced, including the establishment of objectives and criteria, synthesis, analysis, manufacturability, testing, and evaluation. Student work in small teams and are encouraged to use creativity to solve specific but open-ended problems, and then present their results. ECE 2799 is strongly recommended for all students as a preparation for the design element of the MQP. It is anticipated that ECE 2799 will be of most benefit to students when taken well in advance of the MQP (late sophomore year or early junior year). Recommended background: ECE 2019, ECE 2029, ECE 2049, ECE 2311.
Cat. I This course is designed to provide students with the basic principles of radio frequency (RF) circuit design. It concentrates on topics such as designing tuning and matching networks for analog and digital communication, satellite navigation, and radar systems. After reviewing equivalent circuit representations for RF diodes, transistors, FETs, and their input/output impedance behavior, the course examines the difference between lumped and distributed parameter systems. Characteristics impedance, standing waves, reflection coefficients, insertion loss, and group delay of RF circuits will be explained. Within the context of Maxwell?s theory the course will then focus on the graphical display of the reflection coefficient (Smith Chart) and its importance in designing matching circuits. Students will learn the difference between SPICE and monolithic and microwave integrated circuit analysis, and design (MMICAD) modeling. Biasing and matching networks for single and multistage amplifiers in the 900 to 2,000 MHz range are analyzed and optimized in terms of input/output impedance matching, insertion loss, and groups delays. Recommended background: ECE 2019, ECE 3204. Suggested background: ECE 2112.
Cat. I This course is the second of a two-course sequence in electronic circuit design. More complex circuits are analyzed and the effects of frequency and feedback are considered in detail. The course provides a comprehensive treatment of operational amplifier operation and limitations. The use of Bode plots to describe the amplitude and phase performance of circuits as a function of operating frequency is also presented. In addition, the concepts of analog signal sampling, analog-to-digital conversion and digital-to-analog conversion are presented along with techniques for interfacing analog and digital circuitry. Laboratory exercises are provided to reinforce student facility with the application of these concepts to the design of practical circuits. Topics include: transducers; differential amplifiers, inverting/non-inverting amplifiers, summers, differentiators, integrators, passive and active filers, the Schmitt trigger, monostable and a-stable oscillators, timers, sample-and-hold circuits, A/D converters, and D/A converters. Recommended background: Introductory electronic-circuit design and analogsignal analysis as found in ECE 2201 and ECE 2311.
Cat. I This course is intended for students interested in obtaining a systems-level perspective of modern wireless networks. It starts with an overall understanding of telecommunication and computer communication networks. Then the fundamental theory of operation of wireless networks as well detailed description of example networks will be covered. Topics included in the course are an overview of computer networks, an overview of wireless network standards and products, radio channel modeling and medium access control, deployment of wireless infrastructures, and examples of voice- and data-oriented wireless networks using TDMA, CDMA, and CSMA access methods. Recommended background: MA 1022 and PH 1120; suggested background: ECE 2312 and ECE 2305. With extra work, this course can be successfully completed by non- ECE students; basic concepts of radio propagation, transmission, and medium access control will be introduced as needed.
Cat. I This course provides an introduction to analog and digital communications systems. The bandpass transmission of analog data is motivated and typica l systems are analyzed with respect to bandwidth considerations and implementation techniques. Baseband and passband digital transmission systems are introduced and investigated. Pulse shaping and intersymbol interference criteria are developed in relation to the pulse rate transmission limits of bandlimited channels. Finally, digital carrier systems and line coding are introduced in conjunction with applications to modern modem transmission schemes. Recommended background: MA 1024 and ECE 2312. Suggested background: ECE 2305.
This course introduces basic concepts underlying the current and future methods of generation, transmission, storage, and use of electric energy. Beginning with an historical overview of the electric power system that has served well for more than 100 years, the course provides an introduction to the fundamental engineering principles underlying the design and implementation of traditional as well as modern electric power systems. Energy sources including thermal (combustion, nuclear, geothermal), solar, wind, and chemical (fuel cells) are presented, along with the environmental impacts. Concepts of three-phase systems, transmission and distribution of power, economic and regulatory aspects, as well as communications, protection, and control systems are included. Student project work is included. Recommended background: ECE 2010 or equivalent Suggested background: ECE 2019 or equivalent
Cat. I This course is designed to provide a cohesive presentation of the principles of electric energy conversion for industrial applications and design. The generation, transmission and conversion of electric energy, as well as basic instrumentation and equipment associated with electric energy flow and conversion are analyzed. Topics: Review of poly-phase circuits. Transducers and instrumentation for power and energy measurements. Rotating machines. Electromechanical transients and stability. Switchgear equipment. Selected laboratory experiments. Recommended background: ECE 2019.
Cat. I This course is an introduction to analysis and design of power semiconductor circuits used in electric motor drives, control systems, robotics and power supply. Topics: characteristics of thyristors and power transistors. Steady-state performance and operating characteristics, device rating and protection, commutation, gating circuits, ac voltage controllers, controlled rectifiers, dc/dc converters and dc/ac inverters. Laboratory exercises. Recommended background: ECE 2019, ECE 2201 or equivalent.
Cat. I This course builds on the computer system material presented in ECE 2801. It covers the architecture, organization and instruction set of microprocessors. The interface to memory (RAM and EPROM) and I/O peripherals is described with reference to bus cycles, bus timing, and address decoding. Emphasis is placed on the design, programming and implementation of interfaces to microprocessor systems using a mixture of C and assembly language. Topics: bus timing analysis, memory devices and systems, IO and control signaling, bi-directional bus interfaces, instruction execution cycles, interrupts and polling, addressing, programmable peripheral devices, interface design issues including analog/digital and digital/analog conversion. Mixed language (C and Assembler) programming. Laboratory exercises: Use of standard buses for advanced IO design and programming, mixed language programming, standard bus timing, and interface design and implementation. Development of a complete standalone embedded computer system. Recommended background: ECE 2029 and ECE 2049 or an equivalent background in advanced logic design, and microprocessor architecture. CS 2301 or CS 2303 or an equivalent background in C programming.
This is an introductory course addressing the systematic design of advanced digital logic systems. The emphasis is on top-down design starting with high level models using VHDL as a tool for the design, synthesis, modeling, and testing of highly integrated digital devices. The integration of tools and design methodologies will be addressed through a discussion of system on a chip (SOC) integration, methodologies, design for performance, and design for test/testing. Topics: 1) hardware description languages, system modeling, synthesis, simulation and testing of digital circuits; 2) design integration to achieve specific SOC goals including architecture, planning and integration, and testing; 3) use of soft core and IP modules to meet specific architecture and design goals. Laboratory exercises: VHDL models of combinational and sequential circuits, synthesizing these models to programmable logic devices, simulating the design, test-benches, system design and modeling, integration of IP and high level SOC design methodologies. Recommended background: ECE 2029 (or ECE 3801), and experience with programming in a high-level language such as C. Suggested background: ECE 3803.
This course covers the systematic design of advanced digital systems using FPGAs. The emphasis is on top-down design starting with high level models using a hardware description language (such as VHDL or Verilog) as a tool for the design, synthesis, modeling, test bench development, and testing and verification of complete digital systems. These types of systems include the use of embedded soft core processors as well as lower level modules created from custom logic or imported IP blocks. Interfaces will be developed to access devices external to the FPGA such as memory or peripheral communication devices. The integration of tools and design methodologies will be addressed through a discussion of system on a chip (SOC) integration, methodologies, design for performance, and design for test. Topics: Hardware description languages, system modeling, synthesis, simulation and testing of digital circuits; Design integration to achieve specific system design goals including architecture, planning and integration, and testing; Use of soft core and IP modules to meet specific architecture and design goals. Laboratory exercises: Students will design and implement a complete sophisticated embedded digital system on an FPGA. HDL design of digital systems including lower level components and integration of higher level IP cores, simulating the design with test benches, and synthesizing and implementing these designs with FPGA development boards including interfacing to external devices. Recommended background: ECE 2029 and ECE 2049 Students who have received credit for ECE 3810 may not receive credit for ECE 3829.
This course continues the embedded systems sequence by expanding on the topics of real-time software and embedded microprocessor system architecture. The software portion of this course focuses on solving real-world problems that require an embedded system to meet strict real-time constraints with limited resources. On the hardware side, this course reviews and expands upon all the major components of an embedded microprocessor system, including the CPU, buses, memory devices and peripheral interfaces. New IO standards and devices are introduced and emphasized as needed to meet system design, IO and performance goals in both the lecture and laboratory portion of the course. Topics: Cross-compiled software development, embedded system debugging, multitasking, real-time scheduling, inter-task communication, software design for deterministic execution time, software performance analysis and optimization, device drivers, CPU architecture and organization, bus interface, memory management unit, memory devices, memory controllers, peripheral interfaces, interrupts and interrupt controllers, direct memory access. Laboratory exercises: Programming real-time applications on an embedded platform running a real-time operating system (RTOS), configuring hardware interfaces to memory and peripherals, bus timing analysis, device drivers. Recommended background: ECE 2029 and ECE 2049.
Cat. II Introduction to biomedical signal processing and analysis. Fundamental techniques to analyze and process signals that originate from biological sources: ECGs, EMGs, EEGs, blood pressure signals, etc. Course integrates physiological knowledge with the information useful for physiologic investigation and medical diagnosis and processing. Biomedical signal characterization, time domain analysis techniques (transfer functions, convolution, auto- and cross-correlation), frequency domain (Fourier analysis), continuous and discrete signals, deterministic and stochastic signal analysis methods. Analog and digital filtering. Recommended background: ECE 2311, ECE 2312, BME 3011, or equivalent. This course will be offered in 2014-15, and in alternating years thereafter.
Cat. I This course provides students with hands-on exposure to the design and implementation of modern digital communication systems using software-defined radio technology. The prototyping and real-time experimentation of these systems via software-defined radio will enable greater flexibility in the assessment of design trade-offs as well as the illustration of ?real world? operational behavior. Performance comparisons with quantitative analytical techniques will be conducted in order to reinforce digital communication system design concepts. In addition to laboratory modules, a final course project will synthesize topics covered in class. Course topics include software-defined radio architectures and implementations, digital signaling and data transmission analysis in noise, digital receiver structures (matched filtering, correlation), multicarrier communication techniques, radio frequency spectrum sensing and identification (energy detection, matched filtering), and fundamentals of radio resource management. Recommended background: ECE 3311, MA 2621, familiarity with Simulink, familiarity with general programming.
Cat. I This course provides an introduction to the principles of real-time digital signal processing (DSP). The focus of this course is hands-on development of real-time signal processing algorithms using audio-based DSP kits in a laboratory environment. Basic concepts of DSP systems including sampling and quantization of continuous time signals are discussed. Tradeoffs between fixed-point and floating-point processing are exposed. Real-time considerations are discussed and efficient programming techniques leveraging the pipelined and parallel processing architecture of modern DSPs are developed. Using the audio-based DSP kits, students will implement real-time algorithms for various filtering structures and compare experimental results to theoretical predictions. Recommended background: ECE 2049, ECE 2312, some prior experience in C programming. Suggested background: ECE 3311.
Cat. I This course focuses on the computer organization and architectural design of standalone embedded and high-performance microprocessor systems. This course covers performance metrics, machine level representation of information, the assembly level interface, memory system organization and architecture, computer input/output,instruction set architecture (ISA) design, single cycle and multicycle CPU datapath and controlpath design as well as more advanced level topics such as pipelining, interrupts, cache and memory system design. Special attention will be paid into measuring architectural performance and into improving computer architectures at various levels of the design hierarchy to reach optimal performance. The course will include several hands-on projects and laboratory components where students will be required to perform simulations of CPU designs using architectural simulation tools such as MIPS Simulators and SimpleScalar. Recommended Background: ECE 3849. Suggested Background: ECE 3829.
Cat. I This course introduces students to the design and analysis of analog integrated circuits such as operational amplifiers, phase-locked loops, and analog multipliers. Topics: integrated circuit building blocks: current mirrors and sources, differential amplifiers, voltage references and multipliers, output circuits. Computer-aided simulation of circuits. Layout of integrated circuits. Design and analysis of such circuits as operational amplifiers, phase-locked loops, FM detectors, and analog multipliers. Laboratory exercises. Recommended background: familiarity with the analysis of linear circuits and with the theory of bipolar and MOSFET transistors. Such skills are typically acquired in ECE 3204. Suggested background: ECE 4904.
Cat. II The purpose of this course is to introduce students to the physics of semiconductor devices and to show how semiconductor devices operate in typical linear and nonlinear circuit applications. This material complements the electronics sequence of courses and will draw illustrative examples of electronic circuit applications from other courses. Topics: carrier transport processes in semiconductor materials. Carrier lifetime. Theory of p-n junctions. Bipolar transistors internal theory, dc characteristics, charge control, Ebers-Moll relations; high frequency and switching characteristics, hybrid-pi model; n- and p-channel MOSFETS, CMOS. Recommended background: ECE 2201. Suggested background: ECE 3204 (helpful but not necessary). Students may not receive credit for ECE 4904 if they have received credit for ECE 3901. This course will be offered in 2014-15, and in alternating years thereafter.