Department of Electrical Engineering and Computer Science

Glennan Building (7071)
http://engineering.case.edu/eecs/
Phone: 216.368.2800; Fax: 216.368.6888
Alexis R. Abramson, Ph.D.; Interim Chair, Electrical Engineering and Computer Science; Milton and Tamar Maltz Professor of Energy Innovation, Mechanical and Aerospace Engineering

Electrical Engineering and Computer Science (EECS) spans a spectrum of topics from (i) materials, devices, circuits, and processors through (ii) control, signal processing, and systems analysis to (iii) software, computation, computer systems, and networking.  The EECS Department at Case Western Reserve supports five synergistic degree programs: Data Science and Analytics, Electrical Engineering, Systems and Control Engineering, Computer Engineering, and Computer Science. Each degree program leads to the Bachelor of Science degree at the undergraduate level. The department also offers a Bachelor of Arts in Computer Science for those students who wish to combine a technical degree with a broad education in the liberal arts. At the graduate level, the department offers the Master of Science and Doctor of Philosophy degrees in Electrical Engineering, Computer Engineering, Systems & Control Engineering, and Computing & Information Sciences (i.e., computer science). We offer minors in Electrical Engineering, Computer Science (BS and BA), Computer Engineering, Systems & Control Engineering, and also in Computer Gaming, Artificial Intelligence (AI), and Electronics.  Additionally, a minor in Applied Data Science is administered by the Department of Materials Science and Engineering.  For supplemental information to this bulletin as well as the latest updates, please visit the EECS Department web site at http://eecs.case.edu.

EECS is at the heart of modern technology.  EECS disciplines are responsible for the devices and microprocessors powering our computers and embedded into everyday devices, from cell phones and tablets to automobiles and airplanes.  Healthcare is increasingly building on EECS technologies: micro/nano-systems, electronics/instrumentation, implantable systems, wireless medical devices, surgical robots, imaging, medical informatics, bioinformatics, system biology, and data mining and visualization.  The future of energy will be profoundly impacted by EECS technologies, from smart appliances connected to the Internet, smart buildings that incorporate distributed sensing and control, to the envisioned smart grid that must be controlled, stabilized, and kept secure over an immense network.  EECS drives job creation and starting salaries in our fields are consistently ranked at the top of all college majors.  Our graduates work in cutting-edge companies--from giants to start-ups, in a variety of technology sectors, including computer and internet, healthcare and medical devices, manufacturing and automation, automotive and aerospace, defense, finance, energy, and consulting. 

Department Structure

EECS at Case Western Reserve is organized internally into two informal divisions: (i) Computer Science (CS); and (ii) Electrical, Computer, and Systems Engineering (ECSE). 

Educational Philosophy

The EECS department is dedicated to developing high-quality graduates who will take positions of leadership as their careers advance. We recognize that the increasing role of technology in virtually every facet of our society, life, and culture makes it vital that our students have access to progressive and cutting-edge higher education programs. The program values for all of the degree programs in the department are:

  • mastery of fundamentals
  • creativity
  • social awareness
  • leadership skills
  • professionalism

Stressing excellence in these core values helps to ensure that our graduates are valued and contributing members of our global society and that they will carry on the tradition of engineering leadership established by our alumni.

Our goal 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 their fields. To achieve this goal, the department offers a wide range of technical specialties consistent with the breadth of electrical engineering and computer science, including recent developments in the field. Because of the rapid pace of advancement in these fields, our degree programs emphasize a broad and foundational science and technology background that equips students for future developments. Our programs include a wide range of electives and our students are encouraged to develop individualized programs which can combine many aspects of electrical engineering and computer science.

Research

The research thrusts of the Electrical Engineering and Computer Science department include:

  1. Micro/Nano Systems
  2. Electronics and Instrumentation
  3. Robotics and Haptics
  4. Embedded Systems, including VLSI, FPGA
  5. Hardware Algorithms, Hardware Security, Testing/Verification
  6. Bioinformatics and Systems Biology
  7. Machine Learning and Data Mining
  8. Computer Networks and Distributed Systems
  9. Secure and Reliable Software
  10. Energy Systems, including Wind and Power Grid Management/Control
  11. Gaming, Simulation, Optimization
  12. Medical Informatics and Wireless Health

EECS participates in a number of groundbreaking collaborative research and educational programs, including the Microelectromechanical Systems Research Program, the Center for Computational Genomics, graduate program in Systems Biology and Bioinformatics, the Clinical & Translational Science Collaborative, the Great Lakes Energy Institute, and the VA Center for Advanced Platform Technology.

Electrical, Computer, and Systems Engineering Division

Marc Buchner, PhD
(Michigan State University)
Associate Professor
Computer gaming and simulation, virtual reality, software-defined radio, wavelets, joint time-frequency analysis

M. Cenk Cavusoglu, PhD
(University of California, Berkeley)
Associate Chair, Professor
Robotics, systems and control theory, and human-machine interfaces; with emphasis on medical robotics, haptics, virtual environments, surgical simulation, and bio-system modeling and simulation

Vira Chankong, PhD
(Case Western Reserve University)
Associate Professor
Large-scale optimization; logic-based optimization; multi-objective optimization; optimization applications in radiation therapy treatment planning, medical imaging, manufacturing and production systems, and engineering design problems

Philip Feng, PhD
(California Institute of Technology)
Associate Professor
Nanoelectromechanical systems (NEMS), energy-efficient devices, advanced materials & devices engineering, bio/chemical sensors & biomedical microsystems, RF/microwave devices & circuits, low-noise measurement & precision instruments

Michael Fu, PhD
(Case Western Reserve University)
Assistant Professor
Neuro-rehabilitation and motor-relearning, with emphasis on virtual environments, neuromuscular electrical stimulation, robotics, psychophysics, haptic interfaces, and brain-machine interfaces

Roberto Fernandez Galan, PhD
(Humboldt Universität)
Assistant Professor
Systems Biology, Signal Processing and Data Analysis, Computational Neuroscience and Electrophysiology

Mario Garcia-Sanz, DrEng
(University of Navarra, Spain)
Professor
Robust and nonlinear control, quantitative feedback theory, multivariable control, dynamic systems, systems modeling and identification; energy innovation, wind energy, spacecraft, electrical, mechanical, environmental and industrial applications

Evren Gurkan-Cavusoglu, PhD
(Middle East Technical University)
Assistant Professor
Systems and control theory, systems biology, computational biology, biological system modeling, signal processing applied to biological systems, signal processing

Ming-Chun Huang, PhD
(University of California, Los Angeles)
Assistant Professor
Health Informatics, HCI, Visualization

Gregory S. Lee, PhD
(University of Washington)
Assistant Professor
Haptic devices, including low-power design and effects on perception; applications to robotic surgery and telesurgery; secure teleoperation

Pan Li, PhD
(University of Florida)
Associate Professor
Networks, Cybersecurity, Big data, Cyber-physical systems, Bioinformatics

Wei Lin, PhD
(Washington University in St. Louis)
Professor
Nonlinear control, dynamic systems and homogeneous systems theory, H-infinity and robust control, adaptive control, system parameter estimation and fault detection, nonlinear control applications to under-actuated mechanical systems, biologically-inspired systems and systems biology

Kenneth A. Loparo, PhD
(Case Western Reserve University)
Nord Professor of Engineering
Stability and control of nonlinear and stochastic systems; fault detection, diagnosis, and prognosis; recent applications work in advanced control and failure detection of rotating machines, signal processing for the monitoring and diagnostics of physiological systems, and modeling, analysis, and control of power and energy systems

Behnam Malakooti, PhD, PE
(Purdue University)
Professor
Design and multi-objective optimization, manufacturing/production/operations systems, intelligent systems and networks, artificial neural networks, biological systems, intelligent decision making

Soumyajit Mandal, PhD
(Massachusetts Institute of Technology)
Assistant Professor
Integrated Circuits and Systems, Nuclear Magnetic Resonance (NMR) Sensors

Mehran Mehregany, PhD
(Massachusetts Institute of Technology)
Goodrich Professor of Engineering Innovation
Research and development at the intersections of micro/nano-electro-mechanical systems, semiconductor silicon carbide and integrated circuits

Pedram Mohseni, PhD
(University of Michigan)
Professor
Biomedical microsystems, bioelectronics, wireless neural interfaces, CMOS interface circuits for MEMS, low-power wireless sensing/actuating microsystems

Wyatt S. Newman, PhD, PE
(Massachusetts Institute of Technology)
Professor
Mechatronics, high-speed robot design, force- and vision-based machine control, artificial reflexes for autonomous machines, rapid prototyping, agile manufacturing, mobile robotic platforms

Christos Papachristou, PhD
(Johns Hopkins University)
Professor
VLSI design and CAD, computer architecture and parallel processing, design automation, embedded system design

Marija Prica, PhD
(Carnegie Mellon University)
Assistant Professor
Energy, Optimization, Protection

Daniel Saab, PhD
(University of Illinois at Urbana-Champaign)
Associate Professor
Computer architecture, VLSI system design and test, CAD design automation

Sree N. Sreenath, PhD
(University of Maryland)
Professor
Systems biology complexity research (modeling, structural issues, and simulation); cell signaling, population behavior, and large-scale behavior; global issues and sustainable development

Christian A. Zorman, PhD
(Case Western Reserve University)
Professor
Materials and processing techniques for MEMS and NEMS, wide bandgap semiconductors, development of materials and fabrication techniques for polymer-based MEMS and bioMEMS


Computer Science Division

Erman Ayday, PhD
(Georgia Institute of Technology)
Assistant Professor
Cryptography, Network Security, Trust and Reputation Management, Big Data Analytics

Harold S. Connamacher, PhD
(University of Toronto)
Assistant Professor
Constraint satisfaction problems, graph theory, random structures, and algorithms

Chris Fietkiewicz, PhD
(Case Western Reserve University)
Assistant Professor
Applied and theoretical neuroscience, neuronal modeling, signal processing and signal analysis, electrophysiology, applications to epilepsy and respiratory control

Mehmet Koyuturk, PhD
(Purdue University)
Professor
Bioinformatics and computational biology, computational modeling and algorithm development for systems biology, integration, mining and analysis of biological data, algorithms for distributed systems

Michael Lewicki, PhD
(California Institute of Technology)
Professor
Computational perception and scene analysis, visual representation and processing, auditory representation and analysis

Jing Li, PhD
(University of California, Riverside)
Associate Chair, Professor
Computational biology and bioinformatics, statistical genomics and functional genomics, systems biology, algorithms

Vincenzo Liberatore, PhD
(Rutgers University)
Associate Professor
Distributed systems, Internet computing, randomized algorithms

H. Andy Podgurski, PhD
(University of Massachusetts, Amherst)
Professor
Software engineering methodology and tools, especially use of data mining, machine learning, and program analysis techniques in software testing, fault detection and localization, reliable engineering and software security, electronic medical records, privacy

Michael Rabinovich, PhD
(University of Washington)
Professor
Computer networks, Internet performance evaluation, databases, utility computing

Soumya Ray, PhD
(University of Wisconsin, Madison)
Associate Professor
Artificial intelligence, machine learning, reinforcement learning, automated planning, applications to interdisciplinary problems including medicine and bioinformatics

Xusheng Xiao, PhD
(North Carolina State University)
Assistant Professor
Software Engineering, Computer Security


Secondary Faculty Appointments

Alexis R. Abramson, PhD
(University of California, Berkeley)
Interim Chair, Electrical Engineering and Computer Science
Milton and Tamar Maltz Professor of Energy Innovation, Mechanical and Aerospace Engineering

Kathryn Daltorio, PhD
(Case Western Reserve University)
Assistant Professor

Dominique Durand, Ph.D.
(University of Toronto)
Professor

Mark Griswold, PhD
(University of Würzburg, Germany)
Professor, Radiology

Fulai Jin, PhD
(Univ of California, Los Angeles)
Assistant Professor

Thomas LaFramboise, PhD
(University of Illinois)
Associate Professor, Genetics

Anant Madabhushi, Ph.D.
(University of Pennsylvania)
Secondary Professor

Elizabeth Madigan, PhD
(Case Western Reserve University)
Professor, Frances Payne Bolton School of Nursing

Roger D. Quinn, PhD
(Virginia Polytechnic Institute and State University)
Professor, Mechanical and Aerospace Engineering

Satya S. Sahoo, PhD
(Wright State University)
Assistant Professor, Center for Clinical Investigations

Nicole Sieberlich, PhD
(University of Wurzburg, Germany)
Associate Professor, Biomedical Engineering

Peter Thomas, PhD
(University of Chicago)
Associate Professor, Mathematics, Applied Mathematics, and Statistics

Xiong (Bill) Yu, PhD, PE
(Purdue University)
Professor, Civil Engineering


Research Faculty

Farhad Kaffashi, PhD
(Case Western Reserve University)
Research Assistant Professor
Signal processing of physiological time series data, systems and control


Adjunct Faculty Appointments

Michael Adams, PhD
(Case Western Reserve University)
Adjunct Assistant Professor

Mark A. Allman, MSEE
(Ohio University)
Adjunct Instructor

Nicholas Barendt, MSEE
(Case Western Reserve University)
Adjunct Sr. Instructor

Gurkan Bebek, Ph.D.
(Case Western Reserve University)
Adjunct Instructor

Swarup Bhunia, Ph.D.
(Purdue University)
Adjunct Associate Professor

Michael S. Branicky, ScD, PE
(Massachusetts Institute of Technology)
Adjunct Professor

Mahdi Cheraghchi, Ph.D.
(Swiss Federal Institute of Technology)
Adjunct Assistant Professor

Robert Eckman, MBA, PMP, CISSP
(University of Phoenix)
Adjunct Instructor

Lev Gonick, Ph.D.
(York University, Toronto)
Adjunct Professor

John C. Hoag, Ph.D.
(The Ohio State University)
Adjunct Associate Professor

Suparerk Janjarasjitt, PhD
(Case Western Reserve University)
Adjunct Assistant Professor

Eamon Johnson, PhD
(Case Western Reserve University)
Adjunct Instructor

David Kazdan, Ph.D.
(Case Western Reserve University)
Adjunct Assistant Professor

John R. Miller, Ph.D.
(Massachusetts Institute of Technology)
Adjunct Professor

Srinivas Raghavan, PhD
(Ohio State University)
Adjunct Professor

Gideon Samid, PhD
(Israel Institute of Technology)
Adjunct Assistant Professor

Shivakumar Sastry, PhD
(Case Western Reserve University)
Adjunct Associate Professor

William L. Schultz, PhD, PE
(Case Western Reserve University)
Adjunct Associate Professor

Marvin S. Schwartz, PhD
(Case Western Reserve University)
Adjunct Professor

Lawrence Sears
(Case Western Reserve University)
Adjunct Instructor

Amit Sinha, PhD
(Case Western Reserve University)
Adjunct Assistant Professor

Theodore Theofrastous, JD
(Case Western Reserve University)
Adjunct Instructor

Peter J. Tsivitse, PhD
(Case Western Reserve University)
Adjunct Professor

Francis G. Wolff, Ph.D.
(Case Western Reserve University)
Adjunct Associate Professor

Olaf Wolkenhauer, PhD
(UMIST, Manchester)
Adjunct Professor

Qing-rong Jackie Wu, PhD
(Mayo Graduate School)
Adjunct Professor

Guo-Qiang "GQ" Zhang, Ph.D.
(Cambridge University)
Adjunct Professor

Xiang Zhang, PhD
(University of North Carolina at Chapel Hill)
Adjunct Associate Professor

Hongping Zhao, PhD
(Lehigh University)
Adjunct Associate Professor


Active Emeritus Faculty

George W. Ernst, PhD
(Carnegie Institute of Technology)
Emeritus Professor
Learning problem solving strategies, artificial intelligence, expert systems, program verification

Dov Hazony, PhD
(University of California, Los Angeles)
Emeritus Professor
Network synthesis, ultrasonics, communications

Francis "Frank" L. Merat, PhD, PE
(Case Western Reserve University)
Emeritus Professor
Computer and robot vision, digital image processing, sensors, titanium capacitors and power electronics; RF and wireless systems; optical sensors; engineering education

Gultekin Ozsoyoglu, PhD
(University of Alberta, Canada)
Emeritus Professor
Graph databases and data mining problems in metabolic networks, metabolomics, and systems biology, bioinformatics, web data mining

Z. Meral Ozsoyoglu, PhD
(University of Alberta, Canada)
Emeritus Professor
Database systems, database query languages and optimization, data models, index structures, bioinformatics, medical informatics

Lee J. White, PhD
(University of Michigan)
Emeritus Professor
Software testing: regression testing, GUI testing, specification-based testing, testing of object-oriented software

Undergraduate Programs

The EECS department offers programs leading to degrees in:

  1. Data Science and Analytics (Bachelor of Science)
  2. Electrical Engineering (Bachelor of Science in Engineering)
  3. Systems and Control Engineering (Bachelor of Science in Engineering)
  4. Computer Engineering (Bachelor of Science in Engineering)
  5. Computer Science (Bachelor of Science, Bachelor of Arts)

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.


Bachelor of Science in Data Science and Analytics

The Bachelor of Science degree program in Data Science and Analytics provides our students with a broad foundation in the field and the instruction, skills, and experience needed to understand and handle large amounts of data that transform thinking about a collection of vast amounts of data into one that focuses on the data’s conversion to actionable information.  The degree program has a unique focus on real-world data and real-world applications.

This major is one of the first undergraduate programs nationwide with a unique curriculum that includes mathematical modeling, informatics, data analytics, visual analytics and project-based applications - all elements of the future emerging field of data science.

An undergraduate minor in Applied Data Science is administered in the Materials Science and Engineering Department. 

In addition to engineering general education requirements and university general education requirements, the major requires the following courses:

Major Requirements

CHEM 111Principles of Chemistry for Engineers4
DSCI 133Introduction to Data Science and Engineering for Majors3
DSCI 234Structured and Unstructured Data3
DSCI 341Introduction to Databases: DS Major3
DSCI 342Introduction to Data Science Systems3
DSCI 343Introduction to Data Analysis3
DSCI 344Scalable Parallel Data Analysis3
DSCI 345Files, Indexes and Access Structures for Big Data3
EECS 132Introduction to Programming in Java3
EECS 302Discrete Mathematics3
EECS 340Algorithms3
EECS 393Software Engineering3
ENGL 398Professional Communication for Engineers2
ENGR 398Professional Communication for Engineers1
MATH 201Introduction to Linear Algebra for Applications3
MATH 121Calculus for Science and Engineering I4
MATH 122Calculus for Science and Engineering II4
MATH 223Calculus for Science and Engineering III3
MATH 224Elementary Differential Equations3
PHYS 121General Physics I - Mechanics4
PHYS 122General Physics II - Electricity and Magnetism4

Core courses provide our students with a strong background in signal processing, systems, and analytics. Students are required to develop depth in at least one of the following technical areas: signal processing, systems, and analytics. Each data science and analytics student must complete the following requirements:

Technical Elective Requirement

Each student must complete 8 courses (24 credit hours) of approved technical electives. Technical electives shall be chosen to fulfill the probability/statistics elective (1 course), the computer and data security elective (1 course), the depth requirement (3 courses), and 3 courses otherwise chosen to increase the student’s understanding of data science and analytics. Technical electives not used to satisfy the probability/statistics elective, the computer and data security elective, or the depth requirement are more generally defined as any course related to the principles and practice of data science and analytics. This includes all DSCI courses at the 200 level and above and can include courses from other programs. All non-DSCI technical electives must be approved by the student’s academic advisor.

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 three areas. Additional courses, beyond those that are listed, may be approved by the student’s academic advisor.

Area I: Signal Processing
EECS 246Signals and Systems4
EECS 313Signal Processing3
STAT 332Statistics for Signal Processing3
Area II: Systems
EECS 325Computer Networks I3
or EECS 425 Computer Networks I
EECS 338Intro to Operating Systems and Concurrent Programming4
EECS 600Special Topics ( Cloud Computing)1 - 18
Area III: Analytics
DSCI 390Machine Learning for Big Data3
DSCI 391Data Mining for Big Data3
EECS 339Web Data Mining3
EECS 346Engineering Optimization3
EECS 440Machine Learning3
EECS 442Causal Learning from Data3

Computer and Data Security Elective Requirement

EECS 444Computer Security3
MATH 408Introduction to Cryptology3

Statistics Requirement

MATH 380Introduction to Probability3
STAT 325Data Analysis and Linear Models3

Design Requirement

DSCI 398 Engineering Projects I
DSCI 399 Engineering Projects II

Suggested Program of Study: Bachelor of Science in Data Science and Analytics

The following is a suggested program of study.  Current students should always consult their advisers and their individual graduation requirement plans as tracked in SIS.

First YearUnits
FallSpring
SAGES First Year Seminar*4  
Principles of Chemistry for Engineers (CHEM 111)4  
Calculus for Science and Engineering I (MATH 121)4  
Introduction to Programming in Java (EECS 132)3  
PHED (2 half semester courses)*0  
SAGES University Seminar*  3
General Physics I - Mechanics (PHYS 121)  4
Calculus for Science and Engineering II (MATH 122)  4
Introduction to Data Science and Engineering for Majors (DSCI 133)  3
PHED (2 half semester courses)*  0
Open Elective  3
Year Total: 15 17
 
Second YearUnits
FallSpring
SAGES University Seminar*3  
General Physics II - Electricity and Magnetism (PHYS 122)4  
Calculus for Science and Engineering III (MATH 223)3  
Structured and Unstructured Data (DSCI 234)3  
Discrete Mathematics (EECS 302)3  
Introduction to Databases: DS Major (DSCI 341)  3
Elementary Differential Equations (MATH 224)  3
Algorithms (EECS 340)  3
Breadth elective**  3
Probability/Statistics Electivea  3
Year Total: 16 15
 
Third YearUnits
FallSpring
Introduction to Data Science Systems (DSCI 342)3  
Software Engineering (EECS 393)3  
Breadth elective**3  
Introduction to Data Analysis (DSCI 343)3  
Introduction to Linear Algebra for Applications (MATH 201)3  
Professional Communication for Engineers (ENGL 398)  2
Professional Communication for Engineers (ENGR 398)  1
Scalable Parallel Data Analysis (DSCI 344)  3
Computer and Data Security Electiveb  3
Files, Indexes and Access Structures for Big Data (DSCI 345)  3
Technical Electived  3
Year Total: 15 15
 
Fourth YearUnits
FallSpring
Technical Electived3  
Technical Electivec3  
DSCI 398 Senior Project I4  
Technical electivec3  
Breadth elective**3  
Breadth elective**  3
DSCI Technical electivec  3
DSCI 399 Senior Project II  4
Technical electived  3
Open elective  3
Year Total: 16 16
 
Total Units in Sequence:  125
*

University general education requirement 

**

 Engineering general education requirement 

