Visit the Computer Science Department page for more information on the program and access to advising.
Program Description
The Software Engineering, B.S. equips students with the skills to design, develop,
test and manage complex software systems. Software engineers play a critical
role in creating reliable and efficient applications, collaborating with users to understand their needs, and leading development teams. The program emphasizes modern software development methodologies to prepare students for real-world project management and innovation. Graduates will be well-prepared for careers in software development, software quality assurance, and systems architecture across various industries.
Matriculation Requirements
- Completion of CS 1400 Fundamentals of Programming, CS 1410 Object Oriented Programming, CS 2300 Discrete Mathematical Structures I, CS 2420 Introduction to Algorithms and Data Structures, and CS 2450 Software Engineering with a grade of C+ better.
- Completion of MATH 1210 Calculus I and (ENGL 1010 Introduction to Academic Writing or ENGL 1005 Foundations of Academic Writing) with a grade of C or better.
- Each of CS 1400, CS 1410, CS 2300, CS 2420, MATH 1210, and (ENGL 1010 or ENGL 1005) cannot be taken more than twice to obtain the required grade.
- Overall GPA of 2.5 or higher.
Graduation Plan
This graduation plan is a sample plan and is intended to be a guide. Your specific plan may differ based on your Math and English placement and/or transfer credits applied. You are encouraged to meet with an advisor and set up an individualized graduation plan in Wolverine Track.
Plan of Study Grid | First Year |
| Semester 1 |
| CS 1400 | Fundamentals of Programming | 3 |
| MATH 1210 | Calculus I | 4 |
ENGL 1010
| Introduction to Academic Writing
or Foundations of Academic Writing | 3 |
| 3 |
| 3 |
| | Credit Hours | 16 |
| Semester 2 |
| CS 1410 | Object Oriented Programming | 3 |
| CS 2810 | Computer Organization and Architecture | 3 |
| ENGL 2010 | Intermediate Academic Writing | 3 |
| 3 |
| 3 |
| | Credit Hours | 15 |
| Second Year |
| Semester 3 |
| CS 2420 | Introduction to Algorithms and Data Structures | 3 |
| CS 2300 | Discrete Mathematical Structures I | 3 |
| CS 2370 | C Plus Plus Programming | 3 |
| 4 |
| 1 |
| | Credit Hours | 14 |
| Semester 4 |
| CS 2450 | Software Engineering | 3 |
| CS 2600 | Computer Networks I | 3 |
| CS 2900 | Data Privacy and Security | 3 |
| 3 |
| Java Software Development | |
| CsharpNET Software Development | |
| Python Software Development | |
| C Plus Plus Software Development | |
| JavaScript Software Development | |
| Advanced Programming Language Other | |
| 3 |
| | Credit Hours | 15 |
| Third Year |
| Semester 5 |
| CS 3410 | Human Factors in Software Development | 3 |
ECE 3710
| Applied Probability and Statistics for Engineers and Scientists
or Introduction to Statistical Methods | 3 |
| CS 3520 | Database Theory | 3 |
| 3 |
| 3 |
| | Credit Hours | 15 |
| Semester 6 |
| CS 3060 | Operating Systems Theory | 3 |
| CS 3240 | Discrete Mathematical Structures II | 3 |
| CS 3450 | Principles and Patterns of Software Design | 3 |
| 3 |
| 3 |
| | Credit Hours | 15 |
| Fourth Year |
| Semester 7 |
| CS 4450 | Analysis of Programming Languages | 3 |
| CS 4400 | Software Engineering II | 3 |
| CS 4230 | Software Testing and Quality Engineering | 3 |
| MATH 2270 | Linear Algebra | 3 |
| 3 |
| | Credit Hours | 15 |
| Semester 8 |
| CS 2700 | Causal Inference | 3 |
| CS 3050G | Global Social and Ethical Issues in Computing | 3 |
| CS 3310 | Analysis of Algorithms | 3 |
| 3 |
| 3 |
| | Credit Hours | 15 |
| | Total Credit Hours | 120 |