in characterizing materials for MEMS applications. The laboratory contains a PC-based apparatus for load-deflection and burst testing of micromachined membranes, a custom-built test chamber for evaluation and reliability testing of MEMS-based pressure transducers and other membrane-based devices, a probe station for electrical characterization of micro-devices, a fume hood configured for wet chemical etching of Si, polymers, and a wide variety of metals, tooling for electroplating, an optical reflectometer, and a supercritical-point dryer for release of surface micromachined devices. The lab also has a PC with layout and finite element modeling software for device design, fabrication process design and analysis of testing data.


Process Control Laboratory
This laboratory contains process control pilot plants and computerized hardware for data acquisition and process control that is used for demonstrations, teaching and for research. This laboratory also has access to steam and compressed air for use in the pilot processes that include systems for flow and temperature control, level and temperature control, pH control, and pressure control plants.


Dynamics and Control Laboratory
This laboratory contains data acquisition and control devices, PLCs, electromechanical systems, and mechanical, pneumatic, and electrical laboratory experiments for demonstrations, teaching and research. Particular systems include: AC/DC servo systems, multi-degree of freedom robotic systems, rectilinear and torsional multi-degree of freedom vibration systems, inverted pendulum, magnetic levitation system, and PLC-controlled elevator system, distributed train layout for signaling and control, and model crane system.


Undergraduate Programs


The EECS department engineering offers accredited programs leading to B.S. degrees in


(a) Electrical Engineering;
(b) Systems and Control Engineering;
(c) Computer Engineering; and
(d) Computer Science.


These programs provide students with a strong background in the fundamentals of mathematics, science, and engineering. Students can use their technical and open electives to pursue concentrations in bioelectrical engineering, complex systems, automation and control, digital systems design, embedded systems, micro/nano systems, robotics and intelligent systems, signal processing and communications, and software engineering. In addition to an excellent technical education, all students in the department are exposed to societal issues, ethics, professionalism, and have the opportunity to develop leadership and creativity skills.


All Bachelor of Science engineering degree programs in the department are accredited by the Engineering Accreditation Commission (EAC) of ABET, Inc., 111 Market Place, Suite 1050, Baltimore, MD 21202-4012 – telephone: 410-347-7700. The Computer Science Bachelor of Science degree program is accredited by the Computing Accreditation Commission (CAC) of ABET, Inc.


ELECTRICAL ENGINEERING


The Bachelor of Science program in electrical engineering provides our students with a broad foundation in electrical engineering through combined classroom and laboratory work, and prepares our students for entering the profession of electrical engineering, as well as for further study at the graduate level.


The educational mission of the electrical engineering program is to graduate students who have fundamental technical knowledge of their profession and the requisite technical breadth and communications skills to become leaders in creating the new techniques and technologies that will advance the general field of electrical engineering.


Core courses provide our students with a strong background in signals and systems, computers, electronics (both analog and digital), and semiconductor devices. Students are required to develop depth in at least one of the following technical areas: electromagnetics, signals and systems, solid state, computer hardware, computer software, control, and circuits. Each electrical engineering student must complete the following requirements.


Breadth Requirements

Depth Requirement
Each student must show a depth of competence in one technical area by taking at least three courses from one of the following seven areas. This depth requirement may be met using a combination of the above core courses and a selection of open and technical electives.


Area I: Signals & Systems

AREA II: Computer Software

Area III: Solid State

Area IV: Control

Area V: Circuits

Area VI: Computer Hardware

Statistics Requirement

Design Requirement

In consultation with a faculty advisor, a student completes the program by selecting technical and open elective courses that provide in-depth training in one or more of a spectrum of specialties such as digital and microprocessor-based control, communications and electronics, solid state electronics, and integrated circuit design and fabrication. With the approval of the advisor a students may emphasize other specialties by selecting elective courses from other programs or departments.


Many courses have integral or associated laboratories in which students gain “hands-on” experience with electrical engineering principles and instrumentation. Students have ready access to the teaching laboratory facilities and are encouraged to use them during nonscheduled hours in addition to the regularly scheduled laboratory sessions. Opportunities also exist for undergraduate student participation in the wide spectrum of research projects being conducted in the department.


Minor in Electrical Engineering


Students enrolled in degree programs in other engineering departments can have a minor specialization by completing the following courses:

Minor in Electronics


The department also offers a minor in electronics for students in the College of Arts and Science. This program requires the completion of 31 credit hours, of which 10 credit hours may be used to satisfy portions of the students’ skills and distribution requirements. The following courses are required for the electronics minor:

Cooperative Education Program


There are many excellent Cooperative Education (CO-OP) opportunities for electrical engineering majors. A CO-OP student does two CO-OP assignments in industry or government. The length of each assignment is a semester plus a summer which is enough time for a student to complete a significant engineering project. The CO-OP program takes five years to complete because the student is typically gone from campus for two semesters.

 

B.S./M.S. Program


The department encourages highly motivated and qualified students to apply for admission to the five-year B.S./M.S. Program in the junior year. This integrated program, which permits substitution of M.S. thesis work for the senior design project, provides a high level of fundamental training and in-depth advanced training in the student’s selected specialty. It also offers the opportunity to complete both the Bachelor of Science in Engineering and Master of Science degrees within five years.

 

System and Control Engineering


The Bachelor of Science program in systems and control engineering provides our students with the basic concepts, analytical tools, and engineering methods which are needed in analyzing and designing complex technological and non-technological systems. Problems relating to modeling, decision-making, control, and optimization are studied. Some examples of systems problems which are studied include: modeling and analysis of complex energy, environmental, and biological systems; computer control of industrial plants; developing world models for studying environmental policies; and optimal planning and management in large-scale systems. In each case, the relationship and interaction among the various components of a given system must be modeled. This information is used to determine the best way of coordinating and regulating these individual contributions to achieve the overall goal of the system.


The mission of the Systems and Control Engineering program is to provide internationally recognized excellence for graduate and undergraduate education and research in systems analysis, design, and control. These theoretical and applied areas require cross-disciplinary tools and methods for their solution. There are four elective sequences available within the B.S. program in systems and control engineering curriculum that represent the breadth of the discipline:


AREA 1 Dynamic Systems, Control and Signal Processing

AREA 2 Systems Biology and Complex Systems Analysis

AREA 3 Manufacturing, Robotics and Operational Systems

AREA 4 Information Systems

MINOR PROGRAM IN SYSTEMS AND CONTROL ENGINEERING


A total of five courses (15 credit hours) are required to obtain a minor in systems and control engineering. At least 9 credit hours must be selected from:

The remaining credit hours can be chosen from EECS courses with the written approval of the faculty member (see the EECS Web page for the current responsible faculty member) in charge of the minor program in the Systems and Control Program. A list of suggested EECS courses to complete the minor is:

Cooperative Education Program


There are many excellent Cooperative Education (CO-OP) opportunities for systems and control engineering majors. A CO-OP student does two CO-OP assignments in industry or government. The length of each assignment is a semester plus a summer which is enough time for the student to complete a significant engineering project. The CO-OP program takes five years to complete because the student is typically gone from campus for two semesters.


B.S./M.S. Program


The department encourages highly motivated and qualified students to apply for admission to the five-year B.S./M.S. Program in the junior year. This integrated program, which permits substitution of M.S. thesis work for the senior design project, provides a high level of fundamental training and in-depth advanced training in the student’s selected specialty. It also offers the opportunity to complete both the Bachelor of Science in Engineering and Master of Science degrees within five years.


Computer Engineering


The Bachelor of Science program in Computer Engineering is designed to give a student a strong background in the fundamentals of computer engineering through combined classroom and laboratory work. A graduate of this program will be able to use these fundamentals to analyze and evaluate computer systems, both hardware and software. A computer engineering graduate would also be able to design and implement a computer system for general purpose or embedded computing incorporating state-of-the-art solutions to a variety of computing problems. This includes systems which have both hardware and software component, whose design requires a well-defined interface between the two, and the evaluation of the associated trade-offs.


The educational mission of the computer engineering program is to graduate students who have fundamental technical knowledge of their profession along with requisite technical breadth and communications skills to become leaders in creating the new techniques and technologies which will advance the general field of computer engineering. Core courses provide our students with a strong background in digital systems design, computer organization, hardware architecture, and digital electronics.


Major in Computer Engineering


Following are the required courses for students with major in computer engineering.

Statistics Requirement

(The elective may be chosen from MATH 380 Introduction to Probability, STAT 312 Basic Statistics for Engineering and Science, STAT 313 Statistics for Experimenters, STAT 332 Statistics for Signal Processing, STAT 333 Uncertainty in Engineering and Science.)


Design Requirement

In consultation with a faculty advisor, a student completes the program by selecting technical and open elective courses that provide in-depth training in principles and practice of computer engineering. With the approval of the advisor a student may emphasize a specialty of his/her choice by selecting elective courses from other programs or departments.


Many courses have integral or associated laboratories in which students gain “hands-on” experience with computer engineering principles and instrumentation. Students have ready access to the teaching laboratory facilities and are encouraged to use them during nonscheduled hours in addition to the regularly scheduled laboratory sessions. Opportunities also exist for undergraduate student participation in the wide spectrum of research projects being conducted in the department.


Minor in Computer Engineering


The department also offers a minor in computer engineering. The minor has a required two course sequence followed by a two course sequence in either hardware or software aspects of computer engineering. The following two courses are required for any minor in computer engineering:

The two-course hardware sequence is:

The corresponding two-course software sequence is:

In addition to these two standard sequences, a student may design his/her own depth area with the approval of the minor advisor. A student cannot have a major and a minor, or two minors, in both Computer Engineering and Computer Science because of the significant overlap between these subjects.


Cooperative Education Program


There are many excellent Cooperative Education (CO-OP) opportunities for computer engineering majors. A CO-OP student does two CO-OP assignments in industry or government. The length of each assignment is a semester plus a summer which is enough time for the student to complete a significant computing project. The CO-OP program takes five years to complete because the student is typically gone from campus for two semesters.


B.S./M.S. Program


Highly motivated and qualifier students are encouraged to apply to the B.S./M.S. Program which will allow them to get both degrees in five years. The B.S. can be in Computer Engineering or a related discipline, such as mathematics or electrical engineering. Integrating graduate study in computer engineering with the undergraduate program allows a student to satisfy all requirements for both degrees in five years.


Computer Science


The Bachelor of Science program in Computer Science is designed to give a student a strong background in the fundamentals of mathematics, and computer science. A graduate of this program should be able to use these fundamentals to analyze and evaluate software systems and the underlying abstractions upon which they are based. A graduate should also be able to design and implement software systems which are state-of-the-art solutions to a variety of computing problems; this includes problems which are sufficiently complex to require the evaluation of design alternatives and engineering trade-offs. In addition to these program specific objectives, all students in the Case School of Engineering are exposed to societal issues, professionalism, and are provided opportunities to develop leadership skills.