a

 Probability and statistics elective (MATH 380 Introduction to Probability, STAT 325 Data Analysis and Linear Models)

b

 Computer and data security elective (EECS 444 Computer Security, MATH 408 Introduction to Cryptology)

c

Technical electives in signal processing, systems, and analytics (see lists of approved courses under program requirements)

d

Technical electives 

The Bachelor of Science degree program in Data Science and Analytics is based in the Department of Electrical Engineering and Computer Science in the Case School of Engineering.

Applied Data Science Minor

An undergraduate minor in applied data science is administered in the Materials Science and Engineering Department.  

A complete list of DSCI courses may be found on the courses tab of the Data Sciences section of the General Bulletin.


Bachelor of Science in Electrical Engineering

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

The Bachelor of Science in Engineering degree program with a major in Electrical Engineering is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Mission

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.

Program Educational Objectives

  1. Graduates will be successful professionals obtaining positions appropriate to their background, interests, and education.
  2. Graduates will use continuous learning opportunities to improve and enhance their professional skills.
  3. Graduates will demonstrate leadership in their profession.

Student Outcomes

As preparation for achieving the above educational objectives, the Bachelor of Science in Engineering degree program with a major in Electrical Engineering is designed so that students attain:

  • an ability to apply knowledge of mathematics, science, and engineering
  • an ability to design and conduct experiments, as well as to analyze and interpret data
  • an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
  • an ability to function on multi-disciplinary teams
  • an ability to identify, formulate, and solve engineering problems
  • an understanding of professional and ethical responsibility
  • an ability to communicate effectively
  • the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
  • a recognition of the need for, and an ability to engage in life-long learning
  • a knowledge of contemporary issues
  • an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice

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: signals and systems, solid state, computer hardware, computer software, control, circuits, robotics, and biomedical applications. Each electrical engineering student must complete the following requirements:

Major in Electrical Engineering

In addition to engineering general education requirements and university general education requirements, the major requires the following courses:

Major Requirements

EECS 245Electronic Circuits4
EECS 246Signals and Systems4
EECS 281Logic Design and Computer Organization4
EECS 309Electromagnetic Fields I3
EECS 313Signal Processing3
EECS 321Semiconductor Electronic Devices4

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: signals and systems, solid state, computer hardware, computer software, control, circuits, robotics, and biomedical applications. Each electrical engineering student must complete the following requirements:

Technical Elective Requirement

Each student must complete eighteen (18) credit hours of approved technical electives. Technical electives shall be chosen to fulfill the depth requirement (see next) and otherwise increase the student’s understanding of electrical engineering. 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 academic advisor.

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 areas. This depth requirement may be met using a combination of the above core courses and a selection of open and technical electives. Alternative depth areas may be considered by petition to the program faculty.

Area I: Signals & Control
EECS 304Control Engineering I with Laboratory3
EECS 313Signal Processing3
EECS 351Communications and Signal Analysis3
EECS 354Digital Communications3
EECS 374Advanced Control and Energy Systems3
EECS 375Applied Control3
EECS 490Digital Image Processing3
MATH 307Linear Algebra3
Area II: Computer Software
EECS 233Introduction to Data Structures4
EECS 293Software Craftsmanship4
EECS 302Discrete Mathematics3
EECS 338Intro to Operating Systems and Concurrent Programming4
EECS 340Algorithms3
EECS 373Modern Robot Programming3
EECS 391Introduction to Artificial Intelligence3
EECS 393Software Engineering3
EECS 473Modern Robot Programming3
Area III: Solid State
PHYS 221Introduction to Modern Physics3
EECS 321Semiconductor Electronic Devices4
EECS 322/415Integrated Circuits and Electronic Devices3
EECS 422Solid State Electronics II3
Area IV: Circuits
EECS 245Electronic Circuits4
EBME 310Principles of Biomedical Instrumentation3
EECS 326Instrumentation Electronics3
EECS 344Electronic Analysis and Design3
EECS 371Applied Circuit Design4
EECS 426MOS Integrated Circuit Design3
Area V: Computer Hardware
EECS 281Logic Design and Computer Organization4
EECS 301Digital Logic Laboratory2
EECS 314Computer Architecture3
EECS 315Digital Systems Design4
EECS 316Computer Design3
EECS 318VLSI/CAD4
Area VI: Biomedical Applications
EBME 201Physiology-Biophysics I (and 2 of the following 4 courses)3
EBME 310Principles of Biomedical Instrumentation3
EBME 320Medical Imaging Fundamentals3
EBME 327Bioelectric Engineering3
EBME 401DBiomedical Instrumentation and Signal Processing3
Area VII:  Robotics
EECS 246Signals and Systems4
EECS 275Fundamentals of Robotics4
EECS 304Control Engineering I with Laboratory3
EECS 376Mobile Robotics4
EECS 373Modern Robot Programming3
EECS 473Modern Robot Programming3
EECS 484Computational Intelligence I: Basic Principles3
EECS 489Robotics I3

Statistics Requirement

STAT 332Statistics for Signal Processing *3
*

STAT 333 Uncertainty in Engineering and Science may be substituted with approval of advisor

Design Requirement

EECS 398Engineering Projects I4
EECS 399Engineering Projects II3

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, control, signal processing, electronics, integrated circuit design and fabrication, and robotics. With the approval of the advisor, a student may emphasize other specialties by selecting elective courses from other programs or departments.

Additionally, math and statistics classes are highly recommended as an integral part of the student's technical electives to prepare for work in industry and government and for graduate school. The following math/statistics classes are recommended and would be accepted as approved technical electives:

- MATH 201 Introduction to Linear Algebra for Applications

- MATH 330 Introduction of Scientific Computing

- MATH 380 Introduction to Probability

- STAT 412 Statistics for Design and Analysis in Engineering and Science

Other Math/Statistics may be used as technical electives with the approval of the student's academic advisor.

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.

Suggested Program of Study: Major in Electrical Engineering

The following is a suggested program of study.  Current students should always consult their advisers and their individual graduation requirement plans as tracked in SIS.

First YearUnits
FallSpring
SAGES First Year Seminar*4  
Principles of Chemistry for Engineers (CHEM 111)**4  
Calculus for Science and Engineering I (MATH 121)**4  
Elementary Computer Programming (ENGR 131)**3  
Open elective 3  
PHED (2 half semester courses)*0  
SAGES University Seminar*  3
General Physics I - Mechanics (PHYS 121)**,b  4
Calculus for Science and Engineering II (MATH 122)**  4
Chemistry of Materials (ENGR 145)**  4
PHED (2 half semester courses)*  0
Year Total: 18 15
 
Second YearUnits
FallSpring
General Physics II - Electricity and Magnetism (PHYS 122)**,b4  
Calculus for Science and Engineering III (MATH 223)**3  
Introduction to Circuits and Instrumentation (ENGR 210)**4  
Logic Design and Computer Organization (EECS 281)4  
SAGES University Seminar*  3
Thermodynamics, Fluid Dynamics, Heat and Mass Transfer (ENGR 225)**  4
Elementary Differential Equations (MATH 224)**  3
Electronic Circuits (EECS 245)  4
Electromagnetic Fields I (EECS 309)  3
Year Total: 15 17
 
Third YearUnits
FallSpring
Breadth elective**3  
Statics and Strength of Materials (ENGR 200)**3  
Signals and Systems (EECS 246)4  
Statistics for Signal Processing (STAT 332)c3  
Approved technical electived3  
Breadth elective**  3
Semiconductor Electronic Devices (EECS 321)  4
Signal Processing (EECS 313)  3
Approved technical electived  3
Professional Communication for Engineers (ENGL 398)**  2
Professional Communication for Engineers (ENGR 398)**  1
Year Total: 16 16
 
Fourth YearUnits
FallSpring
Breadth elective**3  
Engineering Projects I (EECS 398)f4  
Approved technical electived3  
Approved technical electived3  
Open elective3  
Breadth elective**  3
Engineering Projects II (EECS 399)  3
Approved technical electived  3
Approved technical electived  3
Open elective  3
Year Total: 16 15
 
Total Units in Sequence:  128

Hours Required for Graduation: 128g

*

University general education requirement 

**

Engineering general education requirement 

b

Selected students may be invited to take PHYS 123 Physics and Frontiers I - Mechanics and PHYS 124 Physics and Frontiers II - Electricity and Magnetism in place of PHYS 121 General Physics I - Mechanics  and PHYS 122 General Physics II - Electricity and Magnetism.

c

Students may replace STAT 332 Statistics for Signal Processing  with STAT 333 Uncertainty in Engineering and Science if approved by their advisor.

d

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.

e

B.S./M.S. students may double count EECS 651 Thesis M.S. to fulfill the EECS 399 Engineering Projects II requirement.

f

CO-OP students may obtain design credit for EECS 399 Engineering Projects II 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.

g

 At least 10 of the 14 required Electrical Engineering courses (EECS 281 Logic Design and Computer Organization, EECS 245 Electronic Circuits, EECS 246 Signals and Systems, EECS 309 Electromagnetic Fields I, EECS 313 Signal Processing, EECS 321 Semiconductor Electronic Devices, EECS 398 Engineering Projects I, EECS 399 Engineering Projects II and the six technical electives) in the Electrical Engineering B.S. program must be satisfied by courses in the EECS department.

Double Major: Systems and Control Engineering & Electrical Engineering

The department also offers a double major in Systems and Control Engineering and Electrical Engineering. Students pursuing the Bachelor of Science in Engineering degree program with a major in Electrical Engineering can take the following courses as technical and open electives to earn a second major in Systems and Control Engineering:

EECS 216Fundamental System Concepts (SC)3
EECS 304Control Engineering I with Laboratory (EE, Area I: Signals & Control) and (SC)3
EECS 305Control Engineering I Laboratory (This is the additional 1 credit-hour course needed (SC))1
EECS 324Modeling and Simulation of Continuous Dynamical Systems (SC)3
EECS 342Introduction to Global Issues (SC)3
EECS 346Engineering Optimization (SC)3
EECS 352Engineering Economics and Decision Analysis (SC)3
EECS 375Applied Control (EE, Area I: Signals & Control) and (SC)3
MATH 201Introduction to Linear Algebra for Applications (SC)3
OPRE 432Computer Simulation (SC)3

Cooperative Education Program in Electrical Engineering

Opportunities are available for students to alternate studies with work in industry or government as a co-op student, which involves paid full-time employment over seven months (one semester and one summer). Students may work in one or two co-ops, beginning in the third year of study. Co-ops provide students the opportunity to gain valuable hands-on experience in their field by completing a significant engineering project while receiving professional mentoring. During a co-op placement, students do not pay tuition but maintain their full-time student status while earning a salary. Learn more at engineering.case.edu/coop. Alternatively or additionally, students may obtain employment as summer interns.

BS/MS Program in Electrical Engineering

The department encourages highly motivated and qualified students to apply for admission to the five-year BS/MS Program in the junior year. This integrated program, which permits up to 9 credit hours of graduate level coursework to be counted towards both BS and MS degree requirements (including an option to substitute MS thesis work for EECS 399 Engineering Projects II, the second senior project). It also offers the opportunity to complete both the Bachelor of Science in Engineering and Master of Science degrees within five years.  Review the Office of Undergraduate Studies BS/MS program requirements here.

Minor in Electrical Engineering

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

EECS 245Electronic Circuits4
EECS 246Signals and Systems4
EECS 281Logic Design and Computer Organization4
EECS 309Electromagnetic Fields I3
Approved technical elective3
Total Units18

Minor in Electronics

The department also offers a minor in electronics for students in the College of Arts and Sciences. 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:

MATH 125Math and Calculus Applications for Life, Managerial, and Social Sci I4
MATH 126Math and Calculus Applications for Life, Managerial, and Social Sci II4
PHYS 115Introductory Physics I4
PHYS 116Introductory Physics II4
ENGR 131Elementary Computer Programming3
ENGR 210Introduction to Circuits and Instrumentation4
EECS 246Signals and Systems4
EECS 281Logic Design and Computer Organization4
Total Units31

Bachelor of Science in Systems and Control Engineering

The Bachelor of Science in Engineering degree program with a major 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, simulation, decision-making, control, and optimization are studied. Some examples of systems problems which are studied include: modeling and analysis of complex 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 Bachelor of Science in Engineering with a major in Systems and Control Engineering is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Mission

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.

Program Educational Objectives

  1. Graduates apply systems methodology to multi-disciplinary projects that include technical, social, environmental, and/or economic factors.
  2. Graduates use systems understanding, thinking and problem-solving skills to analyze and design systems or processes that respond to technical and societal needs.
  3. Graduates use teamwork, leadership, communication, and management skills to facilitate multidisciplinary projects that bring together practitioners of various engineering fields in an effective, professional, and ethical manner.

Student Outcomes

  • an ability to apply knowledge of mathematics, science, and engineering
  • an ability to design and conduct experiments, as well as to analyze and interpret data
  • an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
  • an ability to function on multi-disciplinary teams
  • an ability to identify, formulate, and solve engineering problems
  • an understanding of professional and ethical responsibility
  • an ability to communicate effectively
  • the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
  • a recognition of the need for, and an ability to engage in life-long learning
  • a knowledge of contemporary issues
  • an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice

Major in Systems and Control Engineering

In addition to engineering general education requirements and university general education requirements, the major requires the following courses:

Major Requirements

EECS 216Fundamental System Concepts3
EECS 246Signals and Systems4
EECS 304Control Engineering I with Laboratory3
EECS 305Control Engineering I Laboratory1
EECS 313Signal Processing3
EECS 324Modeling and Simulation of Continuous Dynamical Systems3
EECS 342Introduction to Global Issues3
EECS 346Engineering Optimization3
EECS 352Engineering Economics and Decision Analysis3
OPRE 432Computer Simulation3
EECS 399Engineering Projects II3

Fifteen hours of approved technical electives including at least 9 hours of approved courses to constitute a depth of study

Breadth Requirement

MATH 201Introduction to Linear Algebra for Applications3
STAT 332Statistics for Signal Processing3

Statistics Requirement

STAT 332Statistics for Signal Processing *3
*

STAT 333 Uncertainty in Engineering and Science may be substituted with approval of advisor

Design Requirement

EECS 398Engineering Projects I4

Depth Requirement

Each student must show a depth of competence in one technical area by taking at least three courses from one of the three tracks/program concentration areas, namely energy systems, control systems and data analytics, listed below:

Track 1: Energy Systems
EECS 368Power System Analysis I3
EECS 369Power System Analysis II3
EECS 370Smart Grid3
EECS 374Advanced Control and Energy Systems3
EECS 375Applied Control3
EECS 281Logic Design and Computer Organization4
Track 2: Control Systems
EECS 375Applied Control3
EECS 374Advanced Control and Energy Systems3
EECS 281Logic Design and Computer Organization4
Technical Elective from the Energy Systems or Data Analytics tracks3
Track 3: Data Analytics
  • "Core Tools" list:
EECS 339Web Data Mining3
STAT 325Data Analysis and Linear Models3
STAT 326Multivariate Analysis and Data Mining3
EECS 435Data Mining3
EECS 452Random Signals3
EECS 490Digital Image Processing3
OPRE 433Foundations of Probability and Statistics3
  • "Application" lists:

Business/Manufacturing Analytics:

EECS 350Operations and Systems Design3
EECS 360Manufacturing and Automated Systems3
BAFI 361Empirical Analysis in Finance3
MKMR 310Marketing Analytics3
OPMT 475Supply Chain Logistics3
OPMT 477Enterprise Resource Planning in the Supply Chain3
EECS 490Digital Image Processing3

Healthcare Analytics

EECS 319Applied Probability and Stochastic Processes for Biology3
EECS 365Complex Systems Biology3
MATH 378Computational Neuroscience3
EBME 410Medical Imaging Fundamentals3
BIOL 304Fitting Models to Data: Maximum Likelihood Methods and Model Selection3
SYBB 421Fundamentals of Clinical Information Systems3
SYBB 422Clinical Informatics at the Bedside and the Bench (Part II)3

       Energy Systems Analytics

EECS 370Smart Grid3

Suggested Program of Study: Major in Systems and Control Engineering

The following is a suggested program of study. Current students should always consult their advisers and their individual graduation requirement plans as tracked in SIS.

First YearUnits
FallSpring
SAGES First Year Seminar*4  
Principles of Chemistry for Engineers (CHEM 111)**4  
Calculus for Science and Engineering I (MATH 121)**4  
Elementary Computer Programming (ENGR 131)**3  
Open elective3  
PHED (2 half semester courses)*0  
SAGES University Seminar*  3
General Physics I - Mechanics (PHYS 121)**,a  4
Calculus for Science and Engineering II (MATH 122)**  4
Chemistry of Materials (ENGR 145)**  4
PHED (2 half semester courses)*  0
Year Total: 18 15
 
Second YearUnits
FallSpring
General Physics II - Electricity and Magnetism (PHYS 122)**,a4  
Calculus for Science and Engineering III (MATH 223)**3  
Introduction to Circuits and Instrumentation (ENGR 210)**4  
Statistics for Signal Processing (STAT 332)3  
SAGES University Seminar*3  
Fundamental System Concepts (EECS 216)  3
Elementary Differential Equations (MATH 224)**  3
Statics and Strength of Materials (ENGR 200)**  3
Thermodynamics, Fluid Dynamics, Heat and Mass Transfer (ENGR 225)**  4
Introduction to Linear Algebra for Applications (MATH 201)  3
Year Total: 17 16
 
Third YearUnits
FallSpring
Breadth elective**3  
Signals and Systems (EECS 246)4  
Modeling and Simulation of Continuous Dynamical Systems (EECS 324)3  
Introduction to Global Issues (EECS 342)3  
Approved technical electivec3  
Breadth elective**  3
Control Engineering I with Laboratory (EECS 304)  3
Control Engineering I Laboratory (EECS 305)  1
Engineering Optimization (EECS 346)  3
Signal Processing (EECS 313)  3
Computer Simulation (OPRE 432)  3
Year Total: 16 16
 
Fourth YearUnits
FallSpring
Breadth elective**3  
Professional Communication for Engineers (ENGL 398)**2  
Professional Communication for Engineers (ENGR 398)**1  
Engineering Economics and Decision Analysis (EECS 352)3  
Engineering Projects I (EECS 398)b4  
Approved technical electivec3  
Breadth elective**  3
Engineering Projects II (EECS 399)b  3
Approved technical electivec  3
Approved technical electivec  3
Approved technical electivec  3
Year Total: 16 15
 
Total Units in Sequence:  129

Hours Required for Graduation: 129

*

 University general education requirement

**

Engineering general education requirement 

a

 Selected students may be invited to take PHYS 123 Physics and Frontiers I - Mechanics and PHYS 124 Physics and Frontiers II - Electricity and Magnetism in place of PHYS 121 General Physics I - Mechanics and PHYS 122 General Physics II - Electricity and Magnetism.

b

Co-op students may obtain design credit for one semester of Senior Project Lab if their co-op assignment includes significant design responsibility. This credit can be obtained by submitting a suitable written report and making an oral presentation on the co-op work in coordination with the senior project instructor

c

Technical electives from approved list of courses in the three tracks/program concentration areas (Energy systems, Control systems, and Data Analytics) listed under “Depth Requirement” above.

There are five technical elective courses available within the Bachelor of Science in Engineering degree program with a major in Systems and Control Engineering curriculum that represent a depth of the discipline. Students can satisfy these four technical elective requirements by choosing three courses from one of the three tracks (to meet the Depth Requirement) with the fourth and fifth courses chosen from any of the three tracks listed under the Depth Requirement section above

Dual Major: Systems and Control Engineering & Electrical Engineering

From Systems and Control Engineering (S&CE) to Electrical Engineering (EE):  S&CE students can earn a double major with EE by taking the following five courses as Technical Electives in the S&CE program:

EECS 281Logic Design and Computer Organization4
EECS 245Electronic Circuits4
EECS 309Electromagnetic Fields I3
EECS 321Semiconductor Electronic Devices4
EECS 375Applied Control3
As the three courses EECS 281, EECS 245, and EECS 321 are 4 credit-hours instead of 3, the three credit-hour “Open Elective” course in the original S&CE program is not needed.

Cooperative Education Program in Systems and Control Engineering

Opportunities are available for students to alternate studies with work in industry or government as a co-op student, which involves paid full-time employment over seven months (one semester and one summer). Students may work in one or two co-ops, beginning in the third year of study. Co-ops provide students the opportunity to gain valuable hands-on experience in their field by completing a significant engineering project while receiving professional mentoring. During a co-op placement, students do not pay tuition but maintain their full-time student status while earning a salary. Learn more at engineering.case.edu/coop. Alternatively or additionally, students may obtain employment as summer interns.

BS/MS Program in Systems and Control Engineering

The department encourages highly motivated and qualified students to apply for admission to the five-year BS/MS Program in the junior year. This integrated program, which permits up to 9 credit hours of graduate level coursework to be counted towards both BS and MS degree requirements (including an option to substitute MS thesis work for EECS 399 Engineering Projects II, the second senior project). It also offers the opportunity to complete both the Bachelor of Science in Engineering and Master of Science degrees within five years.  Review the Office of Undergraduate Studies BS/MS program requirements here.

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. This includes 

  • EECS 246 Signals and Systems
  • Three of the following four courses selected in consultation with the program minor advisor: EECS 304 Control Engineering I with Laboratory/EECS 305 Control Engineering I LaboratoryEECS 324 Modeling and Simulation of Continuous Dynamical Systems; EECS 346 Engineering OptimizationEECS 352 Engineering Economics and Decision Analysis;
  • One of EECS 313 Signal Processing, EECS 351 Communications and Signal Analysis, or EECS 354 Digital Communications.

Bachelor of Science in Computer Engineering

The Bachelor of Science in Engineering degree program with a major 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 Bachelor of Science in Engineering degree program with a major in Computer Engineering is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

Mission

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.

Program Educational Objectives

  1. Graduates will be successful professionals obtaining positions appropriate to their background, interests, and education.
  2. Graduates will engage in life-long learning to improve and enhance their professional skills.
  3. Graduates will demonstrate leadership in their profession by using their knowledge, communication skills, and engineering ability.

Student Outcomes

As preparation for achieving the above educational objectives, the Bachelor of Science in Engineering degree program with a major in Computer Engineering is designed so that students attain:

  • an ability to apply knowledge of mathematics, science, and engineering
  • an ability to design and conduct experiments, as well as to analyze and interpret data
  • an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
  • an ability to function on multi-disciplinary teams
  • an ability to identify, formulate, and solve engineering problems
  • an understanding of professional and ethical responsibility
  • an ability to communicate effectively
  • the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
  • a recognition of the need for, and an ability to engage in life-long learning
  • a knowledge of contemporary issues
  • an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice

Major in Computer Engineering

In addition to engineering general education requirements and university general education requirements, the major requires the following courses:

