Computer Science B.S. - Software Engineering
General Degree Requirements
To earn a baccalaureate degree, all students must complete successfully, in addition to any other requirements, the University of Montana General Education Requirements. Please refer to the General Education Requirements page for more information.
Additional requirements for graduation can be found on the Degree/Certificate Requirements for Graduation page.
Unless otherwise noted in individual program requirements, a minimum grade point average of 2.00 in all work attempted at the University of Montana-Missoula is required for graduation. Please see the Academic Policies and Procedures page for information on how your GPA is calculated.
Courses taken to satisfy the requirements of a major, minor, or certificate program must be completed with a grade of C- or better unless a higher grade is noted in the program requirements.
Bachelor of Science - Computer Science; Software Engineering Concentration
Course Requirements
| Code | Title | Hours |
|---|---|---|
| Computer Science Core Courses | ||
| Complete all of the following courses: | ||
| CSCI 150 | Introduction to Computer Science | 3 |
| CSCI 151 | Interdisciplinary Computer Science I | 3 |
| CSCI 152 | Interdisciplinary Computer Science II | 3 |
| CSCI 232 | Intermediate Data Structures and Algorithms | 4 |
| CSCI 258 | Web Application Development | 3 |
| CSCI 315E | Computers, Ethics, and Society (fulfills the Advanced Writing Requirement) | 3 |
| CSCI 332 | Advanced Data Structures and Algorithms | 3 |
| CSCI 340 | Database Design | 3 |
| CSCI 406 | Careers in Computer Science | 1 |
| M 171 | Calculus I | 4 |
| or M 162 | Applied Calculus | |
| M 225 | Introduction to Discrete Mathematics | 3 |
| Communication Requirement | ||
| Complete the following course: | 3 | |
| COMX 111A | Introduction to Public Speaking | 3 |
| Software Engineering Concentration Required Courses | ||
| Complete all of the following courses: | ||
| CSCI 181 | Web Design and Programming | 3 |
| CSCI 322 | Advanced Web Application Development | 3 |
| CSCI 323 | Software Science | 3 |
| CSCI 423 | Advanced Software Engineering | 3 |
| CSCI 426 | Software Design & Development I | 3 |
| CSCI 427 | Software Design and Development II | 3 |
| Upper-Division Computer Science Electives | ||
| Complete 18 credits of Computer Science (CSCI) courses numbered 300 and above. 1 | 18 | |
| Total Hours | 75 | |
Four Year Plan
| Freshman | ||
|---|---|---|
| Autumn | Hours | |
| CSCI 150 | Introduction to Computer Science | 3 |
| CSCI 106 | Careers in Computer Science | 1 |
| COMX 111A | Introduction to Public Speaking | 3 |
| General Education Requirement | 6 | |
| Hours | 13 | |
| Spring | ||
| CSCI 151 | Interdisciplinary Computer Science I | 3 |
| WRIT 101 | College Writing I | 4 |
| CSCI 181 | Web Design and Programming | 3 |
| M 121 |
College Algebra (if needed) 1 or College Trigonometry or Precalculus |
3-4 |
| Hours | 13-14 | |
| Sophomore | ||
| Autumn | ||
| CSCI 152 | Interdisciplinary Computer Science II | 3 |
| M 171 or M 162 |
Calculus I or Applied Calculus |
4 |
| CSCI 258 | Web Application Development | 3 |
| Lab Science seq I | 4-5 | |
| Hours | 14-15 | |
| Spring | ||
| CSCI 232 | Intermediate Data Structures and Algorithms | 4 |
| M 225 | Introduction to Discrete Mathematics | 3 |
| CSCI 322 | Advanced Web Application Development | 3 |
| Lab Science seq II | 4-5 | |
| General Education Requirement | 3 | |
| Hours | 17-18 | |
| Junior | ||
| Autumn | ||
| CSCI 332 | Advanced Data Structures and Algorithms | 3 |
| CSCI 340 | Database Design | 3 |
| Science Elective | 3-5 | |
| Intermediate Writing Course | 3 | |
| General Education Requirement | 3 | |
| Hours | 15-17 | |
| Spring | ||
| CSCI 315E | Computers, Ethics, and Society | 3 |
| CSCI 443 |
User Interface Design or Data Visualization or Internship |
3 |
| Science Elective | 3-5 | |
| CS Core Elective | ||
| General Education Requirement | 3 | |
| Hours | 12-14 | |
| Senior | ||
| Autumn | ||
| CSCI 426 | Software Design & Development I | 3 |
| CS Core Elective | 6 | |
| M 361 |
Discrete Optimization (Upper Division Math Elective) or Linear Optimization or Deterministic Models or Numerical Analysis or Graph Theory or Probability Theory |
3 |
| General Education Requirement | 3 | |
| Hours | 15 | |
| Spring | ||
| CSCI 427 | Software Design and Development II | 3 |
| CS Core Elective | 9 | |
| General Education Requirement | 3 | |
| Hours | 15 | |
| Total Hours | 114-121 | |
Last updated Autumn 2025
- 1
Preparatory course - no credit towards degree, must be taken at this time to assure progression through degree