Our mission is to graduate students who have fundamental technical knowledge of their profession and the requisite technical breadth and communications skills to become leaders in creating the new techniques and technologies which will advance the field of computer science.


The Bachelor of Arts program in Computer Science is a combination of a liberal arts program and a computing major. It is a professional program in the sense that graduates can be employed as computer professionals, but it is less technical than the Bachelor of Science program in Computer Science. This degree is particularly suitable for students with a wide range of interests. For example, students can major in another discipline in addition to computer science and routinely complete all of the requirements for the double major in a 4 year period. This is possible because over a third of the courses in the program are open electives. Furthermore, if a student is majoring in computer science and a second technical field such as mathematics or physics many of the technical electives will be accepted for both majors. Another example of the utility of this program is that it routinely allows students to major in computer science and take all of the pre-med courses in a four-year period.


Minor in Computer Science (B.S. or B.S.E.)


For students pursuing a B.S. or B.S.E. degree, the following three courses are required for a minor in computer science:

A student must take an additional 4 credit hours of computing courses with the exclusion of ENGR 131. EECS 302 (Discrete Mathematics) may be used in place of three of these credit hours since it is a prerequisite for EECS 340.


Minor in Computer Science (B.A.)


For students pursuing B.A. degrees, the following courses are required for a minor in computer science:

Two additional computing courses are also required for this minor.


Cooperative Education Program


There are many excellent Cooperative Education (CO-OP) opportunities for computer science majors. A CO-OP student does two CO-OP assignments in industry or government. The length of each assignment is a semester plus a summer which is enough time for the student to complete a significant computing project. The CO-OP program takes five years to complete because the student is typically gone from campus for two semesters.


B.S./M.S. Program


Students with a grade point average of 3.2 or higher are encouraged to apply to the B.S./M.S. Program which will allow them to get both degrees in five years. The B.S. can be in Computer Science or a related discipline, such as mathematics or electrical engineering. Integrating graduate study in computer science with the undergraduate program allows a student to satisfy all requirements for both degrees in five years.


Graduate Programs


The EECS department offers graduate study leading to the Master of Science and Doctor of Philosophy degrees in (a) Electrical Engineering; (b) Systems and Control Engineering; (c) Computer Engineering; and (d) Computer Science. These graduate programs provide a balance of breadth and depth appropriate for each degree and support the department’s research thrust areas by emphasizing:


Electrical Engineering


Research in computational intelligence, robotic control, solid state devices, microelectromechanical systems (MEMS), micro/nano sensors, micro/nano scale imaging, wireless implantable biosensors, surgical robotics and simulation, and CMOS and mixed-signal integrated circuit design.


Systems and Control Engineering


Research in non-linear control, optimization, signal processing, global modeling, and systems biology.


Computer Engineering


Research in VLSI design, programmable logic, computer architectures, embedded systems, design for testability, and reconfigurable processors.


Computer Science


Research in bioinformatics, databases, software engineering, data mining and visualization, machine learning, pervasive networks, distributed systems, computational biology and medical Informatics.


Incoming students are encouraged to apply for departmental teaching assistantships. In addition, research funds are used to provide assistantships that support the thesis research of graduate students. A limited number of fellowships providing partial support may also be available for students enrolled in the B.S./M.S. program.


The department believes that the success of its graduates at all levels is due to emphasis on project and problem-oriented course material coupled with the broad-based curricular requirements.


M.S. Students may select either Plan A which requires a research thesis or Plan B which does not require a thesis. Doctoral dissertations in all programs must be original contributions to the existing body of knowledge in engineering and science.


Academic requirements for graduate degrees in engineering are as specified by the Case School of Engineering in this bulletin. A more detailed set of rules and regulations for each degree program contained here is available from the department, and may also be found on the department Web page.


Electrical Engineering and Computer Science Course Descriptions (EECS)

EECS 212. Signals, Systems, and Control (3)
Characterization of continuous-time signals and systems. Laplace transforms, constant coefficient differential equations. Modeling of dynamical systems. Introduction to control system analysis and design. Recommended preparation: MATH 224.


EECS 214. Signals, Systems, and Control Laboratory (1)
A laboratory course based on the material in EECS 212. Analysis and simulation using MATLAB/Simulink. Laboratory experiments involving signal processing and control. Recommended preparation: concurrent enrollment in EECS 212.


EECS 216. Fundamental System Concepts (3)
Develops framework for addressing problems in science and engineering that require an integrated, interdisciplinary approach, including the effective management of complexity and uncertainty. Introduces fundamental system concepts in an integrated framework. Properties and behavior of phenomena regardless of the physical implementation through a focus on the structure and logic of information flow. Systematic problem solving methodology using systems concepts. Recommended preparation: MATH 224.


EECS 233. Introduction to Data Structures (4)
The programming language Java; pointers, files, and recursion. Representation and manipulation of data: one way and circular linked lists, doubly linked lists; the available space list. Different representations of stacks and queues. Representation of binary trees, trees and graphs. Hashing; searching and sorting. Laboratory. Recommended preparation: ENGR 131.


EECS 245. Electronic Circuits (4)
Analysis of time-dependent electrical circuits. Dynamic waveforms and elements: inductors, capacitors, and transformers. First- and second-order circuits, passive and active. Analysis of sinusoidal steady state response using phasors. Laplace transforms and pole-zero diagrams. S-domain circuit analysis. Two-port networks, impulse response, and transfer functions. Introduction to nonlinear semiconductor devices: diodes, BJTs, and FETs. Gain-bandwidth product, slew-rate and other limitations of real devices. SPICE simulation and laboratory exercises reinforce course materials. Recommended preparation: ENGR 210 or concurrent enrollment in MATH 224.


EECS 246. Signals and Systems (4)
The sinusoidal steady state and phasor analysis. Bode plots and their relationship to the frequency domain representation of signals. Gain-bandwidth product, slew-rate and other limitations of real devices. Filter design. Frequency domain considerations including Fourier series and Fourier transforms. Sampling theorem. The Discrete Fourier Transform. The z-transform and digital signal processing. Accompanying laboratory exercises which reinforce classroom lectures. Recommended preparation: ENGR 210 and MATH 224.


EECS 251. Numerical Methods (3)
Introduction to basic concepts and algorithms used in the numerical solution of common problems including solving non-linear equations, solving systems of linear equations, interpolation, fitting curves to data, integration and solving ordinary differential equations. Computational error and the efficiency of various numerical methods are discussed in some detail. Most homework requires the implementation of numerical methods on a computer. Recommended preparation: ENGR 131 and MATH 122.


EECS 281. Logic Design and Computer Organization (4)
Fundamentals of digital systems in terms of both computer organization and logic level design. Organization of digital computers; information representation; boolean algebra; analysis and synthesis of combinational and sequential circuits; datapaths and register transfers; instruction sets and assembly language; input/output and communication; memory. Recommended preparation: ENGR 131.


EECS 290. Introduction to Computer Game Design and Implementation (3)
This class begins with an examination of the history of video games and of game design. Games will be examined in a systems context to understand gaming and game design fundamentals. Various topics relating directly to the implementation of computer games will be introduced including graphics, animation, artificial intelligence, user interfaces, the simulation of motion, sound generation, and networking. Extensive study of past and current computer games will be used to illustrate course concepts. Individual and group projects will be used throughout the semester to motivate, illustrate and demonstrate the course concepts and ideas. Group game development and implementation projects will culminate in classroom presentation and evaluation. Recommended preparation: ENGR 131.


EECS 295. Special Topics (1 - 3)
Limited to freshmen and sophomores. Recommended preparation: ENGR 131.


EECS 301. Digital Logic Laboratory (2)
This course is an introductory experimental laboratory for digital networks. The course introduces students to the process of design, analysis, synthesis and implementation of digital networks. The course covers the design of combinational circuits, sequential networks, registers, counters, synchronous/asynchronous Finite State Machines, register based design, and arithmetic computational blocks. Recommended preparation: EECS 281.


EECS 302. Discrete Mathematics (3)
A general introduction to basic mathematical terminology and the techniques of abstract mathematics in the context of discrete mathematics. Topics introduced are mathematical reasoning, Boolean connectives, deduction, mathematical induction, sets, functions and relations, algorithms, graphs, combinatorial reasoning. Offered as EECS 302 and MATH 304. Prereq: MATH 122 or MATH 124 or MATH 126.


EECS 304. Control Engineering I with Laboratory (3)
Analysis and design techniques for control applications. Linearization of nonlinear systems. Design specifications. Classical design methods: root locus, bode, nyquist. PID, lead, lag, lead-lag controller design. State space modeling, solution, controllability, observability and stability. Modeling and control demonstrations and experiments single-input/single-output and multivariable systems. Control system analysis/design/implementation software. Recommended preparation: EECS 246.


EECS 305. Control Engineering I Laboratory (1)
A laboratory course based on the material in EECS 304. Modeling, simulation, and analysis using MATLAB. Physical experiments involving control of mechanical systems, process control systems, and design of PID controllers. Recommended preparation: EECS 212 or equivalent and EECS 304.


EECS 306. Control Engineering II with Laboratory (3)
Advanced techniques for control of dynamic systems. State-space modeling, analysis, and controller synthesis; introduction to nonlinear control systems: phase plane methods, bang-bang control, time-optimal control; describing functions analysis and design techniques; discrete time systems and controllers. Advanced control design methods implementation. Recommended preparation: EECS 304.


EECS 309. Electromagnetic Fields I (3)
Maxwell’s integral and differential equations, boundary conditions, constitutive relations, energy conservation and Pointing vector, wave equation, plane waves, propagating waves and transmission lines, characteristic impedance, reflection coefficient and standing wave ratio, in-depth analysis of coaxial and strip lines, electro- and magneto-quasistatics, simple boundary value problems, correspondence between fields and circuit concepts, energy and forces. Recommended preparation: MATH 223 and PHYS 122 and concurrent enrollment in MATH 224.


EECS 310. Electromechanical Energy Conversion (4)
Electromechanical dynamics, modeling and control. Forces in quasistatic magnetic systems. Energy conversion properties of rotating machines. Analysis and control of DC servomotors, AC servomotors, reluctance machines, inductance machines, and magnetic bearing. Analysis of electromagnetic sensors. Electronic communication, torque linearization through computer controls and flux-vector control. Electromechanical properties are measured in the lab and high-performance controls are constructed and tested. Recommended preparation: EECS 309.


EECS 311. Electromagnetic Fields II (3)
Boundary value problems, guided electromagnetic waves, rectangular and circular waveguides, strip lines, losses in waveguiding structures, scattering, wave optics and wave propagation in anisotropic media, ferrites and plasmas, resonant systems, cavities, microwave networks, multiport networks, scattering matrix formulation, radiation and antennas, radiation from dipoles, apertures and simple arrays. Recommended preparation: EECS 309.