Major Requirements

EECS 132Introduction to Programming in Java3
ENGR 210Introduction to Circuits and Instrumentation4
EECS 233Introduction to Data Structures4
EECS 281Logic Design and Computer Organization4
EECS 301Digital Logic Laboratory2
EECS 302Discrete Mathematics3
EECS 314Computer Architecture3
EECS 315Digital Systems Design4
One of the following:4
VLSI/CAD
Intro to Operating Systems and Concurrent Programming

Statistics Requirement

One Statistics elective may be chosen from:
STAT 312Basic Statistics for Engineering and Science3
STAT 313Statistics for Experimenters3
STAT 332Statistics for Signal Processing3
STAT 333Uncertainty in Engineering and Science3

Design Requirement

EECS 398Engineering Projects I4

In consultation with a faculty advisor, a student completes the program by selecting technical and open elective courses that provide in-depth training in the 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.

Suggested Program of Study: Major in Computer Engineering

The following is a suggested program of study. Current students should always consult their advisers and their individual graduation requirement plans as tracked in SIS.

First YearUnits
FallSpring
SAGES First Year Seminar*4  
Principles of Chemistry for Engineers (CHEM 111)**4  
Calculus for Science and Engineering I (MATH 121)**4  
Introduction to Programming in Java (EECS 132)**3  
Open elective3  
PHED (2 half semester courses)*0  
SAGES University Seminar*  3
General Physics I - Mechanics (PHYS 121)**  4
Calculus for Science and Engineering II (MATH 122)**  4
Chemistry of Materials (ENGR 145)**  4
PHED (2 half semester courses)*  0
Year Total: 18 15
 
Second YearUnits
FallSpring
SAGES University Seminar*3  
General Physics II - Electricity and Magnetism (PHYS 122)**4  
Calculus for Science and Engineering III (MATH 223)**3  
Introduction to Circuits and Instrumentation (ENGR 210)**4  
Introduction to Data Structures (EECS 233)4  
Breadth elective**  3
Elementary Differential Equations (MATH 224)**  3
Statics and Strength of Materials (ENGR 200)**  3
Logic Design and Computer Organization (EECS 281)  4
Technical electivea  3
Year Total: 18 16
 
Third YearUnits
FallSpring
Breadth elective**3  
Discrete Mathematics (EECS 302)3  
Thermodynamics, Fluid Dynamics, Heat and Mass Transfer (ENGR 225)**4  
Technical electivea7  
Professional Communication for Engineers (ENGL 398)**  2
Professional Communication for Engineers (ENGR 398)**  1
Digital Logic Laboratory (EECS 301)  2
Computer Architecture (EECS 314)  3
Digital Systems Design (EECS 315)  4
Intro to Operating Systems and Concurrent Programming (EECS 338) (or Technical elective,3)b  4
Year Total: 17 16
 
Fourth YearUnits
FallSpring
Breadth elective**3  
Statistics electivec3  
Technical electivea3  
Technical elective (or EECS 318 VLSI/CAD) b3  
Open elective3  
Breadth elective**  3
Engineering Projects I (EECS 398)d  4
Technical electivea  3
Open elective  4
Year Total: 15 14
 
Total Units in Sequence:  129

Hours Required for Graduation: 129

*

University general education requirement 

**

Engineering general education requirement 

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) EECS 338 Intro to Operating Systems and Concurrent Programming (Spring Semester), or a three credit hour technical elective.

c

Chosen from: 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

d

May be taken in the Fall semester if the student would like to take EECS 399 Engineering Projects II.

Cooperative Education Program in Computer Engineering

Opportunities are available for students to alternate studies with work in industry or government as a co-op student, which involves paid full-time employment over seven months (one semester and one summer). Students may work in one or two co-ops, beginning in the third year of study. Co-ops provide students the opportunity to gain valuable hands-on experience in their field by completing a significant engineering project while receiving professional mentoring. During a co-op placement, students do not pay tuition but maintain their full-time student status while earning a salary. Learn more at engineering.case.edu/coop. Alternatively or additionally, students may obtain employment as summer interns.

BS/MS Program in Computer Engineering

Highly motivated and qualified students are encouraged to apply to the BS/MS Program which will allow them to get both degrees in five years. The BS 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.  Review the Office of Undergraduate Studies BS/MS program requirements here.

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:

EECS 281Logic Design and Computer Organization4
EECS 233Introduction to Data Structures4

Students should note that EECS 132 Introduction to Programming in Java is a prerequisite for EECS 233 Introduction to Data Structures.

The two-course hardware sequence is:

EECS 314Computer Architecture3
EECS 315Digital Systems Design4

The corresponding two-course software sequence is:

EECS 338Intro to Operating Systems and Concurrent Programming4
EECS 3XX Approved by advisor4

Computer Science

Mission

The mission of the Bachelor of Science degree program in Computer Science and the Bachelor of Arts degree program in Computer Science 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 and its application to other disciplines.

Program Educational Objectives

  1. To educate and train students in the fundamentals of computer science and mathematics
  2. To educate students with an understanding of real-world computing needs
  3. To train students to work effectively, professionally and ethically in computing-related professions

Student Outcomes

As preparation for achieving the above educational objectives, the BS and BA degree programs in Computer Science are designed so that Bachelor of Science students attain:

  • An ability to apply knowledge of computing and mathematics appropriate to the program's student outcomes and to the discipline
  • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  • An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
  • An ability to function effectively on teams to accomplish a common goal
  • An understanding of professional, ethical, legal, security and social issues and responsibilities
  • An ability to communicate effectively with a range of audiences
  • An ability to analyze the local and global impact of computing on individuals, organizations, and society
  • Recognition of the need for and an ability to engage in continuing professional development
  • An ability to use current techniques, skills, and tools necessary for computing practice
  • An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
  • An ability to apply design and development principles in the construction of software systems of varying complexity

Core and breadth courses provide our students with the flexibility to work across many disciplines and prepare them for a variety of professions. Our curriculum is designed to teach fundamental skills and knowledge needed by all CS graduates while providing the greatest flexibility in selecting topics. Students are also required to develop depth in at least one of the following technical areas: software engineering; algorithms and theory; computer systems, networks, and security; databases and data mining; bioinformatics; or artificial intelligence.

Bachelor of Science in Computer Science

The Bachelor of Science degree program in Computer Science is designed to give a student a strong background in the fundamentals of mathematics and computer science. The curriculum is designed according to the latest ACM/IEEE computer science curriculum guidelines. 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.

The Bachelor of Science degree program in Computer Science is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org/.

Bachelor of Arts in Computer Science

The Bachelor of Arts degree 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 degree 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.

Major in Computer Science (BS and BA)

BS Degree. Each student is required to complete a total of 14 CS courses. CS courses consist of the courses listed in the core, technical breadth, and depth areas below. BS students must complete: all 6 core courses; 5 of 7 technical breadth courses; and at least 4 courses in one of the listed depth areas, including all starred courses in that area (many of these also count toward the technical breadth requirement). Each student is also required to complete 5 technical electives. These can be satisfied using courses from the list of approved technical electives, additional technical breadth or depth courses, or from other CS-related courses with prior permission from the student’s academic advisor.

BA Degree. Students are required to complete a total of 9 CS courses. BA students must complete all 6 core courses and 3 of 7 technical breadth courses.  In addition, each student is also required to complete 4 technical electives. There is no depth requirement for the BA degree.

Major Requirements

In addition to engineering general education requirements (Computer Science-BS), arts & sciences general education requirements (BA) and university general education requirements, the major requires the following courses:

EECS 132Introduction to Programming in Java3
EECS 233Introduction to Data Structures4
EECS 281Logic Design and Computer Organization4
EECS 302Discrete Mathematics3
EECS 340Algorithms3
EECS 395Senior Project in Computer Science4
---
B.S.
CHEM 111Principles of Chemistry for Engineers4
ENGR 145Chemistry of Materials4
MATH 121Calculus for Science and Engineering I4
MATH 122Calculus for Science and Engineering II4
MATH 223Calculus for Science and Engineering III3
MATH 201Introduction to Linear Algebra for Applications3
or MATH 307 Linear Algebra
PHYS 121General Physics I - Mechanics4
PHYS 122General Physics II - Electricity and Magnetism4
ENGR 398Professional Communication for Engineers1
ENGL 398Professional Communication for Engineers2
---
B.A.
MATH 125Math and Calculus Applications for Life, Managerial, and Social Sci I4
MATH 126Math and Calculus Applications for Life, Managerial, and Social Sci II4

Technical Breadth Requirement

BS students are required to complete 5 of the 7 following CS technical breadth courses. BA students are required to complete 3 of 7.

EECS 314Computer Architecture3
EECS 325Computer Networks I3
EECS 338Intro to Operating Systems and Concurrent Programming4
EECS 341Introduction to Database Systems3
EECS 345Programming Language Concepts3
EECS 391Introduction to Artificial Intelligence3
EECS 393Software Engineering3

Statistics Requirement

BS students are required to complete a statistics elective.

One Statistics elective may be chosen from:

MATH 380Introduction to Probability3
STAT 312Basic Statistics for Engineering and Science3
STAT 313Statistics for Experimenters3
STAT 332Statistics for Signal Processing3
STAT 333Uncertainty in Engineering and Science3

Depth Requirement

Students pursuing the BS degree must demonstrate a depth of competence in one of the technical areas listed below.  There is no depth requirement for the BA degree.  To complete the depth requirement, students must complete four courses in one of the depth areas, including all starred courses.  Recommended general background courses are listed following each area where applicable. 

Technical breadth courses can also count toward the depth requirement. CS BS students are required to complete a total of 14 CS courses (courses listed in the core, technical breadth, and depth requirements) to ensure that the total number of required courses is the same irrespective of the depth area.  For depth areas that have two starred courses that are also technical breadth courses, one additional CS course is required to reach the required total of 14.  Additional CS courses taken beyond the required 14 can count toward the technical elective requirement (see below).


Area 1: Software Engineering
EECS 293Software Craftsmanship4
EECS 337Compiler Design4
EECS 345Programming Language Concepts *3
EECS 392App Development for iOS3
EECS 393Software Engineering *3
EECS 402Internet Security and Privacy3
EECS 441Internet Applications3
EECS 444Computer Security3
Area 2: Algorithms and Theory
EECS 340Algorithms *3
EECS 343Theoretical Computer Science *3
EECS 440Machine Learning3
EECS 454Analysis of Algorithms3
EECS 477Advanced Algorithms3
MATH 408Introduction to Cryptology3

Recommended preparation: MATH 380 Introduction to ProbabilityEECS 455 Applied Graph Theory,  PHIL 306 Mathematical Logic and Model Theory.

Area 3: Computer Systems, Networks and Security
EECS 325Computer Networks I *3
EECS 337Compiler Design4
EECS 338Intro to Operating Systems and Concurrent Programming *4
EECS 402Internet Security and Privacy3
MATH 408Introduction to Cryptology3
EECS 441Internet Applications3
EECS 444Computer Security3
Area 4: Databases and Data Mining
EECS 339Web Data Mining3
EECS 341Introduction to Database Systems *3
EECS 405Data Structures and File Management3
EECS 433Database Systems3
EECS 435Data Mining3
EECS 440Machine Learning3
Area 5: Bioinformatics
EECS 341Introduction to Database Systems3
EECS 435Data Mining3
EECS 440Machine Learning3
EECS 454Analysis of Algorithms3
EECS 458Introduction to Bioinformatics *3
EECS 459Bioinformatics for Systems Biology *3

Recommended breadth and preparation: STAT 325 Data Analysis and Linear Models or PQHS 431 Statistical Methods I,SYBB 311A Survey of Bioinformatics: Technologies in Bioinformatics, SYBB 311B Survey of Bioinformatics: Data Integration in Bioinformatics, SYBB 311C Survey of Bioinformatics: Translational BioinformaticsSYBB 311C Survey of Bioinformatics: Translational Bioinformatics, BIOL 214 Genes, Evolution and Ecology

Area 6: Artificial Intelligence
EECS 391Introduction to Artificial Intelligence *3
EECS 440Machine Learning3
EECS 442Causal Learning from Data3
EECS 484Computational Intelligence I: Basic Principles3
EECS 491Artificial Intelligence: Probabilistic Graphical Models3
EECS 496Artificial Intelligence: Sequential Decision Making3
EECS 497Artificial Intelligence: Statistical Natural Language Processing3
EECS 499Algorithmic Robotics3
EECS 531Computer Vision3

Recommended breadth and preparation: MATH 380 Introduction to Probability, and either EECS 416 Convex Optimization for Engineering or EECS 477 Advanced Algorithms.

Technical Electives

Computer Science BS students are required to complete a total of 5 technical electives, totaling at least 14 credit hours; CS BA students are required to complete 4, totaling at least 11 credit hours. Technical electives are divided into two groups according to how closely a course is related to the core knowledge areas as defined in the ACM/IEEE computer science curriculum guidelines. CS students may complete any (or all) of their technical electives from group 1 and have the option to satisfy up to two of their technical electives from group 2. Students may also satisfy any of their technical elective requirements by taking additional technical breadth or depth courses listed above. CS-related courses not listed below may count toward the technical elective requirement but require prior permission from the student’s academic advisor.

Group 1
EECS 275Fundamentals of Robotics4
EECS 290Introduction to Computer Game Design and Implementation3
EECS 301Digital Logic Laboratory2
EECS 315Digital Systems Design4
EECS 316Computer Design3
EECS 318VLSI/CAD4
EECS 366Computer Graphics3
EECS 373Modern Robot Programming3
EECS 376Mobile Robotics4
EECS 390Advanced Game Development Project3
EECS 419Computer System Architecture3
EECS 485VLSI Systems3
EECS 488Embedded Systems Design3
EECS 490Digital Image Processing3
Group 2
EECS 245Electronic Circuits4
EECS 246Signals and Systems4
EECS 304Control Engineering I with Laboratory3
EECS 305Control Engineering I Laboratory1
EECS 309Electromagnetic Fields I3
EECS 313Signal Processing3
EECS 319Applied Probability and Stochastic Processes for Biology3
EECS 324Modeling and Simulation of Continuous Dynamical Systems3
EECS 354Digital Communications3
EECS 375Applied Control3
EECS 408Introduction to Linear Systems3
EECS 413Nonlinear Systems I3
EECS 489Robotics I3
ENGR 210Introduction to Circuits and Instrumentation4
MATH 224Elementary Differential Equations3
MATH 228Differential Equations3
MATH 303Elementary Number Theory3
MATH 308Introduction to Abstract Algebra3
MATH 330Introduction of Scientific Computing3
MATH 406Mathematical Logic and Model Theory3
MATH 413Graph Theory3
MATH 431Introduction to Numerical Analysis I3
PHIL 201Introduction to Logic3
PHIL 306Mathematical Logic and Model Theory3
PHYS 221Introduction to Modern Physics3
PHYS 250Computational Methods in Physics3
STAT 345Theoretical Statistics I3
STAT 346Theoretical Statistics II3

Bachelor of Science

Suggested Program of Study: Major in Computer Science

The following is a suggested program of study. Current students should always consult their advisers and their individual graduation requirement plans as tracked in SIS.

First YearUnits
FallSpring
SAGES First Year Seminar*4  
Principles of Chemistry for Engineers (CHEM 111)4  
Calculus for Science and Engineering I (MATH 121)4  
Introduction to Programming in Java (EECS 132)3  
PHED (2 half semester courses)*0  
Open elective3  
SAGES University Seminar*  3
General Physics I - Mechanics (PHYS 121)  4
Calculus for Science and Engineering II (MATH 122)  4
Chemistry of Materials (ENGR 145)  4
PHED (2 half semester courses)*  0
Year Total: 18 15
 
Second YearUnits
FallSpring
SAGES University Seminar*3  
General Physics II - Electricity and Magnetism (PHYS 122)4  
Calculus for Science and Engineering III (MATH 223)3  
Introduction to Data Structures (EECS 233)4  
Discrete Mathematics (EECS 302)3  
Logic Design and Computer Organization (EECS 281)  4
Introduction to Linear Algebra for Applications (MATH 201)  3
Statistics electivea  3
Technical breadth electivec  3
Breadth elective**  3
Year Total: 17 16
 
Third YearUnits
FallSpring
Algorithms (EECS 340)3  
Technical breadth electivec3  
Technical breadth electivec3  
Technical electiveb3  
Breadth elective**3  
Professional Communication for Engineers (ENGL 398)  2
Professional Communication for Engineers (ENGR 398)  1
Technical breadth electivec  3
Technical breadth electivec  3
Depth electived  3
Breadth elective**  3
Year Total: 15 15
 
Fourth YearUnits
FallSpring
Breadth elective**3  
Depth electived3  
Technical electiveb3  
Technical electiveb3  
Open elective3  
Senior Project in Computer Science (EECS 395)  4
CS course electivee  3
Technical electiveb  3
Technical electiveb  3
Open elective  3
Year Total: 15 16
 
Total Units in Sequence:  127

Hours Required for Graduation: 127

*

 University general education requirement

**

Engineering general education requirement 

a

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 

b

Chosen from the list of CS technical electives. All other technical electives must be approved by the student’s advisor.

c

Each student must complete 5 of the 7 following courses: EECS 314 Computer Architecture, EECS 325 Computer Networks I, EECS 338 Intro to Operating Systems and Concurrent Programming, EECS 341 Introduction to Database Systems, EECS 345 Programming Language Concepts, EECS 391 Introduction to Artificial Intelligence, and EECS 393 Software Engineering. EECS 338 Intro to Operating Systems and Concurrent Programming is a 4 unit course.

d

Each student must complete 4 courses in one of the technical depth areas listed above, including all starred courses.

e

Needed to complete the requirement of 14 CS courses. This can be an additional breadth or depth course, depending on what is needed to satisfy the depth requirement.

Bachelor of Arts

Suggested Program of Study: Major in Computer Science

The following is a suggested program of study. Current students should always consult their advisers and their individual graduation requirement plans as tracked in SIS.

First YearUnits
FallSpring
SAGES First Year Seminar*4  
Math and Calculus Applications for Life, Managerial, and Social Sci I (MATH 125)4  
Introduction to Programming in Java (EECS 132)3  
Breadth elective**3  
Open elective3  
PHED (2 half semester courses)*0  
SAGES University Seminar*  3
Math and Calculus Applications for Life, Managerial, and Social Sci II (MATH 126)  4
Breadth elective**  3
Open elective  3
Open elective  3
PHED (2 half semester courses)*  0
Year Total: 17 16
 
Second YearUnits
FallSpring
SAGES University Seminar*3  
Logic Design and Computer Organization (EECS 281)4  
Breadth elective**3  
Open elective3  
Open elective3  
Discrete Mathematics (EECS 302)  3
Introduction to Data Structures (EECS 233)  4
Breadth elective**  3
Open elective  3
Open elective  3
Year Total: 16 16
 
Third YearUnits
FallSpring
Professional Communication for Engineers (ENGL 398)2  
Professional Communication for Engineers (ENGR 398)1  
Technical electivea3  
Technical electivea3  
Open elective3  
Technical breadth electiveb  3
Technical breadth electiveb  3
Technical breadth electiveb  3
Open elective  3
Year Total: 12 12
 
Fourth YearUnits
FallSpring
Algorithms (EECS 340)3  
Technical electivea3  
Open elective3  
Open elective3  
Open elective3  
Senior Project in Computer Science (EECS 395)  4
Technical electiveb  3
Open elective  3
Open elective  3
Open elective  3
Year Total: 15 16
 
Total Units in Sequence:  120

Hours Required for Graduation: 120

*

 University general education requirement

**

Engineering general education requirement

a

Chosen from the list of approved CS technical electives. All other technical electives must be approved by the student's advisor.

b

Each student must complete 3 of the 7 following courses: EECS 314 Computer Architecture, EECS 325 Computer Networks I, EECS 338 Intro to Operating Systems and Concurrent Programming, EECS 341 Introduction to Database Systems, EECS 345 Programming Language Concepts, EECS 391 Introduction to Artificial Intelligence, and EECS 393 Software Engineering. EECS 338 Intro to Operating Systems and Concurrent Programming is a 4 unit course.

Cooperative Education Program in Computer Science

Opportunities are available for students to alternate studies with work in industry or government as a co-op student, which involves paid full-time employment over seven months (one semester and one summer). Students may work in one or two co-ops, beginning in the third year of study. Co-ops provide students the opportunity to gain valuable hands-on experience in their field by completing a significant engineering project while receiving professional mentoring. During a co-op placement, students do not pay tuition but maintain their full-time student status while earning a salary. Learn more at engineering.case.edu/coop. Alternatively or additionally, students may obtain employment as summer interns.

BS/MS Program in Computer Science

Students with a grade point average of 3.2 or higher are encouraged to apply to the BS/MS Program which will allow them to get both degrees in five years. The BS 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.  Review the Office of Undergraduate Studies BS/MS program requirements here.

Minor in Computer Science (BS or BSE)

For students pursuing a BS or BSE degree, the following four courses are required for a minor in computer science:

EECS 132Introduction to Programming in Java3
EECS 233Introduction to Data Structures4
EECS 302Discrete Mathematics3
EECS 340Algorithms3

A student must take an additional 4 credit hours of CS Courses (see Major Requirements) with the exclusion of ENGR 131 Elementary Computer Programming.

Minor in Computer Science (BA)

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

EECS 132Introduction to Programming in Java3
EECS 233Introduction to Data Structures4
MATH 125Math and Calculus Applications for Life, Managerial, and Social Sci I4

Two additional CS Courses (see Major Requirements) are required for this minor.

Minor in Artificial Intelligence

The minor consists of five courses. Every student who takes the minor in artificial intelligence must take the two courses, ENGR 131 Elementary Computer Programming and EECS 391 Introduction to Artificial Intelligence.  Students who take the Artificial Intelligence minor must also take an additional three courses from one of two minor tracks.

Technology Track (requires 3 of the following courses):

BIOL 373Introduction to Neurobiology3
BIOL 374Neurobiology of Behavior3
EECS 477Advanced Algorithms3
EECS/BIOL 478Computational Neuroscience3
EECS 350Operations and Systems Design3
EECS 352Engineering Economics and Decision Analysis3
EECS 360Manufacturing and Automated Systems3
EECS 375Applied Control3
EECS 411Applied Engineering Statistics3
EECS 475Applied Control3
EECS 484Computational Intelligence I: Basic Principles3
EECS 489Robotics I3
EECS 491Artificial Intelligence: Probabilistic Graphical Models3
EECS 531Computer Vision3
EECS 589Robotics II3
PHIL 201Introduction to Logic3
PHIL 306Mathematical Logic and Model Theory3

Cognitive Science Track (requires 3 of the following courses):

