Catalog Descriptions of Graduate Courses  


ECE 511 Microprocessors

Course description:
ECE 511 Microprocessors (3:3:0). Introduction to microprocessor software and hardware architecture. Fundamentals of the microprocessor system integration, instruction set design, programming, memory interfacing, input/output, DMA, and interrupt interfacing. Microprocessor architecture evolution. Study of the Intel's family of microprocessors. Review of the other microprocessor families and trends in microprocessor design.
Prerequisite:
graduate standing or permission of instructor

ECE 612 Real-Time Embedded Systems

Course description:
ECE 612 Real-Time Embedded Systems (3:3:0). A study of real-time operating systems and device drivers for embedded computers. The emphasis is on microprocessor systems and associated input device sampling strategies include interrupt driven and polled I/O. Basic input/output operations, analog-to-digital converter methods, I/O programming techniques, and process and communications control methodologies. The course includes a design project. f
 
Prerequisite:
511 or permission of instructor

ECE 513 Applied Electromagnetic Theory

Course description:
ECE 513 Applied Electromagnetic Theory (3:3:0). Maxwell's equations, electromagnetic wave propagation, wave guides, transmission lines, radiation and antennas.
 
Prerequisite:
graduate standing or permission of instructor

ECE 611 Advanced Microprocessors

Course description:
ECE 516 Advanced Microprocessors (3:3:0) Principles of advanced 32-bit and 64-bit microprocessors. Microprocessor structure and architecture. Pipelined execution and pipeline hazards. Instruction level parallelism: superscalar and super;pipelined execution. Detailed study of Intel x86 and Motorola M68000 families. RISC principles and advantages. Examples of RISC-type microprocessors.
 
Prerequisite:
ECE 511 or permission of instructor

ECE 521 Modern Systems Theory

Course description:
ECE 521 Modern Systems Theory (3:3:0). Introduction to linear systems theory. Review of linear algebra. State variables. State space description of dynamic systems. Analysis of continuous-time and discrete-time linear systems. Controllability and observability of linear systems. Nonlinear systems. Stability theory. Introduction to the design of linear feedback control systems.
 
Prerequisite:
graduate standing or permission of instructor

ECE 528 Random Processes in Electrical and Computer Engineering

Course description:
ECE 528 Random Processes in Electrical and Computer Engineering (3:3:0). Topics include random signals and noise in communications, stationary and ergodic random processes, spectral analysis, Gaussian processes, Brownian motion, mean square estimation, Kalman and adaptive filtering, Markov processes and Poisson processes. Applications are drawn from computer, communication, control, and signal processing.
Prerequisite:
graduate standing or permission of instructor

ECE 535 Digital Signal Processing

Course description:
ECE 535 Digital Signal Processing (3:3:0). Representation, analysis, and design of digital signals and systems. Sampling and quantization. Z-transform and Discrete Fourier Transform. Digital filter realizations. Design techniques for recursive (IIR) and nonrecursive (FIR) filters. The Fast Fourier Transform algorithms. Spectrum analysis. Additional topics may include adaptive filtering, homomorphic digital signal processing, digital interpolation and decimation; VLSI signal processors.
 
Prerequisite:
graduate standing or permission of instructor

ECE 537 Introduction to Digital Image Processing (DIP)

Course desription:
ECE 537 Introduction to Digital Image Processing (DIP). First course in digital image processing in which the concepts of scanning systems, focal plane array detectors, data acquisition methods, display hardware, image preprocessing algorithms, feature extraction, and basic image processing methods are introduced. A semester long image processing project is included utilizing modern image processing system prototyping software.
 
Prerequisite:
graduate standing or permission of instructor

ECE 542 Computer Network Architectures and Protocols

Course description:
ECE 542 Computer Network Architectures and Protocols (3:3:0). Introduction to the architectures and protocols of computer networks and the concept of packet switching. Topics include ISO standard layer model, physical interfaces and protocols, data link control, multiaccess techniques, packet switching, routing and flow control, network topology, data communication subsystems, error control coding, local area network, satellite packet broadcasting, packet radio, interconnection of packet-switching networks, network security and privacy, various examples of computer networks.
 
Prerequisite:
graduate standing or permission of instructor

ECE 646 Cryptography and Computer Network Security 

Course description:
ECE 543 Cryptography and Computer Network Security (3:3:0). Topics covered include need for security services in computer networks, basic concepts of cryptology, historical ciphers, modern symmetric ciphers (DES, IDEA, RC5), Advanced Encryption Standard (AES), public key cryptography (RSA, elliptic curve cryptosystem), efficient hardware and software implementations of cryptographic primitives, requirements for implementation of cryptographic modules, data integrity and authentication, digital signature schemes, key exchange and key management, standard protocols for secure mail, www and electronic payments, security aspects of mobile communications, key escrow schemes, zero-knowledge identification schemes, Smart cards and PCMCIA cards, quantum cryptography, and quantum computing.
 
Prerequisite:
ECE 542 or permission of instructor

ECE 545 Introduction to VHDL

Course description:
ECE 545 Introduction to VHDL (3:3:0).Course introduces the concept of a hardware description language and hardware design through VHDL. An understanding of the impact and uses of VHDL is emphasized through VHDL models of typical digital computers and processors. There is a semester long project in which a digital system is implemented and simulated in VHDL.
 
Prerequisite:
graduate standing or permission of instructor

ECE 546 Parallel Computer Architectures

Course description:
ECE 546 Parallel Computer Architectures (3:3:0). Study of computation schemata, Petri nets, parallel floating, point operations, instruction handling techniques, pipeline systems, functional parallelism, memory organization, arbitration and deadlock, pipeline computer architecture, massive parallelism.
 
Prerequisite:
graduate standing or permission of instructor

ECE 548 Sequential Machine Theory

Course description:
ECE 548 Sequential Machine Theory (3:3:0). Theoretical study of sequential machines. Topics include sets, relations and lattices, switching algebra, functional decomposition, iterative networks, representation, minimization and transformation of sequential machines, state identification, state recognizers, and linear and stochastic sequential machines.
 
Prerequisite:
graduate standing or permission of instructor

ECE 549 Pattern Recognition and Neural Networks

Course description:
ECE 549 Theory and Applications of Artificial Neural Networks (3:3:0). This course emphasizes a dynamical systems approach to neural networks. Simple tools for neural network analysis - Liapunov stability, gradient descent minimization techniques, simulated annealing. The perceptron, learning in feedforward and recurrent networks - backpropagation, Boltzmann machines, recurrent backpropagation, adaptive resonance theory, self-organizing feature maps, associative memory, neural networks for optimization, implementation issues.
 
Prerequisites:
graduate standing or permission of instructor

ECE 563 Introduction to Microwave Engineering

Course description:
ECE 563 Introduction to Microwave Engineering (3:3:0). Study of the generation, control, and propagation of microwave signals. Topics include: transmission lines, waveguides, resonators, scattering parameters, Smith charts, measurement techniques, instrumentation, and microwave devices.
 
Prerequisite:
graduate standing or permission of instructor

ECE 564 Modern Optical Engineering (3:3:0).

Course description:

