Skip redundant pieces

700 Level EECS Courses

Here you will find all availble EECS courses listed by course number. The tabs above futher organize the courses by their course level. If there is a courses that you cannot find listed, or have questions about a course that are not answered by the courses description feel free to Contact Us.


EECS 700 Special Topics

1-5 credit hours

Courses on special topics of current interest in electrical engineering, computer engineering, or computer science, given as the need arises. May be repeated for additional credit.

Prerequisite(s): Variable

Back to top

EECS 701 Programming and Data Structures

3 credit hours

Introduction to programming and algorithm development, classes and objects, various control structures, modular programming, function and procedures, recursive function, data structures, abstract data types, arrays, dynamic memory allocation, sorting and searching strategies, linked lists, stacks, queues, trees, time and space complexities, elementary algorithm analysis. This course will not count toward any EECS degree.

Prerequisite(s): Prerequisite: Admitted to an EECS MS program.

Back to top

EECS 702 Computer Organization and Operating Systems

3 credit hours

Introduction to the structure of digital computer systems, layers of virtual machines, CPU, input-output peripherals, memory unit, digital information representation, assembly language programming, register machines, microprogramming, language processors; basic concepts of operating systems and system programming; processes and interprocess communication, memory management, virtual memory, program loading and linking, file and I/O subsystems; Unix operating system. This course will not count toward any EECS degree

Prerequisite(s): Prerequisite: EECS 701

Back to top

EECS 710 Information Security and Assurance

3 credit hours

Identifying critical information assets; information security, integrity, and availability; security risks and risk avoidance; security models; access control mechanisms; computer viruses, worms, Trojan horse and other malicious login; encryption, cryptography, and key management technologies; operating systems security; database security; network security; e-commerce security; security policies, management and auditing.

Prerequisite(s): Graduate standing in EECS

Back to top

EECS 711 Security Management and Audit

3 credit hours

Administration and management of security of information systems and networks, intrusion detection systems, vulnerability analysis, anomaly detection, computer forensics, auditing and data management, risk management, contingency planning and incident handling, security planning, e-business and commerce security, privacy, traceability and cyber-evidence, legal issues in computer security.

Prerequisite(s): EECS 710

Back to top

EECS 712 Network Security

3 credit hours

Introduction to the basic concepts, components, protocols, and software tools to achieve secure communication in a public network. The concept of encryption, integrity, authentication, security models, and the robustness analysis. Emphasis on the application level protocols and vulnerabilities: firewalls, viruses, worm attack, Trojan horses, password security, secure multicast, biometrics, VPNs, internet protocols such as SSL, IPSec, PGP, and SNMP. The policies for access control, user privacy, and trust establishment and abuse in open environments such as eBay.

Prerequisite(s): EECS 563 or 780

Back to top

EECS 713 High-Speed Digital Circuit Design

3 credit hours

Basic concepts and techniques in the design and analysis of high-frequency digital and analog circuits. Topics include: transmission lines, ground and power planes, layer stacking, substrate materials, terminations, vias, component issues, clock distribution, cross-talk, filtering and decoupling, shielding, signal launching.

Prerequisite(s): EECS 312 and EECS 420.

Back to top

EECS 716 Formal Language Theory

3 credit hours

Formal language generation by grammars, recognition by automata (finite and pushdown automata, Turing machines), and equivalence of these formulations; elementary containment and closure properties. Emphasis on context-free, deterministic context-free and regular languages.

Prerequisite(s): EECS 510 or equivalent.

Back to top

EECS 718 Graph Algorithms

3 credit hours

This course introduces students to computational graph theory and various graph algorithms and their complexities. Algorithms and applications covered will include those related to graph searching, connectivity and distance in graphs, graph isomorphism, spanning trees, shortest paths, matching, flows in network, independent and dominating sets, coloring and covering, and Traveling Salesman and Postman problems.

Prerequisite(s): EECS 560 or graduate standing with consent of instructor.

Back to top

EECS 720 Electromagnetics for Communications and Radar

3 credit hours