BIOL 373Introduction to Neurobiology3
BIOL 374Neurobiology of Behavior3
ENGL 301Linguistic Analysis3
PHIL 201Introduction to Logic3
PHIL 306Mathematical Logic and Model Theory3
PSCL 101General Psychology I3
PSCL 352Physiological Psychology3
PSCL 353Psychology of Learning3
PSCL 355Sensation and Perception3
PSCL 357Cognitive Psychology3
PSCL 370Human Intelligence3
PSCL 402Cognition and Information Processing3

Minor in Computer Gaming (CGM)

The minor is 16 hours as follows:

EECS 233Introduction to Data Structures4
EECS 290Introduction to Computer Game Design and Implementation3
EECS 366Computer Graphics3
EECS 390Advanced Game Development Project3
EECS 391Introduction to Artificial Intelligence3

It is recommended that one additional open elective be a “content creation” course taken from the following areas: Art, English, or Music.  Students should note that EECS 132 Introduction to Programming in Java is a prerequisite for EECS 233 Introduction to Data Structures.

Graduate Programs

MS Degree Program (Electrical Engineering, Computer Engineering, Systems and Control Engineering)

Admission

Graduate students shall be admitted to one of two MS degree programs (Plan A or Plan B) upon recommendation of the faculty of the Department. Requirements for admission include a strong record of scholarship in a completed bachelor's degree program in a field of engineering, mathematical or physical sciences, and fluency in written and spoken English. The University requires all foreign applicants to show English proficiency by achieving a TOEFL score of at least 577 on the paper-based exam or 90 on the internet-based exam. It is required that all students submit original copies of GRE scores, with the exception of CWRU students applying to the BS/MS program. Applications from students with a bachelor's degree in fields other than those listed above may be granted admission on a provisional basis. Such provisional students may be advanced to full standing upon completion of prerequisite conditions stipulated in the letter of admission.

Registration

Course registration is performed through the SIS system. Each semester before registration, students should update any personal information that may have changed by logging onto the SIS and editing the appropriate information. All registration holds must be lifted in order to successfully complete the registration process.

Advising

Upon admission to the graduate program, each graduate student is assigned an academic advisor to assist in registration as well as planning a program of study. This is a temporary assignment made by the Department Chairperson based on the student's academic and research interests as identified at the time of application. During the first semester in the program, it is strongly suggested that each student meet with various members of faculty to discuss academic objectives/goals and research opportunities. In order to complete the research component of their respective degree program, each student must identify a faculty member who is willing to serve as the student's research advisor. The research advisor will also serve as the student’s permanent academic advisor if he/she is a member of the department faculty.  If, however, the research advisor is not a member of the department faculty, the student is required to find a permanent academic advisor from the department faculty. For students enrolled in the MS Plan A degree program, the research advisor is commonly known as the “thesis advisor”.

Students may change advisors for a variety of reasons of which one of the most common is a change of the student's field of interest.  It should be noted that a change in research advisor may require that the student start a new research project, which could result in delaying graduation. It is the responsibility of the student to inform the EECS Office of Student Affairs in the event of a change in advisor. In addition, the student must file all appropriate forms with Graduate Studies.

The MS Plan A Degree Program

The MS Plan A degree program is composed of two components: (1) graduate-level coursework and (2) a research-oriented thesis.  Progression through the program is monitored by a Program of Study. Each MS Plan A student is required to file a Program of Study through SIS. The Program of Study contains a comprehensive list of all courses to be applied to the degree (including transfer courses), and must be approved by his/her academic advisor, Department Chairperson, and Dean of Graduate Studies. The Program of Study must contain at least 30 semester credit hours of coursework at the 400 level or above, of which a minimum of 18 credits must be from non-thesis related courses. Each MS Plan A student must complete at least 9 credit hours of EECS 651 Thesis M.S., which is the course associated with MS thesis research. Each student must complete an approved Program of Study with a cumulative grade point average of 3.0 or greater. Full-time MS students are recommended to file a Program of Study before the beginning of the second semester.

Completion of the MS Plan A degree requires that the student submit a written thesis and make an oral presentation of the findings (hereafter known as the defense) to a thesis guidance committee. The thesis guidance committee shall consist of the student's research advisor and at least two additional faculty members recommended by the advisor. At least two members of the committee must be faculty members in the EECS department. The chairperson of the guidance committee is normally the candidate's research advisor. The student is responsible for forming the thesis guidance committee. The student will work closely with his/her advisor to determine when the thesis is ready for review by the guidance committee. The student shall provide an announcement containing a title, abstract, date, time and location of the defense to the EECS Office of Student Affairs for general distribution at least 10 days in advance of the thesis defense.

The MS Plan B Degree Program

The MS Plan B degree program is composed of two components: (1) graduate-level coursework and (2) a research-oriented project.  Progression through the program is monitored by a Program of Study. Each MS Plan B student is required to file a Program of Study through SIS. The Program of Study contains a comprehensive list of all courses to be applied to the degree (including transfer courses), and must be approved by his/her academic advisor, Department Chairperson, and Dean of Graduate Studies. The Program of Study must contain at least 30 semester credit hours of coursework at the 400 level or above, of which a minimum of 21 credits must be from courses other than EECS 695 Project M.S. (which is the course associated with the MS research project). A MS Plan B student must complete at least 3 credit hours of EECS 695 Project M.S.. Each student must complete an approved Program of Study with a cumulative grade point average of 3.0 or greater. Full-time students are strongly recommended to file a Program of Study before the beginning of the second semester.

Each candidate for the master’s degree under Plan B must pass a comprehensive examination to be administered by a committee of department faculty. The examination committee should be composed of the student’s academic advisor and at least two additional members of the department faculty. In such cases, the chairperson of the committee is normally the candidate's academic advisor. The examination may be written, oral or a combination as determined by the committee. A student must be registered during the semester in which any part of the comprehensive examination is taken. If not registered for other courses, the student will be required to register for one semester hour of EXAM 600 Master's Comprehensive Exam.

Appeals

Any decision by an academic advisor, thesis guidance committee, or department associate chairperson may be appealed, in writing, to the department associate chairperson who shall present the appeal, with his recommendations, to the faculty at its next regular faculty meeting. The faculty's decision shall be final.

Other Regulations

All students pursuing graduate studies in the Department of Electrical Engineering and Computer Science must abide by the academic regulations of the School of Graduate Studies and the Case School of Engineering contained in the most recent issue of the Bulletin of Case Western Reserve University, and supplemented by the Department of Electrical Engineering and Computer Science regulations.

NOTE: The above regulations apply to graduate students who entered the degree programs in computer engineering, electrical engineering, and systems & control engineering after January 1, 2005.

MS Degree Program (Computing and Information Science)

Admission

Graduate students shall be admitted to the MS degree program upon recommendation of the faculty of the CS program. Requirements for admission include a strong record of scholarship in a completed bachelor's degree program in computer science and related areas, and fluency in written and spoken English. The University requires all foreign applicants to show English proficiency by achieving a TOEFL score of at least 577 on the paper-based exam or 90 on the internet-based exam. It is required that all students submit original copies of GRE scores, with the exception of CWRU students applying to the BS/MS program.

The MS program requires students to have substantial knowledge of undergraduate computer science material. Applications from students with a bachelor's degree in fields other than computer science may be granted admission on a provisional basis. In particular, students should have knowledge in data structures, algorithms and operating systems equivalent to that in the courses:

EECS 233 Introduction to Data Structures

EECS 340 Algorithms

EECS 338 Intro to Operating Systems and Concurrent Programming

Students deficient in one or more of these areas (admission with provision) may be required to satisfy this requirement by taking the corresponding courses listed above. A student taking and passing a more advanced course in an area automatically demonstrates knowledge of the material in the area; e.g. taking EECS 454 Analysis of Algorithms demonstrates knowledge of the material in EECS 340 Algorithms.

Registration

Course registration (including submission of the Planned Program of Study) can be performed through the SIS system. Each semester before registration, students should update any personal information that may have changed by logging onto the SIS and editing the appropriate information. All registration holds must be lifted in order to successfully complete the registration process.

Advising

Each MS student has a faculty advisor who assists the student in formulating a program of study. Initially, the advisor is the chair of the CS graduate committee. Students are expected to pick a research advisor by the end of their first semester in the program who will supervise their thesis or project. Each student, in consultation with their advisor, must submit a Planned Program of Study preferably before completing 9 credit hours of coursework. The Planned Program of Study should specify all courses and thesis work that will be counted toward the 30 credit hour requirement.

The MS Plan A and Plan B programs

As provided for by the School of Graduate Studies, there are two plans for the Master of Science degree, each requiring 30 semester hours of credit. Plan A requires at least 9 semester hours of thesis  (EECS 651 Thesis M.S.) and at least 18 semester hours of courses. The additional 3 semester hours can be either thesis (EECS 651 Thesis M.S.) or a regular course. Plan B requires 6 semester hours of project  (EECS 695 Project M.S.) and 24 semester hours of coursework credit. Plan B is normally restricted to part-time students or students in the BS/MS program with the approval of their project advisor's. (A BS/MS student who follows plan B is required to do a two-semester 6 credit hours MS project.)

All coursework must be at the 400-level or higher. Students must achieve a grade point average of 3.0 or higher; it is computed for all of the courses, excluding project and thesis credits, on the student's program of study.

Both the thesis and the Plan B project require a formal written report, as well as a final oral examination by a committee of at least three faculty members, two of whom must be primarily affiliated with the CS program. A student whose thesis is supervised by a faculty member not in the EECS department must also have academic advisor in the CS program. For Plan B students, the oral examination fulfills the Comprehensive Examination requirement of the School of Graduate Studies.

Course Requirements

Students are required to have specialized knowledge in at least one of the following tracks, by taking at least three graduate level classes from that track. The list of acceptable classes is shown below. Generally, the chosen track should correspond to the student’s thesis research area or project. EECS 600 Special Topics  classes relevant to the student’s research area or project will also qualify in this category with approval from the student’s advisor.

The remaining classes can be (i) any other class from the classes listed below, or (ii) any CS-related class offered by EECS, or (iii) graduate level classes in other departments necessary for the student’s research or project. At most two classes can be from the third category.

All coursework must be at the 400-level or higher. Students must achieve a grade point average of 3.0 or higher; it is computed for all of the courses, excluding project and thesis credits, on the student's program of study.

List of tracks and corresponding courses

  1. Algorithms & Theory:
    1. EECS 440 Machine Learning
    2. EECS 454 Analysis of Algorithms
    3. EECS 455 Applied Graph Theory
    4. EECS 456
    5. EECS 477 Advanced Algorithms
    6. MATH 408 Introduction to Cryptology
  2. Artificial Intelligence::
    1. EECS 440 Machine Learning
    2. EECS 442 Causal Learning from Data
    3. EECS 455 Applied Graph Theory
    4. EECS 484 Computational Intelligence I: Basic Principles
    5. EECS 491 Artificial Intelligence: Probabilistic Graphical Models
    6. EECS 496 Artificial Intelligence: Sequential Decision Making
    7. EECS 497 Artificial Intelligence: Statistical Natural Language Processing
    8. EECS 499 Algorithmic Robotics
    9. EECS 531 Computer Vision
  3. Bioinformatics:
    1. EECS 435 Data Mining
    2. EECS 440 Machine Learning
    3. EECS 454 Analysis of Algorithms
    4. EECS 456 Course EECS 456 Not Found
    5. EECS 458 Introduction to Bioinformatics
    6. EECS 459 Bioinformatics for Systems Biology
    7. SYBB 412 Survey of Bioinformatics: Programming for Bioinformatics
  4. Computer Networks and Systems:
    1. EECS 402 Internet Security and Privacy
    2. EECS 414 Wireless Communications
    3. EECS 425 Computer Networks I
    4. EECS 428 Computer Communications Networks II
    5. EECS 438 High Performance Computing
    6. EECS 441 Internet Applications
    7. EECS 444 Computer Security
    8. EECS 448 Smartphone Security
  5. Databases and Data Mining:
    1. EECS 405 Data Structures and File Management
    2. EECS 433 Database Systems
    3. EECS 435 Data Mining
    4. EECS 439 Web Data Mining
    5. EECS 440 Machine Learning
    6. STAT 426 Multivariate Analysis and Data Mining
    7. PQHS 471 Machine Learning & Data Mining
  6. Security and Privacy:
    1. EECS 402 Internet Security and Privacy
    2. EECS 444 Computer Security
    3. EECS 448 Smartphone Security
    4. EECS 456
    5. EECS 493 Software Engineering
    6. MATH 408 Introduction to Cryptology
  7. Software Engineering:
    1. EECS 425 Computer Networks I
    2. EECS 433 Database Systems
    3. EECS 438 High Performance Computing
    4. EECS 441 Internet Applications
    5. EECS 442 Causal Learning from Data
    6. EECS 444 Computer Security
    7. EECS 448 Smartphone Security
    8. EECS 493 Software Engineering

Master of Science in Engineering with Specialization

Wearable Computing

The MS degree in Electrical Engineering (EE) with a specialization in Wearable Computing may be completed as a "course-only" option program of study.  Students who complete this 9-course, 30-credit course-only option will have the requisite knowledge to enter and advance the wearable computing industry.

Wireless Health

The MS degree in Electrical Engineering (EE) with a specialization in Wireless Health is a "course-only" option program of study.  Students who complete this 10-course, 30-credit course-only option will have the requisite knowledge to enter and advance the wireless health industry, with a greater emphasis on the technology aspects.

For more details, please refer to the Master's Degree information on the Case School of Engineering website.

PhD Graduate Student Requirements (Electrical Engineering, Computer Engineering, Systems and Control Engineering)

These regulations are in addition to the Academics Regulations of the School of Graduate Studies and the Specific Requirements for the PhD Degree of the Graduate Program in the Case School of Engineering as found in the General Catalog of Case Western Reserve University.

Admission

Requirements for admission include a strong record of scholarship in a completed bachelor's degree program in a field of engineering, mathematical or physical sciences, and fluency in written and spoken English. The University requires all foreign applicants to show English proficiency by achieving a TOEFL score of at least 577 on the paper-based exam or 90 on the internet-based exam. It is required that all students submit original copies of GRE scores.  Applications from students with a bachelor's degree in fields other than those listed above may be granted admission on a provisional basis. Such provisional students may be advanced to full standing upon completion of prerequisite conditions stipulated in the letter of admission.

Registration

Course registration is performed through SIS. Each semester before registration, students should update any personal information that may have changed by logging onto the SIS and editing the appropriate information. All registration holds must be lifted in order to successfully complete the registration process.

Advising

Upon admission to the graduate program, each graduate student is assigned an academic advisor to assist in registration. This is a temporary assignment made by the Department Chairperson based on the student's academic and research interests as identified at the time of application. During the first two semesters in the program, it is strongly suggested that each student meet with various members of faculty to discuss academic objectives/goals and research opportunities. In order to complete the research component of their respective degree program, each student must identify a faculty member who is willing to serve as the student's research advisor. The research advisor will also serve as the student’s permanent academic advisor if he/she is a member of the department faculty. If, however, the research advisor is not a member of the department faculty, the student is required to find a permanent academic advisor from the department faculty. For students enrolled in the Ph.D program, the research advisor is commonly known as the “dissertation” advisor.

Students may change advisors for a variety of reasons of which one of the most common is a change of the student's field of interest.  It should be noted that a change in research advisor may require that the student start a new research project, which could result in delaying graduation. It is the responsibility of the student to inform the EECS Office of Student Affairs in the event of a change in advisor.

The student shall be responsible for forming a dissertation guidance committee which shall consist of the student's academic advisor and additional faculty members recommended by the advisor. For the PhD program, the minimum number of additional faculty members on the dissertation guidance committee is three, and at least two of the committee must be within the ECSE program areas (Computer Engineering, Electrical Engineering, and Systems and Control Engineering). The chairperson of the guidance committee is normally the candidate's research advisor. Each student is required to file a Program of Study, which must be approved by the student's advisor and the Department Chairperson, and submitted to the Dean of Graduate Studies. Full-time PhD students should choose a research advisor and file a Program of Study before taking the qualifier but no later than the beginning of the third semester. Upon passing the qualifier, full time PhD students will be required to assemble the dissertation guidance committee, prepare a dissertation proposal, and present this proposal to the committee for their approval. This process should be completed within one semester of passing the PhD qualifier.

The PhD Degree Program

In order to successfully complete the PhD Degree Program, a student must satisfy the following requirements:

  • Select a major dissertation subject area in Electrical Engineering, Computer Engineering, or Systems and Control Engineering
  • Fulfill all PhD course requirements in the chosen major area
  • Have an approved Program of Study and complete the CWRU courses in the approved Program of Study with a cumulative grade point average of 3.25 or greater
  • Successfully complete the PhD Qualifying Examination
  • Successfully complete the PhD Proposal Defense
  • Successfully complete and defend the PhD Dissertation
  • Fulfill the PhD residency requirement

PhD Course Requirements and Program of Study

Each PhD student is required to have a Program of Study, approved by the academic advisor, Department Chairperson, and Dean of Graduate Studies, that includes a minimum of 36 credit hours of coursework beyond the BS degree. At least 18 credit hours of coursework must be taken at CWRU. In addition, the student is also required to complete a minimum of 18 credit hours of EECS 701 Dissertation Ph.D. to fulfill the requirement for PhD-level research. Acceptable courses include suitable CWRU courses at the 400 level or higher and approved graduate-level courses taken at other institutions. Students holding a MS degree in an appropriate field of study from CWRU or another degree-granting institution may apply up to 18 credit hours of coursework completed for their MS degree towards the aforementioned 36 credit hour requirement.

Each PhD student is required to have a fully-approved Program of Study before taking the PhD Qualifying examination and before registering for the final 18 credit hours of the program. The Program of Study shall be prepared by the student and approved by the research advisor or the permanent academic advisor in the case where the research advisor is not in the Department.

A Program of Study must meet the following requirements:

  • A minimum of two courses in mathematics, statistics, or basic science.
  • At least six approved courses from the student's major area of study. At least 4 of these courses must be from within the EECS department.
  • Four additional courses that are not listed under the student's major program area. These courses should satisfy the requirement for breadth in the student's program of study.
  • A minimum of 18 hours of PhD Dissertation research as noted by enrollment in and successful completion of EECS 701 Dissertation Ph.D.
  • Successful completion of EECS 400T Graduate Teaching I, EECS 500T Graduate Teaching II and EECS 600T Graduate Teaching III.
  • Successful completion of the EECS 500 EECS Colloquium requirement (see below)

The above represents the minimum course requirements beyond the BS degree. The total number of 3 credit hour courses in the Program of Study is at least 12 (twelve) beyond the BS level. The selection of these courses should be done with the guidance from the student's permanent academic advisor. Any additional courses may be in any one of the above categories as approved by the student's advisor.

The PhD program includes a colloquium and public presentation requirement.  For those who matriculated during or after Fall 2012, the requirement involves passing 3 semesters of EECS 500 EECS Colloquium and a public presentation of their research. Public presentations include conference presentations, department seminars, workshop presentations or similar presentations in a public venue. MS thesis and PhD dissertation defenses cannot be used to fulfill the public presentation requirement. It is expected that the EECS 500 EECS Colloquium requirement will be completed before the student applied for Advancement to Candidacy. Alternatively, the student may complete this requirement by giving a presentation as part of the EECS department seminar series. Additional details and the associated forms can be acquired from the EECS Office of Student Affairs.  For students who matriculated before Fall 2012, the requirement can be met in one of two ways: (1) completing the requirements detailed above, or (2) passing 5 semesters of EECS 500 EECS Colloquium.  Students (such as part-time students working in industry) may propose an alternative arrangement for fulfilling this requirement by submitting a written petition to the EECS Graduate Studies Committee.

PhD Qualifying Examination

A student shall be admitted to PhD candidacy only after he or she has passed the PhD Qualifying Examination. The Qualifying Exam is intended to test the students' knowledge in the student's chosen major program area: Electrical Engineering, Computer Engineering, or Systems and Control Engineering. The objectives of the exam are:

  1. To assess the PhD student's understanding of the fundamental concepts in Electrical Engineering, Computer Engineering, or Systems and Control Engineering, as embodied in the respective graduate curriculum.
  1. To ensure that the student have the ability to pursue PhD level research, and have mastered the graduate level coursework necessary to succeed as researchers

Full-time PhD students are recommended to take the PhD qualifier before the beginning of their third semester of full-time (or equivalent) enrollment, and must pass the exam within two years of being admitted to the program. For part-time students, the Qualifying Exam must be passed before more than 27 credit-hours of coursework have been completed. For students who must take remedial courses to make up for shortcomings in their engineering and mathematics knowledge base, the deadline can be extended to the fifth semester of full-time (or equivalent) enrollment, but this requires a petition to the ECSE Graduate Committee. Students have two opportunities to pass the PhD Qualifier. A student who fails to pass the Qualifier after two attempts will not be allowed to continue in the PhD program in the Department of Electrical Engineering and Computer Science.

To pass the PhD Qualifier, the student must demonstrate proficiency in two parts:

Part 1

The first part of the PhD Qualifier assesses the student's fundamental knowledge and proficiency in the student's major program area:

Computer Engineering

Part 1 of the PhD Qualifier will consist of a written examination with questions drawn from several course areas listed below.  At least three (3) topic areas must be pursued by the student for a complete qualifier.  The exam style is a mini-project oriented, take home test that must be completed within a one week period.

  1. EECS 419 Computer System Architecture
  2. EECS 425 Computer Networks I
  3. EECS 315 Digital Systems Design
  4. EECS 488 Embedded Systems Design
  5. EECS 485 VLSI Systems
  6. EECS 401 Digital Signal Processing

Additional topic areas may be assigned depending on the student interests and their advisors recommendations.

If a student fails all three areas of the written examination, the entire exam must be taken again. If a student fails some areas, the faculty may elect to give another exam to the student in just the areas failed.

The written part of the Qualifying Exam for Computer Engineering will be offered at least once a year at the end of the spring semester.

Electrical Engineering

            (For students matriculating after 8/1/2014)

Students must demonstrate competency in one of the following areas within electrical engineering in which the electrical engineering faculty have established research thrust areas:

  1. Circuits and Instrumentation
  2. Robotics
  3. Micro- and Nano-systems

To demonstrate competency in one of these areas, the student must do one of the following: (1) take the course for that area and pass that course with a grade of A, or (2) pass a written exam for that specific area. The designated courses for each of the areas are:

  1.  EECS 426 MOS Integrated Circuit Design 
  2.  EECS 489 Robotics I
  3.  EECS 422 Solid State Electronics II

In the event that a designated course is not offered within a reasonable period of time, the student may petition the faculty in electrical engineering to designate a suitable substitute.

A student failing to meet the requirements proscribed above may, with the support of his/her dissertation research advisor, petition the faculty for an oral exam. The oral exam will consist of a 30-minute presentation by the student to a 3-member examination committee made up of electrical engineering faculty. The topic will be drawn from the student's area of interest as selected by his/her advisor and approved by the committee. The topic may not come directly from the student's MS thesis conducted at CWRU or elsewhere.