EECS 313. Signal Processing (3)
Fourier series and transforms. Analog and digital filters. Fast-Fourier transforms, sampling, and modulation for discrete time signals and systems. Consideration of stochastic signals and linear processing of stochastic signals using correlation functions and spectral analysis. Recommended preparation: EECS 246.


EECS 314. Computer Architecture (3)
This course provides students the opportunity to study and evaluate a modern computer architecture design. The course covers topics in fundamentals of computer design, performance, cost, instruction set design, processor implementation, control unit, pipelining, communication and network, memory hierarchy, computer arithmetic, input-output, and an introduction to RISC and super-scalar processors. Recommended preparation: EECS 281.


EECS 315. Digital Systems Design (4)
This course gives students the ability to design modern digital circuits. The course covers topics in logic level analysis and synthesis, digital electronics: transistors, CMOS logic gates, CMOS lay-out, design metrics space, power, delay. Programmable logic (partitioning, routing), state machine analysis and synthesis, register transfer level block design, datapath, controllers, ASM charts, microsequencers, emulation and rapid protyping, and switch/logic-level simulation. Recommended preparation: EECS 281.


EECS 316. Computer Design (3)
Methodologies for systematic design of digital systems with emphasis on programmable logic implementations and prototyping. Laboratory which uses modern design techniques based on hardware description languages such as VHDL, CAD tools, and Field Programmable Gate Arrays (FPGAs). Recommended preparation: EECS 281; EECS 315 or consent of instructor.


EECS 317. Computer Design Laboratory (2)
Sequence of laboratory projects provide practical experience in computer-aided design techniques for computer and digital system design. Hardware system modeled and simulated at register transfer and switching transistor level.


EECS 318. VLSI/CAD (4)
With Very Large Scale Integration (VLSI) technology there is an increased need for Computer-Aided Design (CAD) techniques and tools to help in the design of large digital systems that deliver both performance and functionality. Such high performance tools are of great importance in the VLSI design process, both to perform functional, logical, and behavioral modeling and verification to aid the testing process. This course discusses the fundamentals in behavioral languages, both VHDL and Verilog, with hands-on experience. Recommended preparation: EECS 281, EECS 315.


EECS 319. Applied Probability and Stochastic Processes for Biology (3)
Applications of probability and stochastic processes to biological systems. Mathematical topics will include: introduction to discrete and continuous probability spaces (including numerical generation of pseudo random samples from specified probability distributions), Markov processes in discrete and continuous time with discrete and continuous sample spaces, point processes including homogeneous and inhomogeneous Poisson processes and Markov chains on graphs, and diffusion processes including Brownian motion and the Ornstein-Uhlenbeck process. Biological topics will be determined by the interests of the students and the instructor. Likely topics include: stochastic ion channels, molecular motors and stochastic ratchets, actin and tubulin polymerization, random walk models for neural spike trains, bacterial chemotaxis, signaling and genetic regulatory networks, and stochastic predator-prey dynamics. The emphasis will be on practical simulation and analysis of stochastic phenomena in biological systems. Numerical methods will be developed using both MATLAB and the R statistical package. Student projects will comprise a major part of the course. Offered as BIOL 319, EECS 319, MATH 319, BIOL 419, EBME 419, and PHOL 419. Prereq: MATH 224 or MATH 223 and BIOL 300 or BIOL 306 and MATH 201 or MATH 307 or consent of instructor.


EECS 321. Semiconductor Electronic Devices (4)
Energy bands and charge carriers in semiconductors and their experimental verifications. Excess carriers in semiconductors. Principles of operation of semiconductor devices that rely on the electrical properties of semiconductor surfaces and junctions. Development of equivalent circuit models and performance limitations of these devices. Devices covered include: junctions, bipolar transistors, Schottky junctions, MOS capacitors, junction gate and MOS field effect transistors, optical devices such as photodetectors, light-emitting diodes, solar cells and lasers. Laboratory experiments to characterize some of the above devices. Recommended preparation: EECS 309.


EECS 322. Integrated Circuits and Electronic Devices (3)
Technology of monolithic integrated circuits and devices, including crystal growth and doping, photolithography, vacuum technology, metalization, wet etching, thin film basics, oxidation, diffusion, ion implantation, epitaxy, chemical vapor deposition, plasma processing, and micromachining. Basics of semiconductor devices including junction diodes, bipolar junction transistors, and field effect transistors. Recommended preparation: EECS 321.


EECS 324. Simulation Techniques in Engineering (3)
Discrete event systems and simulation concepts. Discrete event simulation with batch and interactive languages. Recommended preparation: Concurrent enrollment in ENGL 398.


EECS 325. Computer Networks I (3)
An introduction to computer networks and the Internet. Applications: http, ftp, e-mail, DNS, socket programming. Transport: UDP, TCP, reliable data transfer, and congestion control. Network layer: IP, routing, and NAT. Link layer: taxonomy, Ethernet, 802.11. Recommended preparation: EECS 337 or consent of department.


EECS 326. Instrumentation Electronics (3)
A second course in instrumentation with emphasis on sensor interface electronics. General concepts in measurement systems, including accuracy, precision, sensitivity, linearity, and resolution. The physics and modeling of resistive, reactive, self-generating, and direct-digital sensors. Signal conditioning for same, including bridge circuits, coherent detectors, and a variety of amplifier topologies: differential, instrumentation, charge, and transimpedance. Noise and drift in amplifiers and resistors. Practical issues of interference, including grounding, shielding, supply/return, and isolation amplifiers. Prereq: ENGR 210 and EECS 246 or EBME 308 or EMAE 350.


EECS 337. Compiler Design (4)
Design and implementation of compilers and other language processors. Scanners and lexical analysis; regular expressions and finite automata; scanner generators; parsers and syntax analysis; context free grammars; parser generators; semantic analysis; intermediate code generation; runtime environments; code generation; machine independent optimizations; data flow and dependence analysis. There will be a significant programming project involving the use of compiler tools and software development tools and techniques. Recommended preparation: EECS 233 and EECS 281.


EECS 338. Introduction to Operating Systems (4)
CPU scheduling, memory management, concurrent processes, semaphores, monitors, deadlocks, secondary storage management, file systems, protection, UNIX operating system, fork, exec, wait, UNIX System V IPCs, sockets, remote procedure calls, threads. Must be proficient in “C” programming language. Recommended preparation: EECS 337.


EECS 339. Web Data Mining (3)
Web crawling technology, web search and information extraction, unsupervised and semi-supervised learning techniques and their application to web data extraction, social network analysis, various pagerank algorithms, link analysis, web resource discovery, web, resource description framework (RDF), XML, Web Ontology Language (OWL). Recommended preparation: EECS 338, EECS 341. Prereq: EECS 302.


EECS 340. Algorithms and Data Structures (3)
Efficient sorting algorithms, external sorting methods, internal and external searching, efficient string processing algorithms, geometric and graph algorithms. Recommended preparation: EECS 233 and MATH 304.


EECS 341. Introduction to Database Systems (3)
Relational model, ER model, relational algebra and calculus, SQL, OBE, security, views, files and physical database structures, query processing and query optimization, normalization theory, concurrency control, object relational systems, multimedia databases, Oracle SQL server, Microsoft SQL server. Recommended preparation: EECS 233. Prereq: EECS 302.


EECS 342. Introduction to Global Issues (3)
This systems course is based on the paradigm of the world as a complex system. Global issues such as population, world trade and financial markets, resources (energy, water, land), global climate change, and others are considered with particular emphasis put on their mutual interdependence. A reasoning support computer system which contains extensive data and a family of models is used for future assessment. Students are engaged in individual, custom-tailored, projects of creating conditions for a desirable or sustainable future based on data and scientific knowledge available. Students at CWRU will interact with students from fifteen universities that have been strategically selected in order to give global coverage to UNESCO’S Global-problematique Education Network Initiative (GENIe) in joint, participatory scenario analysis via the internet.


EECS 343. Theoretical Computer Science (3)
Introduction to mathematical logic, different classes of automata and their correspondence to different classes of formal languages, recursive functions and computability, assertions and program verification, denotational semantics. MATH/EECS 343 and MATH 410 cannot both be taken for credit. Offered as EECS 343 and MATH 343.


EECS 344. Electronic Analysis and Design (3)
The design and analysis of real-world circuits. Topics include: junction diodes, non-ideal op-amp models, characteristics and models for large and small signal operation of bipolar junction transistors (BJTs) and field effect transistors (FETs), selection of operating point and biasing for BJT and FET amplifiers. Hybrid-pi model and other advanced circuit models, cascaded amplifiers, negative feedback, differential amplifiers, oscillators, tuned circuits, and phase-locked loops. Computers will be extensively used to model circuits. Selected experiments and/or laboratory projects. Recommended preparation: EECS 245.


EECS 345. Programming Language Concepts (3)
This course studies important concepts underlying the design, definition, implementation and use of modern programming languages including syntax, semantics, names/scopes, types, expression, assignment, subprograms, data abstraction, and inheritance. Imperative, object-oriented, concurrent, functional, and logic programming paradigms are discussed. Illustrative examples are drawn from a variety of popular languages, such as C++, Java, Ada, Lisp, and Prolog. Recommended preparation: EECS 233, EECS 337.


EECS 346. Engineering Optimization (3)
Optimization techniques including linear programming and extensions; transportation and assignment problems; network flow optimization; quadratic, integer, and separable programming; geometric programming; and dynamic programming. Nonlinear optimization topics: optimality criteria, gradient and other practical unconstrained and constrained methods. Computer applications using engineering and business case studies. Recommended preparation: MATH 201.


EECS 347. Network Synthesis (3)
Design techniques for the construction of filters, delayors, predictors, analog computer networks, and necessary and sufficient requirements for the realization of practical networks. Recommended preparation: EECS 246 or equivalent.


EECS 348. Communication Electronic Cir (4)


EECS 350. Operations and Systems Design (3)
Introduction to design, modeling, and optimization of operations and scheduling systems with applications to computer science and engineering problems. Topics include, forecasting and time series, strategic, tactical, and operational planning, life cycle analysis, learning curves, resources allocation, materials requirement and capacity planning, sequencing, scheduling, inventory control, project management and planning. Tools for analysis include: multi-objective optimization, queuing models, simulation, and artificial intelligence.


EECS 351. Communications and Signal Analysis (3)
Fourier transform analysis and sampling of signals. AM, FM and SSB modulation and other modulation methods such as pulse code, delta, pulse position, PSK and FSK. Detection, multiplexing, performance evaluation in terms of signal-to-noise ratio and bandwidth requirements. Recommended preparation: EECS 246 or equivalent.


EECS 352. Engineering Economics and Decision Analysis (3)
Economic analysis of engineering projects, focusing on financial decisions concerning capital investments. Present worth, annual worth, internal rate of return, benefit/cost ratio. Replacement and abandonment policies, effects of taxes, and inflation. Decision making under risk and uncertainty. Decision trees. Value of information.