Topics in electromagnetics relevant to wireless communications, optics and fiberoptics, radar and remote sensing. Subjects covered included space waves, guided waves, radiation and antennas, scattering, electromagnetic properties of materials, and optics.

Prerequisite(s): EECS 420 or equivalent

Back to top

EECS 721 Antennas

3 credit hours

Gain, Pattern, and Impedance concepts for antennas. Linear, loop, helical, and aperture antennas (arrays, reflectors, and lenses). Cylindrical and biconical antenna theory.

Prerequisite(s): EECS 720

Back to top

EECS 723 Microwave Engineering

3-4 credit hours

Survey of microwave systems, techniques, and hardware. Guided-wave theory, microwave network theory, active and passive microwave components. The four-hour version of the course includes a lab.

Prerequisite(s): EECS 420

Back to top

EECS 725 Introduction to Radar Systems

3 credit hours

Basic radar principles and applications. Radar range equation. Pulsed and CW modes of operation for detection, ranging, and extracting Doppler information.

Prerequisite(s): EECS 360, EECS 420, and EECS 461. EECS 622 recommended

Back to top

EECS 728 Fiber-optic measurement and sensors

3 credit hours

The course will focus on fundamental theory and various methods and applications of fiber-optic measurements and sensors. Topics include: optical power and loss measurements, optical spectrum analysis, wavelength measurements, polarization measurements, dispersion measurements, PMD measurements, optical amplifier characterization, OTDR, optical components characterization and industrial applications of fiber-optic sensors.

Prerequisite(s): EECS 628 or equivalent.

Back to top

EECS 730 Introduction to Bioinformatics

3 credit hours

This course provides an introduction to bioinformatics. It covers computational tools and databases widely used in bioinformatics. The underlying algorithms of existing tools will be discussed. Topics include: molecular biology databases, sequence alignment, gene expression data analysis, protein structure and function, protein analysis, and proteomics.

Prerequisite(s): Data Structures class equivalent to EECS 560, and Introduction to Biology equivalent to BIOL 150, or consent of instructor.

Back to top

EECS 735 Automated Theorem Proving

3 credit hours

Computer-based theorem-proving methods for selected domains such as plane geometry, symbolic integral calculus, and propositional calculus are reviewed. Mechanical theorem-proving procedures for the first-order predicate calculus are studied in depth. Includes resolution, semantic resolution, hyper-resolution, linear resolution, and paramodulation. Applications of these procedures to areas such as proofs of program correctness, deductive question answering, problem solving, and program synthesis.

Prerequisite(s): EECS 649 and a knowledge of mathematical logic equivalent to that supplied by EECS 210. Infrequently offered. LEC

Back to top

EECS 737 Computational Genomics

3 credit hours

This course focuses on the computational analysis of genomes. Computational methods are studied in tandem with applied studies of genome structure, function, and evolution. Topics include chromatin structure and function, genome architecture and evolution, DNA composition analysis, and processes behind gene expression; methodologies covered include sequence analysis and modeling, dynamic programming, formal language and linguistic methods, Markov chains and optimization methods, information theory, and molecular modeling.

Prerequisite(s): EECS 730, or consent of instructor.

Back to top

EECS 738 Machine Learning

3 credit hours

“Machine learning is the study of computer algorithms that improve automatically through experience” (Tom Mitchell). This course introduces basic concepts and algorithms in machine learning. A variety of topics such as Bayesian decision theory, dimensionality reduction, clustering, neural networks, hidden Markov models, combining multiple learners, reinforcement learning, Bayesian learning etc. will be covered.

Prerequisite(s): Graduate standing in CS or CoE or consent of instructor.

Back to top

EECS 739 Scientific Parallel Computing

3 credit hours

This course is concerned with the application of parallel processing to problems in the natural sciences and engineering. State-of-the-art computing methodologies are studied along with contemporary applications. The course takes a performance-oriented applied approach, with attention to parallel algorithms, parallel system architecture, compilation issues, and system evaluation.

Prerequisite(s): Graduate standing in science or engineering (or consent of instructor) and experience with C, C++, or FORTRAN

Back to top

EECS 740 Image Processing