A student has completed the PhD Qualifier in electrical engineering when: (1) he/she has successfully completed the aforementioned competency requirement, (2) a group of faculty within his/her selected research area has conducted a review of the student's academic record and determined that adequate progress has been made, and (3) the student has formally identified a dissertation advisor.

            (For students matriculating prior to 8/1/2014)

The written portion of the PhD Qualifier in Electrical Engineering is designed to assess a student's knowledge and understanding of topics fundamental to all electrical engineering students pursuing a doctorate in the field. The written exam will consist of questions at the advanced undergraduate level covering material from the three topic areas listed below. Courses currently in the EE undergraduate curriculum corresponding to a particular topic area are listed in parentheses.

  1. EECS 309 Electromagnetic Fields I
  2. EECS 245 Electronic Circuits, EECS 281 Logic Design and Computer Organization)
  3. EECS 246 Signals and Systems

Exam problems will be limited to materials contained in the selected references as well as the aforementioned courses. Sample problems from previous exams as well as a list of relevant references are available upon request.

Students must show competency in all three tested areas. Upon recommendation of the faculty, a student showing marginal proficiency in one area may be required to correct this deficiency, for example, by taking an appropriate course (as determined by the faculty) and pass this course with at least a B grade or by serving as a teaching assistant of an appropriate course.

The written part of the Qualifying Exam for Electrical Engineering will be offered at least once a year during the month of January, prior to the beginning of the spring semester.

Systems and Control Engineering

Students must show competency in control systems engineering, signals and systems, and systems analysis (optimization, simulation, stochastic modeling, and decision and economic analysis). Students must demonstrate proficiency in at least three of the following areas:

  1. Control Systems (EECS 408 Introduction to Linear Systems,  EECS 304 Control Engineering I with Laboratory)
  2. Optimization (EECS 416 Convex Optimization for Engineering, EECS 346 Engineering Optimization)
  3. Signal Processing (EECS 401 Digital Signal Processing, EECS 313 Signal Processing)
  4. Simulation and Discrete Event Systems (EECS 324 Modeling and Simulation of Continuous Dynamical Systems)
  5. Stochastic Models and Decisions (EECS 352 Engineering Economics and Decision Analysis,EECS 452 Random Signals)

To demonstrate proficiency in an area, the student can either take one of the courses listed for that area and obtain a course grade of A or take and pass an exam for that specific area. Upon recommendation by the faculty, the student showing marginal proficiency in any area may be required to improve proficiency by serving as a teaching assistant of an appropriate course.

Part 2

The second part of the PhD Qualifier shall be prepared and administered by the designated PhD Qualifying committee for students in the Electrical Engineering program and in the Computer Engineering program or by the student's PhD dissertation guidance committee for each PhD student in the Systems and Control Engineering program. This exam will test the student on advanced topics in the student's major area of study as well as specialized topics relevant to the student's research area.

Computer Engineering

Part 2 will consist of an oral exam based on the areas of the written examination.  However, the oral maybe waived if the student has performed well in all three topic areas of the written exam.

Electrical Engineering

            (For students matriculating after 8/1/2014)

Does not apply

            (For students matriculating prior to 8/1/2014)

Only those students performing adequately on the written exam will advance to the oral portion of the qualifier. The exam will be administered by a three-member examination committee assembled from the ECSE faculty. The oral portion of the PhD Qualifier will consist of a two-part examination. The first part of the oral exam will consist of a 20-minute presentation by the student on a topic selected by the examination committee. The topic will be one that is well documented in the scientific/engineering literature. In selecting the topic, the examination committee will take into account the student's research interests, academic background, and experience in the field. The student will be given the topic 15 working days prior to the examination. The topic will be presented to the student in the form of a published paper or collection of papers. The student will be required to demonstrate competency in the following areas: (1) the material directly covered by the paper(s), (2) the material covered in the important references in the paper(s), and (3) any relevant background material that is necessary for the fundamental understanding of the paper.

The second part of the oral exam will consist of a series of questions drawn from the topic areas covered by the written exam.

As with the written exam, a student showing marginal proficiency during the oral exam may be asked to perform some sort of remediation at the discretion of the oral examination committee.

Systems and Control Engineering

A typical exam begins with a selection by the student's dissertation guidance committee of 5-6 research articles relevant to the student's research area. The students will be given 4 weeks to write a report answering questions formulated from those papers by the dissertation guidance committee. This will be followed within one week by an oral exam during which the student will give an oral presentation based on the report and answer questions from the dissertation guidance committee and other attending EECS faculty. Questions will be based on the report as well as miscellaneous questions on advanced topics in Systems and Control Engineering as deemed appropriate by committee members and/or other attending faculty. 

PhD Candidacy

The final consideration of whether to admit the student to PhD candidacy will be taken by the PhD Qualifying Committee (for Electrical Engineering and Computer Engineering students) or the student's dissertation guidance committee (for Systems and Control Engineering students) after the student has passed the PhD Qualifier. A written report on the results of the qualifier and PhD candidacy will be prepared by the committee and submitted to the Department Chairperson, who, in turn, will notify the School of Graduate Studies of the results.

PhD Proposal

After passing the Qualifier and being admitted to PhD candidacy, the PhD candidate is required to pass a Dissertation Proposal Exam on a timely basis, generally within one semester after being admitted to candidacy. This exam shall be administered by the student's dissertation guidance committee and consists of a written dissertation proposal and an oral presentation of the proposed dissertation research. As part of the oral presentation, the student will be expected to answer questions covering the proposed research as well as questions on related topics as deemed appropriate by the student's dissertation guidance committee. The written dissertation proposal must be received by the committee members at least ten days before the date scheduled for the oral exam and presentation. The Dissertation Proposal Exam, the PhD research, the final oral dissertation defense, and all other requirements in the student's PhD program of study must be completed within five years after the student is admitted to PhD candidacy.

The PhD Oral Defense

The student shall provide an announcement containing a title, abstract, date, time and location of the defense to the EECS Office of Student Affairs for general distribution at least 10 days in advance of the thesis defense.

The PhD Residency Requirements

All PhD students shall fulfill the PhD residency requirements set forth by the Case School of Engineering and the School of Graduate Studies. Specifically, the PhD student is required either to register for at least 9 credit hours during each of two consecutive semesters or to engage in academic work (taking courses, assisting in course development and/or teaching, fully engaging in research, or some other scholarly activities) in at least six consecutive terms (fall, spring, or summer) between matriculation and a period not exceeding 5 years after the first credited hour of EECS 701. The period during a leave of absence cannot be counted to fulfill the residency requirement.

Appeals

Any decision by an academic advisor, dissertation guidance committee, or Department Associate Chairperson may be appealed, in writing, to the Department Associate Chairperson who shall present the appeal, with his recommendations, to the faculty at its next regular faculty meeting. The faculty's decision shall be final.

Other Regulations

All students pursuing graduate studies in the Electrical Engineering and Computer Science department must abide by the academic regulations of the School of Graduate Studies and the Case School of Engineering contained in the most recent issue of the General Catalog of Case Western Reserve University, and supplemented by the Department of Electrical Engineering and Computer Science regulations.

NOTE: The above regulations apply to graduate students who entered the degree programs in computer engineering, electrical engineering, and systems & control engineering after January 1, 2005.

PhD Degree Program (Computing and Information Science)

Admission

Requirements for admission include a strong record of scholarship in a completed bachelor's degree program in computer science and related areas, and fluency in written and spoken English. The University requires all foreign applicants to show English proficiency by achieving a TOEFL score of at least 577 on the paper-based exam or 90 on the internet-based exam. It is required that all students submit original copies of GRE scores. Applications from students with a bachelor's degree in fields other than computer science may be granted admission on a provisional basis. Such provisional students may be advanced to full standing upon completion of prerequisite conditions stipulated in the letter of admission. When applying to this program, please select the CIS (Computing and Information Sciences) option in your application.

Registration

Course registration (including submission of the Planned Program of Study) can be performed through SIS. Each semester before registration, students should update any personal information that may have changed by logging onto the SIS and editing the appropriate information. All registration holds must be lifted in order to successfully complete the registration process.

PhD Requirements

Each student must satisfy requirements in the following categories:

  • Course Work
  • Mathematics and Science Requirement
  • Research Proposal
  • Qualifying Examination
  • Dissertation

All programs of study must contain at least 36 hours of courses past the undergraduate degree. All courses must be at the 400-level or higher. Six hours must be in a basic science or mathematics. A minimum of 12 hours must be in courses outside the student's thesis area. A student must have attained a minimum 3.25 grade point average (GPA) at the time of graduation. The minimum GPA is calculated based on all courses in the student's Program of Study that carry quality points.

These regulations are in addition to the Academics Regulations of the School of Graduate Studies and the Specific Requirements for the PhD Degree of the Graduate Program in the Case School of Engineering as found in the General Bulletin of Case Western Reserve University.

Academic Advisor and Research Advisor

Upon arrival, each graduate student is assigned an academic advisor from the Computer Science (CS) program faculty, typically the CS graduate representative. By the end of the second semester of study, a PhD student should transfer to a research advisor who may or may not be the same as the academic advisor. Once a research advisor is selected, the research advisor will also serve as the academic advisor, with whom a student consults to ensure that the balance of the PhD course work constitutes a coherent program of study.

If the research advisor is not from the Computer Science program, the student must have an academic advisor from the CS program. The academic advisor may serve as a research co-advisor if so desired by the student and the research advisor.

Program of Study

Each PhD student must submit a Program of Study detailing his or her course work, Qualifying Examination and dissertation schedules. The Program of Study lists all courses taken beyond the undergraduate degree and shows how these courses satisfy the following course requirements for the PhD:

1. The minimum course requirement beyond the B. S. level is 36 credit hours of courses taken for credit, at least 18 hours of which must be taken at CWRU. The following courses taken for credit will be acceptable:

  • All 400, 500, 600 level courses.
  • Graduate level courses taken at other institutions approved by the student’s advisor.

The above courses must include the following:

  • 1.1 - A minimum of 12 credit hours in the student's dissertation research area.
  • 1.2 - A minimum of 6 credit hours in mathematics or basic science.
  • 1.3 - A minimum of 12 credit hours of breadth courses that are not in the student's dissertation research area.

      Note: The courses for items 1.1, 1.2, and 1.3 must be disjoint.

  • 1.4 - A minimum of 18 credit hours of courses approved by the Computer Science program which can be courses used in item 1.1 and item 1.3. These approved Computer Science courses are listed below.

2. A minimum of 18 credit hours of EECS 701 Dissertation Ph.D..

3. The cumulative grade-point average of all CWRU courses on the program of study must be at least 3.25.

4. All PhD students are required to register for and pass EECS 400T Graduate Teaching I, EECS 500T Graduate Teaching II and EECS 600T Graduate Teaching III which are 0 credit hour courses that provide students with teaching experience.

5. All PhD students are required to register for and pass three semesters of "EECS 500 EECS Colloquium" (a 0 credit hour course) before advancement to candidacy and complete a public presentation of their work.

The Program of Study must be approved by the student's academic advisor and the chair of the EECS Department, and it must be approved before the student advances to candidacy.

Qualifying Examination

The Computer Science PhD qualifying examination is in the form of an oral exam and a written report, assessing the student’s ability to survey a specific research topic, discuss the state-of-the-art in depth, provide a critical description of the literature, and propose creative ideas on improving the state-of-the-art. The written and oral parts of the exam are administered by a committee consisting of three faculty members. The exam is supplemented by the evaluation of the student’s course performance and the final decision is made in a meeting of faculty affiliated with the CS program.

Students who hold a MS degree are required to take the qualifying exam at the start of their 3rd semester, and pass the qualifying exam before the start of their 4th semester in the PhD program. Students who do not hold a MS degree are required to take the qualifying exam at the start of their 5th semester, and pass the qualifying exam before the start of their 6th semester in the PhD program.

Committee: The exam will be administered by a committee composed of 3 faculty members, at least 2 of them being faculty members whose primary affiliation is Computer Science.  The student will provide 0 to 3 names as suggested committee members and the CS Graduate Committee will appoint the committee, taking into account the student's suggestion and maintenance of the load balance of the faculty. If the student has a research advisor at the time of the exam, then the advisor must be a member of the committee, but cannot serve as the chair of the committee. The CS Graduate Committee will make every effort to include a faculty member outside the research area in the committee.  The committee must be appointed at least 2 months prior to the exam.

Format: The student will select a research area from the following list:

  1. Algorithms and Theory
  2. Artificial Intelligence
  3. Bioinformatics
  4. Computer Networks and Systems
  5. Databases and Data Mining
  6. Security and Privacy
  7. Software Engineering

The exam committee will ask the student to write a report that adequately demonstrates the student's ability to perform research in their chosen area of research. Specific examples of this might be a survey of a broad area and/or approaches to a specific problem in the area. This will be followed by an oral examination.