Introduction to optical physics from a wave propagation perspective. Topics included are: coherence, interference and diffraction, polarization, birefringent materials, coherent and incoherent imaging systems, Fourier optics, and holography.

Prerequisite: ECE 305 and ECE 360

 

ECE 565: Introduction to Optical Electronics

Course description:
ECE 565: Introduction to Optical Electronics (3:3:0) Introduction to optoelectronic devices for generation, detection and modulation of light. Topics include electrooptic modulators, gas, solid state and semiconductor lasers, photodetectors and detector arrays.
 
Prerequisites:
graduate standing or permission of instructor

ECE 567 Optical Fiber Communications

Course description:
ECE 667 Optical Fiber Communications (3:3:0). Study of the components and integration of fiber-optic transmission systems. Topics include optical fibers, signal degradation, optical sources, power launching and coupling, photodetectors, receiver circuits, link analysis, and optical measurements.
 
Prerequisite:
graduate standing or permission of instructor.

ECE 584 Solid-State Device Theory I

Course description:
ECE 584 Solid-State Device Theory I (3:3:0). Study of the theory of semiconductor devices based on solid-state physics. Topics include physics and properties of semiconductors, p-n junction diode, metal semiconductor contacts, MIS diode and CCD, bipolar and field effect transistors.
 
Prerequisite:
graduate standing or permission of instructor

ECE 586 Digital Integrated Circuits

Course description:
ECE 586 Digital Integrated Circuits (3:3:0). A study of the devices and circuit topologies used in digital integrated circuits. Topics include large signal active device models, MOS and BJT gates, regenerative logic circuits, semiconductor memories, LSI and VLSI circuits.
 
Prerequisite:
graduate standing or permission of instructor

ECE 587 Design of Analog Integrated Circuits

Course description:
ECE 587 Design of Analog Integrated Circuits (3:3:0). A study of the devices and circuit topologies used in analog integrated circuits. Topics include active device models, differential amplifiers, current sources, output stages, operational amplifiers, frequency response, noise, and computer-aided design.
 
Prerequisite:
graduate standing or permission of instructor

ECE 682 VLSI Test Concepts

Course description:
ECE 588 VLSI Test Concepts (3:0:0) Broad introduction to basic concepts, techniques, and tools of modern VLSI testing. Fundamentals of defect modeling, fault simulation, design for testability, built-in self test techniques, and failure analysis. Test economics, physical defects and fault modeling, automated test pattern generation, fault simulation, design for test, build-in self test, memory test, PLD test, mixed signal test, Iddq test, boundary scan and related standarts, test synthesis, diagnosis and failure analysis, automated test equipment, embedded core test.
 
Prerequisite:
ECE 586 or permission of instructor

ECE 590 Selected Topics in Electrical Engineering

Course description:
ECE 590 Selected Topics in Electrical Engineering (3:3:0). Selected topics from recent developments and applications in electrical engineering.
 
Prerequisite:
Graduate standing or permission of department.

ECE/SYST 595 Discrete Event Systems

Course description:
ECE/SYST 595 Discrete Event Systems (3:3:0). Introduction to modeling and analysis of discrete event dynamical systems. Elements of discrete mathematics including sets and multisets, lattices, relations, and graph theory. Untimed and timed models of discrete event systems. Condition/Event nets; Place/Transition nets and their properties. Concurrent and asynchronous processes. Colored Petri Nets and the modeling of systems. Simulation and performance analysis. Executable models for System Architectures - structured analysis and object oriented system design approaches. Applications from several domains: Command and Control, Air Traffic Control, Flexible Manufacturing Systems, Robotics, Decision Making Organizations, and Decision Support Systems. Software Intensive Systems.
 
Prerequisite:
SYST 500 or equivalent.
 

ECE 611 Advanced Microprocessors

Course description:
ECE 611 Advanced Microprocessors (3:3:0) Principles of advanced 32-bit and 64-bit microprocessors. Microprocessor structure and architecture. Pipelined execution and pipeline hazards. Instruction level parallelism: superscalar and super;pipelined execution. Detailed study of Intel x86 and Motorola M68000 families. RISC principles and advantages. Examples of RISC-type microprocessors.
 
Prerequisite:
ECE 511 or permission of instructor

 

ECE 612 (former 512) Real-Time Embedded Systems

Course description:
ECE 612 Real-Time Embedded Systems (3:3:0). A study of real-time operating systems and device drivers for embedded computers. The emphasis is on microprocessor systems and associated input device sampling strategies include interrupt driven and polled I/O. Basic input/output operations, analog-to-digital converter methods, I/O programming techniques, and process and communications control methodologies. The course includes a design project. f
 
Prerequisite:
511 or permission of instructor

ECE 620 Optimal Control Theory

Course description:
ECE 620 Optimal Control Theory (3:3:0). Detailed treatment of optimal control theory and its applications. Topics include system dynamics and performance criteria, the calculus of variations and Pontryagin's minimum principle, computational methods in optimal control, and applications of optimal control.
 
Prerequisite:
ECE 521 or permission of instructor.

ECE 621 Systems Identification

Course description:
ECE 621 Systems Identification (3:3:0). A detailed treatment of stochastic control theory and its applications. Topics include state space models with random inputs, optimum state estimation, Kalman filtering, Linear Quadratic Gaussian problem, computational issues, stochastic dynamic programming, applications in process control and in decision making under uncertainty.
 
Prerequisite:
ECE 521 and ECE 528 or permission of instructor.

ECE 622=>780/INFT 845 High-Frequency Electronics

Course description:
ECE 780 High-Frequency Electronics (3:3:0). Study of devices and circuits used in high-speed communications systems. Topics include microwave bipolar transistors, GaAs MESFETs, and high- speed integrated circuits; the design of linear and power amplifiers using S-parameter techniques and computer simulation.
 
Prerequisite:
ECE 563 and 684, or permission of instructor

ECE 624 Control Systems

Course description:
ECE 624 Control Systems (3:3:0). Analysis, design, and implementation of digital feedback control systems. Topics include discrete-time models, pole-placement, controller design methods, MIMO system decoupling and observer design. The course may include a simulation and design project.
 
Prerequisite:
ECE 421 and 521 or permission of instructor.

ECE 630 Statistical Communication Theory

Course description:
ECE 630 Statistical Communication Theory (3:3:0). Introduction to optimum receiver design in the additive white Gaussian noise environment. Topics include efficient signal set design, modulation techniques, matched filter, correlation detector, coherent and noncoherent detections, fading and diversity channels, random amplitude and phase, diversity techniques, performance bounds of communications, and waveform communications.
 
Prerequisite:
ECE 528.

ECE 631=>731 Digital Communications

Course description:
ECE 631 Digital Communications (3:3:0). Digital transmission of voice, video, and data signals. Signal digitization. Pulse code modulation (PCM), delta modulation (DM), low bit rate coding. Multiplexing, synchronization, intersymbol interference. Adaptive equalization. Frequency spreading, encryption. Transmission codes. Digital transmission using bandwidth compression techniques. Satellite communications.
 
Prerequisite:
ECE 630 or equivalent.

ECE 751 Information Theory