3 credit hours

The objective of this course is to give students a hands on introduction to the fundamentals of digital image/video processing. A wide variety of image/video processing applications will be discussed including: acquisition, enhancement, filtering, and restoration. Particular emphasis will be given to motion estimation techniques and image/video compression. Spatial domain and Fourier domain approaches will be used extensively.

Prerequisite(s): EECS 672 or EECS 744

Back to top

EECS 741 Computer Vision

3 credit hours

This course gives a hands-on introduction to the fundamentals of computer vision. Topics include: image formation, edge detection, image segmentation, line-drawing interpretation, shape from shading, texture analysis, stereo imaging, motion analysis, shape representation, object recognition.

Prerequisite(s): EECS 672 or EECS 744

Back to top

EECS 742 Digital Video for Multimedia Systems

3 credit hours

An introduction to digital video for multimedia systems. Topics include basics of digital video, capture and non-linear editing, video feature detection (temporal segmentation, motion estimation), content based video classification, video compression techniques and standards (MPEG-1,2,4,7), video streaming, and multimedia applications. Digital video tools and techniques will be utilized in several programming projects.

Prerequisite(s): EECS 740 or equivalent.

Back to top

EECS 743 Static Analysis

3 credit hours

This course presents an introduction to techniques for statically analyzing programs. Coverage includes theoretical analysis, definition and implementation of data flow analysis, control flow analysis, abstract interpretation, and type and effects systems. The course presents both the underlying definitions and pragmatic implementation of these systems.

Prerequisite(s): EECS 662 or EECS 665 or equivalent

Back to top

EECS 744 Digital Signal Processing I

3 credit hours

Discrete-time representation of signals and systems, z-transform properties, signal/system correlation, sampling theory, analysis of linear time-invariant systems, filter implementation, digital filter design, discrete Fourier transform, and the fast Fourier transform

Prerequisite(s): EECS 360

Back to top

EECS 745 Implementation of Networks

3 credit hours

Laboratory-focused implementation of networks. Topics include direct link networks (encoding, framing, error detection, reliable transmission, SONET, FDDI, network adapters, Ethernet, 802.11 wireless networks); packet and cell switching (ATM, switching hardware, bridges & extended LANs); internetworking (Internet concepts, IPv6, multicast, naming/DNS); end-to-end protocols (UDP, TCP, APIs and sockets, RPCs, performance); end-to-end data (presentation formatting, data compression, security); congestion control (queuing disciplines, TCP congestion control and congestion avoidance); high-speed networking (issues, services, experiences); voice over IP (peer-to-peer calling, call managers, call signaling, PBX and call attendant functionality).

Prerequisite(s): Computer networks and protocols and TCP/IP

Back to top

EECS 746 Database Systems

3 credit hours

Introduction to the concept of databases and their operations. Basic database concepts, architectures, and data storage structures and indexing. Though other architectures are discussed, focus is on relational databases and the SQL retrieval language. Normalization, functional dependencies, and multivalued dependencies also covered. Culminates in the design and implementation of a simple database with a web interface.

Prerequisite(s): EECS 448 or consent of instructor. Students cannot receive credit for both EECS 647 and EECS 746.

Back to top

EECS 747 Mobile Robotics

3 credit hours

Design, construction and programming of mobile robots. Topics include computational hardware, designing and prototyping, sensors, mechanics, motors, power, robot programming, robot design principles, and current research in mobile robotics.

Prerequisite(s): Knowledge of at least one modern programming language.

Back to top

EECS 749 Knowledge-Based Systems

3 credit hours

General concepts of intelligent problem solving, rule-based systems, distributed AI, reasoning under uncertainty, case-based reasoning, subsymbolic techniques.

Prerequisite(s): At least one class in Artificial Intelligence.

Back to top

EECS 750 Advanced Operating Systems

3 credit hours

