# Computer Science

*The College of Arts and Sciences awards the Bachelor of Arts degree in computer science. The required courses for the majors and minor are offered by the Department of Electrical Engineering and Computer Science in the Case School of Engineering.*

Undergraduate Programs

The EECS department offers programs leading to degrees in:

- Data Science and Analytics (Bachelor of Science)
- Electrical Engineering (Bachelor of Science in Engineering)
- Systems and Control Engineering (Bachelor of Science in Engineering)
- Computer Engineering (Bachelor of Science in Engineering)
- 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 111 | Principles of Chemistry for Engineers | 4 |

DSCI 133 | Introduction to Data Science and Engineering for Majors | 3 |

DSCI 234 | Structured and Unstructured Data | 3 |

DSCI 341 | Introduction to Databases: DS Major | 3 |

DSCI 342 | Introduction to Data Science Systems | 3 |

DSCI 343 | Introduction to Data Analysis | 3 |

DSCI 344 | Scalable Parallel Data Analysis | 3 |

DSCI 345 | Files, Indexes and Access Structures for Big Data | 3 |

EECS 132 | Introduction to Programming in Java | 3 |

EECS 302 | Discrete Mathematics | 3 |

EECS 340 | Algorithms | 3 |

EECS 393 | Software Engineering | 3 |

ENGL 398 | Professional Communication for Engineers | 2 |

ENGR 398 | Professional Communication for Engineers | 1 |

MATH 201 | Introduction to Linear Algebra for Applications | 3 |

MATH 121 | Calculus for Science and Engineering I | 4 |

MATH 122 | Calculus for Science and Engineering II | 4 |

MATH 223 | Calculus for Science and Engineering III | 3 |

MATH 224 | Elementary Differential Equations | 3 |

PHYS 121 | General Physics I - Mechanics | 4 |

PHYS 122 | General Physics II - Electricity and Magnetism | 4 |

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 246 | Signals and Systems | 4 |

EECS 313 | Signal Processing | 3 |

STAT 332 | Statistics for Signal Processing | 3 |

**Area II: Systems**

EECS 325 | Computer Networks I | 3 |

or EECS 425 | Computer Networks I | |

EECS 338 | Intro to Operating Systems and Concurrent Programming | 4 |

EECS 600 | Special Topics (Cloud Computing) | 1 - 18 |

**Area III: Analytics**

DSCI 390 | Machine Learning for Big Data | 3 |

DSCI 391 | Data Mining for Big Data | 3 |

EECS 339 | Web Data Mining | 3 |

EECS 346 | Engineering Optimization | 3 |

EECS 440 | Machine Learning | 3 |

EECS 442 | Causal Learning from Data | 3 |

### Computer and Data Security Elective Requirement

EECS 444 | Computer Security | 3 |

MATH 408 | Introduction to Cryptology | 3 |

### Statistics Requirement

MATH 380 | Introduction to Probability | 3 |

STAT 325 | Data Analysis and Linear Models | 3 |

### 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 advisors and their individual graduation requirement plans as tracked in SIS.

First Year | Units | |
---|---|---|

Fall | Spring | |

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

Fall | Spring | |

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 Elective^{a} | 3 | |

Year Total: | 16 | 15 |

Third Year | Units | |

Fall | Spring | |

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 Elective^{b} | 3 | |

Files, Indexes and Access Structures for Big Data (DSCI 345) | 3 | |

Technical Elective^{d} | 3 | |

Year Total: | 15 | 15 |

Fourth Year | Units | |

Fall | Spring | |

Technical Elective^{d} | 3 | |

Technical Elective^{c} | 3 | |

DSCI 398 Senior Project I | 4 | |

Technical elective^{c} | 3 | |

Breadth elective^{**} | 3 | |

Breadth elective^{**} | 3 | |

DSCI Technical elective^{c} | 3 | |

DSCI 399 Senior Project II | 4 | |

Technical elective^{d} | 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

- Graduates will be successful professionals obtaining positions appropriate to their background, interests, and education.
- Graduates will use continuous learning opportunities to improve and enhance their professional skills.
- 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 245 | Electronic Circuits | 4 |

EECS 246 | Signals and Systems | 4 |

EECS 281 | Logic Design and Computer Organization | 4 |

