Visit the Computer Science Department page for more information on the program and access to advising.
Program Description
Software Engineers design and develop large software systems. In addition, they may lead teams of software developers or quality assurance engineers. They also work with users and customers to understand their needs. Software systems we take for granted, such as Microsoft Office, are implemented by software engineers. Software engineers employ innovative software development approaches, such as Agile software development, to effectively manage software development projects.
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 ENGH 1005 Literacies and Composition Across Contexts) with a grade of C or better.
- Each of CS 1400, CS 1410, CS 2300, CS 2420, MATH 1210, and (ENGL 1010 or ENGH 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 Literacies and Composition Across Contexts | 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 |
| 3 |
| Java Software Development | |
| CsharpNET Software Development | |
| Python Software Development | |
| C Plus Plus Software Development | |
| JavaScript Software Development | |
| Advanced Programming Language Other | |
| 3 |
| 3 |
| Credit Hours | 15 |
Third Year |
Semester 5 |
CS 3410 | Human Factors in Software Development | 3 |
CS 3100 | Data Privacy and Security | 3 |
ECE 3710
| Applied Probability and Statistics for Engineers and Scientists
or Introduction to Statistical Methods | 3 |
CS 3520 | Database Theory | 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 |
| 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 |
CS 4550 | Software Engineering III | 3 |
| 3 |
| Credit Hours | 15 |
| Total Credit Hours | 120 |