EECS 354. Digital Communications (3)
Fundamental bounds on transmission of information. Signal representation in vector space. Optimum reception. Probability and random processes with application to noise problems, speech encoding using linear prediction. Shaping of base-band signal spectra, correlative coding and equalization. Comparative analysis of digital modulation schemes. Concepts of information theory and coding. Applications to data communication. Recommended preparation: EECS 351.


EECS 355. RF Communications (3)
Coverage of modern communications circuits and systems with a particular emphasis upon mobile communications. Cellular communications, modulation methods, user access schemes. Individual system components: tuned small signal amplifiers and power amplifiers, mixers, detectors, and frequency synthesizers. Low-power design considerations. Recommended preparation: EECS 351.


EECS 356. Microwave Engineering (3)
Transmission lines and circuit analysis, waveguides, modes of propagation, impedance matching techniques, scattering matrix, waveguide components, striplines, resonators, microwave theory, filters, microwave solid state devices. Recommended preparation: EECS 311.


EECS 359. Bioinformatics in Practice (3)
This course covers basic computational methods of organizing and analyzing biological data, targeting senior and junior level students from both mathematical/computational sciences and life sciences. The aim of the course is to provide the students with basic skills to be able to understand molecular biology data and associated abstractions (sequences, structure, gene expression, molecular network data), access to available resources (public databases, computational tools on the web). Implement basic computational methods for biological data analysis, and use understanding of these methods to solve other problems that arise in biological data analysis. Topics covered include DNA and protein sequence databases, pairwise sequence alignment and sequence search (dynamic programming, BLAST), multiple sequence alignment (HMMs, CLUSTAL-W), sequence clustering, motif finding, pattern matching, phylogenetic analysis (tree reconstruction, neighbor joining, maximum parsimony, maximum likelihood), gene finding, functional annotation, biological ontologies, analysis of gene expression data, and network biology (protein protein interactions, topology, modularity).


EECS 360. Manufacturing and Automated Systems (3)
Formulation, modeling, planning, and control of manufacturing and automated systems with applications to computer science and engineering problems. Topics include, design of products and processes, location/spatial problems, transportation and assignment, product and process layout, group technology and clustering, cellular and network flow layouts, computer control systems, reliability and maintenance, and statistical quality control. Tools and analysis include: multi-objective optimization, artificial intelligence, and heuristics for combinatorial problems. Offered as EECS 360 and EECS 460.


EECS 365. Complex Systems Biology (3)
Complex Systems Biology is an interdisciplinary course based on systems science, engineering, biology, and medicine. The objective is to provide students with an understanding of the current state of systems biology and major challenges ahead. The biological phenomena across the level of complexity will be considered from molecular to organisms and ecology to provide universality of the systems concepts for understanding the functions and behavior of biological systems. Case studies are used and a course project is required to be completed. Prereq: Junior Standing.


EECS 366. Computer Graphics (3)
Theory and practice of computer graphics: Basic elements of a computer graphics rendering pipeline. Fundamentals of input and display devices. Geometrical transformations and their matrix representations. Homogeneous coordinates, projective and perspective transformations. Algorithms for clipping, hidden surface removal, and anti-aliasing. Rendering algorithms: introduction to local and global shading models, color, and lighting models for reflection, refraction, transparency. Real-time rendering methods and animation. Recommended preparation: EECS 233.


EECS 370. Intelligent Networks and Systems (3)
This course covers the development of the next-generation intelligent networks. It involves an in-depth study of design, planning, optimization, and analysis for communications information networks. It will include design and optimization of telecommunication networks and protocols. The course provides applications of Artificial Intelligence methodologies including mathematical learning, neural networks, clustering, modeling and automating human decision making process, and mobile agents to the design of intelligent networks. There will be weekly homework/reading assignments, some presentations by students, and a large project. Offered as EECS 370 and EECS 470.


EECS 381. Hybrid Systems (3)
Today, the most interesting computer code and microprocessor designs are “embedded” and hence interact with the physical world, producing a mixture of digital and analog domains. The class studies an array of tools for understanding and designing these “hybrid systems.” Topics include: basics of language and finite state automata theory, discrete-event dynamic systems, Petri nets, timed and hybrid automata, and hybrid dynamical systems. Simulation, verification, and control concepts and languages for these models. Recommended preparation: MATH 224 and either EECS 246 or MATH 304.


EECS 382. Microprocessor-Based Design (3)
Microprocessor architectures, memory design, timing, polled and interrupt driven I/O, microprocessor support devices, microcontrollers, integrated hardware/software design considerations. Recommended preparation: ENGR 210 and EECS 281.


EECS 383. Microprocessor Applications to Controls (3)
Digital control and its implementation using microprocessors. Z-transforms. Time response characteristics, steady-state error, mapping from the s-plane to the z-plane. Digital controller design-stability testing methods, gain and phase margins, PID controllers, digital filter structures. Recommended preparation: EECS 246 or equivalent.


EECS 385. Engineering in Community Service IV (3)
Project-oriented course; students work on “real” engineering projects of benefit to the community and in partnership with community “customers.” Project teams consists of a mix of sophomores, juniors, and seniors. Students perform engineering design, project specification, and technical research as appropriate to their technical background. Emphasis on project planning and organization, teamwork, project management, communication skills, customer awareness, and professional responsibility. Recommended preparation: Junior or Senior standing in EECS.


EECS 390. Advanced Game Development Project (3)
This game development project course will bring together an interdisciplinary group of advanced undergraduate students in the fields of Electrical Engineering and Computer Science, Art, Music, and English to focus on the design and development of a complete, fully-functioning computer game (as an interdisciplinary team). The student teams are given complete liberty to design their own fully functional games from their original concept to a playable finished product, i.e., from the initial idea through to the wrapped box. The student teams will experience the entire game development cycle as they execute their projects. Responsibilities include creating a game idea, writing a story, developing the artwork, designing characters, implementing music and sound effects, programming and testing the game, and documenting the entire project. Recommended preparation: Junior or Senior standing and consent of instructor.


EECS 391. Introduction to Artificial Intelligence (3)
Overview of artificial intelligence, knowledge representation, search, game-playing, logic rule-based systems, AI programming languages, learning, neural networks, evolutionary algorithms, natural language understanding, planning, robotics. Recommended preparation: ENGR 131.


EECS 393. Software Engineering (3)
Topics: Introduction to software engineering; software lifecycle models; development team organization and project management; requirements analysis and specification techniques; software design techniques; programming practices; software validation techniques; software maintenance practices; software engineering ethics. Undergraduates work in teams to complete a significant software development project. Graduate students are required to complete a research project. Recommended preparation for EECS 493: EECS 337. Offered as EECS 393 and EECS 493. Prereq: EECS 337. SAGES Senior Cap


EECS 395. Senior Project in Computer Science (4)
Capstone course for computer science (BS major) seniors. Material from previous and concurrent courses used to solve computer programming problems and to develop software systems. Professional engineering topics such as project management, engineering design, communications, and professional ethics. Requirements include periodic reporting of progress, plus a final oral presentation and written report. Scheduled formal project presentations during last week of classes. Prereq: Senior Standing.

 

EECS 396. Special Topics in Computer Science (1 - 18)

Special topics in areas of computer science.


EECS 397. Special Topics in Electrical, Computer and Systems Engineering (1 - 6)
Special topics in electrical, computer, and systems and control engineering.


EECS 398. Engineering Projects I (4)
Capstone course for electrical, computer and systems and control engineering seniors. Material from previous and concurrent courses used to solve engineering design problems. Professional engineering topics such as project management, engineering design, communications, and professional ethics. Requirements include periodic reporting of progress, plus a final oral presentation and written report. Scheduled formal project presentations during last week of classes. Recommended preparation: Senior standing. SAGES Senior Cap


EECS 399. Engineering Projects II (4)
Continuation of EECS 398. Material from previous and concurrent courses applied to engineering design and research. Requirements include periodic reporting of progress, plus a final oral presentation and written report. Recommended preparation: EECS 398 or concurrent enrollment.


EECS 400T. Graduate Teaching I (0)
This course will provide the Ph.D. candidate with experience in teaching undergraduate or graduate students. The experience is expected to involve direct student contact but will be based upon the specific departmental needs and teaching obligations. This teaching experience will be conducted under the supervision of the faculty member who is responsible for the course, but the academic advisor will assess the educational plan to ensure that it provides an educational experience for the student. Students in this course may be expected to perform one or more of the following teaching related activities: grading homeworks, quizzes, and exams, having office hours for students, tutoring students. Recommended preparation: Ph.D. student in EECS department.


EECS 401. Digital Signal Processing (3)
Characterization of discrete-time signals and systems. Fourier analysis: the Discrete-time Fourier Transform, the Discrete-time Fourier series, the Discrete Fourier Transform and the Fast Fourier Transform. Continuous-time signal sampling and signal reconstruction. Digital filter design: infinite impulse response filters, finite impulse response filters, filter realization and quantization effects. Random signals: discrete correlation sequences and power density spectra, response of linear systems. Recommended preparation: EECS 313.


EECS 405. Data Structures and File Management (3)
Fundamental concepts: sequential allocation, linked allocation, lists, trees, graphs, internal sorting, external sorting, sequential, binary, interpolation search, hashing file, indexed files, multiple level index structures, btrees, hashed files. Multiple attribute retrieval; inverted files, multi lists, multiple-key hashing, hd trees. Introduction to data bases. Data models. Recommended preparation: EECS 233 and MATH 304.


EECS 408. Introduction to Linear Systems (3)
Analysis and design of linear feedback systems using state-space techniques. Review of matrix theory, linearization, transition maps and variations of constants formula, structural properties of state-space models, controllability and observability, realization theory, pole assignment and stabilization, linear quadratic regulator problems, observers, and the separation theorem. Recommended preparation: EECS 304.


EECS 409. Discrete Event Systems (3)
A broad range of system behavior can be described using a discrete event framework. These systems are playing an increasingly important role in modeling, analyzing, and designing manufacturing systems. Simulation, automata, and queuing theory have been the primary tools for studying the behavior of these logically complex systems; however, new methods and techniques as well as new modeling frameworks have been developed to represent and to explore discrete event system behavior. The class will begin by studying simulation, the theory of languages, and finite state automata, and queuing theory approaches and then progress to examining selected additional frameworks for modeling and analyzing these systems including Petrinets, perturbation analysis, and Min-Max algebras.


EECS 411. Introduction to Logic Programming (3)
Basic constructs of logic programs, terms, facts, rules, queries. Logic programs for manipulating recursive data structures. Unification and the logic programming computation model. How Prolog realized the abstract computational mode. Arithmetic, structure inspection, metalogical and extralogical techniques in Prolog. Advanced programming techniques: nondeterminism, difference structures, DCGS, meta-interpreters. Applications. Recommended preparation: EECS 233.