EECS 309 | Electromagnetic Fields I | 3 |

EECS 313 | Signal Processing | 3 |

EECS 321 | Semiconductor Electronic Devices | 4 |

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 304 | Control Engineering I with Laboratory | 3 |

EECS 313 | Signal Processing | 3 |

EECS 351 | Communications and Signal Analysis | 3 |

EECS 354 | Digital Communications | 3 |

EECS 374 | Advanced Control and Energy Systems | 3 |

EECS 375 | Applied Control | 3 |

EECS 490 | Digital Image Processing | 3 |

MATH 307 | Linear Algebra | 3 |

**Area II: Computer Software**

EECS 233 | Introduction to Data Structures | 4 |

EECS 293 | Software Craftsmanship | 4 |

EECS 302 | Discrete Mathematics | 3 |

EECS 338 | Intro to Operating Systems and Concurrent Programming | 4 |

EECS 340 | Algorithms | 3 |

EECS 373 | Modern Robot Programming | 3 |

EECS 391 | Introduction to Artificial Intelligence | 3 |

EECS 393 | Software Engineering | 3 |

EECS 473 | Modern Robot Programming | 3 |

**Area III: Solid State**

PHYS 221 | Introduction to Modern Physics | 3 |

EECS 321 | Semiconductor Electronic Devices | 4 |

EECS 322/415 | Integrated Circuits and Electronic Devices | 3 |

EECS 422 | Solid State Electronics II | 3 |

**Area IV: Circuits**

EECS 245 | Electronic Circuits | 4 |

EBME 310 | Principles of Biomedical Instrumentation | 3 |

EECS 326 | Instrumentation Electronics | 3 |

EECS 344 | Electronic Analysis and Design | 3 |

EECS 371 | Applied Circuit Design | 4 |

EECS 426 | MOS Integrated Circuit Design | 3 |

**Area V: Computer Hardware**

EECS 281 | Logic Design and Computer Organization | 4 |

EECS 301 | Digital Logic Laboratory | 2 |

EECS 314 | Computer Architecture | 3 |

EECS 315 | Digital Systems Design | 4 |

EECS 317 | Computer Design - FPGAs | 3 |

EECS 318 | VLSI/CAD | 4 |

**Area VI: Biomedical Applications**

EBME 201 | Physiology-Biophysics I (and 2 of the following 4 courses) | 3 |

EBME 310 | Principles of Biomedical Instrumentation | 3 |

EBME 320 | Biomedical Imaging | 3 |

EBME 327 | Bioelectric Engineering | 3 |

EBME 401D | Biomedical Instrumentation and Signal Processing | 3 |

**Area VII: Robotics**

EECS 246 | Signals and Systems | 4 |

EECS 275 | Fundamentals of Robotics | 4 |

EECS 304 | Control Engineering I with Laboratory | 3 |

EECS 373 | Modern Robot Programming | 3 |

or EECS 473 | Modern Robot Programming | |

EECS 376 | Mobile Robotics | 4 |

or EECS 476 | Mobile Robotics | |

EECS 484 | Computational Intelligence I: Basic Principles | 3 |

EECS 489 | Robotics I | 3 |

### Statistics Requirement

STAT 332 | Statistics for Signal Processing ^{*} | 3 |

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

### Design Requirement

EECS 398 | Engineering Projects I | 4 |

EECS 399 | Engineering Projects II | 3 |

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

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 advisors and their individual graduation requirement plans as tracked in SIS.

First Year | Units | |
---|---|---|

Fall | Spring | |

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

Fall | Spring | |

General Physics II - Electricity and Magnetism (PHYS 122)^{**,b} | 4 | |

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

Fall | Spring | |

Breadth elective^{**} | 3 | |

Statics and Strength of Materials (ENGR 200)^{**} | 3 | |

Signals and Systems (EECS 246) | 4 | |

Statistics for Signal Processing (STAT 332)^{c} | 3 | |

Approved technical elective^{d} | 3 | |

Breadth elective^{**} | 3 | |

Semiconductor Electronic Devices (EECS 321) | 4 | |

Signal Processing (EECS 313) | 3 | |

Approved technical elective^{d} | 3 | |