This course builds on the foundation established by an introductory course in operating systems concepts (e.g. EECS 678). Some previously covered topics are revisited in far greater detail, including code review of relevant portions of the Linux kernel source code. Examples include: computation representation by processes, system calls, interrupt processing and interrupt concurrency, process execution scheduling, and concurrency control methods. Advanced topics, such as system performance analysis, time keeping, clock synchronization, virtualization, real - time implications for system design and scheduling, and device driver implementation are introduced for the first time. Approximately one- quarter to one- third of the class is devoted to reading, presenting and discussing conference and journal papers either illustrating classic breakthroughs in system architectures and methods or current research issues. Selection of the specific papers is done each semester, and students in the class are encouraged to suggest candidate topics and/or papers for consideration.

Prerequisite(s): An undergraduate course in operating systems fundamentals. For example, EECS 678 or equivalent.

Back to top

EECS 752 Concurrent Software Systems

3 credit hours

Introduction to design and implementation of concurrent (multi-threaded, parallel, or distributed) software systems. The course examines problems and solutions common to all concurrent software, including interference, deadlock, consensus, resource allocation, coordination, global predicate evaluation, ways of expressing concurrency, concurrent I/O, debugging, fault tolerance, and heterogeneity

Prerequisite(s): EECS 448 and EECS 678

Back to top

EECS 753 Embedded and Real Time Computer Systems

3 credit hours

This course will cover emerging and proposed techniques and issues in embedded and real time computer systems. Topics will include new paradigms, enabling technologies, and challenges resulting from emerging application domains

Prerequisite(s): EECS 645 and EECS 678

Back to top

EECS 755 Software Modeling and Analysis

3 credit hours

Modern techniques for modeling and analyzing software systems. Course coverage concentrates on pragmatic, formal modeling techniques that support predictive analysis. Topics include formal modeling, static analysis, and formal analysis using model checking and theorem proving systems.

Prerequisite(s): EECS 368 or equivalent.

Back to top

EECS 760 Implementation of Digital Communication Systems

3 credit hours

An introduction to building digital communication systems in discrete time, including lectures and integrated laboratory exercises. Topics covered include signal spaces, baseband modulation, bandpass modulation, phase-locked loops, carrier phase recovery, symbol timing recovery, and basic performance analysis.

Prerequisite(s): Prerequisites: EECS 360, or an equivalent undergraduate course in signals and systems; EECS 461, or an equivalent undergraduate course in probability.

Back to top

EECS 761 Advanced Programming Paradigms

3 credit hours

An investigation of alternative programming paradigms and their representative effect on programming expressiveness and style. Emphasis is on a comparative understanding of a spectrum of programming paradigms, with some facility in the use of at least one typical language representative of each paradigm studied. This course will review and investigate as appropriate imperative, functional, object-oriented, parallel, logical, and scripting programming paradigms, plus additional paradigms as relevant.

Prerequisite(s): EECS 662 or equivalent or consent of instructor.

Back to top

EECS 762 Programming Language Foundation I

3 credit hours

This course presents a basic introduction to the semantics of programming languages. The presentation begins with basic lambda calculus and mechanisms for evaluating lambda calculus terms. Types are introduced in the form of simply typed lambda calculus and techniques for type inference and defining type systems are presented. Finally, techniques for using lambda calculus to define, evaluate and type check common programming language constructs are presented.

Prerequisite(s): EECS 662 or equivalent.

Back to top

EECS 763 Introduction to Multiprocessor Systems on Chip (MPSoC)

3 credit hours

This course covers the latest trends in advanced computer architecture for multiprocessor systems on chip for embedded and real time systems. Topics covered include multicore architectures, modeling abstractions, run time systems, and Hw/Sw co-design techniques.

Prerequisite(s): EECS 645 and EECS 678 or equivalents

Back to top

EECS 764 Analysis of Algorithms

3 credit hours

Models of computations and performance measures; asymptotic analysis of algorithms; basic design paradigms including divide-and-conquer, dynamic programming, backtracking, branch-and-bound, greedy method and heuristics; design and analysis of approximation algorithms; lower bound theory; polynomial transformation and the theory of NP-completeness; additional topics may be selected from arithmetic complexity, graph algorithms, string matching, and other combinatorial problems.

Prerequisite(s): EECS 660 or equivalent

Back to top