EECS 412. Electromagnetic Fields III (3)
Maxwell’s equations, macroscopic versus microscopic fields, field interaction with materials in terms of polarization vectors P and M. Laplace’s and Poisson’s equations and solutions, scalar and vector potentials. Wave propagation in various types of media such as anisotropic and gyrotropic media. Phase and group velocities, signal velocity and dispersion. Boundary value problems associated with wave-guide and cavities. Wave solutions in cylindrical and spherical coordinates. Radiation and antennas.


EECS 413. Nonlinear Systems I (3)
This course will provide an introduction to techniques used for the analysis of nonlinear dynamic systems. Topics will include existence and uniqueness of solutions, phase plane analysis of two dimensional systems including Poincare-Bendixson, describing functions for single-input single-output systems, averaging methods, bifurcation theory, stability, and an introduction to the study of complicated dynamics and chaos. Recommended preparation: Concurrent enrollment in EECS 408.


EECS 415. Integrated Circuit Technology I (3)
Review of semiconductor technology. Device fabrication processing, material evaluation, oxide passivation, pattern transfer technique, diffusion, ion implantation, metallization, probing, packaging, and testing. Design and fabrication of passive and active semi-conductor devices. Recommended preparation: EECS 322.


EECS 416. Convex Optimization for Engineering (3)
This course will focus on the development of a working knowledge and skills to recognize, formulate, and solve convex optimization problems that are so prevalent in engineering. Applications in control systems; parameter and state estimation; signal processing; communications and networks; circuit design; data modeling and analysis; data mining including clustering and classification; and combinatorial and global optimization will be highlighted. New reliable and efficient methods, particular those based on interior-point methods and other special methods to solve convex optimization problems will be emphasized. Implementation issues will also be underscored. Recommended preparation: MATH 201 or equivalent.


EECS 417. Introduction to Stochastic Control (3)
Analysis and design of controllers for discrete-time stochastic systems. Review of probability theory and stochastic properties, input-output analysis of linear stochastic systems, spectral factorization and Weiner filtering, minimum variance control, state-space models of stochastic systems, optimal control and dynamic programming, statistical estimation and filtering, the Kalman-Bucy theory, the linear quadratic Gaussian problem, and the separation theorem. Recommended preparation: EECS 408.


EECS 418. System Identification and Adaptive Control (3)
Parameter identification methods for linear discrete time systems: maximum likelihood and least squares estimation techniques. Adaptive control for linear discrete time systems including self-tuning regulators and model reference adaptive control. Consideration of both theoretical and practical issues relating to the use of identification and adaptive control.


EECS 419. Computer System Architecture (3)
Interaction between computer systems hardware and software. Pipeline techniques - instruction pipelines - arithmetic pipelines. Instruction level parallelism. Cache mechanism. I/O structures. Examples taken from existing computer systems.


EECS 420. Solid State Electronics I (3)
Quantum mechanics and solid state physics. Crystal structures, electrons in periodic structures, band structures, transport phenomenon, nonequilibrium process, lattice dynamics, scattering mechanisms, surface and interface physics; physics of semiconductor electronic devices. Recommended preparation: EECS 321.


EECS 421. Optimization of Dynamic Systems (3)
Fundamentals of dynamic optimization with applications to control. Variational treatment of control problems and the Maximum Principle. Structures of optimal systems; regulators, terminal controllers, time-optimal controllers. Sufficient conditions for optimality. Singular controls. Computational aspects. Selected applications. Recommended preparation: EECS 408. Offered as EECS 421 and MATH 434.


EECS 422. Solid State Electronics II (3)
Advanced physics of semiconductor devices. Review of current transport and semiconductor electronics. Surface and interface properties. P-N junction. Bipolar junction transistors, field effect transistors, solar cells and photonic devices.


EECS 423. Distributed Systems (3)
Introduction to distributed systems; system models; network architecture and protocols; interprocess communication; client-server model; group communication; TCP sockets; remote procedure calls; distributed objects and remote invocation; distributed file systems; file service architecture; name services; directory and discovery services; distributed synchronization and coordination; transactions and concurrency control; security; cryptography; replication; distributed multimedia systems. Recommended preparation: EECS 338.


EECS 424. Introduction to Nanotechnology (3)
An exploration of emerging nanotechnology research. Lectures and class discussion on 1) nanostructures: superlattices, nanowires, nanotubes, quantum dots, nanoparticles, nanocomposites, proteins, bacteria, DNA; 2) nanoscale physical phenomena: mechanical, electrical, chemical, thermal, biological, optical, magnetic; 3) nanofabrication: bottom up and top down methods; 4) characterization: microscopy, property measurement techniques; 5) devices/applications: electronics, sensors, actuators, biomedical, energy conversion. Topics will cover interdisciplinary aspects of the field. Offered as EECS 424 and EMAE 424.


EECS 425. Computer Networks I (3)
An introduction to computer networks and the Internet. Applications: http, ftp, e-mail, DNS, socket programming. Transport: UDP, TCP, reliable data transfer, and congestion control. Network layer: IP, routing and NAT. Link layer: taxonomy, Ethernet, 802.11. Recommended preparation: EECS 338 or consent of instructor.


EECS 426. MOS Integrated Circuit Design (3)
Design of digital and analog MOS integrated circuits. IC fabrication and device models. Logic, memory, and clock generation. Amplifiers, comparators, references, and switched-capacitor circuits. Characterization of circuit performance with/without parasitics using hand analysis and SPICE circuit simulation. Recommended preparation: EECS 344 and EECS 321.


EECS 427. MEMS for Sensing and Communication (3)
This course covers basic MEMS fabrication technologies and device operating principles of MEMS resonators and inertial sensors such as accelerometers and gyroscopes. Critical issues regarding sensing resolution and low noise interface electronics design will be discussed. MEMS applications such as low noise oscillators, filters, switches, etc. for wireless communications will also be covered.


EECS 428. Computer Communications Networks II (3)
Introduction to topics and methodology in computer networks and middleware research. Traffic characterization, stochastic models, and self-similarity. Congestion control (Tahoe, Reno, Sack). Active Queue Management (RED, FQ) and explicit QoS. The Web: overview and components, HTTP, its interaction with TCP, caching. Overlay networks and CDN. Expected work includes a course-long project on network simulation, a final project, a paper presentation, midterm, and final test. Recommended preparation: EECS 425 or permission of instructor.


EECS 430. Object-Oriented Software Development (3)
Covers advanced methodology for the design of large software systems. Topics include: object-oriented analysis and design; encapsulation; inheritance; subtype and parametric polymorphism; object-oriented programming languages; design patterns; application frameworks; software architecture; user-interfaces; concurrent and distributed objects. Recommended preparation: EECS 337 or consent of instructor.


EECS 432. Compiler Construction (3)
Top-down and bottom-up recognizers for context-free grammars; LR(k) parsers, error recovery, semantic analysis, storage allocation for block structured languages, optimization, code generation. Homework involves writing a compiler for a block structured language. Recommended preparation: EECS 337.


EECS 433. Database Systems (3)
Basic issues in file processing and database management systems. Physical data organization. Relational databases. Database design. Relational Query Languages, SQL. Query languages. Query optimization. Database integrity and security. Object-oriented databases. Object-oriented Query Languages, OQL. Recommended preparation: EECS 341 and MATH 304.


EECS 434. Microfabricated Silicon Electromechanical Systems (3)
Topics related to current research in microelectromechanical systems based upon silicon integrated circuit fabrication technology: fabrication, physics, devices, design, modeling, testing, and packaging. Bulk micromachining, surface micromachining, silicon to glass and silicon-silicon bonding. Principles of operation for microactuators and microcomponents. Testing and packaging issues. Recommended preparation: EECS 322 or EECS 415.


EECS 435. Data Mining (3)
Data Mining is the process of discovering interesting knowledge from large amounts of data stored either in databases, data warehouses, or other information repositories. Topics to be covered includes: Data Warehouse and OLAP technology for data mining, Data Preprocessing, Data Mining Primitives, Languages, and System Architectures, Mining Association Rules from Large Databases, Classification and Prediction, Cluster Analysis, Mining Complex Types of Data, and Applications and Trends in Data Mining. Recommended preparation: EECS 341 or equivalent.


EECS 436. Advances in Databases (3)
Advanced topics in databases will be covered in this course. Query optimization in object-oriented databases, temporal databases, issues in multimedia databases, databases and Web, graphical query interfaces. Basic knowledge in databases is required. Recommended preparation: EECS 433.


EECS 437. Advanced Topics in Data Mining and Bioinformatics (3)
This course will cover a large number of active data mining and bioinformatics research areas, which include but not limited to: text mining, sequence analysis, network/graph mining, microarray analysis, and mining mobile objects. Students are expected to understand various methods and approaches employed in these research areas and have critical thinking on the advantages and disadvantages of these approaches. In addition, students need to complete a course-long project which exhibits the independent research capability in these data mining and bioinformatics areas. Recommended preparation: EECS 340, EECS 435.


EECS 438. Biomedical Microdevices (3)
Recent advances in large scale molecular biology have created the technological need for miniaturized instrumentation that can interact with macromolecules, cells, and tissue with high throughput and in many cases massively parallel formats. This course covers several applications of microfabricated devices to current problems in biology and medicine. The course material includes applications of miniaturization technologies for medical diagnostics and macromolecule assays, drug discovery, cellular activity monitoring and growth, and tissue engineering.


EECS 439. Web Data Mining (3)
Web crawling technology, web search and information extraction, unsupervised and semi-supervised learning techniques and their application to web data extraction, social network analysis, various pagerank algorithms, link analysis, web resource discovery, web, resource description framework (RDF), XML, Web Ontology Language (OWL). Recommended preparation: EECS 338, EECS 341.


EECS 440. Machine Learning (3)
Machine learning is a subfield of Artificial Intelligence that is concerned with the design and analysis of algorithms that “learn” and improve with experience, while the broad aim behind research in this area is to build systems that can simulate or even improve on certain aspects of human intelligence, algorithms developed in this area have become very useful in analyzing and predicting the behavior of complex systems. Machine learning algorithms have been used to guide diagnostic systems in medicine, recommend interesting products to customers in e-commerce, play games at human championship levels, and solve many other very complex problems. This course is focused on algorithms for machine learning: their design, analysis and implementation. We will study different learning settings, including supervised, semi-supervised and unsupervised learning. We will study different ways of representing the learning problem, using propositional, multiple-instance and relational representations. We will study the different algorithms that have been developed for these settings, such as decision trees, neural networks, support vector machines, k-means, harmonic functions and Bayesian methods. We will learn about the theoretical tradeoffs in the design of these algorithms, and how to evaluate their behavior in practice. At the end of the course, you should be able to:
*Recognize situations where machine learning algorithms are applicable
*Understand, represent and formulate the learning problem
*Apply the appropriate algorithm(s), or if necessary, design your own, with an understanding of the tradeoffs involved
*Correctly evaluate the behavior of the algorithm when solving the problem.
Coreq: EECS 391 or consent of instructor.