Written Report: The student will submit a written report  on the specific research problem. The report has to adequately describe the problem and justify its relevance, identify the challenges associated with the problem, provide a broad  classification of existing approaches, point out their key differences and trade-offs, identify limitations, and propose solutions for these limitations. The report  must  be at most 10 pages in length (11 pt font, single-spaced, single  column,  1"  margins) and use illustrative figures, tables, and other visual material to communicate key ideas. In addition, the report must include a comprehensive list of references. The written report must be submitted to the exam committee three weeks before the date of the oral exam.

Oral  Exam:   In  the  oral  exam,  the  student  will  answer  questions by  the committee members  on a specific research problem  chosen by the committee in the selected research area, assessing the  knowledge, technical depth, and broader  vision  of the student on the problem. The committee may also ask questions on the fundamentals of computer science as they relate to the specific research problem. The student may prepare slides in advance that will help answer questions or use the chalk board (or both), but the exam will not be in the format of a presentation. The exam will be one hour in duration. All students who are taking the  exam for  the  first time have to  take their  oral exam in the  week  prior  to the beginning or in the first  two weeks of the Fall semester.

Scoring: Each of the three committee members will prepare a report rating the student's exam performance according to the following criteria:

  • Fundamentals: Does the student have broad knowledge of fundamental concepts in computer science that will enable the student to understand and tackle the challenges in the specific research area?
  • Knowledge   of  Chosen  Area: Does  the  student have  sufficient technical   depth  and command  of  the  key  challenges   and  the  state-of-the-art in  the  chosen  area  of research?
  • Vision: Does the  student demonstrate a solid  understanding of the  relevance  of the problem  in  the  context  of scientific progress  and  societal  needs? Does the student show creativity in innovating their chosen area of research?
  • Communication.  Can the   student explain   the   concepts   in   an   accessible   and comprehensible manner and handle questions effectively?
  • Overall Score for the Written Report and the Oral Exam.

Possible ratings are 2 (Pass), 1(Retake), or 0 (Fail).

Course Work: The student's performance in all courses taken before the exam will also be considered by the CS program faculty in making a decision.  At the time of the exam, the student must have completed at least two 400-level Computer Science courses with a "B" or above. One of these courses must be EECS 454 Analysis of Algorithms or EECS 477 Advanced Algorithms. The second course must be relevant to their chosen area of research. The relevance of the additional course to the research area is subject to approval by the CS Graduate Studies Committee. The following courses are pre-approved for each area:

  1. Algorithms and Theory:
    1. EECS 454 Analysis of Algorithms
    2. EECS 477 Advanced Algorithms
  2. Artificial Intelligence:
    1. EECS 440 Machine Learning
    2. EECS 491 Artificial Intelligence: Probabilistic Graphical Models
  3. Bioinformatics:
    1. EECS 458 Introduction to Bioinformatics,
    2. EECS 459 Bioinformatics for Systems Biology
  4. Computer Networks and Systems:
    1. EECS 425 Computer Networks I,
    2. EECS 428 Computer Communications Networks II,
    3. EECS 402 Internet Security and Privacy
  5. Databases and Data Mining:
    1. EECS 433 Database Systems,
    2. EECS 435 Data Mining
  6.  Security and Privacy:
    1. EECS 402 Internet Security and Privacy
    2. EECS 444 Computer Security
    3. EECS 448 Smartphone Security
    4. EECS 456
  7. Software Engineering:
    1. EECS 493 Software Engineering

Outcome: The final decision will be made by the CS program faculty based on the committee’s reports and the student’s coursework. The outcome of the exam will be one of Pass (the student advances to candidacy), Retake (the student has to retake the exam once more before the end of the following semester. The Retake decision can be partial, i.e. the student may be asked to retake the oral exam only, rewrite the report only, or take/retake a course), Fail (the student will be separated from the PhD program). The decision will be documented by the CS graduate chair and the student will be sent a notification letter.

Advancement to Candidacy

A student formally advances to candidacy after passing the Qualifying Examination and finding a faculty member who agrees to be the student's research advisor. The student should advance to candidacy within one semester of passing the Qualifying Examination.

Students should submit documentation, approved by the academic and research advisor(s), to the Chairman of the Graduate Studies Committee of Computer Science to be admitted to candidacy.

Students who have failed to complete the conditions above within the time limit will be separated from the PhD program. Separation may also occur in the event of failure of the student to maintain a satisfactory GPA. A student who has been separated may not undertake further study for credit toward the PhD degree. With the approval of the Department and the Dean of Graduate Studies, such a student may complete a master's degree, may register as a non-degree student or seek admission to the graduate program of another department.

Dissertation Advisory Committee

Each PhD student must form a Dissertation Advisory Committee which consists of at least 4 members of University faculty. The student's academic advisor serves as the chair of this committee. Both the chair of the committee and at least one other member must be a regular faculty member whose primary affiliation is with the Computer Science program. The committee must also include one member whose primary appointment is not in the Computer Science program.

Dissertation Proposal

The PhD student must write a formal thesis proposal and defend it in an oral presentation to his or her Dissertation Advisory Committee. Normally this is done within a year of advancing to candidacy. A student who fails to defend his or her thesis proposal can attempt to defend it a second time after modifying the thesis proposal, but a second failure will cause the student to be separated from the program.

Dissertation

The student's dissertation must be original research in CS which represents a significant contribution to existing knowledge in the student's research area, a portion of which must be suitable for publication in reputable research journals or selective peer-reviewed conferences. In addition to the written dissertation, the doctoral candidate must pass an oral examination in defense of the dissertation. The Dissertation Advisory Committee is responsible for certifying that the quality and suitability of the material presented in the dissertation meet acceptable scholarly standards. To satisfy requirement 5 of the Program of Study above, if the student has not publicly presented their work at a conference or similar external venue, they must also present the dissertation research in a departmental seminar.

Course List for Program of Study Requirement

EECS 402 Internet Security and Privacy

EECS 405 Data Structures and File Management

EECS 425 Computer Networks I

EECS 428 Computer Communications Networks II

EECS 433 Database Systems

EECS 435 Data Mining

EECS 438 High Performance Computing

EECS 439 Web Data Mining

EECS 440 Machine Learning

EECS 441 Internet Applications

EECS 442 Causal Learning from Data

EECS 444 Computer Security

EECS 448 Smartphone Security

EECS 454 Analysis of Algorithms

EECS 455 Applied Graph Theory

EECS 456

EECS 458 Introduction to Bioinformatics

EECS 459 Bioinformatics for Systems Biology

EECS 466 Computer Graphics

EECS 477 Advanced Algorithms

EECS 484 Computational Intelligence I: Basic Principles

EECS 491 Artificial Intelligence: Probabilistic Graphical Models

EECS 493 Software Engineering

EECS 496 Artificial Intelligence: Sequential Decision Making

EECS 497 Artificial Intelligence: Statistical Natural Language Processing

EECS 499 Algorithmic Robotics

EECS 531 Computer Vision

EECS Colloquium and Presentation Requirement

PhD Students

The requirement has two parts: (1) passing 3 semesters of EECS 500 EECS Colloquium, and (2) a public presentation.

(1) All PhD students are required to register for and pass EECS 500 EECS Colloquium for a total of three semesters of the PhD Program, and this is expected before Advancement to Candidacy. (This is a 0 credit hour required course.)  Students (such as students working in industry) may propose an alternative arrangement for fulfilling this requirement, by submitting a written petition to the Graduate Studies Committee.

(2) All PhD students must give a public presentation of their research, in addition to their PhD dissertation defense.  This presentation must be given either at a research conference or in the EECS seminar series. 

Graduate Certificates

Graduate Certificates are discipline independent and intended to enable knowledgeable entry into the field of study. They are prescribed 3-course, 9-credit subsets of our MS degree offerings.

Wearable Computing

Required Courses
EECS 480TWearable Computing Design3
EECS 480UWearable Computing Technology3
EECS 480WWearable Computing Manufacturing3

Wireless Health

Required Courses
EBME/EECS 480AIntroduction to Wireless Health3
EBME/EECS 480BThe Human Body3
EBME/EECS 480CBiomedical Sensing Instrumentation3

For more details, please refer to the Graduate Certificate information on the Case School of Engineering - San Diego website.

Facilities

Computer Facilities

The department computer facilities incorporate both Unix (primarily Solaris) and Microsoft Windows-based operating systems on high-end computing workstations for education and research. A number of file, printing, database, and authentication servers support these workstations, as well as the administrative functions of the department. Labs are primarily located in the Olin and Glennan buildings, but include Nord Hall, and are networked via the Case network.

The Case network is a state-of-the-art, high-speed fiber optic campus-wide computer network that interconnects laboratories, faculty and student offices, classrooms, and student residence halls. It is one of the largest fiber-to-desktop networks anywhere in the world. Every desktop has a 1 Gbps (gigabit per second) connection to a fault-tolerant 10 Gbps backbone. To complement the wired network, over 1,200 wireless access points (WAPs) are also deployed allowing anyone with a laptop or wireless enabled PDA to access resources from practically anywhere on campus.

Off-campus users, through the use of virtual private network (VPN) servers, can use their broadband connections to access many on-campus resources, as well as software, as if they were physically connected to the Case network. The department and the university participate in the Internet2 and National Lambda Rail projects, which provides high-speed, inter-university network infrastructure allowing for enhanced collaboration between institutions. The Internet2 infrastructure allows students, faculty and staff alike the ability to enjoy extremely high-performance connections to other Internet2 member institutions.

Aside from services provided through a commodity Internet connection, Case network users can take advantage of numerous online databases such as EUCLIDplus, the University Libraries’ circulation and public access catalog, as well as Lexus-Nexus™ and various CD-ROM based dictionaries, thesauri, encyclopedias, and research databases. Many regional and national institutional library catalogs are accessible over the network, as well.

EECS faculty are active users of the Microfabrication Laboratory and participants in the Advanced Platform Technology Center described under Interdisciplinary Research Centers.

Additional Department Facilities

Sally & Larry Sears Undergraduate Design Laboratory

This laboratory supports all departmental courses in circuits and includes a state-of-the-art lecture hall, a modernistic glass-walled lab, an electronics "store", and a student lounge and meeting area. Specialized lab space is available for senior projects and sponsored undergraduate programs. The lab is open to all undergraduates, and components are provided free of charge, so students can “play and tinker” with electronics and foster innovation and creativity. The laboratory provides access to PCs, oscilloscopes, signal generators, logic analyzers, and specialized equipment such as RF analyzers and generators. In addition, the lab includes full-time staff dedicated to the education, guidance and mentoring of undergraduates in the “art and practice” of hands-on engineering.
This is the central educational resource for students taking analog, digital, and mixed-signal courses in electronics, and has been supported by various corporations in addition to alumnus Larry Sears, a successful engineer and entrepreneur. Basic workstations consist of Windows-based computers equipped with LabView software, as well as Agilent 546xx oscilloscopes, 33120A Waveform Generators, 34401A Digital Multimeters, and E3631A power supplies.  Advanced workstations are similarly configured, but with a wider variety of high-performance test equipment.

Jennings Computer Center Lab

Supported by an endowment from the Jennings Foundation, this lab provides our students with the educational resources necessary for their classwork and exploration of the art of computing. This lab has both PCs and Sun Unix workstations and includes two high-speed laser printers.

EECS Undergraduate Computer Lab

This laboratory (recently renovated with major funding provided by Rockwell Automation) on the 8th floor of the Olin building is accompanied by a suite of instructor/TA offices and supports the freshman computing classes: ENGR 131 Elementary Computer Programming and EECS 132 Introduction to Programming in Java. Thirty student Macintosh workstations with underlying UNIX operating systems are available for hands-on instruction and support the study of introductory programming at the university.

Nord Computer Laboratory

This is a general-purpose computer facility that is open 24 hours a day, to all students. The lab contains 50 PCs running Windows and four Apple Macintosh computers. Facilities for color printing, faxing, copying and scanning are provided. Special software includes PRO/Engineer, ChemCAD and Visual Studio. Blank CDs, floppy disks, transparencies and other supplies are available for purchase. Visit the website for more information.

Virtual Worlds (Gaming and Simulation) Laboratory

The Virtual Worlds Gaming and Simulation Laboratory provides software and hardware to support education and research in computer gaming and simulation activities within the Electrical Engineering and Computer Science Department and the University at large. The lab has been leveraged to provide students with extensive game play opportunities and excellent, strongly experiential simulation and game development educational opportunities – primarily targeted to the EECS undergraduate population.

The lab also stimulates large amounts of cross-disciplinary collaboration in both education and research.  Simulation and visualization techniques are of great value in all science and engineering fields, and the lab is capable of supporting advanced applications of these techniques in real-time applications. In addition, interactive technologies and video games require substantial artistic resources, that has resulted in excellent opportunities for educational and research collaboration with the Cleveland Institute of Art (CIA), the School of Nursing, the Medical School, and the Psychology Department. Of particular note has been the Advanced Game Project course (EECS 390 Advanced Game Development Project) taught jointly by CWRU and CIA for juniors and seniors. This course has been very popular and has provided truly excellent student game design and production experiences while receiving industrial and popular recognition and acclaim. In addition, an entry-level computer game programming course (EECS 290 Introduction to Computer Game Design and Implementation) is available for students who have taken both a Java-based programming course and a data structures course to provide an introduction to many of the technical aspects of computer game development. Many other courses in the department also use the lab as an important part of their curriculum including courses on computer graphics, artificial intelligence, simulation, digital signal processing, and control systems. The lab also supports research in the department requiring significant computational resources, e.g. GPU acceleration, VLSI simulation, etc.

A recent large donation for the lab has allowed for the update and renovation of the entire lab including the physical infrastructure (carpeting, furniture, etc.), the gaming PCs, and the gaming consoles. In addition, a new VR and AR room has been added to represent this new area connected strongly to computer gaming.  The lab is now structured into a PC gaming area and an adjacent gaming console area, a VR/AR room, a portable gaming development room, and a team collaboration room.

The renovated lab includes the following primary equipment:

  • 24 New Alienware PCs with Dell 27” 4K monitors
  • 4 Sony Bravia Television monitors 75" 3DTV
  • 2 Microsoft HoloLens AR Units
  • 4 Oculus Rift VR units with Haptic Touch Input devices
  • A 3D projector (and large wall screen) with 3D capability for common presentations
  • 4 Xbox One Units with Xbox One controllers
  • 4 PS4 Sony PlayStation units with controllers

Database and Bioinformatics Research Laboratory

Primarily funded by equipment grants from the National Science Foundation and Microsoft Research, this laboratory provides PCs running Windows and Linux supporting research in database systems and bioinformatics.

Networks Laboratory

Supported through donations from both Cisco Systems and Microsoft Research, the networks lab has 15 stations complete with a PC, a Cisco switch and router, IP telephony equipment, as well as network patches back to a central rack where devices at one workstation may be routed to other equipment in the lab. A “library” of related equipment is also available.

Intelligent Networks & Systems Architecting (INSA) Research Laboratory

The Intelligent Networks & Systems Architecting (INSA) Research Laboratory is a state-of-the-art research facility dedicated to intelligent computer networks, systems engineering, design, and architecting. It includes optimization, simulation, artificial intelligence, visualization, and emulation. This lab has been partially supported by NASA’s Space Exploration programs for Human and Robotic Technology (H&RT). The INSA Lab is equipped with 10 high-performance workstations and 2 servers in a mixed Windows and Linux environment, with over 40 installed network interface cards providing connectivity to its wired and wireless research networks. It includes software packages such as GINO and LINDO, Arena simulation, ns2 and OPNET, as well as the STK satellite toolkit, artificial neural network, systems architecting and modeling, and statistical analysis and data management packages such as SPSS. The INSA Lab is also used for research in heterogeneous, sensor web, and mobile ad-hoc networks with space and battlefield applications.

VLSI Design Laboratory

This lab has been supported by the Semiconductor Research Corporation, NSF, NASA, Synopsys and Sun Microsystems. This laboratory has a number of advanced UNIX workstations that run commercial CAD software tools for VLSI design and is currently used to develop design and testing techniques for embedded system-on-chip.

Embedded Systems Laboratory

The Embedded Systems Laboratory is equipped with several Sun Blade Workstations running Solaris and Intel PCs running Linux. This lab has been recently equipped with advanced FPGA Virtex II prototype boards from Xilinx, including about 100 Xilinx Virtex II FPGAs and Xilinx CAD tools for development work. A grant-in-aid from Synopsys has provided the Synopsys commercial CAD tools for software development and simulation. This Lab is also equipped with NIOS FPGA boards from Altera, including software tools.

Mixed-Signal Integrated Circuit Laboratory

This research laboratory includes a cluster of Windows workstations and a UNIX server with integrated circuit design software (Cadence Custom IC Bundle), as well as a variety of equipment used in the characterization of mixed-signal (analog and digital) integrated circuits, which are typically fabricated using the MOSIS foundry service. Test equipment includes an IC probe station, surface-mount soldering equipment, logic and network/spectrum analyzers, an assortment of digital oscilloscopes with sample rates up to 1 GHz, and a variety of function generators, multi-meters, and power supplies.

Microelectromechanical Systems (MEMS) Research Laboratory

The MEMS Research Laboratory is equipped for microfabrication processes that do not require a clean room environment. These include chemical-mechanical polishing (two systems), bulk silicon etching, aqueous chemical release of free-standing micromechanical components, and supercritical point drying. In addition to the fabrication capabilities, the lab is also well equipped for testing and evaluation of MEMS components as it houses wafer-scale probe stations, a vacuum probe station, a multipurpose vacuum chamber, and an interferometric load-deflection station. Two large (8 x 2 ft2) vibration isolated air tables are available for custom testing setups. The laboratory has a wide variety of electronic testing instruments, including a complete IV-CV testing setup.

BioMicroSystems Laboratory

This research laboratory focuses on developing wireless integrated circuits and microsystems for a variety of applications in biomedical and neural engineering. The laboratory contains several PC computers, software packages for design, simulation, and layout of high-performance, low-noise, analog/mixed-signal/RF circuits and systems, and testing/measurement equipment such as dc power supply, arbitrary function generator, multichannel mixed-signal oscilloscope, data acquisition hardware, spectrum analyzer, potentiostat, and current source meter.  Visit the website for more information.

Emerging Materials Development and Evaluation Laboratory

The EMDE Laboratory is equipped with tooling useful 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.

Laboratory for Nanoscale Devices and Integrated Systems

This research lab explores new engineering and physics at the nanoscale, and by applying such knowledge, develops new devices and tools for emerging technological applications in the new frontiers of information, biomedical, and life sciences.  A primary current theme of the research is on developing nanoscale electromechanical systems (NEMS), based on exploration and understandings of mesoscopic devices fundamentals and new characteristics of various nanoscale structures and functional systems.  The lab has been developing NEMS with new functions and high performance, in combination with some of the latest advances in advanced materials, integrated circuits, and others, through cross-disciplinary explorations and collaboration.  The lab is dedicated to the development of various NEMS transducers, biosensors, high-frequency nanodevices, and high-precision instruments.  For more information, contact Dr. Philip Feng.

Some of the recent research highlights include: the first very-high-frequency silicon nanowire resonators and sensors, the first ultra-high-frequency self-sustaining oscillators (aka NEMS clocks), the first low-voltage (~1V), high-speed nanowire NEMS switches, and the first NEMS mass sensors for weighing single-biomolecules and for probing the noise arising from adsorbed atoms walking on the surface of a vibrating NEMS.

Control and Energy Systems Center (CESC)

The Control and Energy Systems Center (CESC) looks for new transformational research and engineering breakthroughs to build a better world, improving our industry, economy, energy, environment, water resources and society, all with sustainability and within an international collaboration framework.  With an interdisciplinary and concurrent engineering approach, the CESC focuses on bridging the gap between fundamental and applied research in advanced control and systems engineering, with special emphasis in energy innovation, wind energy, power systems, water treatment plants, sustainability, spacecraft, environmental and industrial applications.  Fundamental research foci are to gain knowledge and understanding on multi-input-multi-output physical worlds, nonlinear plants, distributed parameter systems, plants with non-minimum phase, time delay and/or uncertainty, etc., and to develop new methodologies to design quantitative robust controllers to improve the efficiency and reliability of such systems.  Applied research aims to develop advanced solutions with industrial partners, for practical control engineering problems in energy systems, multi-megawatt wind turbines, renewable energy plants, power system dynamics and control, grid integration, energy storage, power electronics, wastewater treatment plants, desalination systems, formation flying spacecraft, satellites with flexible appendages, heating systems, robotics, parallel kinematics, telescope control, etc.  The Center was established in 2009 with the support of the Milton and Tamar Maltz Family Foundation and the Cleveland Foundation.

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 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 a PLC-controlled low-voltage AC smart grid demonstration system that includes conventional and renewable (wind and solar) generation, battery and compressed air energy storage, residential, commercial and industry loads, a capacitor bank for real-time power factor correction, and advanced sensing and controls implemented through an interconnected system of intelligent software agents.

Courses

EECS 132. Introduction to Programming in Java. 3 Units.

Introduction to computer programming and problem solving with the Java language. Computers, operating systems, and Java applications; software development; conditional statements; loops; methods; arrays; classes and objects; object-oriented design; unit testing; strings and text I/O; inheritance and polymorphism; GUI components; application testing; abstract classes and interfaces; exception handling; files and streams; GUI event handling; generics; collections; threads; comparison of Java to C, C++, and C#. Counts for CAS Quantitative Reasoning Requirement.

EECS 216. Fundamental System Concepts. 3 Units.

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 Units.

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. Prereq: EECS 132.

EECS 245. Electronic Circuits. 4 Units.

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. Prereq: ENGR 210. Prereq or Coreq: MATH 224.

EECS 246. Signals and Systems. 4 Units.

Mathematical representation, characterization, and analysis of continuous-time signals and systems. Development of elementary mathematical models of continuous-time dynamic systems. Time domain and frequency domain analysis of linear time-invariant systems. Fourier series, Fourier transforms, and Laplace transforms. Sampling theorem. Filter design. Introduction to feedback control systems and feedback controller design. Prereq: ENGR 210. Prereq or Coreq: MATH 224.

EECS 275. Fundamentals of Robotics. 4 Units.

The Fundamentals of Robotics course will expose students to fundamental principles of robotics. Students will explore high level conceptual foundations of robotics beginning with Braitenberg vehicles and apply this knowledge to simulated and physical robot hardware in laboratory experiences and in a final project. Laboratory experiences will guide students through applying theory to practice increasingly complex tasks in a project oriented, group work environment. The course culminates in a robotics challenge project at the end of the semester. Topics covered are: sensors, actuators, kinematics, control, planning and programming. Programming languages and concepts (e.g., C++, object oriented programming) used in robotics will be introduced and used with modern robotics programming toolboxes and frameworks. Prior experience with these languages will not be necessary. Previous experience with robotics is not required for this course. Prereq: (ENGR 131 or EECS 132) and PHYS 121 and MATH 121.

EECS 281. Logic Design and Computer Organization. 4 Units.

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. Prereq: ENGR 131 or EECS 132.

EECS 290. Introduction to Computer Game Design and Implementation. 3 Units.

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. Prereq: EECS 132.

EECS 293. Software Craftsmanship. 4 Units.

A course to improve programming skills, software quality, and the software development process. Software design; Version control; Control issues and routines; Pseudo-code programming process and developer testing; Defensive programming; Classes; Debugging; Self-documenting code; Refactoring. Offered as EECS 293 and EECS 293N. Prereq: Computer Science Major and EECS 233 with a C or higher.

EECS 293N. Software Craftsmanship. 4 Units.

A course to improve programming skills, software quality, and the software development process. Software design; Version control; Control issues and routines; Pseudo-code programming process and developer testing; Defensive programming; Classes; Debugging; Self-documenting code; Refactoring. Offered as EECS 293 and EECS 293N. Prereq: EECS 233 with a C or higher.

EECS 296. Independent Projects. 1 - 3 Units.

Independent projects in Computer Engineering, Computer Science, Electrical Engineering and Systems and Control Engineering. Recommended preparation: ENGR 131 or EECS 132. Prereq: Limited to freshmen and sophomore students.

EECS 297. Special Topics. 1 - 3 Units.

Special topics in Computer Engineering, Computer Science, Electrical Engineering, and Systems and Control Engineering. Prereq: Limited to freshmen and sophomores.

EECS 301. Digital Logic Laboratory. 2 Units.

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. Prereq: EECS 281.

EECS 302. Discrete Mathematics. 3 Units.

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 303. Embedded Systems Design and Laboratory. 3 Units.

The purpose of this Course and Laboratory is to expose and train the students in modern embedded systems software and hardware design techniques and practices including networking and mobile connectivity. The rationale for the Course and Lab is based on the explosive growth of embedded systems in the industry, specifically industrial automation, aviation, surveillance, medical devices, but also common consumer products. The course topics cover a wide range of material as follows. Microcontroller systems based on the ARM processor. Essential components, memories, busses interfaces. Devices, peripherals, GPIOs, device drivers. Sensors and Actuators, A/D, D/A, DSP. Embedded Linux, kernels, kernel modules, compilers and assemblers. Libraries, and debugging facilities. The Lab will be based on common platforms such as Raspberry pi, Arduino, ARM embed, supported by a network of Linux workstations.

EECS 304. Control Engineering I with Laboratory. 3 Units.

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. The course will incorporate the use of Grand Challenges in the areas of Energy Systems, Control Systems, and Data Analytics in order to provide a framework for problems to study in the development and application of the concepts and tools studied in the course. Various aspects of important engineering skills relating to leadership, teaming, emotional intelligence, and effective communication are integrated into the course. Prereq: EECS 246 or EMAE 350.

EECS 305. Control Engineering I Laboratory. 1 Unit.

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. Coreq: EECS 304.

EECS 309. Electromagnetic Fields I. 3 Units.

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. Prereq: PHYS 122 or PHYS 124. Prereq or Coreq: MATH 224.

EECS 313. Signal Processing. 3 Units.

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. The course will incorporate the use of Grand Challenges in the areas of Energy Systems, Control Systems, and Data Analytics in order to provide a framework for problems to study in the development and application of the concepts and tools studied in the course. Various aspects of important engineering skills relating to leadership, teaming, emotional intelligence, and effective communication are integrated into the course. Prereq: EECS 246.

EECS 314. Computer Architecture. 3 Units.

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. Prereq: EECS 281.

EECS 315. Digital Systems Design. 4 Units.

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. Prereq: EECS 281.

EECS 316. Computer Design. 3 Units.

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). Prereq: EECS 281 and EECS 315.

EECS 318. VLSI/CAD. 4 Units.

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. Prereq: EECS 281 and EECS 315.

EECS 319. Applied Probability and Stochastic Processes for Biology. 3 Units.

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 a combination of MATLAB, the R statistical package, MCell, and/or URDME, at the discretion of the instructor. Student projects will comprise a major part of the course. Offered as BIOL 319, EECS 319, MATH 319, SYBB 319, BIOL 419, EBME 419, MATH 419, PHOL 419, and SYBB 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 Units.

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. Prereq: PHYS 122. Prereq or Coreq: MATH 224.

EECS 322. Integrated Circuits and Electronic Devices. 3 Units.

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. Prereq: PHYS 122. Prereq or Coreq: MATH 224.

EECS 324. Modeling and Simulation of Continuous Dynamical Systems. 3 Units.

This course examines the computer-based modeling and simulation of continuous dynamical system behavior in a variety of systems including electric power systems, industrial control systems, and signal processing that are represented by a set of differential equations need to be solved numerically in order to compute and represent their behavior for study. In addition to these applications, there are many other important applications of these tools in computer games, virtual worlds, weather forecasting, and population models, to name a few examples. Numerical integration techniques are developed to perform these computations. Multiple computational engines such as Matlab, Simulink, Unity, and physics engines etc. are also examined as examples of commonly used software to solve for and visualize continuous-time system behavior. The course will incorporate the use of Grand Challenges in the areas of Energy Systems, Control Systems, and Data Analytics in order to provide motivation and a framework for problems to study in the development and application of the concepts and tools studied in the course. Various aspects of important engineering skills relating to leadership, teaming, emotional intelligence, and effective communication are integrated into the course. Prereq: MATH 224.

EECS 325. Computer Networks I. 3 Units.

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. Offered as EECS 325 and EECS 325N. Prereq: Computer Science Major with minimum Junior Standing and EECS 233 with a C or higher.

EECS 325N. Computer Networks I. 3 Units.

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. Offered as EECS 325 and EECS 325N. Prereq: Minimum Junior Standing and EECS 233 with a C or higher.

EECS 326. Instrumentation Electronics. 3 Units.

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, EBME 308 or EMAE 350).

EECS 329. Introduction to Nanomaterials: Material Synthesis, Properties and Device Applications. 3 Units.

The behavior of nanoscale materials is close, to atomic behavior rather than that of bulk materials. The growth of nanomaterials, such as quantum dots, has the tendency to be viewed as an art rather than science. These nanostructures have changed our view of Nature. This course is designed to provide an introduction to nanomaterials and devices to both senior undergraduate and graduate students in engineering. Topics covered include an introduction to growth issues, quantum mechanics, quantization of electronic energy levels in periodic potentials, tunneling, distribution functions and density of states, optical and electronic properties, and devices. Offered as EECS 329 and EECS 429. Coreq: EECS 309.

EECS 337. Compiler Design. 4 Units.

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. Prereq: EECS 233 and EECS 281.

EECS 338. Intro to Operating Systems and Concurrent Programming. 4 Units.

Intro to OS: OS Structures, processes, threads, CPU scheduling, deadlocks, memory management, file system implementations, virtual machines, cloud computing. Concurrent programming: fork, join, concurrent statement, critical section problem, safety and liveness properties of concurrent programs, process synchronization algorithms, semaphores, monitors. UNIX systems programming: system calls, UNIX System V IPCs, threads, RPCs, shell programming. Offered as EECS 338 and EECS 338N. Prereq: Computer Science Major or Minor and EECS 233 with a C or higher.

EECS 338N. Intro to Operating Systems and Concurrent Programming. 4 Units.

Intro to OS: OS Structures, processes, threads, CPU scheduling, deadlocks, memory management, file system implementations, virtual machines, cloud computing. Concurrent programming: fork, join, concurrent statement, critical section problem, safety and liveness properties of concurrent programs, process synchronization algorithms, semaphores, monitors. UNIX systems programming: system calls, UNIX System V IPCs, threads, RPCs, shell programming. Offered as EECS 338 and EECS 338N. Prereq: EECS 233 with a C or higher.

EECS 339. Web Data Mining. 3 Units.

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). Prereq: EECS 338, EECS 341, and (EECS 302 or MATH 304).

EECS 340. Algorithms. 3 Units.

Fundamentals in algorithm design and analysis. Loop invariants, asymptotic notation, recurrence relations, sorting algorithms, divide-and-conquer, dynamic programming, greedy algorithms, basic graph algorithms. Offered as EECS 340 and EECS 340N. Prereq: (Computer Science Major/Minor or Data Science Major) and (EECS 302 or MATH 304) and (EECS 233 or DSCI 234 with a C or higher).

EECS 340N. Algorithms. 3 Units.

Fundamentals in algorithm design and analysis. Loop invariants, asymptotic notation, recurrence relations, sorting algorithms, divide-and-conquer, dynamic programming, greedy algorithms, basic graph algorithms. Offered as EECS 340 and EECS 340N. Prereq: (EECS 302 or MATH 304) and EECS 233 with a C or higher.

EECS 341. Introduction to Database Systems. 3 Units.

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. Offered as EECS 341 and EECS 341N. Prereq: Computer Science Major and (EECS 302 or MATH 304) and EECS 233 with a C or higher.

EECS 341N. Introduction to Database Systems. 3 Units.

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. Offered as EECS 341 and EECS 341N. Prereq: (EECS 302 or MATH 304) and EECS 233 with a C or higher.

EECS 342. Introduction to Global Issues. 3 Units.

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 342I. Global Issues, Health, & Sustainability in India. 3 Units.

