Electrical and Computer Engineering
3400 North Charles Street
105 Barton Hall
Baltimore, Maryland 21218
Phone: (410) 516-7033
Fax: (410) 516-5566
 

UNDERGRADUATE COURSE DESCRIPTIONS

The following code letters are a guide to undergraduate distribution and writing requirements:
(E) Engineering    (N) Natural Science    (Q) Quantative Studies

520.137 Introduction to Electrical and Computer Engineering  (E,Q)

homepage

An introductory course covering the principles of electrical engineering including sinusoidal wave forms, electrical measurements, digital circuits, and applications of electrical and computer engineering. Laboratory exercises, the use of computers, and a design project are included in the course. Open to freshman Engineering majors and any Arts and Sciences majors.   Iglesias / 3 credits / fall 
520.142 Digital System Fundamentals  (E,Q)

homepage

Number systems and computer codes, switching functions, minimization of switching functions, Quine-McCluskey method, sequential logic, state tables, memory devices, analysis and synthesis of synchronous sequential devices.   Meyer / 3 credits / spring
520.213 Circuits   (E,Q)
  An introductory course on electric circuits covers analysis techniques in time and frequency domains, transient and steady state response, and operational amplifiers.  Prerequisites: Differential and Integral Calculus 110.108-109. Weinert / 4 credits / fall, summer
520.214 Signals and Systems  (E,Q)

homepage

An introduction to discrete-time and continuous-time signals and systems covers representation of signals and linear time-invariant systems and Fourier analysis. Prerequisites: Calculus III 110.202 and Circuits  520.213.  Rugh / 4 credits / spring    Weinert/4 credits / summer
520.216 Introduction to VLSI

 

This course teaches the basics of switch-level digital CMOS VLSI design. This includes creating
digital gates using MOS transistors as switches, laying out a design using CAD tools, and checking the design for conformance to the Scalable CMOS design rules. Prerequisite: 520.142. Recommended: 520.213
Pouliquen / 3 credits / spring
520.219-220 Fields, Matter, and Waves  (E)
  Vector analysis, electrostatic fields in vacuum and material media, stationary currents in conducting media, magnetostatic fields in vacuum and material media. Maxwell's equations and time-dependent electric and magnetic fields, electromagnetic waves and radiation, transmission lines, wave guides, applications. Prerequisites: 110.108-109, 171.101-102. Co-requisite: 110.202.  Joseph / 3 credits
520.345 Electrical and Computer Engineering Laboratory
  This course consists of 11 one-week laboratory experiments intended to provide an introduction to analog and digital circuits commonly used in engineering. Topics include phase and frequency response, transistors, operational amplifiers, filters, and other analog circuits. The experiments are done using computer controlled digital oscilloscopes, function generators, and power supplies. Prerequisites: 171.101-102, 520.213.     Kang / 3 credits / fall
520.349 Microprocessor Laboratory
  This course introduces the student to the programming of computers at the machine level. General concepts relevant to microcontrollers are presented, including memory access, numerical representations, programming models, and coding techniques. Prerequisites: 520.142 or equivalent and programming competence in a high-level language such as BASIC or PASCAL.  Glaser / 3 credits / fall
520.353 Control Systems  (E,Q)

homepage 

Modeling, analysis, and an introduction to design for feedback control systems. Topics include state equation and transfer function representations, stability, performance measures, root locus methods, and frequency response methods (Nyquist, Bode). Prerequisites: 520.214, and 110.201 or 550.291.  Rugh / 3 credits / fall 
520.372 Programmable Device Laboratory
  The use of programmable memories (ROMs, EPROMs, and EEPROMs) as circuit elements (as opposed to storage of computer instructions) is covered, along with programmable logic devices (PALs and GALs). These parts permit condensing dozens of standard logic packages (TTL logic) into one or more off-the-shelf components. Students design and build circuits using these devices with the assistance of CAD software. Topics include programming EEPROMs; using PLDs as address decoders; synchronous sequential logic synthesis for PLDs; and PLD-based state machines. Prerequisites: 520.142 and 520.345.  Glaser / 3 credits / spring
520.401 Basic Communication  (E)
  This course covers the principles of modern analog and digital communication systems. Topics include: amplitude modulation formats (DSB, SSC VSB), exponential modulation formats( PM, FM) , superheterodyne receivers, digital representation of analog signals, sampling theorem, pulse code modulation formats (PCM, DPCM, DM, spread-spectrum), signals with additive Gaussian noise, maximum likelihood receiver design, matched filtering, and bit error rate analyses of digital communication systems. Prerequisite: 520.214    Davidson / 3 credits