EECS 441. Internet Applications (3)
This course exposes students to research in building and scaling internet applications. Covered topics include Web services, scalable content delivery, applications of peer-to-peer networks, and performance analysis and measurements of internet application platforms. The course is based on a collection of research papers and protocol specifications. Students are required to read the materials, present a paper in class, prepare short summaries of discussed papers, and do a course project (team projects are encouraged). Prereq: EECS 325 or EECS 425.


EECS 444. Computer Security (3)
General types of security attacks; approaches to prevention; secret key and public key cryptography; message authentication and hash functions; digital signatures and authentication protocols; information gathering; password cracking; spoofing; session hijacking; denial of service attacks; buffer overruns; viruses, worms, etc., principles of secure software design, threat modeling; access control; least privilege; storing secrets; socket security; RPC security; security testing; secure software installation; operating system security; database security; web security; email security; firewalls; intrusions. Recommended preparation: EECS 337.


EECS 450. Operations and Systems Design (3)
Introduction to design, modeling, and optimization of operations and scheduling systems with applications to computer science and engineering problems. Topics include, forecasting and times series, strategic, tactical, and operational planning, life cycle analysis, learning curves, resources allocation, materials requirement and capacity planning, sequencing, scheduling, inventory control, project management and planning. Tools for analysis include: multi-objective optimization, queuing models, simulation, and artificial intelligence.


EECS 452. Random Signals (3)
Fundamental concepts in probability. Probability distribution and density functions. Random variables, functions of random variables, mean, variance, higher moments, Gaussian random variables, random processes, stationary random processes, and ergodicity. Correlation functions and power spectral density. Orthogonal series representation of colored noise. Representation of bandpass noise and application to communication systems. Application to signals and noise in linear systems. Introduction to estimation, sampling, and prediction. Discussion of Poisson, Gaussian, and Markov processes.


EECS 454. Analysis of Algorithms (3)
This course presents and analyzes a number of efficient algorithms. Problems are selected from such problem domains as sorting, searching, set manipulation, graph algorithms, matrix operations, polynomial manipulation, and fast Fourier transforms. Through specific examples and general techniques, the course covers the design of efficient algorithms as well as the analysis of the efficiency of particular algorithms. Certain important problems for which no efficient algorithms are known (NP-complete problems) are discussed in order to illustrate the intrinsic difficulty which can sometimes preclude efficient algorithmic solutions. Recommended preparation for EECS 454: MATH 304 and (EECS 340 or EECS 405). Offered as EECS 454 and OPRE 454.


EECS 456. Microwave Engineering (3)
Transmission line theory, propagation in waveguides, coaxial lines, striplines. Circuit theory of microwave systems, multi-port circuits, equivalent circuits. Foster’s Reactance Theorem. Scattering matrix. Smith Charts, impedance matching and transformation using stub tuners and transformers. Electromagnetic resonators. Recommended preparation: EECS 412.


EECS 458. Introduction to Bioinformatics (3)
Fundamental algorithmic methods in computational molecular biology and bioinformatics discussed. Sequence analysis, pairwise and multiple alignment, probabilistic models, phylogenetic analysis, folding and structure prediction emphasized. Recommended preparation: EECS 340, EECS 233.


EECS 460. Manufacturing and Automated Systems (3)
Formulation, modeling, planning, and control of manufacturing and automated systems with applications to computer science and engineering problems. Topics include, design of products and processes, location/spatial problems, transportation and assignment, product and process layout, group technology and clustering, cellular and network flow layouts, computer control systems, reliability and maintenance, and statistical quality control. Tools and analysis include: multi-objective optimization, artificial intelligence, and heuristics for combinatorial problems. Offered as EECS 360 and EECS 460.


EECS 466. Computer Graphics (3)
Theory and practice of computer graphics: object and environment representation including coordinate transformations image extraction including perspective, hidden surface, and shading algorithms; and interaction. Covers a wide range of graphic display devices and systems with emphasis in interactive shaded graphics. Laboratory. Recommended preparation: EECS 233.


EECS 470. Intelligent Networks and Systems (3)
This course covers the development of the next-generation intelligent networks. It involves an in-depth study of design, planning, optimization, and analysis for communications information networks. It will include design and optimization of telecommunication networks and protocols. The course provides applications of Artificial Intelligence methodologies including mathematical learning, neural networks, clustering, modeling and automating human decision making process, and mobile agents to the design of intelligent networks. There will be weekly homework/reading assignments, some presentations by students, and a large project. Offered as EECS 370 and EECS 470.


EECS 477. The Dynamics of Adaptive Behavior (3)
Introduction to embodied, situated, and dynamical approaches to the design and analysis of autonomous agents and animals. Topics include recurrent neural networks, coupled neural/body/environment systems, and evolution and analysis of neural circuits. Behavior studied include examples from motor control, perception, learning, and cognition. Recommended preparation: ENGR 131 and MATH 224. Offered as BIOL 477 and EECS 477.


EECS 478. Computational Neuroscience (3)
Computer simulations and mathematical analysis of neurons and neural circuits, and the computational properties of nervous systems. Students are taught a range of models for neurons and neural circuits, and are asked to implement and explore the computational and dynamic properties of these models. The course introduces students to dynamical systems theory for the analysis of neurons and neural learning, models of brain systems, and their relationship to artificial and neural networks. Term project required. Students enrolled in MATH 478 will make arrangements with the instructor to attend additional lectures and complete additional assignments addressing mathematical topics related to the course. Recommended preparation: MATH 223 and MATH 224 or BIOL 300 and BIOL 306.Offered as BIOL 378, COGS 378, MATH 378, BIOL 478, EBME 478, EECS 478, MATH 478 and NEUR 478.


EECS 479. Seminar in Computational Neuroscience (3)
Readings and discussion in the recent literature on computational neuroscience, adaptive behavior, and other current topics. Offered as BIOL 479, EBME 479, EECS 479, and NEUR 479.


EECS 483. Data Acquisition and Control (3)
Data acquisition (theory and practice), digital control of sampled data systems, stability tests, system simulation digital filter structure, finite word length effects, limit cycles, state-variable feedback and state estimation. Laboratory includes control algorithm programming done in assembly language.


EECS 484. Computational Intelligence I: Basic Principles (3)
This course is concerned with learning the fundamentals of a number of computational methodologies which are used in adaptive parallel distributed information processing. Such methodologies include neural net computing, evolutionary programming, genetic algorithms, fuzzy set theory, and “artificial life.” These computational paradigms complement and supplement the traditional practices of pattern recognition and artificial intelligence. Functionalities covered include self-organization, learning a model or supervised learning, optimization, and memorization.


EECS 485. VLSI Systems (3)
Basic MOSFET models, inverters, steering logic, the silicon gate, nMOS process, design rules, basic design structures (e.g., NAND and NOR gates, PLA, ROM, RAM), design methodology and tools (spice, N.mpc, Caesar, mkpla), VLSI technology and system architecture. Requires project and student presentation, laboratory.


EECS 486. Research in VLSI Design Automation (3)
Research topics related to VLSI design automation such as hardware description languages, computer-aided design tools, algorithms and methodologies for VLSI design for a wide range of levels of design abstraction, design validation and test. Requires term project and class presentation.


EECS 488. Embedded Systems Design (3)
Objective: to introduce and expose the student to methodologies for systematic design of embedded system. The topics include, but are not limited to, system specification, architecture modeling, component partitioning, estimation metrics, hardware software codesign, diagnostics.


EECS 489. Robotics I (3)
Orientation and configuration coordinate transformations, forward and inverse kinematics and Newton-Euler and Lagrange-Euler dynamic analysis. Planning of manipulator trajectories. Force, position, and hybrid control of robot manipulators. Analytical techniques applied to select industrial robots. Recommended preparation: EMAE 181. Offered as EECS 489 and EMAE 489.


EECS 490. Digital Image Processing (3)
Digital images are introduced as two-dimensional sampled arrays of data. The course begins with one-to-one operations such as image addition and subtraction and image descriptors such as the histogram. Basic filters such as the gradient and Laplacian in the spatial domain are used to enhance images. The 2-D Fourier transform is introduced and frequency domain operations such as high and low-pass filtering are developed. It is shown how filtering techniques can be used to remove noise and other image degradation. The different methods of representing color images are described and fundamental concepts of color image transformations and color image processing are developed. One or more advanced topics such as wavelets, image compression, and pattern recognition will be covered as time permits. Programming assignments using software such as MATLAB will illustrate the application and implementation of digital image processing.


EECS 491. Artificial Intelligence (3)
Artificial intelligence and programming techniques used in design and implementation of intelligent systems. Problem solving and game playing by computer, different representation of problems and games, and their associated solution methods. Knowledge representation: logic, semantic networks frames. Programming in LISP and Prolog.

 

EECS 492. VLSI Digital Signal Processing Systems (3)
Digital signal processing (DSP) can be found in numerous applications, such as wireless communications, audio/video compression, cable modems, multimedia, global positioning systems and biomedical signal processing. This course fills the gap between DSP algorithms and their efficient VLSI implementations. The design of a digital system is restricted by the requirements of applications, such as speed, area and power consumption. This course introduces methodologies and tools which can be used to design VLSI architectures with different speed-area tradeoffs for DSP algorithms. In addition, the design of efficient VLSI architectures for commonly used DSP blocks is presented in this class. Recommended preparation: EECS 485.


EECS 493. Software Engineering (3)
Topics: Introduction to software engineering; software lifecycle models; development team organization and project management; requirements analysis and specification techniques; software design techniques; programming practices; software validation techniques; software maintenance practices; software engineering ethics. Undergraduates work in teams to complete a significant software development project. Graduate students are required to complete a research project. Recommended preparation for EECS 493: EECS 337. Offered as EECS 393 and EECS 493.


EECS 495. Nanometer VLSI Design (3)
Semiconductor industry has evolved rapidly over the past four decades to meet the increasing demand on computing power by continuous miniaturization of devices. Now we are in the nanometer technology regime with the device dimensions scaled below 100nm. VLSI design using nanometer technologies involves some major challenges. This course will explain all the major challenges associated with nanoscale VLSI design such as dynamic and leakage power, parameter variations, reliability and robustness. The course will present modeling and analysis techniques for timing, power and noise in nanometer era. Finally, the course will cover the circuit/architecture level design solutions for low power, high-performance, testable and robust VLSI system. The techniques will be applicable to design of microprocessor, digital signal processor (DSP) as well as application specific integrated circuits (ASIC). The course includes a project which requires the student to work on a nanometer design issue. Recommended preparation: EECS 426 or EECS 485.


EECS 500. EECS Colloquium (0)
Seminars on current topics in Electrical Engineering and Computer Science.


