## Curriculum

## Flow Chart

## Curriculum with Precalc

## Flow Chart with Precalc

## Data Science Minor

Software Engineering students can obtain the Data Science Minor by doing the following:

- Take
**CSC 2611, AI Tools**which fulfills the Program Lower-Level Technical elective required by the program. - Take
**CSC 2621, Introduction to Data Science**which fulfills the Free elective required by the program. - Take
**CSC 4801, Data Science Practicum**which fulfills the Program Upper-Level Technical elective required by the program. - CSC 1310, Introduction to Programming with Python is met by CSC 1120, Data Structures and Graphical Interfaces which is required by the program.
- MTH 2480, Probability and Statistics is required by the program.

## Math Minor

Software Engineering students can obtain the Math Minor by doing the following:

- Take
**MTH 2130, Calculus III**which fulfills one of the required Math/Science electives. - Take
**MTH 2140, Differential Equations**which fulfills the other Math/Science elective required by the program. - Take
**one 3000 or 4000 level course from the approved elective list**which fulfills the Free elective required by the program. - MTH 2340, Linear Algebra with Applications is required by the program.
- MTH 2310, Discrete Mathematics is required by the program.

## User Experience Minor

Software Engineering students can obtain the UX Minor by doing the following:

- Take
**UXD 3030, Data Visualization**which fulfills the Program Upper-Level Technical elective required by the program. - Take
**one additional course from the approved elective list**which fulfills the Free elective required by the program. - Take
**PHL 3102, Ethics of AI**which fulfills one of the Raider Core Demonstrate Ethical Understanding elective required by the program. - Take
**one of the other approved HSC Department electives that meets either the Raider Core Exhibit Curiosity or Raider Core Embrace Diversity elective**and is required by the program. - COM 2001, Writing for the STEM Disciplines is required by the program
- UXD 1001, Human-Centered Design is required by the program

## Computer Engineering Minor

Software Engineering students can obtain the Computer Engineering Minor by doing the following:

- Take
**CPE 1500, Digital Logic**which fulfills the Free elective required by the program. - Take
**CPE 2610, Embedded Systems**which fulfills the Program Lower-Level Technical elective required by the program. - Take
**one 3000 or 4000 level course from the approved elective list**which fulfills the Program Upper-Level Techincal elective required by the program. - Take
which would be above and beyond the requirements for the program.*one additional course from the approved elective list* - CSC 2210, Procedural and Object-Oriented C++ which is required by the program. This course satisfies the minor requirement of CPE 2600, Systems Programming.

## Semester Electives

All undergraduate students at MSOE must complete general education requirements. That page lists courses that meet the requirements of each type of Course Learning Outcome mandated by the general education requirements.

Here is a list of the courses that qualify for the different electives that are part of the Software Engineering program.

## Early Entry into the Machine Learning Master's Program

Early entry into the Machine Learning Master's Program makes it possible for software engineering students to complete the master's program by completing coursework in the summer and fall after graduation.