EECS 766 Resource Sharing for Broadband Access Networks

3 credit hours

Connections between network customers and the network come in many forms, wireless data systems, e.g., IEEE 802.16, wireless cellular systems, e.g. 3G, coax cable networks, e.g., DOCSIS, fiber optic communications systems, e.g., EPON, copper twisted pair, e.g., DSL, and powerline communications systems. All of these systems use various resource sharing strategies. The resource sharing strategy is matched to the necessities of specific systems as well as their operating environments. There are commonalities between these strategies as well as differences. This course will look at resource sharing from a general perspective and then examine specific systems to underscore their commonalities and differences. Systems to be studied in detail include, DOSCIS, IEEE 802.16/Wi-Max, WCDMA, HSDPA/HSUPA, EV-DO, EPON, ZigBee/IEEE802.15.4, powerline networks. The use of cognitive radio communications technologies in future access networks will be introduced.

Prerequisite(s): EECS 461, and EECS 563 or EECS 780

Back to top

EECS 767 Information Retrieval

3 credit hours

The objective of this course is to give students a hands-on introduction to information retrieval systems. Classical textual information retrieval systems are studied, followed by presentation of current research in the area. Topics include: file structures, term-weighting schemes, text preprocessing, World Wide Web search engines, multimedia retrieval systems, artificial intelligence applications.

Prerequisite(s): EECS 647 or graduate standing

Back to top

EECS 773 Advanced Graphics

3 credit hours

Advanced topics in graphics and graphics systems. Topics at the state of the art typically selected from: photorealistic rendering; physically-based lighting models; ray tracing; radiosity; physically-based modeling and rendering; animation; general texture mapping techniques; point-based graphics; collaborative techniques; and others

Prerequisite(s): EECS 672 or permission of instructor.

Back to top

EECS 774 Geometric Modeling

3 credit hours

Introduction to the representation, manipulation, and analysis of geometric models of objects. Implicit and parametric representations of curves and surfaces, with an emphasis on parametric freeform curves and surfaces such as Bezier and Nonuniform Rational B-Splines (NURBS). Curve and surface design and rendering techniques. Introduction to solid modeling: representations and basic algorithms. Projects in C/C++ using OpenGL.

Prerequisite(s): EECS 672 or permission of instructor.

Back to top

EECS 775 Visualization

3 credit hours

Data representations, algorithms, and rendering techniques typically used in Visualization applications. The emphasis is on Scientific Visualization and generally includes topics such as contouring and volumetric rendering for scalar fields, glyph and stream (integral methods) for vector fields, and time animations. Multidimensional, multivariate (MDMV) visualization techniques; scattered data interpolation; perceptual issues

Prerequisite(s): General knowledge of 3D graphics programming or permission of instructor.

Back to top

EECS 780 Communication Networks

3 credit hours

Comprehensive in-depth coverage to communication networks with emphasis on the Internet and the PSTN (wired and wireless). Extensive examples of protocols and algorithms will be presented at all levels, including: client/server and peer-to-peer applications; session control; transport protocols, the end-to-end arguments and end-to-end congestion control; network architecture, forwarding, routing, signalling, addressing, and traffic management; quality of service, basic queuing (basic M/M/1 and Little's law) and multimedia applications; LAN architecture, link protocols, access networks and MAC algorithms; physical media characteristics and coding; network security and information assurance; network management. Students cannot receive credit for both EECS 563 and EECS 780.

Prerequisite(s): EECS 168 and EECS 461.

Back to top

EECS 781 Numerical Analysis I

3 credit hours

Finite and divided differences. Interpolation, numerical differentiation, and integration. Gaussian quadrature. Numerical integration of ordinary differential equations. Curve fitting. (Same as MATH 781).

Prerequisite(s): MATH 320 and knowledge of a programming language

Back to top

EECS 782 Numerical Analysis II

3 credit hours

Direct and interactive methods for solving systems of linear equations. Numerical solution of partial differential equations.Numerical determination of eigenvectors and eigenvalues. Solution of nonlinear equations. (Same as MATH 782).

Prerequisite(s): EECS 781

Back to top