EECS 500T. Graduate Teaching II (0)
This course will provide the Ph.D. candidate with experience in teaching undergraduate or graduate students. The experience is expected to involve direct student contact but will be based upon the specific departmental needs and teaching obligations. This teaching experience will be conducted under the supervision of the faculty member who is responsible for the course, but the academic advisor will assess the educational plan to ensure that it provides an educational experience for the student. Students in this course may be expected to perform one or more of the following teaching related activities: grading homeworks, quizzes, and exams, having office hours for students, running recitation sessions, providing laboratory assistance. Recommended preparation: Ph.D. student in EECS department.


EECS 516. Large Scale Optimization (3)
Concepts and techniques for dealing with large optimization problems encountered in designing large engineering structure, control of interconnected systems, pattern recognition, and planning and operations of complex systems; partitioning, relaxation, restriction, decomposition, approximation, and other problem simplification devices; specific algorithms; potential use of parallel and symbolic computation; student seminars and projects. Recommended preparation: EECS 416.


EECS 518. Nonlinear Systems: Analysis and Control (3)
Mathematical preliminaries: differential equations and dynamical systems, differential geometry and manifolds. Dynamical systems and feedback systems, existence and uniqueness of solutions. Complicated dynamics and chaotic systems. Stability of nonlinear systems: input-output methods and Lyapunov stability. Control of nonlinear systems: gain scheduling, nonlinear regulator theory and feedback linearization. Recommended preparation: EECS 408.


EECS 519. Differential Geometric Nonlinear Control (3)
This advanced course focuses on the analysis and design of nonlinear control systems, with special emphasis on the differential geometric approach. Differential geometry has proved to be an extremely powerful tool for the analysis and design of nonlinear systems, similar to the roles of the Laplace transformation and linear algebra in linear systems. The objective of the course is to present the major methods and results of nonlinear systems and provide a mathematical foundation, which will enable students to follow the recent developments in the constantly expanding literature. This course will also benefit those students from Electrical, Mechanical, Chemical and Biomedical Engineering, who are doing research in the fields that involve nonlinear control problems. Recommended preparation: EECS 408 or equivalent.


EECS 520. Robust Control (3)
One of the most important problems in modern control theory is that of controlling the output of a system so as to achieve asymptotic tracking of prescribed signals and/or asymptotic rejection of undesired disturbances. The problem can be solved by the so-called regulator theory and H-infinity control theory. This course presents a self-contained introduction to these two important design methods. The intention of this course is to present ideas and methods on such a level that the beginning graduate student will be able to follow current research. Both linear and nonlinear results will be covered. Recommended preparation: EECS 408.


EECS 523. Advanced Neural Microsystems (3)
This course will cover the latest advances in neuroengineering with specific attention to integrated microsystems targeting wired/wireless multichannel interfacing with the nervous system at the cellular level in biological hosts. The aim is to provide students familiar with microfabrication and integrated circuit design with an application-driven, system-level overview of sensors and microelectronics in microsystems format for neural engineering. Recommended preparation: EECS 426.


EECS 526. Integrated Mixed-Signal Systems (3)
Mixed-signal (analog/digital) integrated circuit design. D-to-A and A-to-D conversion, applications in mixed-signal VLSI, low-noise and low-power techniques, and communication sub-circuits. System simulation at the transistor and behavioral levels using SPICE. Class will design a mixed-signal CMOS IC for fabrication by MOSIS. Recommended preparation: EECS 426.


EECS 527. Advanced Sensors: Theory and Techniques (3)
Sensor technology with a primary focus on semiconductor-based devices. Physical principles of energy conversion devices (sensors) with a review of relevant fundamentals: elasticity theory, fluid mechanics, silicon fabrication and micromachining technology, semiconductor device physics. Classification and terminology of sensors, defining and measuring sensor characteristics and performance, effect of the environment on sensors, predicting and controlling sensor error. Mechanical, acoustic, magnetic, thermal, radiation, chemical and biological sensors will be examined. Sensor packaging and sensor interface circuitry.


EECS 531. Computer Vision (3)
Geometric optics, ray matrics, calibration of monocular and stereo imaging systems. Adaptive camera thresholding and image segmentation, morphological and convolutional image processing. Selected topics including edge estimation and industrial inspection, optimal filtering, model matching, CAD-based vision and range image processing. Neural-net image processing. Model-based computer vision for scene interpretation and autonomous systems. Recommended preparation: EECS 490 or equivalent.


EECS 589. Robotics II (3)
Survey of research issues in robotics. Force control, visual servoing, robot autonomy, on-line planning, high-speed control, man/machine interfaces, robot learning, sensory processing for real-time control. Primarily a project-based lab course in which students design real-time software executing on multi-processors to control an industrial robot. Recommended preparation: EECS 489.


EECS 591. Advanced Artificial Intelligence (3)
An advanced course surveying topics in artificial intelligence, machine learning, and intelligent control. Topics will move toward state-of-research in areas including fuzzy logic, genetic algorithms, stochastic search, task-level learning, reinforcement learning, and approximate dynamic programming. Reading of primary literature. Project required.


EECS 600. Special Topics (1 - 18)


EECS 600T. Graduate Teaching III (0)

This course will provide Ph.D. candidate with experience in teaching undergraduate or graduate students. The experience is expected to involve direct student contact but will be based upon the specific departmental needs and teaching obligations. This teaching experience will be conducted under the supervision of the faculty member who is responsible for the course, but the academic advisor will assess the educational plan to ensure that it provides an educational experience for the student. Students in this course may be expected to perform one or more of the following teaching related activities running recitation sessions, providing laboratory assistance, developing teaching or lecture materials presenting lectures. Recommended preparation: Ph.D. student in EECS department.


EECS 601. Independent Study (1 - 18)


EECS 602. Advanced Projects Laboratory (1 - 18)


EECS 620. Special Topics (1 - 18)


EECS 621. Special Projects (1 - 18)


EECS 649. Project M.S. (1 - 9)


EECS 651. Thesis M.S. (1 - 18)


EECS 701. Dissertation Ph.D. (1 - 18)

Prereq: Predoctoral research consent or advanced to Ph.D. candidacy milestone.

 

Bachelor of Science in Engineering Degree
Major in Electrical Engineering


First Year Class-Lab-Credit Hours
Fall
SAGES First Year Seminar (4-0-4)
CHEM 111 Chemistry I (4-0-4)
MATH 121 Calculus I (4-0-4)
ENGR 131 Elementary Computer Programming (3-0-3)
Open elective a (2-0-2)
PHED 101 Physical Education (0-3-0)
Total (17-3-17)


Spring
SAGES University Seminar (3-0-3)
ENGR 145 Chemistry of Materials (4-0-4)
PHYS 121 Physics I: Mechanics b (4-0-4)
MATH 122 Calculus II (4-0-4)
PHED 102 Physical Education (0-3-0)
Total (15-3-15)


Second Year
Fall
PHYS 122 Physics II Electricity & Magnetism b (4-0-4)
MATH 223 Calculus III (3-0-3)
ENGR 210 Circuits and Instrumentation (3-2-4)
EECS 281 Computer Organization, Logic Design (3-2-4)
Total (13-4-15)


Spring
SAGES University Seminar (3-0-3)
ENGR 225 Thermo, Fluids, Transport (4-0-4)
MATH 224 Differential Equations (3-0-3)
EECS 245 Electronic Circuits (3-2-4)
EECS 309 Electromagnetic Fields I (3-0-3)
Total (16-2-17)


Third Year Class-Lab-Credit Hours
Fall
HM/SS elective (3-0-3)
STAT 332 Statistics of Signal Processing c (3-0-3)
ENGR 200 Statics & Strength of Materials (3-0-3)
EECS 246 Signals & Systems (3-2-4)
Approved technical elective d (3-0-3)
Total (15-2-16)


Spring
HM/SS elective (3-0-3)
EECS 321 Semiconductor Elect. Devices (3-2-4)
Applied Statistics Req.e (3-0-3)
Approved technical elective d (3-0-3)
Approved technical elective d (3-0-3)
Total (15-2-16)


Fourth Year
Fall
HM/SS elective (3-0-3)
EECS 398 Engineering Projects I f, g (0-8-4)
ENGL 398 Professional Communications (2-0-2)
ENGR 398 Professional Communications (1-0-1)
Approved technical elective d (3-0-3)
Open elective (3-0-3)
Total (12-8-16)


Spring
HM/SS elective (3-0-3)
EECS 399 Engineering Projects II (0-8-4)
Approved technical elective d (3-0-3)
Approved technical elective d (3-0-3)
Open elective (3-0-3)
Total (12-8-16)


Hours Required for Graduation: 128

  1. Although not required students may elect to take ENGR 101 Freshman Engineering Service Project as their open elective in the freshman year.
  2. Selected students may be invited to take PHYS 123 and 124 in place of PHYS 121 and PHYS 122.
  3. Students may replace STAT 332 with STAT 333 Uncertainty in Engineering and Science if approved by their advisor.
  4. Technical electives will be chosen to fulfill the depth requirement and otherwise increase the student’s understanding of electrical engineering. Courses used to satisfy the depth requirement must come from the department’s list of depth areas and related courses. Technical electives not used to satisfy the depth requirement are more generally defined as any course related to the principles and practice of electrical engineering. This includes all EECS courses at the 200 level and above, and can include courses from other programs. All non-EECS technical electives must be approved by the student’s advisor.
  5. This applied statistics requirement must utilize statistics in electrical engineering applications and is typically selected from EECS 351 Communications and Signal Analysis or EECS 313 Signal Processing. Other courses are possible with approval of advisor.
  6. CO-OP students may obtain design credit for one semester of Engineering Projects if their co-op assignment included significant design responsibility; however, the student is still responsible for such course obligations as reports, presentations, and ethics assignments. Design credit and fulfillment of remaining course responsibilities are arranged through the course instructor.
  7. B.S./M.S. students may also utilize EECS 651 M.S. Thesis to fulfill eight credits of EECS 398/399 provided their thesis has adequate design content to meet the requirements of EECS 398/399., B.S./M.S. students should see their M.S. thesis advisor for details.

Bachelor of Science in Engineering Degree
Major in Systems and Control Engineering


First Year Class-Lab-Credit Hours
Fall
SAGES First Year Seminar (4-0-4)
CHEM 111 Chemistry I (4-0-4)
MATH 121 Calculus I (4-0-4)
ENGR 131 Elementary Computer Programming (3-0-3)
Open elective (3-0-3)
PHED 101 Physical Education (0-3-0)
Total (18-3-18)


Spring
SAGES University Seminar (3-0-3)
PHYS 121 Physics I: Mechanics b (4-0-4)
MATH 122 Calculus II (4-0-4)
ENGR 145 Chemistry of Materials (4-0-4)
PHED 102 Physical Education (0-3-0)
Total (15-3-15)


Second Year
Fall
PHYS 122 Physics II: Electricity & Magnetism b (4-0-4)
MATH 223 Calculus III (3-0-3)
ENGR 210 Circuits and Instrumentation (3-2-4)
EECS 281 Computer Organization (3-2-4)
Total (13-4-15)