520.407 Introduction to the Physics of Electronic Devices  (E)
  This course is designed to develop and enhance the understanding of the basic physical processes taking place in the electronic and optical devices and to prepare students for taking classes in semiconductor devices and circuits, optics, lasers, and microwaves devices, as well as graduate courses. Both classical and quantum approaches are used. Specific topics include theory of molecular bonding; basics of solid state theory; mechanical, transport, magnetic, and optical properties of the metals; semiconductors; and dielectrics. Prerequisites: 171.101-102, 520.219.  Khurgin / 3 credits / fall
520.410 Fiber Optics and Devices  (E)
  This course covers light propagation in fiber optic light guides, integrated optic wave guides, photodetectors, and the photon nature of light. Topics include light propagation in step-index and graded-index optical fibers, dielectric slab waveguides, photodetectors, photon shot noise, and photodetector signal-to-noise ratios. Prerequisites: 520.214, 520.219-220 or equivalent.33
Kang / 3 credits / spring
520.413 Introduction to Photonics  (E)
  This course is an introduction level course for the students interested in opto-electronics. It covers the basics behind the optical devices used in communication, information storage and display. The course begins with the in-depth review of principles of Geometrical Optics and Imaging including the cameras, microscopes and telescopes. The physical optical phenomena of interference, diffraction and polarization of light are then studied as well as the theory of the light propagation in optical waveguides. Based on this background various devices for modulation, switching, scanning and demultiplexing of light are then described. Prerequisites: 520.219-220 or equivalent.  Khurgin / 3 credits
520.414 Image Processing and Analysis I  (E)
  The course covers fundamental methods for the processing and analysis of images and describes standard and modern techniques for the understanding of images by humans and computers. Topics include elements of visual perception, sampling and quantization, image transforms, image enhancement, color image processing, image restoration, image segmentation, and multiresolution image representation. Laboratory exercises demonstrate key aspects of the course. Prerequisite: 520.214.  Goutsias / 3 credits / fall
520.415 Image Processing and Analysis II  (E)
  This course is a continuation of 520.414. It covers fundamental methods for the processing and analysis of images and describes standard and modern techniques for the understanding of images by morphological image processing and analysis, image representation and description, image recognition and interpretation. Laboratory exercises demonstrate key aspects of the course. Prerequisite: 520.414.
Goutsias / 3 credits / spring
520.419 Theory and Design of Iterative Algorithms

homepage

An introduction to the study of the structure, behavior and design of iterative algorithms. Topics include problem formulations, algorithm description and classification, the deterministic iterative (DI) schema, doubling schema, cluster point sets, periodic points, DI schemas without stop rule, the monotonic DI schema, contractive and affine maps, bounded and Cauchy  sequences, asymptotically regular sequences, monotonic sequences. Prerequisites: 110.201, 110.202.  Meyer / 3 credits
520.422 Computer Architecture

homepage

A study of the structure and organization of classical von Neuman uniprocessor computers. Topics include a brief history of modern machines starting from the Turing computer model, instruction sets, addressing, RISC versus CICS, traps and interrupt handling, twos complement arithmetic, adders and ALUs, CSA's Booth's algorithm, multiplication and division, control unit design, microprogramming, dynamic versus static linking, memory systems and memory hierarchy, paging segmentation, cache hardware, cache organizations, and replacement policies.  Prerequisite:  520.213.   Jenkins / 3 credits / fall.
520.424 FPGA Synthesis Laboratory (E,Q)
  An advanced laboratory course in the application of FPGA technology to information processing, using VHDL synthesis methods for hardware development.  The student will use commercial CAD software for VHDL simulation and synthesis, and implement their systems in programmable XILINX 20,000 gate FPGA devices.  The lab will consist of a series of digital projects demonstrating VHDL design and synthesis methodology, building up to final projects at least the size of an  8-bit RISC computer. Projects will encompass such things as system clocking, flip-flop registers, state-machine control, and arithmetic. The students will learn VHDL methods as they proceed through the lab projects, and prior experience with VHDL is not a pre-requisite. Pre-requisites: 520.142, 520.345, 520.349 or 520.372, 600.333-334 or 520.422 or equivalent advanced competence in computer systems.  Jenkins / 3 credits / fall.