Professional Communication for Engineers (ENGL 398)^{**} | 2 | |

Professional Communication for Engineers (ENGR 398)^{**} | 1 | |

Year Total: | 16 | 16 |

Fourth Year | Units | |

Fall | Spring | |

Breadth elective^{**} | 3 | |

Engineering Projects I (EECS 398)^{f} | 4 | |

Approved technical elective^{d} | 3 | |

Approved technical elective^{d} | 3 | |

Open elective | 3 | |

Breadth elective^{**} | 3 | |

Engineering Projects II (EECS 399) | 3 | |

Approved technical elective^{d} | 3 | |

Approved technical elective^{d} | 3 | |

Open elective | 3 | |

Year Total: | 16 | 15 |

Total Units in Sequence: | 128 |

**Hours Required for Graduation: 128 ^{g}**

* | 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 | BS/MS 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 BS 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 216 | Fundamental System Concepts (SC) | 3 |

EECS 304 | Control Engineering I with Laboratory (EE, Area I: Signals & Control) and (SC) | 3 |

EECS 305 | Control Engineering I Laboratory (This is the additional 1 credit-hour course needed (SC)) | 1 |

EECS 324 | Modeling and Simulation of Continuous Dynamical Systems (SC) | 3 |

EECS 342 | Introduction to Global Issues (SC) | 3 |

EECS 346 | Engineering Optimization (SC) | 3 |

EECS 352 | Engineering Economics and Decision Analysis (SC) | 3 |

MATH 201 | Introduction to Linear Algebra for Applications (SC) | 3 |

OPRE 432 | Computer Simulation (SC) | 3 |

And one of the following two courses:

EECS 374 | Advanced Control and Energy Systems (EE, Area I: Signals & Control) and (SC) | 3 |

EECS 375 | Applied Control (EE, Area I: Signals & Control) and (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. 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 245 | Electronic Circuits | 4 |

EECS 246 | Signals and Systems | 4 |

EECS 281 | Logic Design and Computer Organization | 4 |

EECS 309 | Electromagnetic Fields I | 3 |

Approved technical elective | 3 | |

Total Units | 18 |

### 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 125 | Math and Calculus Applications for Life, Managerial, and Social Sci I | 4 |

MATH 126 | Math and Calculus Applications for Life, Managerial, and Social Sci II | 4 |

PHYS 115 | Introductory Physics I | 4 |

PHYS 116 | Introductory Physics II | 4 |

ENGR 131 | Elementary Computer Programming | 3 |

ENGR 210 | Introduction to Circuits and Instrumentation | 4 |

EECS 246 | Signals and Systems | 4 |

EECS 281 | Logic Design and Computer Organization | 4 |

Total Units | 31 |

## 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

- Graduates apply systems methodology to multi-disciplinary projects that include technical, social, environmental, and/or economic factors.
- Graduates use systems understanding, thinking and problem-solving skills to analyze and design systems or processes that respond to technical and societal needs.
- 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 216 | Fundamental System Concepts | 3 |

EECS 246 | Signals and Systems | 4 |

EECS 304 | Control Engineering I with Laboratory | 3 |

EECS 305 | Control Engineering I Laboratory | 1 |

EECS 313 | Signal Processing | 3 |

EECS 324 | Modeling and Simulation of Continuous Dynamical Systems | 3 |

EECS 342 | Introduction to Global Issues | 3 |

EECS 346 | Engineering Optimization | 3 |

EECS 352 | Engineering Economics and Decision Analysis | 3 |

OPRE 432 | Computer Simulation | 3 |

EECS 399 | Engineering Projects II | 3 |

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

#### Breadth Requirement

MATH 201 | Introduction to Linear Algebra for Applications | 3 |

STAT 332 | Statistics for Signal Processing | 3 |

#### Statistics Requirement

STAT 332 | Statistics for Signal Processing ^{*} | 3 |

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

#### Design Requirement

EECS 398 | Engineering Projects I | 4 |

#### 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 368 | Power System Analysis I | 3 |

EECS 369 | Power System Analysis II | 3 |

EECS 370 | Smart Grid | 3 |

EECS 374 | Advanced Control and Energy Systems | 3 |

EECS 375 | Applied Control | 3 |

EECS 281 | Logic Design and Computer Organization | 4 |

**Track 2: Control Systems**

EECS 375 | Applied Control | 3 |

EECS 374 | Advanced Control and Energy Systems | 3 |

EECS 281 | Logic Design and Computer Organization | 4 |

Technical Elective from the Energy Systems or Data Analytics tracks | 3 |

**Track 3: Data Analytics**

- DSCI 343 Introduction to Data Analysis

**"Core Tools" list:**

EECS 339 | Web Data Mining | 3 |

STAT 325 | Data Analysis and Linear Models | 3 |

STAT 326 | Multivariate Analysis and Data Mining | 3 |

EECS 435 | Data Mining | 3 |

EECS 452 | Random Signals | 3 |

EECS 490 | Digital Image Processing | 3 |

OPRE 433 | Foundations of Probability and Statistics | 3 |

**"Application" lists:**

**Business/Manufacturing Analytics:**

EECS 350 | Operations and Systems Design | 3 |

EECS 360 | Manufacturing and Automated Systems | 3 |

BAFI 361 | Empirical Analysis in Finance | 3 |

MKMR 310 | Marketing Analytics | 3 |

OPMT 475 | Supply Chain Logistics | 3 |

OPMT 477 | Enterprise Resource Planning in the Supply Chain | 3 |

EECS 490 | Digital Image Processing | 3 |

**Healthcare Analytics**

EECS 319 | Applied Probability and Stochastic Processes for Biology | 3 |

EECS 365 | Complex Systems Biology | 3 |

MATH 378 | Computational Neuroscience | 3 |

EBME 410 | Medical Imaging Fundamentals | 3 |

BIOL 304 | Fitting Models to Data: Maximum Likelihood Methods and Model Selection | 3 |

SYBB 421 | Fundamentals of Clinical Information Systems | 3 |

SYBB 422 | Clinical Informatics at the Bedside and the Bench (Part II) | 3 |

** Energy Systems Analytics**

EECS 370 | Smart Grid | 3 |

### Suggested Program of Study: Major in Systems and Control Engineering

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

First Year | Units | |
---|---|---|

Fall | Spring | |

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)^{**,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 Year | Units | |

Fall | Spring | |

General Physics II - Electricity and Magnetism (PHYS 122)^{**,a} | 4 | |

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

Fall | Spring | |

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 elective^{c} | 3 | |

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

Fall | Spring | |

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)^{b} | 4 | |