Global Issues, Health, & Sustainability in India is an interdisciplinary social work and engineering collaboration that includes a short-term cross-cultural immersion. This course brings together social work (knowledge, values, and skills) and health care (promotion, education, and community) perspectives to the understanding of technical project assessment, selection, planning and implementation in India. The course is also designed to help students understand culturally relevant community engagement strategies to ensure project acceptance in underserved and developing communities. Many field sites will be visited in order to observe first-hand the community assessment and development of projects that engineers implement. An example of these projects could include infrastructure to support green energy and water (resource planning, development, conservation, and sanitation). This study abroad course will acquaint students with history and culture of India, its social, political and economic development and the impact it has on health and the delivery of social services. Participants will learn about factors affecting the abilities to reach, treat, educate, and equip communities to improve health outcomes. Engineering students will learn the quantitative aspects using a paradigm of hierarchical systems, mathematical modeling, and scenario analysis using a 'reasoning support' system. Together the engineering, social work, and health sciences students in disciplinary-balanced teams will jointly work on real and meaningful projects marrying the descriptive scenarios (that is the 'subjective' aspect) with the numerical scenario analysis based on mathematical modeling (or 'objective' aspect) to form a coherent view of the future. The course will be taught using both lecture and experiential modalities. Engineering students will conduct computer modeling work. Along with visiting a variety of governmental and non-governmental institutions, organizations and projects, students will visit historical sites and attend cultural events. Offered as EECS 342I and SASS 375I. Counts for CAS Global & Cultural Diversity Requirement.

EECS 343. Theoretical Computer Science. 3 Units.

Introduction to different classes of automata and their correspondence to different classes of formal languages and grammars, computability, complexity and various proof techniques. Offered as EECS 343 and MATH 343. Prereq: EECS 302 or MATH 304.

EECS 344. Electronic Analysis and Design. 3 Units.

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. Prereq: EECS 245.

EECS 345. Programming Language Concepts. 3 Units.

This course examines the four main programming paradigms: imperative, object-oriented, functional, and logical. It is assumed that students will come to the course with significant exposure to object-oriented programming and some exposure to imperative programming. The course will teach the functional paradigm in depth, enhance the students' knowledge of the object-oriented and imperative paradigms, and introduce the logical paradigm. The course will explore language syntax, semantics, names/scopes, types, expressions, assignment, subprograms, abstraction and inheritance. This exploration will have several forms. Students will study the programming language concepts at a theoretical level, use the concepts in functional language programming, and implement the concepts by designing language interpreters. Offered as EECS 345 and EECS 345N. Prereq: Computer Science Major and (EECS 302 or MATH 304) and EECS 233 with a C or higher.

EECS 345N. Programming Language Concepts. 3 Units.

This course examines the four main programming paradigms: imperative, object-oriented, functional, and logical. It is assumed that students will come to the course with significant exposure to object-oriented programming and some exposure to imperative programming. The course will teach the functional paradigm in depth, enhance the students' knowledge of the object-oriented and imperative paradigms, and introduce the logical paradigm. The course will explore language syntax, semantics, names/scopes, types, expressions, assignment, subprograms, abstraction and inheritance. This exploration will have several forms. Students will study the programming language concepts at a theoretical level, use the concepts in functional language programming, and implement the concepts by designing language interpreters. Offered as EECS 345 and EECS 345N. Prereq: (EECS 302 or MATH 304) and EECS 233 with a C or higher.

EECS 346. Engineering Optimization. 3 Units.

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. The course will incorporate the use of Grand Challenges in the areas of Energy Systems, Control Systems, and Data Analytics in order to provide a framework for problems to study in the development and application of the concepts and tools studied in the course. Various aspects of important engineering skills relating to leadership, teaming, emotional intelligence, and effective communication are integrated into the course. Recommended preparation: MATH 201.

EECS 350. Operations and Systems Design. 3 Units.

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 Units.

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. Prereq: EECS 246 or requisites not met permission.

EECS 352. Engineering Economics and Decision Analysis. 3 Units.

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. The course will incorporate the use of Grand Challenges in the areas of Energy Systems, Control Systems, and Data Analytics in order to provide a framework for problems to study in the development and application of the concepts and tools studied in the course. Various aspects of important engineering skills relating to leadership, teaming, emotional intelligence, and effective communication are integrated into the course.

EECS 354. Digital Communications. 3 Units.

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. Prereq: EECS 246 or requisites not met permission.

EECS 360. Manufacturing and Automated Systems. 3 Units.

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 Units.

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 Units.

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. Prereq: EECS 233.

EECS 368. Power System Analysis I. 3 Units.

This course introduces the steady-state modeling and analysis of electric power systems. The course discusses the modeling of essential power system network components such as transformers and transmission lines. The course also discusses important steady-state analysis of three-phase power system network, such as the power flow and economic operation studies. Through the use of PowerWorld Simulator education software, further understanding and knowledge can be gained on the operational characteristics of AC power systems. Special topics concerning new grid technologies will be discussed towards the semester end. The prerequisite requirements of the course include the concepts and computational techniques of Alternative Current (AC) circuit and electromagnetic field. Offered as EECS 368 and EECS 468. Prereq: EECS 245.

EECS 369. Power System Analysis II. 3 Units.

This course extends upon the steady state analysis of power systems to cover study topics that are essential for power system planning and operation. Special system operating conditions are considered, such as unbalanced network operation and component faults. Among the most important analytical methods developed, are symmetrical components and sequence networks. Other study topics discussed include the electric machine modeling and power system transient stability. The latter half of the course presents computational methods and control algorithms that are essential for power system operation, such as generation control and state estimation. Offered as EECS 369 and EECS 469. Prereq: EECS 368.

EECS 370. Smart Grid. 3 Units.

This course starts with an introduction to the US electric power system infrastructure and national electricity policy. Then power system operations and reliability practices are described. In the context of currently existing infrastructure and operation strategies, the course discusses the new Smart Grid technologies such as renewable resources, distributed generation, demand response, energy storage and electric vehicles. Additional important topics of discussion include Advanced Meter Infrastructure, microgrids, the IEEE 1547 Interconnection Standard, and other interoperability standards. The course captures the evolving progress made in Smart Grid technologies and the impacts on power system economics and reliability. Offered as EECS 370 and EECS 470. Prereq: EECS 368.

EECS 371. Applied Circuit Design. 4 Units.

This course will consist of lectures and lab projects designed to provide students with an opportunity to consolidate their theoretical knowledge of electronics and to acquaint them with the art and practice of circuit and product design. The lectures will cover electrical and electronic circuits and many electronic and electrical devices and applications. Examples include mixed-signal circuits, power electronics, magnetic and piezo components, gas discharge devices, sensors, motors and generators, and power systems. In addition, there will be discussion of professional topics such as regulatory agencies, manufacturing, testing, reliability, and product cost. Weekly labs will be true "design" opportunities representing real-world applications. A specification or functional description will be provided, and the students will design the circuit, select all components, construct a breadboard, and test. The objective will be functional, pragmatic, cost-effective designs. Prereq: EECS 245.

EECS 373. Modern Robot Programming. 3 Units.

The goal of this course is to learn modern methods for building up robot capabilities using the Robot Operating System (ROS). Through a sequence of assignments, students learn how to write software to control both simulated and physical robots. Material includes: interfacing software to robot I/O; path and trajectory planning for robot arms; object identification and localization from 3-D sensing; manipulation planning; and development of graphical interfaces for supervisory robot control. Laboratory assignments are scheduled in small groups to explore implementations on specific robots. Graduate students will also perform an independent project. Offered as EECS 373 and EECS 473. Prereq: ENGR 131 or EECS 132. Coreq: EECS 373L.

EECS 373L. Modern Robot Programming Lab. 1 Unit.

Lab to accompany EECS 373, Modern Robot Programming. Coreq: EECS 373.

EECS 374. Advanced Control and Energy Systems. 3 Units.

This course introduces applied quantitative robust and nonlinear control engineering techniques to regulate automatically renewable energy systems in general and wind turbines in particular. The course also studies the fundamentals for dynamic multidisciplinary modeling and analysis of large multi-megawatt wind turbines (mechanics, aerodynamics, electrical systems, control concepts, etc.). The course combines lecture sessions and lab hours. The 400-level includes an experimental lab competition, where the object is to design, implement, and experimentally validate a control strategy to regulate a real system in the laboratory (helicopter control competition or similar); it will also include additional project design reports. Offered as EECS 374 and EECS 474. Prereq: EECS 304.

EECS 375. Applied Control. 3 Units.

This course provides a practical treatment of the study of control engineering systems. It emphasizes best practices in industry so that students learn what aspects of plant and control system design are critical. The course develops theory and practice for digital computer control systems; PID controller design (modes, forms and tuning methods); Control structure design (feed-forward, cascade control, predictive control, disturbance observers, multi-loop configurations, multivariable control); Actuators, sensors and common loops; Dynamic performance evaluation; and some advanced control techniques (quantitative robust control, gain-scheduling and adaptive control) to achieve a good performance over a range of operating conditions. Recommended preparation: EECS 374 or EECS 474. Offered as EECS 375 and EECS 475. Prereq: EECS 304 or Requisites Not Met permission.

EECS 376. Mobile Robotics. 4 Units.

Design of software systems for mobile robot control, including: motion control; sensory processing; localization and mapping; mobile-robot planning and navigation; and implementation of goal-directed behaviors. The course has a heavy lab component involving a sequence of design challenges and competitions performed in teams. Prereq: EECS 373 or EECS 473.

EECS 377. Introduction to Connected Devices. 3 Units.

Introduction to Connected Devices (e.g., Internet of Things). Undergraduates work in pairs to build a complete connected-device system, an embedded device with wireless networking, cloud and web, and mobile, and then develop hands-on experience with systems-level aspects of the connected-device system, including analytics, remote firmware update, load testing, and essential security. Students learn about current architectures, languages, and technologies, such as Pub/Sub (MQTT), Python, Objective-C, Python Django, JavaScript, HTML/CSS, and Bluetooth Low Energy.

EECS 390. Advanced Game Development Project. 3 Units.

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. Prereq: EECS 233 and EECS 290.

EECS 391. Introduction to Artificial Intelligence. 3 Units.

This course is an introduction to artificial intelligence. We will study the concepts that underlie intelligent systems. Topics covered include problem solving with search, constraint satisfaction, adversarial games, knowledge representation and reasoning using propositional and first order logic, reasoning under uncertainty, introduction to machine learning, automated planning, reinforcement learning and natural language processing. Recommended: basic knowledge of probability and statistics. Prereq: ENGR 131 or EECS 132.

EECS 392. App Development for iOS. 3 Units.

This course is an introduction to app development for iPhone and iPad using Cocoa Touch Framework and Xcode development environment. Topics include Objective-C programming language and iOS SDK/foundations, object-oriented design and model-view-controller framework, user interface design using Xcode. Additional topics may include data management, map applications, animations and some recent developments in iOS. Recommended preparations: experiences in object-oriented programming and Mac OS; knowledge in software engineering and databases. Prereq: EECS 293 and Junior or Senior standing.

EECS 393. Software Engineering. 3 Units.

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. Offered as EECS 393, EECS 393N, and EECS 493. Counts as SAGES Senior Capstone. Prereq: (Computer Science Major/Minor or Data Science Major) or (EECS 233 or DSCI 234 with a C or higher).

EECS 393N. Software Engineering. 3 Units.

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. Offered as EECS 393, EECS 393N, and EECS 493. Counts as SAGES Senior Capstone. Prereq: EECS 233 with a C or higher.

EECS 394. Introduction to Information Theory. 3 Units.

This course is intended as an introduction to information and coding theory with emphasis on the mathematical aspects. It is suitable for advanced undergraduate and graduate students in mathematics, applied mathematics, statistics, physics, computer science and electrical engineering. Course content: Information measures-entropy, relative entropy, mutual information, and their properties. Typical sets and sequences, asymptotic equipartition property, data compression. Channel coding and capacity: channel coding theorem. Differential entropy, Gaussian channel, Shannon-Nyquist theorem. Information theory inequalities (400 level). Additional topics, which may include compressed sensing and elements of quantum information theory. Recommended preparation: MATH 201 or MATH 307. Offered as MATH 394, EECS 394, MATH 494 and EECS 494. Prereq: MATH 223 and MATH 380 or requisites not met permission.

EECS 395. Senior Project in Computer Science. 4 Units.

Capstone course for computer science 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. Counts as SAGES Senior Capstone. Prereq: Senior standing.

EECS 396. Independent Projects. 1 - 6 Units.

Independent projects in Computer Engineering, Computer Science, Electrical Engineering, and Systems and Control Engineering. Limited to juniors and seniors. Prereq: Limited to juniors and seniors.

EECS 397. Special Topics. 1 - 6 Units.

Special topics in Computer Engineering, Computer Science, Electrical Engineering, and Systems and Control Engineering. Prereq: Limited to juniors and seniors.

EECS 398. Engineering Projects I. 4 Units.

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. Counts as SAGES Senior Capstone. Prereq: Senior Standing. Prereq or Coreq: ENGR 398 and ENGL 398.

EECS 399. Engineering Projects II. 3 Units.

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. Prereq: Senior Standing.

EECS 400T. Graduate Teaching I. 0 Unit.

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 Units.

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 402. Internet Security and Privacy. 3 Units.

This course introduces students to research on Internet security and privacy. Covered topics include denial of service attacks, attacks enabled by man-in-the-middle surveillance, communication hijacking, botnet and fast-flux networks, email and Web spam, threats to privacy on the Internet, and Internet censorship. The course will be based on a collection of research papers. Students will be required to attend lectures, read the materials, prepare written summaries of discussed papers, present a paper in class, complete a course project and take the final exam (in the form of the course project presentation). Prereq: EECS 325 or EECS 425 or graduate standing in Computer Science or Computer Engineering.

EECS 404. Digital Control Systems. 3 Units.

Analysis and design techniques for computer based control systems. Sampling, hybrid continuous-time/discrete-time system modeling; sampled data and state space representations, controllability, observability and stability, transformation of analog controllers, design of deadbeat and state feedback controllers; pole placement controllers based on input/output models, introduction to model identification, optimal control and adaptive control. Recommended Preparation: EECS 304 or equivalent.

EECS 405. Data Structures and File Management. 3 Units.

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. Prereq: EECS 341 or Graduate standing.

EECS 407. Engineering Economics and Financial Analysis. 3 Units.

In this course, money and profit as measures of "goodness" in engineering design are studied. Methods for economic analysis of capital investments are developed and the financial evaluation of machinery, manufacturing processes, buildings, R&D, personnel development, and other long-lived investments is emphasized. Optimization methods and decision analysis techniques are examined to identify economically attractive alternatives. Basic concepts of cost accounting are also covered. Topics include: economics criteria for comparing projects: present worth, annual worth analysis; depreciation and taxation; retirement and replacement; effect of inflation and escalation on economic evaluations; case studies; use of optimization methods to evaluate many alternatives; decision analysis; accounting fundamentals: income and balance sheets; cost accounting. Offered as EECS 407 and EPOM 407.

EECS 408. Introduction to Linear Systems. 3 Units.

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 410. Mobile Health (mHealth) Technology. 3 Units.

Advances in communications, computer, and medical technology have facilitated the practice of personalized health, which utilizes sensory computational communication systems to support improved and more personalized healthcare and healthy lifestyle choices. The current proliferation of broadband wireless services, along with more powerful and convenient handheld devices, is helping to introduce real-time monitoring and guidance for a wide array of patients. Indeed, a large research community and a nascent industry is beginning to connect medical care with technology developers, vendors of wireless and sensing hardware systems, network service providers, and enterprise data management communities. Students in the course and labs will explore cutting-edge technologies in 1) information technologies and 2) healthcare/medical applications, through lectures, lab assignments, exams, presentations, and final projects. The overall course objectives are to introduce electrical engineering, computer engineering, and computer science students the fundamentals of wearable sensors, mobile health informatics, big data analysis, telehealthcare security & privacy, and human computer interaction considerations. Prereq: MS and PhD student only.

EECS 411. Applied Engineering Statistics. 3 Units.

In this course a combination of lectures, demonstrations, case studies, and individual and group computer problems provides an intensive introduction to fundamental concepts, applications and the practice of contemporary engineering statistics. Each topic is introduced through realistic sample problems to be solved first by using standard spreadsheet programs and then using more sophisticated software packages. Primary attention is given to teaching the fundamental concepts underlying standard analysis methods. Offered as EPOM 405 and EECS 411.

EECS 413. Nonlinear Systems I. 3 Units.

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 414. Wireless Communications. 3 Units.

This course introduces the fundamentals of wireless communications including backgrounds, important concepts, and cutting-edge technologies. In particular, the course focuses on interesting and important topics in wireless communications, such as (but not limited to): Overview of wireless communication networks and protocols, the cellular concept, system design fundamentals, brief introduction to wireless physical layer fundamentals, multiple access control protocols for wireless systems, wireless networking (routing/rerouting, wireless TCP/IP), mobility management, call admission control and resource allocation, revolution/evolution towards future generation wireless networks, overview of wireless mesh networks, mobile ad hoc networks and wireless sensor networks, and wireless security (optional). Prereq: Undergraduate student with a C or better in EECS 351, or Graduate student.

EECS 415. Integrated Circuit Technology I. 3 Units.

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 Units.

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 418. System Identification and Adaptive Control. 3 Units.

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 Units.

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 421. Optimization of Dynamic Systems. 3 Units.

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 Units.

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 424. Introduction to Nanotechnology. 3 Units.

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 Units.

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 Units.

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. Optoelectronic and Photonic Devices. 3 Units.

In this course, we will study the optical transitions, absorptions, and gains in semiconductors. We will discuss the optical processes in semiconductor bulk as well as low dimensional structures such as quantum well and quantum dot. The fundamentals, technologies and applications of important optoelectronic devices (e.g., light-emitting diodes, semiconductor lasers, solar cells and photo-detectors) will be introduced. We will learn the current state-of-the-art of these devices. Recommended Preparation: EECS 321.

EECS 428. Computer Communications Networks II. 3 Units.

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 429. Introduction to Nanomaterials: Material Synthesis, Properties and Device Applications. 3 Units.

The behavior of nanoscale materials is close, to atomic behavior rather than that of bulk materials. The growth of nanomaterials, such as quantum dots, has the tendency to be viewed as an art rather than science. These nanostructures have changed our view of Nature. This course is designed to provide an introduction to nanomaterials and devices to both senior undergraduate and graduate students in engineering. Topics covered include an introduction to growth issues, quantum mechanics, quantization of electronic energy levels in periodic potentials, tunneling, distribution functions and density of states, optical and electronic properties, and devices. Offered as EECS 329 and EECS 429.

EECS 433. Database Systems. 3 Units.

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. Prereq: EECS 341 or Graduate standing.

EECS 434. Microsystems Technology. 3 Units.

This course provides an overarching coverage of microsystems technology, which is rooted in micro-electromechanical systems (MEMS). It covers the convergence of sensors and actuators, with wireless communications, computing and (social) networks. Microsystems incorporate sensors and actuators to interface computing with its physical environment-enabling perception and control. Microsystems are key enablers of smartphones, wearables, drones, robots, cars, aircrafts, weapons, etc. Recommended preparation: EECS 322.

EECS 435. Data Mining. 3 Units.

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 438. High Performance Computing. 3 Units.

High performance computing (HPC) leverages parallel processing in order to maximize speed and throughput. This hands-on course will cover theoretical and practical aspects of HPC. Theoretical concepts covered include computer architecture, parallel programming, and performance optimization. Practical applications will be discussed from various information and scientific fields. Practical considerations will include HPC job management and Unix scripting. Weekly assessments and a course project will be required. Prereq: EECS 233 or graduate standing.

EECS 439. Web Data Mining. 3 Units.

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 Units.

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. Prereq: EECS 391 or EECS 491 or consent of instructor.

EECS 441. Internet Applications. 3 Units.

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 442. Causal Learning from Data. 3 Units.

This course introduces key concepts and techniques for characterizing, from observational or experimental study data and from background information, the causal effect of a specific treatment, exposure, or intervention (e.g., a medical treatment) upon an outcome of interest (e.g., disease status). The fundamental problem of causal inference is the impossibility of observing the effects of different and incompatible treatments on the same individual or unit. This problem is overcome by estimating an average causal effect over a study population. Making valid causal inferences with observational data is especially challenging, because of the greater potential for biases (confounding bias, selection bias, and measurement bias) that can badly distort causal effect estimates. Consequently, this topic has been the focus of intense cross-disciplinary research in recent years. Causal inference techniques will be illustrated by applications in several fields such as computer science, engineering, medicine, public health, biology, genomics, neuroscience, economics, and social science. Course grading will be based on quizzes, homeworks, a class presentation, and a causal data analysis project. Specific topics: treatments, exposures, and interventions; causal effects and causal effect measures; confounding bias; potential outcomes and counterfactuals; randomized experiments; observational studies; causal directed acyclic graphs (DAGs); exchangeability and conditional exchangeability; effect modification; causal interactions; nonparametric structural equations; Pearl's Back-Door Criterion, Front-Door Criterion, and related results; covariate adjustment; matching on covariates; selection bias; measurement bias; instrumental variables; causal modeling; inverse probability weighting; marginal structural models; standardization; structural nested models; outcome regression; propensity scores; sensitivity analysis. Prereq: EECS 440 or MATH 380 or STAT 312 or STAT 313 or STAT 332 or STAT 333 or Requisites Not Met permission.

EECS 443. Flexible Electronics. 3 Units.

Learning about flexible and stretchable electronics from materials to applications. Covering organic and inorganic semiconductors, vacuum and solution-based metal-oxide semiconductors, nanomembranes and nanocrystals, conductors and insulators, flexible and ultra-high-resolution displays, lightemitting transistors, organic and inorganic photovoltaics, large-area imagers and sensors, non-volatile memories and radio-frequency identification tags. Discussing applications of flexible, stretchable and large-area electronics as part of the foregoing topics. Recommended Preparation: EECS 322.

EECS 444. Computer Security. 3 Units.

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 448. Smartphone Security. 3 Units.

This course is designed to better prepare undergraduate and graduate students for researching and developing in the neighborhood of mobile and software security. Lectures, paper readings and presentations, in-class discussions, and projects are the main components. The course covers the basics of Android programming and a wide range of security issues and solutions concerning mobile platforms, including permission analysis, textual artifacts analysis, malware analysis, program analysis, and UI analysis. Students should expect one literature survey paper and one system-building or empirical study project on one selected security solution in mobile app security. Prereq: EECS 132 and a Graduate or Undergraduate Computer Science major.

EECS 450. Operations and Systems Design. 3 Units.

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 Units.

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 Units.

This course covers fundamental topics in algorithm design and analysis in depth. Amortized analysis, NP-completeness and reductions, dynamic programming, advanced graph algorithms, string algorithms, geometric algorithms, local search heuristics. Offered as EECS 454 and OPRE 454. Prereq: EECS 340.

EECS 455. Applied Graph Theory. 3 Units.

This course serves as an introduction to many of the important aspects of graph theory. Topics include connectivity, flows, matchings, planar graphs, and graph coloring with additional topics selected from extremal graphs, random graphs, bounded treewidth graphs, social networks and small world graphs. The class will explore the underlying mathematical theory with a specific focus on the development and analysis of graph algorithms. Prereq: Graduate Student or (EECS 302 or MATH 304 or MATH 305 or MATH 307).