Course description:
ECE 632 Information Theory (3:3:0). Comprehensive study of information with emphasis on concepts of reliable, efficient communication systems. Measure of information, efficient representation of message sources, communication channels and their capacity. Coding for reliable transmission over noisy channels.
 
Prerequisite:
ECE 528 or permission of instructor.

ECE 633 Coding Theory

Course description:
ECE 633 Coding Theory (3:3:0). Mathematics of coding: groups, rings, and fields; polynomial algebra. Linear block codes: generator and parity check matrices; error syndromes. Binary cyclic codes. Convolutional codes; implementation of encoders and decoders.
 
Prerequisite:
ECE 528 or permission of instructor.

ECE 635 Adaptive Signal Processing

Course description:
ECE 635 Adaptive Signal Processing (3:3:0). Introduction to adaptive systems and adaptive signal processing. Topics include correlation functions and correlation matrices; performance functions; search of minimum; steepest descent and Newton algorithms; least mean squares algorithm; noise perturbed search and misadjustment; sequential regression algorithm and convergence issues; recursive least squares algorithm and forgetting factor; frequency domain algorithms; adaptive eqalization; pseudo-random binary sequences and system identification; adaptive interference cancellation; adaptive beam forming and adaptive arrays. Simulation of the adaptive algorithms.
 
Prerequisite:
ECE 528.

ECE 746 Secure Telecommunication Systems

Course description:
ECE 636 Secure Telecommunication Systems (3:3:0). Discussion of integration of cryptographic algorithms with standard and emerging communication protocols. Issues related to implementation of security services in different kinds of telecommunication networks and at different layers of the network model. A study of selected cryptographic algorithms, including Advanced Encryption Standard and elliptic curve cryptosystems. Choice of a cryptographic algorithm depending on the type of the network and implementation medium. Analysis of various means of implementing cryptographic transformations, including smart cards, desktop computers, routers, cryptographic boards, and stand-alone devices. Criteria of choice between software and hardware implementations of cryptography.
 
Prerequisite:
Prerequisite: ECE 646 or permission of instructor.

ECE 737 Spread Spectrum Communications

Course description:
ECE 637 Spread Spectrum Communications (3:3:0). Introduction to spread spectrum communications. Topics include pseudonoise spread spectrum systems, feedback shift registers, jamming strategy, code acquisition, synchronization, tracking, Gold codes, burst-communication systems, time-hopping, frequency-hopping, and multiple access communications.
 
Prerequisite:
ECE 630.

ECE 638 Fast Algorithms and Architectures for Digital Signal Processing

Course description:
Fast Algorithms and Architectures for Digital Signal Processing (3:3:0). Study of recent advances in development of signal processing algorithms and relevant computational architectures. Topics include fast polynomial transforms, Winograd's algorithms, multirate processing of digital signals, spectral estimation, adaptive filtering, parallel and pipeline computational arrays, and mapping of signal processing algorithms into systolic arrays.
 
Prerequisite:
ECE 535 or permission of instructor.

ECE 739 Satellite Communications

Course description:
ECE 639 Satellite Communications (3:3:0). Introduction to the theory and applications of modern satellite communications. Topics include satellite channel characterization, channel impairments and transmission degradation, link calculations, modulation, coding, multiple access, broadcasting, random access schemes, demand assignment, synchronization, satellite switching and onboard processing, integrated service digital satellite networks, and satellite transponder, ground stations, packet switching, optical satellite communications.
 
Prerequisite:
ECE 631 or permission of instructor.

ECE 640 Massively Parallel Computers

Course description:
ECE 640 Massively Parallel Computers (3:3:0). Topics include basic concepts of parallelism, two-dimensional computation schemata, types of intercommunication networks between processing elements, single instruction stream-multiple data stream computers, computers with massive parallelism, pyramid computing structures, multiple instruction stream-multiple data stream computers, and parallel processing of images.
 
Prerequisite:
ECE 546 or permission of instructor.

ECE 641 Computer System Architecture

Course description:
ECE 641 Computer System Architecture (3:3:0). Advanced course in computer architecture. Definitions, multiple processors, VLSI architecture, data flow, computation, the semantic gap, high-level language architecture, object-oriented design, RISC architecture, current trends in computer architecture.
 
Prerequisite:
ECE 511 or permission of instructor

ECE 642 Design and Analysis of Computer Communication Networks

Course description:
ECE 642 Design and Analysis of Computer Communication Networks (3:3:0). Introduction to queuing theory. Other topics include concentrator design, multiplexing, capacity assignments, random access schemes, polling and probing techniques, topology design, flow control and routing, packet radio, protocol specification, and validation.
 
Prerequisite:
ECE 542 and ECE 528 or equivalent.

ECE 643 Telecommunication Switching Systems

Course description:
ECE 643 Telecommunication Switching Systems (3:3:0). Basic concepts of switching with application to digital telecommunication networks. Topics include circuit switched networks, space-division and time-division switching, digital switching system architecture, stored-program control, traffic theory, numbering concepts, signaling networks, intelligent networks, and fast packet switching.
 
Prerequisite:
ECE 528 and 542.

ECE 644 Architectures and Algorithms for Image Processing

Course description:
ECE 644 Architectures and Algorithms for Image Processing (3:3:0). Architectures and algorithms for the analysis and processing of pictorial information. Topics include systems and techniques for the digital representation of images; image scanning methods and their applications; picture processing languages; image data structures; feature detection, extraction, and reconstruction; detection of symmetries; systems and methods for regular decomposition, image desegmentation, object thinning, real-time orthogonal transformations, and applications. The course includes a design project.
 
Prerequisite:
ECE 511 and 537, or permission of instructor

ECE 645 Computer Arithmetic: Implementations in Hardware and Software

Course covers computer arithmetic as applied to the design of general-purpose microprocessors, and application-specific integrated circuits for cryptography, coding, and digital signal processing. The focus is on efficient implementations of all basic arithmetic operations in three major domains: integers, real numbers, and elements of the Galois Fields GF(2n). The course provides the way of choosing between various hardware algorithms and architectures depending on the primary optimization criteria, such as speed, area, and power consumption. The best algorithms for implementing arithmetic operations in software and hardware are compared and contrasted.

Prerequisite:
ECE 545 or permission of instructor

ECE 646 Cryptography and Computer-Network Security

Course description:
ECE 646 Cryptography and Computer Network Security (3:3:0). Topics covered include need for security services in computer networks, basic concepts of cryptology, historical ciphers, modern symmetric ciphers (DES, IDEA, RC5), Advanced Encryption Standard (AES), public key cryptography (RSA, elliptic curve cryptosystem), efficient hardware and software implementations of cryptographic primitives, requirements for implementation of cryptographic modules, data integrity and authentication, digital signature schemes, key exchange and key management, standard protocols for secure mail, www and electronic payments, security aspects of mobile communications, key escrow schemes, zero-knowledge identification schemes, Smart cards and PCMCIA cards, quantum cryptography, and quantum computing.
 
Prerequisite:
ECE 542 or permission of instructor

ECE 650 Robotics