Approved technical elective^{c} | 3 | |

Breadth elective^{**} | 3 | |

Engineering Projects II (EECS 399)^{b} | 3 | |

Approved technical elective^{c} | 3 | |

Approved technical elective^{c} | 3 | |

Approved technical elective^{c} | 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 |
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 |

### Double 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 four courses as Technical Electives in the S&CE program:

EECS 281 | Logic Design and Computer Organization | 4 |

EECS 245 | Electronic Circuits | 4 |

EECS 309 | Electromagnetic Fields I | 3 |

EECS 321 | Semiconductor Electronic Devices | 4 |

And one of the following two courses:

EECS 374 | Advanced Control and Energy Systems | 3 |

EECS 375 | Applied Control | 3 |

### 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 Laboratory; EECS 324 Modeling and Simulation of Continuous Dynamical Systems; EECS 346 Engineering Optimization; EECS 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

- Graduates will be successful professionals obtaining positions appropriate to their background, interests, and education.
- Graduates will engage in life-long learning to improve and enhance their professional skills.
- 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

#### Major Requirements

EECS 132 | Introduction to Programming in Java | 3 |

ENGR 210 | Introduction to Circuits and Instrumentation | 4 |

EECS 233 | Introduction to Data Structures | 4 |

EECS 281 | Logic Design and Computer Organization | 4 |

EECS 301 | Digital Logic Laboratory | 2 |

EECS 302 | Discrete Mathematics | 3 |

EECS 314 | Computer Architecture | 3 |

EECS 315 | Digital Systems Design | 4 |

One of the following: | 4 | |

VLSI/CAD | ||

Intro to Operating Systems and Concurrent Programming |

#### Statistics Requirement

One Statistics elective may be chosen from: | ||

STAT 312 | Basic Statistics for Engineering and Science | 3 |