EECS 458. Introduction to Bioinformatics. 3 Units.

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 459. Bioinformatics for Systems Biology. 3 Units.

Description of omic data (biological sequences, gene expression, protein-protein interactions, protein-DNA interactions, protein expression, metabolomics, biological ontologies), regulatory network inference, topology of regulatory networks, computational inference of protein-protein interactions, protein interaction databases, topology of protein interaction networks, module and protein complex discovery, network alignment and mining, computational models for network evolution, network-based functional inference, metabolic pathway databases, topology of metabolic pathways, flux models for analysis of metabolic networks, network integration, inference of domain-domain interactions, signaling pathway inference from protein interaction networks, network models and algorithms for disease gene identification, identification of dysregulated subnetworks network-based disease classification. Offered as EECS 459 and SYBB 459. Prereq: EECS 458 or BIOL 250.

EECS 460. Manufacturing and Automated Systems. 3 Units.

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 Units.

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 467. Commercialization and Intellectual Property Management. 3 Units.

This interdisciplinary course covers a variety of topics, including principles of intellectual property and intellectual property management, business strategies and modeling relevant to the creation of start-up companies and exploitation of IP rights as they relate to biomedical-related inventions. The goal of this course is to address issues relating to the commercialization of biomedical-related inventions by exposing law students, MBA students, and Ph.D. candidates (in genetics and proteomics) to the challenges and opportunities encountered when attempting to develop biomedical intellectual property from the point of early discovery to the clinic and market. Specifically, this course seeks to provide students with the ability to value a given technological advance or invention holistically, focusing on issues that extend beyond scientific efficacy and include patient and practitioner value propositions, legal and intellectual property protection, business modeling, potential market impacts, market competition, and ethical, social, and healthcare practitioner acceptance. During this course, law students, MBA students, and Ph.D. candidates in genomics and proteomics will work in teams of five (two laws students, two MBA students and one Ph.D. candidate), focusing on issues of commercialization and IP management of biomedical-related inventions. The instructors will be drawn from the law school, business school, and technology-transfer office. Please visit the following website for more information: fusioninnovate.com. Offered as LAWS 5341, MGMT 467, GENE 367, GENE 467, EBME 467 and EECS 467.

EECS 468. Power System Analysis I. 3 Units.

This course introduces the steady-state modeling and analysis of electric power systems. The course discusses the modeling of essential power system network components such as transformers and transmission lines. The course also discusses important steady-state analysis of three-phase power system network, such as the power flow and economic operation studies. Through the use of PowerWorld Simulator education software, further understanding and knowledge can be gained on the operational characteristics of AC power systems. Special topics concerning new grid technologies will be discussed towards the semester end. The prerequisite requirements of the course include the concepts and computational techniques of Alternative Current (AC) circuit and electromagnetic field. Offered as EECS 368 and EECS 468. Prereq: EECS 245.

EECS 469. Power System Analysis II. 3 Units.

This course extends upon the steady state analysis of power systems to cover study topics that are essential for power system planning and operation. Special system operating conditions are considered, such as unbalanced network operation and component faults. Among the most important analytical methods developed, are symmetrical components and sequence networks. Other study topics discussed include the electric machine modeling and power system transient stability. The latter half of the course presents computational methods and control algorithms that are essential for power system operation, such as generation control and state estimation. Offered as EECS 369 and EECS 469. Prereq: EECS 368.

EECS 470. Smart Grid. 3 Units.

This course starts with an introduction to the US electric power system infrastructure and national electricity policy. Then power system operations and reliability practices are described. In the context of currently existing infrastructure and operation strategies, the course discusses the new Smart Grid technologies such as renewable resources, distributed generation, demand response, energy storage and electric vehicles. Additional important topics of discussion include Advanced Meter Infrastructure, microgrids, the IEEE 1547 Interconnection Standard, and other interoperability standards. The course captures the evolving progress made in Smart Grid technologies and the impacts on power system economics and reliability. Offered as EECS 370 and EECS 470. Prereq: EECS 368.

EECS 473. Modern Robot Programming. 3 Units.

The goal of this course is to learn modern methods for building up robot capabilities using the Robot Operating System (ROS). Through a sequence of assignments, students learn how to write software to control both simulated and physical robots. Material includes: interfacing software to robot I/O; path and trajectory planning for robot arms; object identification and localization from 3-D sensing; manipulation planning; and development of graphical interfaces for supervisory robot control. Laboratory assignments are scheduled in small groups to explore implementations on specific robots. Graduate students will also perform an independent project. Offered as EECS 373 and EECS 473. Prereq: ENGR 131 or EECS 132.

EECS 474. Advanced Control and Energy Systems. 3 Units.

This course introduces applied quantitative robust and nonlinear control engineering techniques to regulate automatically renewable energy systems in general and wind turbines in particular. The course also studies the fundamentals for dynamic multidisciplinary modeling and analysis of large multi-megawatt wind turbines (mechanics, aerodynamics, electrical systems, control concepts, etc.). The course combines lecture sessions and lab hours. The 400-level includes an experimental lab competition, where the object is to design, implement, and experimentally validate a control strategy to regulate a real system in the laboratory (helicopter control competition or similar); it will also include additional project design reports. Offered as EECS 374 and EECS 474. Prereq: EECS 304.

EECS 475. Applied Control. 3 Units.

This course provides a practical treatment of the study of control engineering systems. It emphasizes best practices in industry so that students learn what aspects of plant and control system design are critical. The course develops theory and practice for digital computer control systems; PID controller design (modes, forms and tuning methods); Control structure design (feed-forward, cascade control, predictive control, disturbance observers, multi-loop configurations, multivariable control); Actuators, sensors and common loops; Dynamic performance evaluation; and some advanced control techniques (quantitative robust control, gain-scheduling and adaptive control) to achieve a good performance over a range of operating conditions. Recommended preparation: EECS 374 or EECS 474. Offered as EECS 375 and EECS 475. Prereq: EECS 304 or Requisites Not Met permission.

EECS 476. Mobile Robotics. 3 Units.

Design of software systems for mobile robot control, including: motion control; sensory processing; localization and mapping; mobile-robot planning and navigation; and implementation of goal-directed behaviors. The course has a heavy lab component involving a sequence of design challenges and competitions performed in teams. Prereq: EECS 373 or EECS 473.

EECS 477. Advanced Algorithms. 3 Units.

Design and analysis of efficient algorithms, with emphasis on network flow, combinatorial optimization, and randomized algorithms. Linear programming: duality, complementary slackness, total unimodularity. Minimum cost flow: optimality conditions, algorithms, applications. Game theory: two-person zero-sum games, minimax theorems. Probabilistic analysis and randomized algorithms: examples and lower bounds. Approximation algorithms for NP-hard problems: examples, randomized rounding of linear programs. Prereq: EECS 302 and EECS 340 and MATH 380 and (MATH 201 or MATH 307).

EECS 478. Computational Neuroscience. 3 Units.

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 480A. Introduction to Wireless Health. 3 Units.

Study of convergence of wireless communications, microsystems, information technology, persuasive psychology, and health care. Discussion of health care delivery system, medical decision-making, persuasive psychology, and wireless health value chain and business models. Understanding of health information technology, processing of monitoring data, wireless communication, biomedical sensing techniques, and health monitoring technical approaches and solutions. Offered as EECS 480A and EBME 480A.

EECS 480B. The Human Body. 3 Units.

Study of structural organization of the body. Introduction to anatomy, physiology, and pathology, covering the various systems of the body. Comparison of elegant and efficient operation of the body and the related consequences of when things go wrong, presented in the context of each system of the body. Introduction to medical diagnosis and terminology in the course of covering the foregoing. Offered as EECS 480B and EBME 480B.

EECS 480C. Biomedical Sensing Instrumentation. 3 Units.

Study of principles, applications, and design of biomedical instruments with special emphasis on transducers. Understanding of basic sensors, amplifiers, and signal processing. Discussion of the origin of biopotential, and biopotential electrodes and amplifiers (including biotelemetry). Understanding of chemical sensors and clinical laboratory instrumentation, including microfluidics. Offered as EECS 480C and EBME 480C. Prereq: EECS/EBME 480A, EECS/EBME 480B

EECS 480D. The Health Care Delivery Ecosystem. 3 Units.

Health care delivery across the continuum of care in the United States, including health policy and reform, financing of care, comparative health systems, population health, public health, access to care, care models, cost and value, comparative effectiveness, governance, management, accountability, workforce, and the future. Discussions of opportunities and challenges for wireless health, integrated into the foregoing topics. Perspective on health care delivery in other countries. Offered as EECS 480D and EBME 480D.

EECS 480E. Wireless Communications and Networking. 3 Units.

Essentials of wireless communications and networking, including teletraffic engineering, radio propagation, digital and cellular communications, wireless wide-area network architecture, speech and channel coding, modulation schemes, antennas, security, networking and transport layers, and 4G systems. Hands-on learning of the anatomy of a cell phone, and a paired wireless health device and its gateway. Offered as EECS 480E and EBME 480E.

EECS 480F. Physicians, Hospitals and Clinics. 3 Units.

Rotation through one or more health care provider facilities for a first-hand understanding of care delivery practice, coordination, and management issues. First-hand exposure to clinical personnel, patients, medical devices and instruments, and organizational workflow. Familiarity with provider protocols, physician referral practices, electronic records, clinical decision support systems, acute and chronic care, and inpatient and ambulatory care. Offered as EECS 480F and EBME 480F.

EECS 480G. Applied Cryptography. 3 Units.

This course begins with a discussion of how mobility-driven computing and communication systems use cryptography to protect data and protocols. The foundation for critical cryptographic concepts, techniques, and algorithms are covered. The fundamental cryptographic concepts are studied, including: symmetric encryption, public key encryption, digital signatures, cryptographic hash function, and message authentication codes; cryptographic protocols, such as key exchange, remote user authentication, and interactive proofs; cryptanalysis of cryptographic primitives and protocols, such as by side-channel attacks, differential cryptanalysis, or replay attacks; and cryptanalytic techniques on deployed systems, such as memory remanence, timing attacks, fault attacks, and differential power analysis. Techniques used for code making (cryptographic) and break codes (cryptanalytic) are covered, as well as how these techniques are used within larger security systems.

EECS 480H. Software Security. 3 Units.

This course begins with discussions of good software engineering practices to ensure security in modern software systems and additional challenges to security due to code mobility in software for mobility-driven computing. The basics of software security and threat models, methods to protect software (operating systems, databases, distributed software) - including risk analysis, authentication and authorization, access control, and software architecture for security - are studied. Principles of secure coding, validation and verification of secure software, software and data watermarking, code obfuscation, tamper resistant software are studied, as well as the benefits of open source and closed source software. Use of software as an attack mechanism and emerging attack models (including joint hardware-software attacks) are studied.

EECS 480K. Hardware Security. 3 Units.

This course begins with the keys to enabling secure, trustworthy operation of computer hardware - understanding security issues and how appropriate security measures are included during design, verification, test, and deployment. Increasingly the security primitives such as the Trusted Computing Module are being introduced at the hardware level to prevent the compromise of security in systems being deployed today. A comprehensive coverage of security issues in computer hardware is provided. Topics of embedded systems security, hardware Trojans, security in implantable medical devices, security in RFID/NFC, protection from side channel attacks, tamper resistance and crypto processor design, trusted FPGA design/JTAG, hardware-based cryptanalysis, and hardware IP protection against piracy and reverse-engineering are covered. A course project (Can you Hack It?) that challenges students to hack a hardware is included.

EECS 480M. Introduction to Medical Informatics. 3 Units.

Current state and emerging trends in Medical Informatics (MI) and associated health information systems. Principles, data, data management, system interoperability, patient privacy, information security, electronic records, telehealth, regulatory issues, clinical decision support, mobile documentation, devices and wireless communications in healthcare. Impact of wireless technology on emerging health information systems and processes. Offered as EECS 480M and EBME 480M.

EECS 480O. Introduction to Health Information Technology Implementation. 3 Units.

Current state and emerging trends in the implementation and adoption of health information technology (HIT). Macroergonomics; Technology transfer and adoption; Systems adoption life cycle; Impact of regulation; Decision and work transformation; HIT specification and acquisition; Contracting issues; Implementation, use, and evaluation; Impact of wireless technology on emerging processes. Offered as EECS 480O and EBME 480O. Prereq: EECS 480M.

EECS 480P. Advanced Biomedical Instrumentation. 3 Units.

Analysis and design of biosensors in the context of biomedical measurements. Base sensors using electrochemical, optical, piezoelectric, and other principles. Binding equilibria, enzyme kinetics, and mass transport modalities. Adding the "bio" element to base sensors and mathematical aspects of data evaluation. Applications to clinical problems and biomedical research. Offered as EECS 480P and EBME 480P.

EECS 480Q. Regulatory Policy and Regulations. 3 Units.

Introduction of wireless health technologies: spectrum, licensed versus unlicensed; personal area networks; body area networks; ultra-wideband low energy level short-range radios; wireless local area networks; wide area networks. The Federal system: separation of powers; the executive branch and its departments; the House of Representatives and its committees; the Senate and its committees; the FCC; policy versus regulatory versus legislative. What is a medical device: FDA; classification system; radiation-emitting products; software; RF in medical devices; converged medical devices; international aspects. Regulation of health information technology and wireless health: American Recovery and Reinvestment Act; Patient Protection and Affordable Care Act; FCC/FDA MoU; CMS and Reimbursement; privacy and security. Offered as EECS 480Q and EBME 480Q.

EECS 480R. User Experience Engineering. 3 Units.

Social, cognitive, behavioral, and contextual elements in the design of healthcare technology and systems. User-centered design paradigm from a broad perspective, exploring dimensions of product user experience and learning to assess and modify the design of healthcare technology. Practical utilization of user centered design method and assessment techniques for approaching a design problem. Offered as EECS 480R and EBME 480R.

EECS 480S. Wireless Health Product Development. 3 Units.

Integrating application requirements, market data, concept formulation, design innovation, and manufacturing resources for creating differentiated wireless health products that delight the user. Learning user-centric product development best practices, safety, security and privacy considerations, and risk management planning. Understanding the regulatory process. Identifying and managing product development tradeoffs. Offered as EECS 480S and EBME 480S. Prereq: EECS 480R.

EECS 480T. Wearable Computing Design. 3 Units.

Learning about wearable devices using flexible/conformal electronics designed for convenience and uninterrupted wear-ability. Examining related design challenges from the technology, human and business points of view. Understanding wearable product design for general and special-purpose tasks in information processing, media operations, and information extraction from sensed data. Learning about the technological challenges for design, including miniaturization, power delivery and management, data storage, and wireless networking. Learning about hardware choices (processor, field programmable gate array or custom ASIC based design) for wearable computers and software architectures for smart data processing. Learning about wearable designs centered on the human experience, including sensing and interfacing with the human body, as well as user interaction, convenience, and support for non-intrusive social appearance. Case studies tying the business requirements with the technology and design issues.

EECS 480U. Wearable Computing Technology. 3 Units.

Learning about a broad range of cutting-edge technologies suitable for wearable computing. Understanding printed and flexible electronics technologies required for creating wearable computing, in particular organics for active components due to their flexibility or conformity. Examine the tradeoffs between flexible/conformal versus rigid electronics in the context of wearable computing. Reviewing the history of printed electronics used as conductors for membrane keypads, car windscreen heaters and RFID tag antennas-to name a few application examples. Reviewing the latest technology advances in functional components such as displays, lighting, transistors (p-type & n-type), memory, batteries, photovoltaics (PV), sensors, and conductors as well as integration/packaging steps. Understanding the market potential of these technologies by reviewing emerging products.

EECS 480W. Wearable Computing Manufacturing. 3 Units.

Learning about the supply chain and manufacturing processes for flexible electronics, sensors, and other technologies contributing to the development of wearable products. Understanding supply chain issues in low mobility materials, multilevel substrates, nanocomposites, materials for low power sensors, and inks suitable for direct printing. Identifying the tradeoffs involved in various manufacturing methods such as roll-to-roll manufacturing a mature coating technology yet to be proven for full device integration. Studying other manufacturing techniques such as plate-to-plate, direct printing, 3D printing, and screening techniques for their applicability to the manufacturing and integration of flexible electronics. Understanding the use of lithography and vapor deposition techniques in the context of flexible electronics. Examining the issues of systems integration and packaging of the manufactured products.

EECS 480X. Mobility-Driven Computing. 3 Units.

Fundamental concepts in computing and architecture for mobile devices, mobile operating systems, mobility and mobile data management. Application of technologies for location awareness, context awareness, integrated sensors, mobile Internet, displays, pattern recognition and natural language processing, and touch/gesture based user interaction. Understanding of the tradeoffs in design (smartphones, tablets) due to resource constraints such as wireless connectivity, application processing, power management, and graphics. Integration of near- and wide-area wireless communication technologies (Bluetooth, Wireless WAN). Exploration of emerging technologies and services for the mobile platform. Integration of the foregoing concepts in a specific mobile context application (home/office, pedestrian, vehicular).

EECS 480Y. Mobility-Driven Embedded Systems. 3 Units.

Foundations of reliable, energy-efficient and secure design of embedded systems. Fundamentals of mobility in embedded systems including wireless technology, location awareness, sensors, and actuators. Design consideration for processors, DSP, memory, and interfaces under mobility constraints (connectivity, power, and data management). Systems software for embedded computing, device management, and real-time I/O. Software design under constraints of size, performance, availability, and reliability. Software development techniques and practices (compliers, OS, and runtime systems). Case studies of mobility driven real-time embedded systems and software. Applications of mobility driven embedded systems, for example in in biomedical implant systems.

EECS 480Z. Mobile Applications Development. 3 Units.

Understanding of the mobile application architecture, operating systems, and platforms. Challenges and opportunities in mobile application development. Evaluation of the leading mobile platform frameworks with respect to their features, functions, libraries, support, and ease of development. Software design for mobile applications in gaming, multimedia, entertainment, and enterprise applications. Development of enhanced user experience in a multi-touch, multi-sensor (accelerometer, gyroscopes, camera, geo-location) environment. Understanding of software development environments and testing tools, and use of wireless connectivity and data in mobile applications. Development of or extension of a modest application based on a major mobile platforms (iOS, Windows Phone 7, or Android).

EECS 484. Computational Intelligence I: Basic Principles. 3 Units.

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 Units.

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 488. Embedded Systems Design. 3 Units.

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 Units.

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 Units.

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: Probabilistic Graphical Models. 3 Units.

This course is a graduate-level introduction to Artificial Intelligence (AI), the discipline of designing intelligent systems, and focuses on probabilistic graphical models. These models can be applied to a wide variety of settings from data analysis to machine learning to robotics. The models allow intelligent systems to represent uncertainties in an environment or problem space in a compact way and reason intelligently in a way that makes optimal use of available information and time. The course covers directed and undirected probabilistic graphical models, latent variable models, associated exact and approximate inference algorithms, and learning in both discrete and continuous problem spaces. Practical applications are covered throughout the course. Prereq: EECS 391 or requisites not met permission.

EECS 493. Software Engineering. 3 Units.

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. Offered as EECS 393, EECS 393N, and EECS 493. Counts as SAGES Senior Capstone.

EECS 494. Introduction to Information Theory. 3 Units.

This course is intended as an introduction to information and coding theory with emphasis on the mathematical aspects. It is suitable for advanced undergraduate and graduate students in mathematics, applied mathematics, statistics, physics, computer science and electrical engineering. Course content: Information measures-entropy, relative entropy, mutual information, and their properties. Typical sets and sequences, asymptotic equipartition property, data compression. Channel coding and capacity: channel coding theorem. Differential entropy, Gaussian channel, Shannon-Nyquist theorem. Information theory inequalities (400 level). Additional topics, which may include compressed sensing and elements of quantum information theory. Recommended preparation: MATH 201 or MATH 307. Offered as MATH 394, EECS 394, MATH 494 and EECS 494.

EECS 495. Nanometer VLSI Design. 3 Units.

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 496. Artificial Intelligence: Sequential Decision Making. 3 Units.

This course will study the formulation and solution of decision making problems by automated agents. Topics covered include one-shot decision making (decision trees and influence diagrams), Markov decision processes (MDPs) , automated classical and probabilistic planning, reinforcement learning (RL), hierarchical planning and RL, partially observable MDPs, Bayesian RL, collaborative multi-agent systems. Recommended preparation: EECS 491 (Probabilistic Graphical Models). Prereq: EECS 391.

EECS 497. Artificial Intelligence: Statistical Natural Language Processing. 3 Units.

This course gives students an overview of the stat of the art in natural language processing. We will discuss computational aspects of language modeling through probabilistic models, computational approaches to syntax (parsing) and semantic representations, discourse and dialog. We will study the applications of these techniques to a variety of problems including information extraction, translation and summarization. At the end of the course a student should be able to (i) understand the various statistical models and algorithms for NLP (ii) modify them as needed or design novel approaches for specific NLP tasks and (iii) understand how to evaluate the performance of these models and compare them to alternatives. Prereq: EECS 440.

EECS 499. Algorithmic Robotics. 3 Units.

This course introduces basic algorithmic techniques in robotic perception and planning. Course is divided into two parts. The first part introduces probabilistic modeling of robotic motion and sensing, Gaussian and nonparametric filters, and algorithms for mobile robot localization. The second part introduces fundamental deterministic and randomized algorithms for motion planning. Prereq: Graduate Standing or Requisites Not Met permission.

EECS 500. EECS Colloquium. 0 Unit.

Seminars on current topics in Electrical Engineering and Computer Science.

EECS 500T. Graduate Teaching II. 0 Unit.

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 Units.

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 526. Integrated Mixed-Signal Systems. 3 Units.

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 Units.

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 Units.

The goal of computer vision is to create visual systems that recognize objects and recover structures in complex 3D scenes. This course emphasizes both the science behind our understanding of the fundamental problems in vision and the engineering that develops mathematical models and inference algorithms to solve these problems. Specific topics include feature detection, matching, and classification; visual representations and dimensionality reduction; motion detection and optical flow; image segmentation; depth perception, multi-view geometry, and 3D reconstruction; shape and surface perception; visual scene analysis and object recognition.

EECS 589. Robotics II. 3 Units.

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 600. Special Topics. 1 - 18 Units.

Offered as EECS 600 and SYBB 600.

EECS 600T. Graduate Teaching III. 0 Unit.

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 Units.


EECS 620. Special Topics. 1 - 18 Units.


EECS 621. Special Projects. 1 - 18 Units.


EECS 649. Project M.S.. 1 - 9 Units.


EECS 651. Thesis M.S.. 1 - 18 Units.


EECS 695. Project M.S.. 1 - 99 Units.

Research course taken by Plan B M.S. students. Prereq: Enrolled in the EECS Plan B MS Program.

EECS 701. Dissertation Ph.D.. 1 - 9 Units.

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