Course description:
ECE 650 Robotics (3:3:0). Introduction to robotics and advanced automation from an electrical engineering standpoint. Topics include hardware overview; coordinate systems and manipulator kinematics; differential motion and the inverse Jacobian; manipulator path control and motion planning; design and control of articulated hands; sensory feedback; machine vision; applications to industrial automation.
 
Prerequisite:
ECE 521 or permission of instructor.

ECE 750 Intelligent Systems for Robots

Course description:
ECE 651 Intelligent Systems for Robots (3:3:0). In-depth study of the theoretical aspects of robotics. Emphasis on the integration of topics from control theory and machine intelligence. Topics include manipulator dynamics; optimal, self-organizing, and distributed control of manipulators; stability of legged locomotion; mathematical modeling of uncertain knowledge; knowledge-based control of robot systems.
 
Prerequisite:
ECE 650 or permission of instructor.

ECE 662 Microwave Engineering

Course description:
ECE 662 Microwave Engineering (3:3:0). Study of the generation, control, and propagation of microwave signals. Topics include transmission lines, waveguides, resonators, scattering parameters, Smith charts, measurement techniques, instrumentation, and microwave devices.
 
Prerequisite:
ECE 513 and ECE 563 or permission of instructor.

ECE 665 Fourier Optics and Holography

Course description:
ECE 665 Fourier Optics and Holography (3:3:0). Study of optical systems for processing temporal signals as well as images. Topics include use of coherent optical systems for image processing and pattern recognition, principles of holography, acousto-optic systems for radar-signal-processing optical computers.
 
Prerequisite:
ECE 565.

ECE 667 Fiber Optic Communications and Networks

Course description:
ECE 667 Fiber Optic Communications and Networks (3:3:0). Study of the components and integration of fiber-optic transmission systems. Topics include optical fibers, signal degradation, optical sources, power launching and coupling, photodetectors, receiver circuits, link analysis, and optical measurements.
 
Prerequisite:
ECE 565 or permission of instructor.

ECE 670/SYST 680 Principles of Command, Control, Communication and Intelligence

Course description:
Principles of Command, Control, Communication and Intelligence (C3I)-Part 1 (3:3:0). Fundamentals of C3I are developed from a descriptive, theoretical, and quantitative perspective. Topics include C2 process; quantitative models for combat, sensing, data fusion; individual and team decision making; organizational theory, tools for modeling C2 systems; and evaluations of C2 systems.
 
Prerequisite:
ECE 528 or SYST 500, or equivalent.

ECE 671/SYST 681 Principles of Command, Control, Communication and Intelligence

Course description:
Principles of Command, Control, Communication and Intelligence (C3I)-Part II (3:3:0). Technology required for C2 systems is developed. Technology areas include sensors, communications, and computer based systems. The C3I required for mission areas such as strategic, theater, and tactical are developed and analyzed. Electronic warfare and counter-C3 is discussed.
 
Prerequisite:
ECE 670/SYST 680 or permission of instructor.

ECE 680 Physical VLSI Design

Course description:
ECE 680 VLSI Circuit Analysis and Design (3:3:0). Physics and modeling of various semiconductor devices and fundamental building block circuits that are extensively used in VLSI design. Topics include review of MOSFETs and BJTs, SPICE device modeling, inverter and logic circuits, logic minimization, PLA implementation, static and dynamic RAM and problems in VLSI.
 
Prerequisite:
ECE 584, 586, and 587, or permission of instructor.

ECE 681 VLSI Design Automation

A broad introduction to basic concepts, techniques and algorithms used by modern VLSI design automation software. The course covers hardware description languages, logic synthesis, simulation, static timing analysis, formal verification, test generation/fault simulation, and physical design (including floor planning, placement, routing, and design rule checking).

Prerequisite:
ECE 545 and 586, or permission of instructor.

ECE 682 VLSI Test Concepts

Course description:
ECE 682 VLSI Test Concepts (3:0:0) Broad introduction to basic concepts, techniques, and tools of modern VLSI testing. Fundamentals of defect modeling, fault simulation, design for testability, built-in self test techniques, and failure analysis. Test economics, physical defects and fault modeling, automated test pattern generation, fault simulation, design for test, build-in self test, memory test, PLD test, mixed signal test, Iddq test, boundary scan and related standarts, test synthesis, diagnosis and failure analysis, automated test equipment, embedded core test.
 
Prerequisite:
ECE 586 or permission of instructor

ECE 684 MOS Device Electronics

Course description:
ECE 684 MOS Device Electronics (3:3:0). Study of the theory of special microwave and optoelectronic semiconductor devices based on solid-state physics. Topics include tunnel devices, IMPATT diodes, transferred-electron devices, LED and semiconductor lasers, photodetectors, and solar cells.
 
Prerequisite:
ECE 584 or permission of instructor.

ECE 689 VLSI Processing

Course description:
ECE 689 VLSI Processing (3:3:0). Course on semiconducting materials that are of interest for present and future device applications. Topics include crystal and electronic structure, elemental semiconductors, group III-V and group II-VI compound semiconductors, various material growth techniques, ion implantation, material characterization techniques, and novel device structures.
 
Prerequisite:
ECE 584 or permission of instructor.

ECE 698 Independent Reading and Research

Course description:
ECE 698 Independent Reading and Research (3:3:0). Study of a selected area in electrical and computer engineering under the supervision of a faculty member. Written report required. May be taken no more than twice for a graduate credit.
 
Prerequisite:
Graduate standing, completion of at least two core course and permission of instructor.
 

ECE 699 Advanced Topics in Electrical and Computer Engineering (3:3:0). 

Prerequisite: PoI. Advanced topics of current interest in electrical and computer engineering. The topics are chosen in such a way that they do not duplicate any of the other courses in the department. Active participation of the students is encouraged in the form of writing and presenting papers in the research areas.

 

ECE 720 Multivariable and Robust Control

Course description:
ECE 720 Multivariable and Robust Control (3:3:0). Eigenstructure assignment for multivariable systems, the Smith-McMillan form, internal stability, modeling system uncertainty, performance specifications and principal gains, parametrization of controllers, loop shaping, and loop transfer recovery, and the H methodology.
 
Prerequisite:
ECE 620 or permission of instructor

ECE 721 Nonlinear Systems

Course description:
ECE 721 Nonlinear Systems (3:3:0). Nonlinear dynamical systems: Motivating examples. Analysis techniques including basic fixed point theory, implicit function theorem, dependence of trajectories on initial data and parameters. Computational simulation techniques. Stability theory, including Lyapunov's direct method. Nonlinear control systems: input-output stability, absolute stability, strong positive real transfer functions. Feedback linearization of nonlinear systems. Nonlinear canonical forms. Nonlinear decoupling. Sliding control. Applications to adaptive control, neural networks, and robotics.
 
Prerequisite:
ECE 521.

ECE 722/INFT 841 Kalman Filtering with Applications

Course description:
ECE 722 Kalman Filtering with Applications (3:3:0). Detailed treatment of Kalman Filtering Theory and its applications, including some aspects of stochastic control theory. Topics include state-space models with random inputs, optimum state estimation, filtering, prediction and smoothing of random signals with noisy measurements, all within the framework of Kalman filtering. Additional topics are nonlinear filtering problems, computational methods, and various applications such as Global Positioning System, tracking, system control, and others. Stochastic control problems include linear-quadratic-Gaussian problem and minimum variance control.
 