STAT 313 | Statistics for Experimenters | 3 |

STAT 332 | Statistics for Signal Processing | 3 |

STAT 333 | Uncertainty in Engineering and Science | 3 |

#### Design Requirement

EECS 398 | Engineering Projects I | 4 |

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

First Year | Units | |
---|---|---|

Fall | Spring | |

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 elective | 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 | |

Chemistry of Materials (ENGR 145)^{**} | 4 | |

PHED (2 half semester courses)^{*} | 0 | |

Year Total: | 18 | 15 |

Second Year | Units | |

Fall | Spring | |

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 elective^{a} | 3 | |

Year Total: | 18 | 16 |

Third Year | Units | |

Fall | Spring | |

Breadth elective^{**} | 3 | |

Discrete Mathematics (EECS 302) | 3 | |

Thermodynamics, Fluid Dynamics, Heat and Mass Transfer (ENGR 225)^{**} | 4 | |

Technical elective^{a} | 7 | |

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

Fall | Spring | |

Breadth elective^{**} | 3 | |

Statistics elective^{c} | 3 | |

Technical elective^{a} | 3 | |

Technical elective (or EECS 318 VLSI/CAD) ^{b} | 3 | |

Open elective | 3 | |

Breadth elective^{**} | 3 | |

Engineering Projects I (EECS 398)^{d} | 4 | |

Technical elective^{a} | 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 281 | Logic Design and Computer Organization | 4 |

EECS 233 | Introduction to Data Structures | 4 |

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 314 | Computer Architecture | 3 |

EECS 315 | Digital Systems Design | 4 |

The corresponding two-course software sequence is:

EECS 338 | Intro to Operating Systems and Concurrent Programming | 4 |

EECS 3XX Approved by advisor | 4 |

## Bachelor of Science and Bachelor of Arts in 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

- To educate and train students in the fundamentals of computer science and mathematics
- To educate students with an understanding of real-world computing needs
- 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 19 computer science and computer science related courses, totaling at least 60 credits. The 19 courses must include: all 6 core courses; at least 5 computer science breadth courses; and at least 4 courses in one of the listed computer science depth areas, including all starred courses in that area. The remaining courses needed to fulfill the 19 course requirement may come from the computer science breadth courses, courses of any computer science depth area, and up to 5 of the 19 courses may come from the list of approved technical electives with at most two group 2 courses. Other computer science related courses not listed here may be used with prior permission from the student’s academic advisor. Some courses appear in more than one list. The same course may be used to satisfy multiple of the core, computer science breadth and depth requirements, but courses may not be double counted for the purpose of achieving 19 separate computer science courses and 60 credits

**BA Degree**. Students are required to complete a total of 13 computer science and computer science related courses, totaling at least 42 credits. The 13 courses must include all 6 core courses and at least 3 computer science breadth courses. The remaining 4 courses may come from the computer science breadth courses, any course listed as a computer science depth course for the BS, or the list of approved technical electives such that at most 2 courses may be from group 2. 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:

B.S. | ||

CHEM 111 | Principles of Chemistry for Engineers | 4 |

ENGR 145 | Chemistry of Materials | 4 |

MATH 121 | Calculus for Science and Engineering I | 4 |

MATH 122 | Calculus for Science and Engineering II | 4 |

MATH 223 | Calculus for Science and Engineering III | 3 |

MATH 201 | Introduction to Linear Algebra for Applications | 3 |

or MATH 307 | Linear Algebra | |

PHYS 121 | General Physics I - Mechanics | 4 |

PHYS 122 | General Physics II - Electricity and Magnetism | 4 |

ENGR 398 | Professional Communication for Engineers | 1 |

ENGL 398 | Professional Communication for Engineers | 2 |

--- | ||

B.A. | ||

MATH 125 | Math and Calculus Applications for Life, Managerial, and Social Sci I | 4 |

MATH 126 | Math and Calculus Applications for Life, Managerial, and Social Sci II | 4 |

**Computer Science Core Requirement**

Both BS and BA students are required to complete the following 6 courses.

EECS 132 | Introduction to Programming in Java | 3 |

EECS 233 | Introduction to Data Structures | 4 |

EECS 281 | Logic Design and Computer Organization | 4 |

