Electrical Engineering and Computer Science (EECS)
EECS 1000 Introduction to Electrical Engineering
[3 credit hours]
Orientation to the University, college and departmental facilities, procedures and methodologies available to the student for their academic journey. Introduction to fundamental topics in electrical engineering, engineering design and problem solving.
Term Offered: Fall
EECS 1030 Introduction to Computer Science and Engineering
[3 credit hours]
Orientation to the University, college and departmental facilities, procedures and methodologies available to the student for their academic journey. Introduction to Computer Science and Engineering, with an emphasis on the fundamentals of computer programming and problem solving.
Term Offered: Spring, Summer, Fall
EECS 1100 Digital Logic Design
[4 credit hours]
Number representation and Boolean Algebra. Combinational circuit analysis and design. K-map and tabulation methods. Multiplexers, decoders, adders/subtracters and PLD devices. Sequential circuit analysis and design. Registers, counters and recognizers.
Term Offered: Spring, Fall
EECS 1500 Introduction to Programming
[0-3 credit hours]
Covers the concept and properties of an algorithm, analysis and decomposition of computational problems, use of modern programming practices. Introduction to arrays and classes. Uses the C++ language.
Term Offered: Spring, Fall
EECS 1510 Introduction To Object Oriented Programming
[4 credit hours]
Introduces the basics of programming using the Java language. Covers number types, objects, methods, control structures, vectors, files, and inheritance. Utilizes the Java platform to develop GUI interfaces.
Prerequisites: EECS 1030 with a minimum grade of C-
Term Offered: Spring, Fall
EECS 2000 EECS Professional Development
[1 credit hour]
Preparation for entry to the professions of Electrical Engineering and Computer Science and Engineering, including ethics and social responsibilities, employment practices, continuing education and professional registration.
Term Offered: Spring, Fall
EECS 2110 Computer Architecture and Organization
[3 credit hours]
Fundamentals of computer architecture, computer arithmetic, memory systems, interfacing and communication, device subsystems, processor design, cpu organization, assembly programming, performance, distributed models and multiprocessing.
Prerequisites: EECS 1100 with a minimum grade of D- and (EECS 1500 with a minimum grade of D- or EECS 1510 with a minimum grade of D-)
Term Offered: Spring, Summer
EECS 2300 Electric Circuits
[0-4 credit hours]
An introduction to electrical circuit components and laws, including ideal op-amps, DC circuit analysis, AC circuit analysis, transient analysis of RL and RC circuits and computer-aided circuit analysis.
Prerequisites: PHYS 2140 (may be taken concurrently) with a minimum grade of D- and PHYS 2145 (may be taken concurrently) with a minimum grade of D-
Term Offered: Spring, Summer, Fall
EECS 2340 Electric Circuits For Nonmajors
[3 credit hours]
For students not majoring in EECS. An introduction to electrical circuit components and laws, resistive circuit analysis, AC circuit analysis, phasers, three-phase circuits and computer-aided circuit analysis.
Prerequisites: PHYS 2140 with a minimum grade of D- and PHYS 2145 with a minimum grade of D-
Term Offered: Spring, Summer, Fall
EECS 2500 Linear Data Structures
[4 credit hours]
This course looks at stacks, queues, and lists as well as the order of algorithms used to access and modify these structures. In addition recursion, hashing, sorting, and set representation are examined in depth.
Prerequisites: EECS 1510 with a minimum grade of C-
Term Offered: Spring, Fall
EECS 2510 Non-Linear Data Structures
[4 credit hours]
The data structures introduced in EECS 2500 are extended to include trees (binary, balanced, and n-ary), graphs, and advanced sorting techniques. In addition, the C++ language is used as the main vehicle and is introduced in the couse. Students are expected to have a strong background in Java prior to this course.
Prerequisites: EECS 2500 with a minimum grade of C- and EECS 2520 (may be taken concurrently) with a minimum grade of C-
Term Offered: Spring, Summer, Fall
EECS 2520 Discrete Structures
[3 credit hours]
An introduction to the discrete structures used in computer science to develop software including proof techniques, Boolean logic, graphs, trees, recurrence relations, functions, combinatorics, and number theory.
Prerequisites: PHIL 1010 with a minimum grade of D- and EECS 1510 with a minimum grade of C-
Term Offered: Spring, Summer
EECS 3100 Embedded Systems
[4 credit hours]
Microcontroller interfacing, assembly and C language programming for embedded systems, timer, input/output synchronization; analog to digital conversion, digital to analog conversion, interrupts, and embedded system debugging techniques.
Prerequisites: EECS 2110 with a minimum grade of D- and EECS 3210 with a minimum grade of D- and EECS 3400 with a minimum grade of D-
Term Offered: Spring, Summer, Fall
EECS 3150 Data Communications
[3 credit hours]
Analog and digital data transmission, transmission media, Modulation techniques. Data encoding, asynchronous and synchronous transmissions, USART, RS232-C, RS-449 standards. Data link configuration and control, error control, multiplexing and demultiplexing.
Prerequisites: EECS 3210 with a minimum grade of D- or (EECS 2110 with a minimum grade of D- and MATH 2600 with a minimum grade of D-)
Term Offered: Summer, Fall
EECS 3210 Signals and Systems
[3 credit hours]
Signal and system representation. Convolution and impulse response. Fourier series, Fourier transform and Laplace transform. Discrete-time systems and Z-transforms. Computer simulation using MATLAB.
Prerequisites: EECS 2300 with a minimum grade of D- and (EECS 1500 with a minimum grade of D- or EECS 1510 with a minimum grade of D-) and (MATH 1890 with a minimum grade of D- or MATH 2890 with a minimum grade of D-) and (MATH 3860 with a minimum grade of D- or MATH 2860 with a minimum grade of D- or MATH 3820 with a minimum grade of D-)
Term Offered: Spring, Fall
EECS 3220 Electric Circuits II
[3 credit hours]
Advanced topics including three-phase systems, magnetically-coupled systems, resonance and second-order systems, Laplace transform circuit analysis, Fourier series for periodic waveforms and applications to electric circuits, ideal filters, system modeling and two-port networks.
Prerequisites: EECS 2300 with a minimum grade of D-
Corequisites: EECS 3210
Term Offered: Spring, Fall
EECS 3300 Probabilistic Methods In Engineering
[3 credit hours]
Techniques for modeling and analysis of random phenomena in EECS, including communication, control and computer systems. Distribution, density and characteristic functions. Computer generation. Functions of random variables.
Prerequisites: EECS 3210 with a minimum grade of D-
Term Offered: Spring
EECS 3400 Electronics I
[0-4 credit hours]
Large-signal and incremental characteristics of the pn diode, BJT, MOSFET and JFET. Large- signal analysis and computer simulation of devices and digital circuits. Logic gate implementation. Laboratory experiments and projects.
Prerequisites: EECS 2300 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 3420 Electronics II
[3 credit hours]
Analog transistor, diode and integrated circuit analysis and design. Incremental analysis techniques, frequency response and feedback techniques.
Prerequisites: (EECS 3210 with a minimum grade of D- and EECS 3400 with a minimum grade of D-)
Term Offered: Summer, Fall
EECS 3440 Electronics Laboratory
[1 credit hour]
Laboratory experiments and projects in the testing and design of analog and mixed-signal electronic circuits.
Prerequisites: EECS 3420 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 3460 Electrical Energy Conversion
[3 credit hours]
Traditional and renewable electrical energy sources, principles of electromechanical energy conversion, magnetic circuits and transformers, steady state performance of synchronous machines, dc machines, single phase and three phase induction motors.
Prerequisites: EECS 3710 (may be taken concurrently) with a minimum grade of D-
Term Offered: Summer, Fall
EECS 3480 Energy Conversion Laboratory
[1 credit hour]
Laboratory studies of power transformers, synchronous machines, DC machines, single and three phase induction motors.
Prerequisites: EECS 3460 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 3540 Operating Systems And Systems Programming
[3 credit hours]
Examines the external and internal characteristics of computer operating systems and related software. Details of at least one operating system and comparison with other operating systems. An introduction to systems level programming.
Prerequisites: EECS 2110 with a minimum grade of D- and EECS 2510 with a minimum grade of D-
Term Offered: Spring
EECS 3550 Software Engineering
[3 credit hours]
An introduction to the Software Engineering process. Includes: the software lifecycle, user requirements, human-computer interaction, functional specification, software design, software tools, testing and modification. A major term project is assigned.
Prerequisites: EECS 2510 with a minimum grade of D- and (ENGL 2950 with a minimum grade of D- or ENGL 2960 with a minimum grade of D- or HON 1020 with a minimum grade of D- or ENGL 1130 with a minimum grade of D-)
Term Offered: Spring
EECS 3560 Programming Languages and Paradigms
[3 credit hours]
Primary constructs of contemporary programming languages, four major programming paradigms (imperative, functional, logical, and object-oriented), representative programming languages of these paradigms and their usages.
Prerequisites: EECS 2510 with a minimum grade of C-
Term Offered: Spring, Summer, Fall
EECS 3710 Electromagnetics I
[3 credit hours]
The nature of electromagnetism, Complex numbers, Transmission lines, Smith chart, Impedance matching, Vector analysis, Coordinate transformations, Electrostatics, Electrical propeties of materials, Boundary conditions, Magnetostatics, Magnetic properties of materials, Boundary conditions.
Prerequisites: EECS 2300 with a minimum grade of D- and PHYS 2140 with a minimum grade of D- and PHYS 2145 with a minimum grade of D- and MATH 2860 with a minimum grade of D- or MATH 3860 with a minimum grade of D- or MATH 3820 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 3720 Electromagnetics II
[3 credit hours]
Maxwell's equations, Boundary conditions for electromagnetics, Plane-wave propagation in lossless and lossy media, Reflection, Transmision, Waveguides, Cavity resonators, Radiation, Antenna radiation characteristics, Antennas, Satellite communication systems, Introduction to CAD tools.
Prerequisites: EECS 3710 with a minimum grade of D-
Term Offered: Spring
EECS 3940 Co-Op Experience
[1 credit hour]
Approved co-op work experience. Course may be repeated.
Prerequisites: EECS 2000 with a minimum grade of D-
Term Offered: Spring, Summer, Fall
EECS 3950 Co-Op Experience
[1 credit hour]
Approved co-op work experience beyond third required co-op experience. Course may be repeated.
Prerequisites: EECS 3940 with a minimum grade of D-
Term Offered: Spring, Summer, Fall
EECS 4010 Senior Design Project I
[1 credit hour]
Student teams select and research a design project and propose a design. Topics covered include entrepreneurship, business plan, technical communications, design process, design teams, standards, ethics, safety and environment, and intellectual property. A fully developed senior design project proposal is required.
Prerequisites: EECS 3100 with a minimum grade of D- or EECS 3420 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4020 Senior Design Project II
[3 credit hours]
Student teams implement, test and evaluate a design previously proposed in EECS 4010. Written reports on progress and final project are required. Preliminary design and critical design reviews may be performed. Oral presentation and senior design exposition participation are needed.
Prerequisites: EECS 4010 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4050 VLSI and FPGA System Design & Applications
[3 credit hours]
This course will cover the basic fundamentals of Very Large Scale Integrated (VLSI) systems and Field Programmable Gate Arrays (FPGAs). Topics include: VHDL, CAD Tools, CMOS VLSI Design including design of Adders and Multipliers, FPGA Architecture, Interconnect Delay, Memory Structures, Timing and Clocking, Design for Performance , Custom IC Design including ASICs, Floor Planning, Placement and Routing, and Testing of VLSI circuits and FPGAs
Prerequisites: EECS 2110 with a minimum grade of C-
Term Offered: Fall
EECS 4100 Theory of Computation
[3 credit hours]
Examines formal models of automata and languages. Finite-state automata, regular languages, pushdown automata, context-free languages, Turing machines, decidability, reducibility, and P vs NP complexity classes.
Prerequisites: EECS 2510 with a minimum grade of D- and EECS 2520 with a minimum grade of D-
Term Offered: Spring
EECS 4120 Introduction to Fuzzy Systems and Applications
[3 credit hours]
[3 hours] Introduction to Fuzzy Rule Based Intelligent Systems. Basic Concepts of Fuzzy logic, Fuzzy Sets, Fuzzy Arithmetic, Fuzzy Relations, Fuzzy Graphs, Approximate Reasoning and Fuzzy Implications. Applications in Real World Domains. Prerequisite: EECS 2110.
Prerequisites: EECS 2110 with a minimum grade of D-
EECS 4180 Computer Networks
[3 credit hours]
ISO/OSI layer models of computer networks. Review of the first two layers. Discussion of network, transport, session, presentation and application layers. Study of LANs and standards. Internetworking, routers and bridges.
Prerequisites: EECS 3150 with a minimum grade of D- or EECS 2110 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4200 Feedback Control Systems
[3 credit hours]
Feedback methods for the control of dynamic systems. Topics include characteristics and performance of feedback systems, state variable analysis, stability, root locus and frequency response methods and computer simulation.
Prerequisites: EECS 3220 with a minimum grade of D-
Term Offered: Spring
EECS 4220 Programmable Logic Controllers
[3 credit hours]
An introduction to programmable logic controllers (PLCs), process control algorithms, interfacing of sensors and other I/O devices, simulation and networking.
Prerequisites: (EECS 1100 with a minimum grade of D- and EECS 3210 with a minimum grade of D-)
Term Offered: Spring, Fall
EECS 4240 Power Systems Operation
[3 credit hours]
Single line diagrams and per unit calculations, network matrices and Y-bus, load flow techniques, large system loss formula, real and reactive power dispatch, power system relays and protection.
Prerequisites: EECS 3460 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4260 Control Systems Design
[3 credit hours]
A general study of computer-aided design of control systems. Topics include: stability, compensation, pole placement, nonlinear systems and digital systems.
Prerequisites: EECS 4200 with a minimum grade of D-
Term Offered: Fall
EECS 4330 Image Analysis And Computer Vision
[3 credit hours]
Imaging geometry, image filtering, segmentation techniques, image representation and description, stereo vision and depth measurements, texture analysis, dynamic vision and motion analysis, matching and recognition.
Prerequisites: EECS 3300 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4360 Communication Systems
[3 credit hours]
Fourier transform applications in signal analysis and communication. Signals spectra, filtering, AM and FM modulation, noise and optimum receiver, sampling theorem, multiplexing, PCM, introduction to digital modulators and demodulators.
Prerequisites: EECS 3300 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4370 Information Theory And Coding
[3 credit hours]
Coding concepts, Huffman code, entropy analysis, channel and mutual information, channel capacity and Shannon's theorem, algebraic coding theory and application to blockcode and cyclic code, introduction to convolutional code.
Prerequisites: EECS 3300 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4380 Digital Signal Processing
[3 credit hours]
Discrete Fourier Transform (DFT), discrete convolution and correlation, Fast Fourier Transform (FFT) and its applications, design of IIR and FIR digital filters, multirate/channel digital systems, decimation and interpolation.
Prerequisites: EECS 3210 with a minimum grade of D-
Term Offered: Spring
EECS 4390 Wireless And Mobile Networks
[3 credit hours]
Mobile radio propagation; the cellular concept; multiple radio access; multiple division techniques; channel allocation; mobile communication systems; existing wireless systems; network protocols; AD HOC and sensor networks; wireless LANS and PANS; recent advances.
Prerequisites: (EECS 3210 with a minimum grade of D- and EECS 3300 with a minimum grade of D-) or (EECS 3210 with a minimum grade of D- and MIME 4000 with a minimum grade of D-)
Term Offered: Spring, Fall
EECS 4410 Electro-Optics
[3 credit hours]
Introduction to laser physics, optics, optical waveguides, optical communication systems and electro-optics. Design of light processing and communication systems will be considered with emphasis on optics and optical communication.
Prerequisites: EECS 3710 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4460 Power Systems Management
[3 credit hours]
An advanced study of the management and operation of today's power system. Included are historical developments, utility and operational costs and economics, power generation alternatives, fuel alternatives, renewable applications, transmission and distribution practices, and a discussion of current power system issues, both in the U.S. and abroad.
Prerequisites: EECS 3220 with a minimum grade of D-
Term Offered: Spring, Summer, Fall
EECS 4480 Power Electronics
[3 credit hours]
Electronic power switching circuits. Half-wave and full-wave rectification. Characteristics of wide bandgap semiconductors. Analysis and design of inverters (dc-ac converters). Isolated and non-isolated dc-dc converters.
Prerequisites: EECS 3420 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4500 Programming for the World Wide Web
[3 credit hours]
Fundamental concepts and programming languages for constructing contempoary websites. Differences and similarities between procedural, object-oriented, and scripting languages. Topics include HTML, Javascript, CSS, XML, Ajax, PHP, ASP.net, Three.js, and related technologies, as well as their impact on the programming process.
Prerequisites: EECS 2510 with a minimum grade of D- and EECS 4100 with a minimum grade of D-
Term Offered: Spring
EECS 4520 Advanced Systems Programming
[4 credit hours]
This course examines pertinent concepts of systems programming. Topics covered include: synchronization, distributed programming models, kernel design, peripheral handling, file systems and security history and methods.
Term Offered: Spring, Fall
EECS 4530 Computer Graphics I
[4 credit hours]
An introduction to typical computer graphics systems and their operation. Interactive techniques will be introduced as well as representations and projections of three-dimensional images. Exercises using graphics equipment are assigned.
Term Offered: Spring, Fall
EECS 4560 Database Management Systems
[3 credit hours]
Introduction to Database Systems, Data Modeling, Entity-Relationship Diagrams, The Relational Model, SQL, Relational Algebra, Relational Calculus, Normal Forms (1NF, 2NF, 3NF, BCNF, 4NF, PJNF/5NF), Candidate keys, superkeys, schema decomposition, Functional dependency, Entity and Referential Integrity.
Prerequisites: EECS 2510 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4580 Human Computer Interface Design
[3 credit hours]
[3 hours] The design of human-computer interfaces and their importance to human-computer interaction. Human engineering, implementation techniques, prototyping, and current and future research areas. Prerequisite: EECS 3550
Prerequisites: EECS 3350 with a minimum grade of D-
Term Offered: Spring
EECS 4590 Algorithms
[3 credit hours]
Techniques for devising efficient computer algorithms. Topics include: divide-and-conquer techniques, dynamic programming, linear programming, graph algorithms, greedy algorithms, NP and P complexity classes, and approximation algorithms for NP complete problems.
Prerequisites: EECS 2510 with a minimum grade of D and EECS 4100 with a minimum grade of D-
EECS 4600 Solid State Devices
[0-4 credit hours]
Theory and operation of physical electronic devices. Electrical transport in metals, semiconductors and models of BJT's and FET's. Optoelectronic devices and integrated circuits. Laboratory includes hands-on experimentation with basic semiconductor fabrication processes.
Prerequisites: EECS 3400 with a minimum grade of D-
Term Offered: Fall
EECS 4610 Digital Vlsi Design I: Basic Subsystems
[4 credit hours]
CMOS process technologies, CMOS logic families, custom and semi-custom design. Subsystem design of adders, counters and multipliers. System design methods and VLSI design tools.
Prerequisites: EECS 3400 with a minimum grade of D-
EECS 4640 Inside Cryptography
[3 credit hours]
Examines the inner workings of several cryptographic algorithms, including the discrete math behind them. Introduces operations in a Galois Field, and covers some Prime Number Theory. Symmetric algorithms include Feistel (DES) and non-Feistel (AES) designs; Asymmetric algorithms include Merkle-Hellman and RSA. Block and stream modes are explored, as are cryptographic hash functions, and ECB and Chained modes of encryption.
Prerequisites: EECS 2520 with a minimum grade of D- and EECS 3100 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4720 Fundamentals of Cyber Security
[3 credit hours]
This course introduces cybersecurity concepts and their relevance to national security, businesses, society, and individuals. Concepts that will be discussed include terminologies, blockchain, cryptocurrency, maths/statistics in the domain, review of various cybersecurity domains, forensics, and methods/practices to secure systems. Additional real-world security problems will be introduced through hands-on experiments.
Prerequisites: EECS 2110 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4740 Artificial Intelligence
[3 credit hours]
This course explores the topic of intelligent software agents with a emphasis on hands-on design of adaptive problem-solving agents for environments of increasing complexity ranging from single-agent computer games to complex real-world mult-agent environments.
Prerequisites: EECS 2510 with a minimum grade of D-
Term Offered: Spring, Fall
EECS 4750 Machine Learning
[3 credit hours]
This course emphasizes learning algorithms and theory including concept, decision tree, neural network, comprtational, Bayesian, evolutionary, and reinforcement learning.
Prerequisites: (MIME 4000 with a minimum grade of D- and MATH 2890 with a minimum grade of D- and EECS 2110 with a minimum grade of D-)
Term Offered: Spring, Fall
EECS 4760 Computer Security
[3 credit hours]
Foundational concepts in Computer Security: The CIA Triad, Authentication, Access Control, Least Privilege, Complete Mediation, Economy of Mechanism, Reference Monitors, Defensive Programming, Threats and Attacks, Network Security, Introduction to Cryptography, Database Security.
Prerequisites: EECS 2110 with a minimum grade of D- and EECS 3540 with a minimum grade of D-
Term Offered: Fall
EECS 4790 Network Security
[4 credit hours]
Theory and practice of network security. Topics include firewalls, Windows, UNIX and TCP/IP network security. Security auditing, attacks, viruses, intrusion detection and threat analysis will also be covered.
Prerequisites: EECS 4720 with a minimum grade of D- or EECS 5720 with a minimum grade of C
Term Offered: Spring
EECS 4800 Assured and Trusted Digital Microelectronics
[3 credit hours]
This course will cover the following topics: Assurance and Trust, VHDL, Hardware Security and Trust for Integrated Circuits, Physical Unclonable Functions (PUFs), FPGA Security and Testing, Hardware Obfuscation, Counterfeit Chip Detection, Hardware Trojans, Side Channel Attacks, Hardware Cryptography, Block Chain Technology for IC Supply Chain Protection
Prerequisites: EECS 3100 with a minimum grade of C-
Term Offered: Spring
EECS 4980 Special Topics In EECS
[1-4 credit hours]
Pilot offerings of new courses involving emerging topics of interest are introduced using this number. One credit per lecture/recitation hour and/or 2.5 lab hours per week.
Term Offered: Spring, Summer, Fall
EECS 4990 Independent Study In Eecs
[1-4 credit hours]
Selected topics in electrical engineering or computer science and engineering. The instructor will specify the scope of the investigation and will meet regularly with the student(s). The study is expected to require an average of 3 hours student effort per week per credit.
Term Offered: Spring, Summer, Fall