Prerequisite:
ECE 620 and 621 or equivalent, or permission of instructor

ECE 728 Random Processes in Electrical and Computer Engineering II

Course description:
ECE 728 Random Processes in Electrical and Computer Engineering II (3:3:0). Provides students with the background in random processes needed for pursuing graduate studies and research in the areas of statistical signal processing, communications, control and computer networks. It is recommended for advanced master's and doctoral students. The course covers probability spaces, random variables, Lebesque integration, conditional mean on a sigma-field, convergence of random variables, limit and ergotic theorems, Markov processes, and Martingales.
 
Prerequisite:
ECE 528

 

ECE 731 Digital Communications

Course description:
ECE 731 Digital Communications (3:3:0). Digital transmission of voice, video, and data signals. Signal digitization. Pulse code modulation (PCM), delta modulation (DM), low bit rate coding. Multiplexing, synchronization, intersymbol interference. Adaptive equalization. Frequency spreading, encryption. Transmission codes. Digital transmission using bandwidth compression techniques. Satellite communications.
 
Prerequisite:
ECE 630 or equivalent.

 

ECE 732 Mobile Communication Systems

Course description:
ECE 732 Mobile Communication Systems (3:3:0). This course provides an introduction to mobile communication system design and analysis. Topics include modeling of the mobile communication channel, signal set and receiver design for the mobile communication channel, access and mobility control, mobile network architectures, connection to the fixed network, signalling protocols for mobile communication systems. Examples of mobile communication systems will be presented, including the pan-European GSM system, the North American D-AMPS system, and Personal Communication Systems.
 
Prerequisites:
ECE 542 and 630.

ECE 733 Advanced Coding Theory

Course description:
ECE 733 Advanced Coding Theory (3:3:0). Theory and practice of advanced error-control coding techiques. Topics include trellis codes, multidimensional codes, Leech lattice, rotationaly invariant codes, spectral analysis and transform coding. Applications of contemporary coding theory in mobile communications, magnetic and optical recording, high-speed modem, and high-density data storage design are presented.
 
Prerequisites:
ECE 630 and 633.

ECE 734 Detection and Estimation Theory

Course description:
ECE 734 Detection and Estimation Theory (3:3:0). Introduction to detection and estimation theory with communication and radar/sonar applications. Topics include classical detection and estimation theory, detection of known signals in Gaussian noise, signal parameter estimation, linear waveform estimation, Wiener and Kalman filters.
 
Prerequisite:
ECE 528

ECE 735 Data Compression

Course description:
ECE 735 Data Compression (3:3:0). In depth study of lossy data compression techniques based on vector quantization with application to speech, image, and video signals. Vector quantization of both signal's waveform and commonly used parametric statistical models such as the autoregressive model are covered. Topics include scalar quantization, predictive quantization, transform coding, entropy coding, and variations on basic vector quantization such as constrained vector quantization and variable rate vector quantization.
 
Prerequisites:
ECE 528 or permission of instructor

ECE 737 Spread Spectrum Communications

Course description:
ECE 737 Spread Spectrum Communications (3:3:0). Introduction to spread spectrum communications. Topics include pseudonoise spread spectrum systems, feedback shift registers, jamming strategy, code acquisition, synchronization, tracking, Gold codes, burst-communication systems, time-hopping, frequency-hopping, and multiple access communications.
 
Prerequisite:
ECE 630.

ECE 738 Advanced Digital Signal Processing

Course description:
ECE 738 Advanced Digital Signal Processing (3:3:0). Theory and practice of advanced digital signal processing techniques. Topics include computationally efficient high speed algorithms for convolution, correlation, orthogonal transforms, multirate processing of digital signals, filter banks, multiresolution time-frequency and time scale analysis of one- and two- dimensional signals, and parallel signal processing.
 
Prerequisite:
ECE 638.

ECE 739 Satellite Communications

Course description:
ECE 739 Satellite Communications (3:3:0). Introduction to the theory and applications of modern satellite communications. Topics include satellite channel characterization, channel impairments and transmission degradation, link calculations, modulation, coding, multiple access, broadcasting, random access schemes, demand assignment, synchronization, satellite switching and onboard processing, integrated service digital satellite networks, and satellite transponder, ground stations, packet switching, optical satellite communications.
 
Prerequisite:
ECE 630 or permission of instructor.

ECE 741 Wireless Network

Course description:
ECE 741 Wireless Network (3:3:0). Theoretical foundation and practice in design of wireless networks. Emphasis is on mobility and teletraffic modeling aspects. Networking issues and states of the art performance evaluation methods of radio and system infrastructure applicable to wireless cellular and local networks are discussed. Topics include analysis of mobility, handoff, control traffic loading, resource allocation techniques, multi-access protocols, admission policy and call control, network infrastructure and multi-layer configuration, wireless LANs, and packet data systems.
Prerequisite:
ECE 642 or equivalent.

ECE 742 High-Speed Networks

Course description::
ECE 742 High Speed Networks (3:3:0). Theories for design, analysis and evaluation of high speed networks. Scalability, performance, and issues related to local area, metropolitan and wide area networks (LANs, MANs and WANs). Architecture, protocols, and applications of high speed networks. Performance modeling of high speed networks. Flow Control and Routing. Design issues for high speed switches, interfaces and controllers. All optical networks and their architectures. Examples of high speed computer networks and internetworking. Video, imaging and multimedia applications. Software issues, robustness and applications. Selected topics in current research areas in high speed computer networks.
 
Prerequisite:
ECE 642.
 

ECE 743 Multimedia Networking and Communications Software

Course description:
ECE 743 Multimedia Networking and Communications Software (3:3:0). Advanced modern networks and servicesrely ever increasingly on communication protocols and their implementation in software. Course provides principle methodologies, constraints, and technologies for advanced store-and-foreward or packet-switched communications nodes, networks and protocols as well as their emerging software-based applications. Specific examples include nest generation integrated Internet and Intranet, their underlying transport infrastructure over wired and wireless media, switching, routing, multi-point and real-time multimedia and web-based services, and quality of services aspects.
Prerequisite:
ECE 642 or equivalent.

ECE 744 Computer Vision and Expert Systems

Course description:
ECE 744 Computer Vision and Expert Systems (3:3:0). Brief review of image analysis; vision system architectures (human visual system, computer visual systems); vision system operations (focus and zooming); picture recognition languages; introduction to knowledge-based systems; learning algorithmic schemes; applications to text processing/analysis (as expert systems). Design project will be conceived, simulated, and tested by the students.
 
Prerequisite:
ECE 644.

ECE 745 ULSI Microelectronics