EECS 302 | Discrete Mathematics | 3 |

EECS 340 | Algorithms | 3 |

EECS 395 | Senior Project in Computer Science | 4 |

**Computer Science Breadth Requirement**

BS students are required to complete at least 5 of the 7 following computer science breadth courses. BA students are required to complete at least 3 of 7.

EECS 314 | Computer Architecture | 3 |

EECS 325 | Computer Networks I | 3 |

EECS 338 | Intro to Operating Systems and Concurrent Programming | 4 |

EECS 341 | Introduction to Database Systems | 3 |

EECS 345 | Programming Language Concepts | 3 |

EECS 391 | Introduction to Artificial Intelligence | 3 |

EECS 393 | Software Engineering | 3 |

**Statistics Requirement**

BS students are required to complete a statistics elective.

One Statistics elective may be chosen from:

MATH 380 | Introduction to Probability | 3 |

STAT 312 | Basic Statistics for Engineering and Science | 3 |

STAT 313 | Statistics for Experimenters | 3 |

STAT 332 | Statistics for Signal Processing | 3 |

STAT 333 | Uncertainty in Engineering and Science | 3 |

**Computer Science 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 at least four courses in one of the depth areas, including all starred courses. Recommended general background courses are listed following each area where applicable.

**Area 1: Software Engineering**

EECS 293 | Software Craftsmanship | 4 |

EECS 337 | Compiler Design | 4 |

EECS 345 | Programming Language Concepts ^{*} | 3 |

EECS 392 | App Development for iOS | 3 |

EECS 393 | Software Engineering ^{*} | 3 |

EECS 402 | Internet Security and Privacy | 3 |

EECS 441 | Internet Applications | 3 |

EECS 444 | Computer Security | 3 |

**Area 2: Algorithms and Theory**

EECS 340 | Algorithms ^{*} | 3 |

EECS 343 | Theoretical Computer Science ^{*} | 3 |

EECS 440 | Machine Learning | 3 |

EECS 454 | Analysis of Algorithms | 3 |

EECS 477 | Advanced Algorithms | 3 |

MATH 408 | Introduction to Cryptology | 3 |

Recommended preparation: MATH 380 Introduction to Probability

**Area 3: Computer Systems, Networks and Security**

EECS 325 | Computer Networks I ^{*} | 3 |

EECS 337 | Compiler Design | 4 |

EECS 338 | Intro to Operating Systems and Concurrent Programming ^{*} | 4 |

EECS 402 | Internet Security and Privacy | 3 |

MATH 408 | Introduction to Cryptology | 3 |

EECS 441 | Internet Applications | 3 |

EECS 444 | Computer Security | 3 |

**Area 4: Databases and Data Mining**

EECS 339 | Web Data Mining | 3 |

EECS 341 | Introduction to Database Systems ^{*} | 3 |

EECS 405 | Data Structures and File Management | 3 |

EECS 433 | Database Systems | 3 |

EECS 435 | Data Mining | 3 |

EECS 440 | Machine Learning | 3 |

**Area 5: Bioinformatics**

EECS 340 | Algorithms ^{*} | 3 |

EECS 341 | Introduction to Database Systems | 3 |

EECS 435 | Data Mining | 3 |

EECS 440 | Machine Learning | 3 |

EECS 454 | Analysis of Algorithms | 3 |

EECS 458 | Introduction to Bioinformatics ^{*} | 3 |

EECS 459 | Bioinformatics 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 Bioinformatics, BIOL 214 Genes, Evolution and Ecology.

**Area 6: Artificial Intelligence**

EECS 391 | Introduction to Artificial Intelligence ^{*} | 3 |

EECS 440 | Machine Learning | 3 |

EECS 442 | Causal Learning from Data | 3 |

EECS 484 | Computational Intelligence I: Basic Principles | 3 |

EECS 491 | Artificial Intelligence: Probabilistic Graphical Models | 3 |

EECS 496 | Artificial Intelligence: Sequential Decision Making | 3 |

EECS 497 | Artificial Intelligence: Statistical Natural Language Processing | 3 |

EECS 499 | Algorithmic Robotics | 3 |

EECS 531 | Computer Vision | 3 |

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

#### List of Approved Technical Electives