520.425 FPGA Projects Laboratory (E)
  Laboratory course for FPGA based senior projects.  Students will work in teams to complete a design project that makes use of embedded FPGAs.  The projects will make use of the Spartan2 XSA boards and other resources from the FPGA Synthesis lab course. Possible projects include: A 16 or 32 bit RISC processor with student designed ISA architecture, assembler, and mini operating system; or a Spartan2 emulation of an existing microprocessor such as an 8051, an optical communication system to transmit stereo music using various modulation schemes for comparison (This would include FM or AM and at least one digital scheme such as FSK,); or a digital receiver for commercial AM or FM radio.  Students are expected to complete a demonstration and produce a poster session final report.  Prerequisites - 520.424 and senior status, no exceptions.  Jenkins / 3 credits / spring.
520.426 Parallel Processing Systems  (E,N)

homepage

An introduction to parallel hardware/software computing structures.  Pipelining and vector machines, structures and algorithms for array processors, multiprocessor architectures and control, dataflow machines and VLSI parallel computing structures.  Jenkins / 3 credits / spring.
520.428 Introduction to Algorithms for Parallel Computers  (E,Q)

homepage

An introduction to the design and analysis of algorithms for implementation on advanced multiple computer architectures.  Efficient techniques for vector, shared memory, and distributed memory machines.  Classical parallel algorithms studied include parallel prefix, sorting and message routing on specific architectures using MPI.  Numerical linear algebra primitives: solution of structured linear systems, including bidiagonal, tridiagonal, triangular systems; LU, QR, FFT factorizations.  Algorithm/architecture mappings and tradeoffs.  Prerequisites:  basic computer architecture and a course in computer programming.  Podrazik / 3 credits / fall
520.429 Principles of Parallel Programming (E,Q)

homepage

Programming models and languages for current computing platforms.  Computational models include shared and distributed memory multiprocessors. Essential techniques of message-passing parallel 
programming will be based upon MPI (Message Passing Interface); shared memory programming will use the OpenMP standard. Other parallel language extensions will be studied, including Split-C and
UPC (unified parallel C). Programming projects will be given for the IBM SP parallel computer and other available departmental  multicomputers.  Prerequisite: 520.428 Introduction to Algorithms for Parallel Computers and proficiency in programming in the C language.  Podrazik / 3 credits / spring 
520.430 Parallel Optimization
homepage Optimization problems and their analysis including primal and dual formulations.  Optimality conditions and their relationship to algorithm synthesis.  Survey of both unconstrained and constrained optimization algorithms in the context of developing algorithms suitable for implementation on parallel computers.  Unconstrained techniques include gradient descent, conjugate-gradient, Quasi-Newton and Newton's Method, their parallel implementations and algorithm variants.   A survey of parallel algorithms for constrained optimization will be presented, including feasible set, projection and interior point methods.  Various applications will be studied throughout the class to supplement the theory.  Prerequisite:  A course in advanced calculus and a course in linear algebra (a previous course in optimization or parallel processing is not required). Podrazik / 3 credits / fall
520.432 Medical Imaging Systems  (E)

homepage

An introduction to the physics, instrumentation, and signal processing methods used in general radiography, X-ray computed tomography, ultrasound imaging, magnetic resonance imaging, and nuclear medicine. The primary focus is on the methods required to reconstruct images within each modality, with attention also given to the resulting resolution, contrast, and signal-to-noise ratio of images. Prerequisite: 520.214.  Co-listed as 580.472.  Prince / 3 credits /spring
520.435 Digital Signal Processing  (E)
  Methods for processing discrete-time signals. Topics include signal and system representations, z- transforms, sampling, discrete Fourier transforms, fast Fourier transforms, digital filters. Prerequisite: 520.214.  Weinert / 4 credits
520.443 Digital Multimedia Coding and Processing

An introduction to the coding and processing of digital multimedia. The course covers current popular techniques for processing, storage, and delivery of media such as speech, audio, images and video. The emphasis will be on the theoretical basis as well as efficient implementations. Topics include transform and subband coding, motion estimation and compensation, international compression standards (AC3, JPEG, MPEG, H.263, HDTV), and emerging techniques. Prerequisites: 520.435, C/C++ programming and Matlab are required. Tran / 3 credits

520.447 Introduction to Information Theory and Coding
 

This course will address some basic scientific questions about systems that store or communicate information. Mathematical models will be developed for (1) the process of error-free data compression leading to the notion of entropy, (2) data (e.g. image) compression with slightly degraded reproduction leading to rate-distortion theory and (3) error-free communication of information over noisy channels leading to the notion of channel capacity. It will be shown how these quantitative measures of information have fundamental connections with statistical physics (thermodynamics), computer science (string complexity), economics (optimal portfolios), probability theory (large deviations) and statistics
(Fisher information, hypothesis testing). Prerequisite: 550.310. Khudanpur / 3 Credits / fall.