Course description:
ECE 745 ULSI Microelectronics (3:3:0). A study of Ultra-Large-Scale-Integration (more than one million devices in a single ship) by considering the limits of packing density, the modeling of the devices, and the circuit topology. Si MOS, Si bipolar, and GaAs field effect transistor `second order' effects and their impact on ULSI will be thoroughly discussed.
 
Prerequisites:
ECE 684.

ECE 746 Secure Telecommunication Systems

Course description:
Secure Telecommunication Systems (3:3:0). Discussion of integration of cryptographic algorithms with standard and emerging communication protocols. Issues related to implementation of security services in different kinds of telecommunication networks and at different layers of the network model. A study of selected cryptographic algorithms, including Advanced Encryption Standard and elliptic curve cryptosystems. Choice of a cryptographic algorithm depending on the type of the network and implementation medium. Analysis of various means of implementing cryptographic transformations, including smart cards, desktop computers, routers, cryptographic boards, and stand-alone devices. Criteria of choice between software and hardware implementations of cryptography.
 
Prerequisite:
Prerequisite: ECE 646 or permission of instructor.

ECE 749 Neural Networks for Control

Course description:
ECE 749 Neural Networks for Control (3:3:0). General neural network principles for control applications - supervised control, direct inverse control, neural adaptive control, backpropagation-trout time (BTT), adaptive critics, sensorimotor principles. Applications to adaptive control and system identification. Neural networks for motion control and path planning in robotics. Neural network process control. Aerospace control problems - neural network autopilot, neural network control of aircraft flare and touchdown. Neural network control of autonomous vehicles.
 
Prerequisites:
ECE 549 and ECE 620.

ECE 750 Intelligent Systems for Robots

Course description:
ECE 750 Intelligent Systems for Robots (3:3:0). In-depth study of the theoretical aspects of robotics. Emphasis on the integration of topics from control theory and machine intelligence. Topics include manipulator dynamics; optimal, self-organizing, and distributed control of manipulators; stability of legged locomotion; mathematical modeling of uncertain knowledge; knowledge-based control of robot systems.
 
Prerequisite:
ECE 650 or permission of instructor.

 

ECE 751 Information Theory

Course description:
ECE 751 Information Theory (3:3:0). Comprehensive study of information with emphasis on concepts of reliable, efficient communication systems. Measure of information, efficient representation of message sources, communication channels and their capacity. Coding for reliable transmission over noisy channels.
 
Prerequisite:
ECE 528 or permission of instructor.

 

ECE 752/INFT 885 Spectral Estimation

Course description:
ECE 752/INFT 885 Spectral Estimation  (3:3:0). In-depth study of spectral analysis and its application to statistical signal processing. Topics include classical Fourier analysis of deterministic signals and Wiener theory of spectral analysis for random process; spectral estimation using the Periodogram and the window approaches; maximum entropy spectral estimation and its relation to autoregressionmodeling; signal subspace approaches for frequency estimation; and the wavelet transorm and its relation to the short-time Fourier transform.
Prerequisite:
ECE 528. 

ECE 753/INFT 888 Distributed Estimation and Multisensor Tracking and Fusion

Course description:
ECE 753/INFT 888 Distributed Estimation and Multisensor Tracking and Fusion (3:3:0). Centralized and distributed estimation theory, hierarchical estimation, tracking and data association, multisensor multitarget tracking and fusion, distributed tracking in distributed sensor networks, tack-to-track association and fusion, and Bayeasian networks for fusion.
Prerequisite:
ECE 734/INFT 830 or SYST 611.

ECE 754/INFT 837 Optimum Array Processing

Course description:
ECE 754/INFT 837 Optimum Array Processing (3:3:0). Optimum antenna array processing for communications, radar, and sonar systems. Classical synthesis of linear and planar arrays. Characterization of space-time process. Spatial AR and ARMA models. Optimum waveform estimation. MVDR and MMSE estimators. LCMV beamformers. Generalized sidelobe cancelers. Robust agorithms. Diagonal loadnig.
Prerequisite:
ECE 734/INFT 830

ECE 755/INFT 937 Optimum Array Processing II

Course description:
ECE 755/INFT 937 Optimum Array Processing II (3:3:0). Adaptive beamformers. SMI and RLS estimators. Spatial smoothing and FB averaging. QR decomposition. LMS algorithm. Optimum detection. Optimum parameter estimation. UML and CML estimation. Cramer-Rao bounds. IQML. Weighted subspace fitting. Subspace algorithms : MUSIC, ESPIRIT. Root-versions. Beamspace algorithms. Sensitivity, robustness, and calibration.
Prerequisite:
ECE 754/INFT 837.

ECE 780/INFT 845 High-Frequency Electronics

Course description:
ECE 780 High-Frequency Electronics (3:3:0). Study of devices and circuits used in high-speed communications systems. Topics include microwave bipolar transistors, GaAs MESFETs, and high- speed integrated circuits; the design of linear and power amplifiers using S-parameter techniques and computer simulation.
 
Prerequisite:
ECE 563 and 684, or permission of instructor

ECE 798 Research Project

Course description:
ECE 798 Research Project (3:0:0). Research project to be chosen and completed under the guidance of a graduate faculty member, and which results in an acceptable technical report.
 
Prerequisite:
9 hours of graduate-level course work.

ECE 799 Master's Thesis

Course description:
ECE 799 Master's Thesis (1-6:0:0). Research project chosen and completed under the guidance of a graduate faculty member, and which results in a technical report acceptable to a three-faculty-member committee and an oral defense.
Prerequisite:
9 hours of graduate-level course work and permission of instructor.

ECE 836/INFT 836 Special Topics in Detection and Estimation Theory

Course description:
ECE 836/INFT 836 Special Topics in Detection and Estimation Theory  (3:3:0). Advanced topics in detection, estimation, and signal processing in areas of current research interest. Topics may be include spectral estimation, speech recognition, array processing, SAR, underwater acoustics, or higher order spectra.
 
Prerequisite:
ECE 734/INFT 830

ECE 847/INFT 847 Topics in Photonics 

Course description:
ECE 847/INFT 847 Topics in Photonics (3:3:0). In-depth discussion of specific topics in photonics. Topics include optical storage (disks, holographic, 3D), digital optical computing, integrated optics, photonic switching networks, and optoelectronic devices. May be repeated when covering diffrent topics.
Prerequisite:
ECE 565 or permission of instructor.

ECE 945/INFT 945 Advanced Topics in Microelectronics 

Course description:
ECE 945/INFT 945 Advanced Topics in Microelectronics (3:3:0). Current topics of advanced research in microelectronics. Topics include very high speed integrated circuits, monolithic microwave inegrated circuits, optoelectonic integrated circuits, novel device structures, and advanced in semiconductor device technology. May be repeated with a change in topic..
Prerequisite:
ECE 745.

CS 531 Theory of Computation (3:3:0).
Prerequisites: CS 330 and
MATH 125.
Theory of computability, Turing machines, computable functions, recursive functions, unsolvable decision problems, Godels Incompleteness Theorem, and computational complexity.

CS 540 Language Processors (3:3:0).
Prerequisites: MATH 125, CS 265, 310, and 330. Basic programming language processors such as assemblers, interpreters, and compilers. Topics include design and construction of language processors, formal syntactic definition methods, parsing techniques, and code generation techniques. Lab includes construction of language processors and experience with programming environments.

CS 571 Operating Systems (3:3:0).
Prerequisites: CS 310 and 365. Models of operating systems. Major functions including processes, memory management, I/O, interprocess communication, files, directories, shells, distributed systems, performance, and user interface.

CS 580 Introduction to Artificial Intelligence (3:3:0).
 Prerequisites: CS 310 and 330. Principles and methods for knowledge representation, reasoning, learning, problem solving, planning, heuristic search, and natural language processing and their application to building intelligent systems in a variety of domains. LISP, PROLOG, or an expert system programming language is used.

CS 583 Analysis of Algorithms (3:3:0). Prerequisites: CS 310, 330, and MATH 125. Topics include the analysis of sequential and parallel algorithmic strategies (such as greedy methods, divide and conquer strategies, dynamic programming, search and traversal techniques, approximation algorithms), the analysis of specific algorithms falling into these classes, NP-Hard and NP-Complete problems.

CS 619/SWSE 619 Software Construction (3:3:0).
 
See SWSE 619.

CS 620/SWSE 620 Software Requirements and Prototyping (3:3:0).
See SWSE 620.

CS 621/SWSE 621 Software Design (3:3:0).
See SWSE 621.

CS 623/SWSE 623 Formal Methods and Models in Software Engineering (3:3:0).
See SWSE 623.

CS 625/SWSE 625 Software Project Management (3:3:0).
 
See SWSE 625.

CS 627 Software Engineering Methods and Metrics (3:3:0).
Prerequisites: CS 540 and either CS/
SWSE 619 or CS 421.
Presentation of the software engineering principles of management, methodologies, and metrics. Topics of software engineering management, process, and quality are presented in an integrative approach, stressing software improvements through measurements of software products and processes.

CS 631/SWSE 631 Object-Oriented Software Development (3:3:0).
Prerequisite: CS/SWSE 619 or 540, or equivalent.
Principles of object-oriented analysis and design, development, and programming. Includes relationships between object-oriented design concepts and software engineering principles, techniques of object-oriented design and programming, and application of object-oriented techniques.

SWSE 632 User Interface Design and Development (3:3:0).
See SWSE 632.

CS 635 Foundations of Parallel Computation (3:3:0).
Prerequisites: CS 583 and 540 or 571, or equivalent. Survey of the field of parallel computation. Three major parallel computing paradigms (MIMD computation, SIMD computation, and data flow computation) are covered. Emphasis is placed on the interfaces between algorithm design and implementation, architecture, and software. Parallel algorithms and parallel programming languages are examined relative to the architecture of particular parallel computers.

CS 637/SWSE 637 Software Testing and Quality Assurance (3:3:0).
See SWSE 637.

CS 640 Advanced Compilers (3:3:0).
Prerequisites: CS 540 and 583 or equivalent. Examination of advanced compiler techniques such as code optimizations for sequential and parallel machines; compilers for logical, functional, or object oriented languages; and other selected topics in the current literature.

CS 650 Database Engineering (3:3:0).
Prerequisites: CS 540, 583, and 571. Data models for network, hierarchical, object-oriented, and relational management information systems. Covers development (including internal structures) of a database system.

CS 652 Computer Graphics (3:3:0).
Prerequisite: CS 583. Architecture of graphics input and display devices. Includes hardware interfaces; graphics software design concepts and techniques; basic algorithms for windowing, clipping, panning, and zooming; raster scan and random scan processing; data structures and graphics symbols; and hidden line removal algorithms and presentation of solid areas.

CS 656 Computer Communications and Networking (3:3:0).
Prerequisites: CS 571 and
STAT 344 or equivalent.
Techniques and systems for communication of data between computational devices and protocols of the seven-layer ISO reference model. Topics include the role of various media and software components, local and wide area network protocols, network design, performance and cost considerations, and emerging advanced commercial technologies. Emphasis is on the TCP/IP family of protocols.

CS 668 Computer Architecture Systems (3:3:0).
Prerequisite: CS 571 or 540 or equivalent. Examination of the principles and practices relating computer architecture to programming execution and efficiency. A new approach that stresses the performance and cost of architecture is presented. The principles of compiler and OS implications, instructions sets, basic processors, pipelines, and memory-hierarchy are examined. Specific topics may include RISC machines, cache memories, register usage, VAX architecture, and vector machines.

CS 671 Advanced Operating Systems (3:3:0). Prerequisite: CS 571 or permission of instructor. Advanced topics in the design and implementation of microkernel-based, object-oriented, and distributed operating systems. Specific topics include support for interprocess communication, the interaction between computer architecture and operating systems, distributed file systems, transactions, and distributed shared memory.

CS 672 Computer System Performance Evaluation (3:3:0).
Prerequisites: CS 571 and
MATH 351, or permission of instructor.
Theory and practice of analytical models of computer systems. Topics include queueing networks, single and multiple class mean-value analysis, models of centralized and client-server systems, software performance engineering, and web servers performance.

CS 673 Multimedia Computing and Systems (3:3:0).
Prerequisite: CS 571
. Focuses on technological and development environments involved in developing multimedia applications. Projects involve experience with multimedia authoring tools and simulations to assess performance.

CS 680 Natural Language Processing (3:3:0).
Prerequisites: CS 540 and 580. Explores the principles of the design of computer programs that respond appropriately to questions, commands, and statements expressed in human language, particularly English. Role of knowledge representation and linguistic theory. Students become familiar with current literature to implement a limited natural language processor.

CS 681 Designing Expert Systems (3:3:0).
Prerequisite: CS 580. Design, construction, and evaluation of software systems that solve problems generally deemed to require human expertise. Focuses on the study and use of relevant languages, environments, mathematics, and logic. Case studies of successful systems are examined. Programming projects include development of tools or small-scale systems.

CS 682 Computer Vision (3:3:0).
Prerequisite: CS 686.
Study of computational models of visual perception and their implementation on computer systems. Topics include early visual processing, edge detection, segmentation, intrinsic images, image modeling, representation of visual knowledge, and image understanding.

CS 683 Parallel Algorithms (3:3:0).
Prerequisite: CS 583; CS 635 recommended.
Examination of the design and analysis of parallel algorithms. Material focuses on algorithms for both theoretical and practical models of parallel computation. Algorithm design and analysis for the PRAM are considered, as well as for existing SIMD and MIMD type architectures. Topics include sorting, graph algorithms, numerical algorithms, and computational complexity.

CS 684 Graph Algorithms (3:3:0).
Prerequisite: CS 583. Data structures and analytical techniques for the study of graph algorithms. Data structures discussed include disjoint sets, heaps, and dynamic trees. Algorithms treated include minimum spanning trees, shortest path, maximum flow, and graph planarity.

CS 685/ECE 651/SYST 672 Intelligent Systems for Robots (3:3:0).
Prerequisite: CS 580; or
ECE 650; or SYST 611 or 555; or equivalent.
Review of recent developments in the area of intelligent autonomous systems. Applications of artificial intelligence, computer vision, and machine learning to robotics are studied. Topics include analysis and design of algorithms and architectures for planning, navigation, sensory data understanding, sensor fusion, spatial reasoning, motion control, knowledge acquisition, learning of concepts and procedures, self-organization, and adaptation to the environment.

CS 686 Image Processing and Applications (3:3:0).
 Prerequisites: CS 583 and either STAT 344 or MATH 351, or equivalent. Concepts and techniques used in image processing. Methods for image capture, transformation, enhancement, restoration, and encoding are discussed. Students complete projects involving naturally occurring images.

CS 687 Advanced Artificial Intelligence (3:3:0).
 
Prerequisite: CS 580. Exploration of foundational issues of artificial intelligence, such as the roles of knowledge and search, the formalization of knowledge and inference, and symbolic versus emergent approaches to intelligence. Advanced programming techniques for artificial intelligence and their relationship both to the foundational issues and to the most important application areas for artificial intelligence are studied. Major programming project required.

CS 688 Neural Network Principles (3:3:0).
 Prerequisite: CS 580 or equivalent. Study of neural network models, algorithms, and applications. Several connectionist and biologically based models are introduced, and their capabilities and limitations are discussed. Variety of application areas are presented. Network simulation project is required.

CS 689 Intelligent Tutoring Systems (3:3:0).
 Prerequisite: CS 580. Principles, design, and development of computer-based tutoring systems and learning environments, with emphasis on the application of techniques from artificial intelligence. Covers organizing and representing subject matter and expertise in forms structured for presentation and communication, diagnosing a learner's actions to obtain information that can usefully guide tutorial decision making about subject matter, generating problems, and learning about various forms of assistance. Case studies and evaluation strategies are discussed.

CS 697 Independent Reading and Research (1-3:0:0).
 Prerequisites: Graduate standing, completion of at least two core courses (CS 540, 571, 580, 583), and permission of instructor. In areas of importance but insufficient demand to justify a regular course, a student may undertake a course of study under the supervision of a consenting faculty member. Students normally submit a written statement of the content of the course and a tentative reading list as part of the request for approval to take the course. Literature review, project report, or other written product is normally required.

CS 699 Advanced Topics in Computer Science (3:3:0).
 Prerequisites: Completion of at least two core courses and permission of instructor. Special topics in computer science not occurring in the regular computer science sequence. May be repeated for credit when the subject is distinctly different.

CS 700 Quantitative Methods and Experimental Design in Computer Science (3:0:0).
Prerequisites: STAT 344, at least two 600 level courses in computer science, and doctoral status. Integrated treatment to the models and practices of experimental computer science. Topics include scientific methods applied to computing, work load characterization, forecasting of performance and quality metrics of systems, uses of analytic and simulation models, design of experiments, interpretation and presentation of experimental results, hypothesis testing, and statistical analyses of data. Involves one or more large-scale projects.

CS 706 Concurrent Software Systems (3:3:0).
 Prerequisites: CS 571 and 635 or 619 or equivalent. Study of issues related to the development of concurrent software systems. Topics include concurrent programming languages and constructs and the specification, design, verification, and validation of concurrent programs. Students are required to solve concurrent programming problems and to check their solutions by using verification, testing, and debugging tools.

CS 707 Distributed Software Systems (3:3:0).
 
Prerequisite: CS 706 or permission of instructor. Issues in the design and implementation of distributed applications. Topics covered include distributed programming using sockets as well as higher-level technologies such as remote procedure calls and distributed object middle ware technologies including Java RMI, CORBA, and DCOM.

CS 720/SWSE 720 Advanced Software Requirements (3:3:0).
See SWSE 720.

CS 721/SWSE 721 Advanced Software Design Methods (3:3:0).
 See SWSE 721.

CS 735 Concurrency (3:3:0).
Prerequisite: CS 635 or equivalent
. Description of the formal specification of concurrent systems and algorithms, using formal methodology based on the theory of communicating sequential processes. Emphasis is placed on using the Occam programming language to the implementation of formal specifications of concurrent systems.

CS 752 Interactive Graphics Software (3:3:0).
 
Prerequisites: CS 652 and 583. Study of interactive graphics programming, architecture of display devices, graphics systems functional capabilities, and implementation concepts and techniques. Extends basic raster techniques to device independent algorithms such as two-and-three dimensional viewing, clipping, and transformations. Raster/scan conversion techniques, hidden surface and edge removal algorithms, shading and texturing techniques, and color models are discussed. User dialogs and human factors are examined.

CS 755 Advanced Computer Networks (3:3:0).
 
Prerequisite: CS 656. Current and emerging issues in advanced computer networks and their applications. Topics include software systems associated with packet and cell switched networking architectures and protocols, high-performance LANs, scheduling and congestion control, mobile networking, multimedia applications, and the next generation of the Internet.

CS 756 Performance Analysis of Computer Networks (3:3:0).
Prerequisite: CS 656 or equivalent.
Analytical and simulation techniques for modeling and analysis of computer networks. Examines elementary queuing analysis; networks of queues; routing and flow controls; and applications to local and wide area networks, internets, and emerging networking technologies such as Asynchronous Transfer Mode.

CS 773 Real-Time Systems Design and Development (3:3:0).
Prerequisite: CS 656 or 671.
Real-time systems and the principles supporting their design and implementation. Emphasis is placed upon fundamental results from real-time scheduling theory and their relevance to computer system design. Topics include system design issues for real-time applications involving communication networks, operating systems, databases, and multimedia.

CS 777 Human-Computer Intelligent Interaction (3:3:0).
Prerequisite: CS 580 and CS 652 or CS 682 or permission of the instructor.
Current and emerging issues in human-computer intelligent interaction and human-centered systems and their applications. Topics include video processing, visualization, virtual environments, adaptation and tutoring, image and scene modeling, analysis and synthesis, face and gesture recognition, speech and natural language processing. Term project and topical review required.

CS 782 Machine Learning (3:3:0).
Prerequisite: CS 681, 687, or 688 or permission of instructor
. Survey of the field of machine learning that is concerned with developing intelligent adaptive systems that are able to improve through learning from input data or from their own problem-solving experience. Topics provide broad coverage of past and current developments in machine learning, including basic learning strategies and multi-strategy learning.

CS 785 Knowledge Acquisition and Problem Solving (3:3:0).
Prerequisite: CS 680, 681, or 687 or permission of instructor.
Principles and major methods of the basic stages of knowledge acquisition (systematic elicitation of expert knowledge, knowledge base refinement, and knowledge base optimization) in the context of general problem-solving methods. Case studies of successful knowledge acquisition and problem solving systems are presented. Projects include development or application of knowledge acquisition tools for knowledge-based systems.

CS 798 Project Seminar (3:3:0).
Prerequisite:18 credits applicable toward the M.S. in Computer Science.
Master's degree candidates undertake a project using the knowledge gained in the M.S. program. Topics are chosen in consultation with an advisor. Intended to meet the project or thesis requirement for the M.S. in Computer Science.

CS 799 Thesis (1-6:0:0).
Prerequisite:18 credits applicable toward the M.S. in Computer Science.
Original or expository work evaluated by a committee of three faculty members.

CSI 709 Topics in Computational Sciences and Informatics (3:3:0)
Prerequisite: Admission to Ph.D. program and permision of instructor. Selected topics in computational sciences and informatics not covered in fixed-content computational sciences and informatics courses. May be repeated for credit as needed.