This list of approved technical electives is 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. For BS students, up to 5 of the 19 computer science and computer science related courses may come from this list with up to two courses from group 2. For BA students, up to 4 of the 13 computer science and computer science related courses may come from this list with up to two courses from group 2. Computer science related courses not listed below may be used as a technical elective but require prior permission from the student’s academic advisor.

**Group 1**

EECS 275 | Fundamentals of Robotics | 4 |

EECS 290 | Introduction to Computer Game Design and Implementation | 3 |

EECS 301 | Digital Logic Laboratory | 2 |

EECS 315 | Digital Systems Design | 4 |

EECS 317 | Computer Design - FPGAs | 3 |

EECS 318 | VLSI/CAD | 4 |

EECS 366 | Computer Graphics | 3 |

EECS 373 | Modern Robot Programming | 3 |

EECS 376 | Mobile Robotics | 4 |

EECS 390 | Advanced Game Development Project | 3 |

EECS 419 | Computer System Architecture | 3 |

EECS 485 | VLSI Systems | 3 |

EECS 488 | Embedded Systems Design | 3 |

EECS 490 | Digital Image Processing | 3 |

**Group 2**

EECS 245 | Electronic Circuits | 4 |

EECS 246 | Signals and Systems | 4 |

EECS 304 | Control Engineering I with Laboratory | 3 |

EECS 305 | Control Engineering I Laboratory | 1 |

EECS 309 | Electromagnetic Fields I | 3 |

EECS 313 | Signal Processing | 3 |

EECS 319 | Applied Probability and Stochastic Processes for Biology | 3 |

EECS 324 | Modeling and Simulation of Continuous Dynamical Systems | 3 |

EECS 354 | Digital Communications | 3 |

EECS 375 | Applied Control | 3 |

EECS 408 | Introduction to Linear Systems | 3 |

EECS 413 | Nonlinear Systems I | 3 |

EECS 489 | Robotics I | 3 |

ENGR 210 | Introduction to Circuits and Instrumentation | 4 |

MATH 224 | Elementary Differential Equations | 3 |

MATH 228 | Differential Equations | 3 |

MATH 303 | Elementary Number Theory | 3 |

MATH 308 | Introduction to Abstract Algebra | 3 |

MATH 330 | Introduction of Scientific Computing | 3 |

MATH 406 | Mathematical Logic and Model Theory | 3 |

MATH 413 | Graph Theory | 3 |

MATH 431 | Introduction to Numerical Analysis I | 3 |

PHIL 201 | Introduction to Logic | 3 |

PHIL 306 | Mathematical Logic and Model Theory | 3 |

PHYS 221 | Introduction to Modern Physics | 3 |

PHYS 250 | Computational Methods in Physics | 3 |

STAT 345 | Theoretical Statistics I | 3 |

STAT 346 | Theoretical Statistics II | 3 |

### Bachelor of Science

### Suggested Program of Study: Major in Computer Science

First Year | Units | |
---|---|---|

Fall | Spring | |

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 elective | 3 | |

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

Fall | Spring | |

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 elective^{a} | 3 | |

Computer science breadth course^{b} | 3 | |

Breadth elective^{**} | 3 | |

Year Total: | 17 | 16 |

Third Year | Units | |

Fall | Spring | |

Algorithms (EECS 340) | 3 | |

Computer science breadth course^{b} | 3 | |

Computer science breadth course^{b} | 3 | |

Technical elective^{d} | 3 | |

Breadth elective^{**} | 3 | |

Professional Communication for Engineers (ENGL 398) | 2 | |

Professional Communication for Engineers (ENGR 398) | 1 | |

Computer science breadth course^{b} | 3 | |

Computer science breadth course^{b} | 3 | |

Computer science depth course^{c} | 3 | |

Breadth elective^{**} | 3 | |

Year Total: | 15 | 15 |

Fourth Year | Units | |

Fall | Spring | |

Breadth elective^{**} | 3 | |

Computer science depth course^{c} | 3 | |

Technical elective^{d} | 3 | |

Technical elective^{d} | 3 | |

Open elective | 3 | |

Senior Project in Computer Science (EECS 395) | 4 | |

Computer science depth course^{c} | 3 | |