Spring
SAGES University Seminar (3-0-3)
MATH 224 Differential Equations (3-0-3)
STAT xxx Statistical Methods Course c (3-0-3)
ENGR 200 Statics & Strength of Materials (3-0-3)
ENGR 225 Fluid and Thermodynamics (4-0-4)
Total (16-0-16)


Third Year Class-Lab-Credit Hours
Fall
HM/SS elective (3-0-3)
EECS 246 Signals and Systems (3-2-4)
EECS 324 Simulation Methods (3-0-3)
EECS 342 Introduction to Global Systems (3-0-3)
Approved technical elective (3-0-3)
Total (15-2-16)


Spring
HM/SS elective (3-0-3)
EECS 304 Control Engineering I (3-0-3)
EECS 305 Control Lab I (0-2-1)
EECS 346 Engineering Optimization (3-0-3)
Approved technical elective e (3-0-3)
Open elective (3-0-3)
Total (15-2-16)


Fourth Year
Fall
HM/SS elective (3-0-3)
ENGL 398 Professional Communications (2-0-2)
ENGR 398 Professional Communications (1-0-1)
EECS 352 Eng. Econ. & Dec. Analysis (3-0-3)
EECS 398 Engineering Projects I d (0-8-4)
Approved technical elective f (3-0-3)
Total (12-8-16)


Spring
HM/SS elective (3-0-3)
EECS 399 Engineering Projects II (0-8-4)
Approved technical elective f (3-0-3)
Approved technical elective f (3-0-3)
Approved technical elective f (3-0-3)
Total (12-8-16)


Hours Required for Graduation: 128

  1. Although not required, students may elect to take ENGR 101, Freshman Engineering Service Project, as their open elective during the freshman year.
  2. Selected students may be invited to take PHYS 123 and PHYS 124 in place of PHYS 121 and 122.
  3. Choose from STAT 312, STAT 332, or STAT 333.
  4. CO-OP students may obtain design credit for one semester of Engineering Projects if their co-op assignment included significant design responsibility; however, the student is still responsible for such course obligations as reports, presentations, and ethics assignments. Design credit and fulfillment of remaining course responsibilities are arranged through the course instructor.
  5. Signal Processing or Communication Systems technical elective to be taken in any semester after EECS 246. This elective should be chosen from EECS 313, EECS 351, or EECS 354.
  6. Technical electives from an approved list.

Bachelor of Science in Engineering Degree
Major in Computer Engineering


First Year Class-Lab-Credit Hours
Fall
SAGES First Year Seminar (3-0-3)
CHEM 111 Chemistry I (4-0-4)
MATH 121 Calculus I (4-0-4)
ENGR 131 Elementary Computer Programming (3-0-3)
Open elective (3-0-3)
PHED 101 Physical Education (0-3-0)
Total (18-3-18)


Spring
SAGES University Seminar (3-0-3)
PHYS 121 Physics I: Mechanics (4-0-4)
MATH 122 Calculus II (4-0-4)
ENGR 145 Chemistry of Materials (4-0-4)
PHED 102 Physical Education (0-3-0)
Total (15-3-15)


Second Year
Fall
SAGES University Seminar (3-0-3)
PHYS 122 Physics II: Electricity & Magnetism (4-0-4)
MATH 223 Calculus III (3-0-3)
ENGR 210 Circuits and Instrumentation (3-2-4)
EECS 233 Introduction to Data Structures (3-2-4)
Total (16-4-18)


Spring
HM/SS elective (3-0-3)
MATH 224 Differential Equations (3-0-3)
ENGR 200 Statics & Strength of Materials (3-0-3)
EECS 281 Comp. Organization Logic Design (3-2-4)
Technical elective a (3-0-3)
Total (15-2-16)


Third Year Class-Lab-Credit Hours
Fall
HM/SS elective (3-0-3)
EECS 302 Discrete Mathematics (3-0-3)
ENGR 225 Thermodynamics, Fluids, Transport (4-0-4)
EECS 337 Systems Programming (3-2-4)
Technical elective a (3-0-3)
Total (16-2-17)


Spring
ENGL 398 Prof. Communications (2-0-2)
ENGR 398 Prof. Communications (1-0-1)
EECS 301 Digital Laboratory (0-4-2)
EECS 314 Computer Architecture (3-0-3)
EECS 315 Digital Systems Design (3-2-4)
EECS 338 Intro to Operating Systems c (3-2-4)
or
Technical elective c (3-0-3)
Total (12-8-16) or (12-6-15)


Fourth Year
Fall
HM/SS elective (3-0-3)
Statistics elective d (3-0-3)
EECS 318 VLSI/CAD b (3-2-4)
or
Technical elective b (3-0-3)
Technical elective a (3-0-3)
Open elective (3-0-3)
Total (15-2-16) or (15-0-15)


Spring
HM/SS elective (3-0-3)
HM/SS elective (3-0-3)
EECS 398 Engineering Projects I (0-8-4)
Technical elective a (3-0-3)
Open elective (2-0-2)
Total (11-8-15)


Hours Required for Graduation: 130


a. Technical electives are more generally defined as any course related to the principles and practice of computer engineering. This includes all EECS courses at the 200 level and above, and can include courses from other programs. All non-EECS technical electives must be approved by the student’s advisor.
b. The student must take either EECS 318 VLSI/CAD (Fall Semester) or EECS 338 Introduction to Operating Systems (Spring Semester), and a three credit hour technical elective.
c. Chosen from MATH 380 Introduction to Probability, STAT 312 Basic Statistics for Engineering and Science, STAT 313 Statistics for Experimenters, STAT 332 Statistics for Signal Processing, or STAT 333 Uncertainty in Engineering and Science.
d. May be taken in the Fall semester if the student would like to take EECS 399 Engineering Projects II in the Spring semester.

 

Bachelor of Science Degree
Major in Computer Science


First Year Class-Lab-Credit Hours
Fall
SAGES First Year Seminar (4-0-4)
CHEM 111 Chemistry I (4-0-4)
MATH 121 Calculus I (4-0-4)
ENGR 131 Elementary Computer Programming (3-0-3)
PHED 101 Physical Education (0-3-0)
Open elective (3-0-3)
Total (18-3-18)


Spring
SAGES University Seminar (3-0-3)
PHYS 121 Physics I: Mechanics (4-0-4)
MATH 122 Calculus II (4-0-4)
ENGR 145 Chemistry of Materials (4-0-4)
PHED 102 Physical Education (0-3-0)
Total (15-3-15)


Second Year
Fall
SAGES University Seminar (3-0-3)
PHYS 122 Physics II Electricity & Magnetism (4-0-4)
MATH 223 Calculus III (3-0-3)
ECES 281 Comp. Organization Logic Design (3-2-4)
Technical elective a, b (3-0-3)
Total (16-2-17)


Spring
MATH 224 Differential Equations (3-0-3)
EECS 302 Discrete Mathematics (3-0-3)
EECS 233 Intro Data Structures (3-2-4)
HM/SS elective (3-0-3)
Technical elective a (3-0-3)
Total (15-2-16)


Third Year Class-Lab-Credit Hours
Fall
EECS 337 Compiler Design (3-2-4)
EECS 340 Algorithms and Data Structures (3-0-3)
HM/SS elective (3-0-3)
Statistics elective c (3-0-3)
Open elective (3-0-3)
Total (15-2-16)


Spring
ENGL 398 Professional Communication (2-0-2)
ENGR 398 Professional Communication (1-0-1)
EECS 314 Computer Architecture (3-0-3)
EECS 338 Intro to Operating Systems (3-2-4)
EECS 341 Intro. to Database Systems (3-0-3)
EECS 343 Theoretical Computer Science (3-0-3)
Total (15-2-16)


Fourth Year
Fall
EECS 393 Software Engineering (3-0-3)
EECS 325 Computer Networks I (3-0-3)
Technical elective a (3-0-3)
Technical elective a (3-0-3)
Open elective (3-0-3)
Total (15-0-15)


Spring
HM/SS elective (3-0-3)
EECS 391 Intro. to Artificial Intelligence (3-0-3)
EECS 395 Computer Science Senior projects (0-8-4)
Technical elective a (3-0-3)
Open elective (3-0-3)
Total (12-8-16)


Hours Required for Graduation: 129

  1. Chosen from the list of approved CS technical electives. All other technical electives must be approved by the student’s advisor.
  2. ENGR 210 is recommended because it provides flexibility in choice of major and advanced EECS courses.
  3. Chosen from MATH 380 Introduction to Probability, STAT 312 Basic Statistics for Engineering and Science, STAT 313 Statistics for Experimenters, STAT 332 Statistics for Signal Processing, STAT 333 Uncertainty in Engineering and Science.

 

Bachelor of Arts Degree
Computer Science


First Year Class-Lab-Credit Hours
Fall
SAGES First Year Seminar (4-0-4)
MATH 125 Mathematics I (4-0-4)
ENGR 131 Elementary Computer Programming (3-0-3)
HM/SS elective (3-0-3)
Open elective (3-0-3)
PHED 101 Physical Education (0-3-0)
Total (17-3-17)


Spring
SAGES University Seminar (3-0-3)
MATH 126 Mathematics II (4-0-4)
HM/SS elective (3-0-3)
Open elective (3-0-3)
Open elective (3-0-3)
PHED 102 Physical Education (0-3-0)
Total (16-3-16)


Second Year
Fall
SAGES University Seminar (3-0-3)
EECS 281 Comp. Organization Logic Design (3-2-4)
HM/SS elective (3-0-3)
Open elective (3-0-3)
Open elective (3-0-3)
Total (15-2-16)


Spring
EECS 302 Discrete Mathematics (3-0-3)
EECS 233 Intro Data Structures (3-2-4)
HM/SS elective (3-0-3)
Open elective (3-0-3)
Open elective (3-0-3)
Total (15-2-16)


Third Year Class-Lab-Credit Hours
Fall
SAGES Departmental Seminar (3-0-3)
EECS 337 Compiler Design (3-2-4)
Technical elective a (3-0-3)
Open elective (3-0-3)
Total (12-2-13)


Spring
EECS 314 Computer Architecture (3-0-3)
EECS 338 Intro to Operating Systems (3-2-4)
EECS 341 Intro to Database Systems (3-0-3)
Open elective (3-0-3)
Total (12-2-13)


Fourth Year
Fall
EECS 340 Algorithms and Data Structures (3-0-3)
Technical elective a (3-0-3)
Open elective (3-0-3)
Open elective (3-0-3)
Open elective (3-0-3)
Total (15-0-15)


Spring
SAGES capstone b (3-0-3)
Technical elective a (3-0-3)
Open elective (3-0-3)
Open elective (3-0-3)
Open elective (3-0-3)
Total (15-0-15)


Hours Required for Graduation: 121

  1. One technical elective must be a computer science course. The other two technical electives may be computer science, MATH or STAT courses.
  2. SAGES capstone course can be one of EECS 341, EECS 393, or EECS 395.