520.448 Electronics Design Laboratory
homepage An advanced laboratory course in which teams of students design, build, test and document application specific information processing microsystems.  Semester long projects range from sensors/actuators, mixed signal electronics, embedded microcomputers, algorithms and robotics systems design.  Demonstration and documentation of projects are important aspects of the evaluation process.  Prerequisites: 520.216, 520.345 or equivalent.  Recommended:  600.333, 600.334, 520.349, 520.372, 520.490 or 520.491.  Staff  / 3 credits / spring
520.450 Advanced Microprocessor Laboratory
  The course covers the interfacing of microprocessors to memory and peripherals. Topics include input/ output ports, timer operations, interrupt handling, serial communication, digital to analog and analog to digital conversions, and EEPROM programming. Student work is primarily software with some hardware hookup. Prerequisites: 520.349 or programming competence in 8080 or Z-80 assembly language and an understanding of logic gates.  Glaser / 3 credits / spring
520.454 Control Systems Design  (E,Q)
homepage Classical and modern control systems design methods. Topics include formulation of design specifications, classical design of compensators, state variable and observer based feedback. Computers are used extensively for design, and laboratory experiments are included. Prerequisites: 520.353, 110.201.  Iglesias / 3 credits / spring
520.457 Basic Quantum Mechanics for Engineers  (E)
  Basic principles of quantum mechanics for engineers. Topics include the quantum theory of simple systems, in particular atoms and engineered quantum wells, the interaction of radiation and atomic systems, and examples of application of the quantum theory to lasers and solid-state devices. Prerequisites: 171.101-102, 520.219-220. Kaplan / 3 credits / fall
520.460 Introduction to Error Control Coding  (E,Q)
homepage Designs of error control codes and their decoders for digital communication systems are presented in an algebraic framework. Rate, minimum distance, and error correction and detection capabilities of linear block codes are presented. Generator and parity check matrices are introduced and decoders are developed. Families of cyclic codes are presented, including BCH and Reed-Solomon codes and their decoders. Performance analyses of error control codes demonstrate the contribution of coding to communications and provided bases upon which to compare codes. Prerequisites: Probability and Statistics 550.310 and competence in linear algebra.   Cooper / 3 credits / fall
520.465 Digital Communications
  This course introduces the basic tools and topics of modern digital communication beginning with the mathematical representation and spectral properties of random signals and a basic introduction to the detection of real and complex signals in the presence of noise.  Memoryless modulation and demodulation schemes are thoroughly studied for the Gaussian channel, and measures of performance are developed.  Topics in wireless communication will be introduced. 3 credits.  Prerequisites:  520.401, 550.310 or 550.420.  Cooper / 3 credits / spring
520.473 Magnetic Resonance in Medicine  (E,N)
  The course is an introduction to the field of magnetic resonance imaging. All of the basic principles of magnetic resonance imaging that are necessary to understand current literature are covered. Topics include: Bloch equations, imaging principles, excitation, image contrast mechanisms and instrumentation.  Prerequisites: 520.214 or 580.222.  Co-listed with 580.473.  Atalar / 3 credits
520.481 Microwaves and High Speed Circuits  (E)
  Propagation of waves in transmission lines with emphasis on microstrip circuits. Design and analysis of couplers, matching circuits, amplifiers, filters,oscillators and high speed digital circuits.  Extensive use is made of CAD tools. Prerequisites: 520.219-220.  Staff  / 3 credits / spring
520.482 Introduction to Lasers  (E)
  This course covers the basic principles of laser oscillation. Specific topics include propagation of rays and Gaussian beams in lenslike media, optical resonators, spontaneous and stimulated emission, interaction of optical radiation and atomic systems, conditions for laser oscillation, homogeneous and inhomogeneous broadening, gas lasers, solid state lasers, Q-switching and mode locking of lasers. Prerequisites: 520.219-220, or equivalent.  Staff / 3 credits
520.484 Optoelectronics Lab  (E)
  This laboratory course involves designing and building optoelectronic circuits.  Namely, laser diode drivers (CW and pulsed), oscillators, low-noise amplifier circuits, photodetector biasing circuits and active filters will be designed, built and tested.  Prerequisites:  520.345 and permission of instructor. Kang / 3 credits
520.485 Semiconductor Devices for Optoelectronics  (E)
  This course is designed to develop and enhance the understanding of the operating principles and performance characteristics of the modern semiconductor devices used in high speed optical communications, optical storage and information display.  The emphasis is on device physics and fabrication technology. The devices include heterojunction bipolar transistors, high mobility FET's, semiconductor lasers, laser amplifiers, light-emitting diodes, detectors, solar cells and others.  