Technical elective^{d} | 3 | |

Technical elective^{d} | 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 | 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. |

c | Each student must complete 4 courses in one of the computer science depth areas listed above, including all starred courses. |

d | Chosen from additional computer science breadth courses, depth courses, or the list of approved technical electives. Any other course used as a technical elective must be approved by the student’s advisor. |

### Bachelor of Arts

### Suggested Program of Study: Major in Computer Science

First Year | Units | |
---|---|---|

Fall | Spring | |

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 elective | 3 | |

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

Fall | Spring | |

SAGES University Seminar^{*} | 3 | |

Logic Design and Computer Organization (EECS 281) | 4 | |

Breadth elective^{**} | 3 | |

Open elective | 3 | |

Open elective | 3 | |

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

Fall | Spring | |

SAGES University Seminar | 3 | |

Computer science breadth course^{a} | 3 | |

Computer science breadth course^{a} | 3 | |

Open elective | 3 | |

Computer science breadth course^{a} | 3 | |

Technical elective^{b} | 3 | |

Technical elective^{b} | 3 | |

Open elective | 3 | |

Year Total: | 12 | 12 |

Fourth Year | Units | |

Fall | Spring | |

Algorithms (EECS 340) | 3 | |

Technical elective^{b} | 3 | |

Open elective | 3 | |

Open elective | 3 | |

Open elective | 3 | |

Senior Project in Computer Science (EECS 395) | 4 | |

Technical elective^{b} | 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 | 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. |

b | Chosen from additional computer science breadth courses, computer science depth courses, or the list of approved technical electives. Any other course used as a technical elective must be approved by the student’s advisor. |

### Cooperative Education Program in Computer Science

### 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 132 | Introduction to Programming in Java | 3 |

EECS 233 | Introduction to Data Structures | 4 |

EECS 302 | Discrete Mathematics | 3 |

EECS 340 | Algorithms | 3 |

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 132 | Introduction to Programming in Java | 3 |

EECS 233 | Introduction to Data Structures | 4 |

MATH 125 | Math and Calculus Applications for Life, Managerial, and Social Sci I | 4 |

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 373 | Introduction to Neurobiology | 3 |

BIOL 374 | Neurobiology of Behavior | 3 |

EECS 477 | Advanced Algorithms | 3 |

EECS/BIOL 478 | Computational Neuroscience | 3 |

EECS 350 | Operations and Systems Design | 3 |

EECS 352 | Engineering Economics and Decision Analysis | 3 |

EECS 360 | Manufacturing and Automated Systems | 3 |

EECS 375 | Applied Control | 3 |

EECS 411 | Applied Engineering Statistics | 3 |

EECS 475 | Applied Control | 3 |

EECS 484 | Computational Intelligence I: Basic Principles | 3 |

EECS 489 | Robotics I | 3 |

EECS 491 | Artificial Intelligence: Probabilistic Graphical Models | 3 |

EECS 531 | Computer Vision | 3 |

EECS 589 | Robotics II | 3 |

PHIL 201 | Introduction to Logic | 3 |

PHIL 306 | Mathematical Logic and Model Theory | 3 |

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

BIOL 373 | Introduction to Neurobiology | 3 |

BIOL 374 | Neurobiology of Behavior | 3 |

ENGL 301 | Linguistic Analysis | 3 |

PHIL 201 | Introduction to Logic | 3 |

PHIL 306 | Mathematical Logic and Model Theory | 3 |

PSCL 101 | General Psychology I | 3 |

PSCL 352 | Physiological Psychology | 3 |

PSCL 353 | Psychology of Learning | 3 |

PSCL 355 | Sensation and Perception | 3 |

PSCL 357 | Cognitive Psychology | 3 |

PSCL 370 | Human Intelligence | 3 |

PSCL 402 | Cognition and Information Processing | 3 |

### Minor in Computer Gaming (CGM)

The minor is 16 hours as follows:

EECS 233 | Introduction to Data Structures | 4 |

EECS 290 | Introduction to Computer Game Design and Implementation | 3 |

EECS 366 | Computer Graphics | 3 |

EECS 390 | Advanced Game Development Project | 3 |

EECS 391 | Introduction to Artificial Intelligence | 3 |

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.