Khurgin / 3 credits.
520.487 Introduction to Microelectromechanical Systems (MEMS)  (E,N)
homepage A first course on the principles and engineering of microelectromechanical systems. An introduction to materials and basic devices with examples of applications for sensing and actuation. Lectures will be complemented with a set of laboratory experiments.  Co-listed as 530.487.  Prerequisite: Senior or graduate standing or permission of instructor.  Andreou, Hemker, Sharpe / 3 credits.
520.490 Analog and Digital VLSI Systems and Architecture  (E)

homepage

Silicon models of information and signal processing functions, with implementation in analog and digital CMOS integrated circuits. Aspects of structured design, scalability, parallelism, low-power consumption, and robustness to process variations. Topices include digital-to-analog and analog-to-digital conversion, delta-sigma modulation, vector quantization, and adaptive neural computation. The course includes a VLSI design project. Prerequisites: 520.216 and 520.345.  Cauwenberghs / 3 credits / fall 
520.491 CAD of Digital VLSI Systems

homepage

An introductory course in which students, manually and through computer simulations, design digital CMOS integrated circuits and systems. The design flow covers transistor, physical, and behavioral level descriptions, using SPICE, Layout, and VerilogHD1 VLSI CAD tools. After design computer verification, students can fabricate and test their semester-long class projects. Prerequisites: 520.142, 520.216, or equivalent. Recommended: 600.333, 600.334, 520.349 or 520.372.  Etienne-Cummings / 3 credits / fall
520.493 Analog Integrated Circuits
  The course will cover the basics of the theory and the design of wireless telecommunication circuits. Circuit blocks such as Oscillators, Phase Locked Loops, Mixers, Filters, R.F. and broadband Amplifiers, Modulators and Demodulators as well as bias and support circuits such as Band-gap voltage references will also be discussed. The emphasis will be on bipolar transistor circuit design. The course will have weekly lectures, design and simulation assignments using CAD tools and a small number of laboratory assignments.  Prerequisites: 520.214 and 520.216.  Sotiriadis / 3 credits
520.495 Microfabrication Laboratory
homepage This laboratory course is an introduction to the principles of microfabrication for microelectronics, sensors, MEMS, and other synthetic microsystems that have applications in medicine and biology.
Course comprises of laboratory work and accompanying lectures that cover silicon oxidation, aluminum evaporation, photoresist deposition, photolithography, plating, etching, packaging, design and analysis CAD tools, and foundry services. Co-listed as 580.495 and 530.495. Andreou, Wang / 4 credits / fall
520.498-499 Senior Design Project  (E)
   Capstone design project, in which a team of students engineer a system and evaluate its performance in meeting design criteria and specifications. Example application areas are microelectronic information processing, image processing, speech recognition, control, communications and biomedical instrumentation. The design needs to demonstrate creative thinking and experimental skills, and needs to draw upon knowledge in basic sciences, mathematics and engineering sciences. Interdisciplinary participation, such as by biomedical engineering, mechanical engineering and computer science majors, is strongly encouraged. Staff / 3 credits. 
520.501-502 Independent Study - Fr/Soph  (501-Fall, 502-Spring)
  Individual, guided study under the direction of a faculty member in the department. The program of study or research, including the credit to be assigned, must be worked out in advance between the student and the faculty member involved. May be taken either term by freshmen or sophomores.  Staff / 1-3 credits
520.503-504 Independent Study - Jr/Sr  (503-Fall, 504-Spring)
  Individual study, including participation in research, under the guidance of a faculty member in the department. The program of study or research, time required, and credit assigned must be worked out in advance between the student and the faculty member involved. May be taken either term by juniors or seniors.  Staff / 1-3 credits
520.505 Summer Independent Research
  Independent study or research over the summer under the direction of a faculty member in the department. The program of research, including the credit to be assigned, must be worked out in advance between the student and the faculty member involved.  Staff / 1-3 credits
520.545-546 Research  (545-Fall, 546-Spring)
  Independent study or research over the summer under the direction of a faculty member in the department. The program of research, including the credit to be assigned, must be worked out in advance between the student and the faculty member involved.  Staff / 1-3 credits
520.550 ECE Internships - Staff / 1-3 credits
520.574 Research  (Intercession)
520.576 Independent Study  (Intercession)
520.590 Senior Design Project  (Summer)
520.595 Independent Study  (Summer)
520.596 Independent Research
520.597 Research  (Summer)
520.599 ECE Internships  (Summer)


 
Department of Electrical and Computer Engineering    --    The Johns Hopkins University