Professional Option

Freshman YearCredits
FallSpring
CSCI 127 - Joy and Beauty of Data4  
M 171Q - Calculus I4  
WRIT 101W - College Writing I3  
University Core and Electives 3  
CSCI 132 - Basic Data Structures and Algorithms  4
M 172 - Calculus II  4
University Seminar Core  3
University Core and Electives  4
Year Total: 14 15
Sophomore YearCredits
FallSpring
CSCI 215CS - Social & Ethical Issues in Computer Science3  
CSCI 246 - Discrete Structures3  
WRIT 221 - Intermediate Tech Writing3  
Science Elective 4  
University Core 3  
CSCI 112 - Programming with C I  3
CSCI 232 - Data Structures and Algorithms  4
Math, Statistics, or Probability Elective  3
Science Elective   3
University Core   3
Year Total: 16 16
Junior YearCredits
FallSpring
ESOF 322 - Software Engineering3  
CSCI 366 - Computer Systems3  
Upper Division Elective Choices From Below3  
CS or Related Electives6  
CSCI 305 - Concepts/Programming Languages  3
CSCI 338 - Computer Science Theory  3
Upper Division Elective Choices From Below  6
CS or Related Electives  3
Year Total: 15 15
Senior YearCredits
FallSpring
Upper Division Elective Choices From Below6  
CS or Related Electives3  
Math, Statistics, or Probability Elective3  
Free Electives3  
CSCI 468 - Compilers  4
CSCI 476 - Computer Security  3
CSCI 481 - Program Assessment  0
Upper Division Elective Choices From Below  4
Free Electives  3
Year Total: 15 14
Total Program Credits: 120

A minimum of 120 credits is required for graduation; 42 of these credits must be in courses numbered 300 and above. Nineteen (19) credits are needed from the Upper Division Elective Choices list below, twelve (12) credits are needed from the CS or Related Electives Choices list below.  Excess Upper Division Elective credits can be used to fulfill CS or Related Electives credits. 

Upper Division Elective Choices
CSCI 331Web Development3
CSCI 347Data Mining3
CSCI 351Systems Administration3
CSCI 410Data Visualization3
CSCI 432Advanced Algorithm Topics3
CSCI 440Database Systems3
CSCI 441Computer Graphics3
CSCI 442Comp Vision: Robot Vision3
CSCI 443User Interface Design3
CSCI 445Human Computer Interaction3
CSCI 446Artificial Intelligence3
CSCI 447Machine Learning3
CSCI 451Computational Biology3
CSCI 455Embedded Systems: Robotics3
CSCI 460Operating Systems3
CSCI 466Networks3
CSCI 486Data Science Capstone3
CSCI 493Study Abroad3
CSCI 495Field Work/Practicum1
EGEN 310RMultidisciplinary Engineering Design3
EIND 422Introduction to Simulation3
ESOF 422Advanced Software Engineering: Cybersecurity Practices3
ESOF 423Software Engineering Applications3
CS or Related Electives Choices
MART 145RAWeb Design3
CSCI 107Joy and Beauty of Computing3
CSCI 118School of Computing Introduction1
CSCI 204Multimedia Dev Methods3
CSCI 252Introduction to Data Science3
CSCI 290RUndergraduate Research1-6
CSCI 291Special Topics3
CSCI 292Independent Study1-3
CSCI 490RUndergraduate Research1-6
CSCI 491Special Topics1-4
CSCI 492Independent Study1-4
CSCI 494Seminar1-3
CSCI 498Internship1-3
EELE 261Intro To Logic Circuits4
EELE 367Logic Design4
EELE 371Microprocess HW and SW Systems4
EELE 465Microcontroller Applications4
EELE 467SoC FPGAs I : Hardware-Software Codesign4
EELE 468SoC FPGAs II: Application Specific Computing4
M 242Methods of Proof3
M 441Numerical Linear Algebra & Optimization3
M 442Numerical Solution of Differential Equations3
PHL 236QLogic3
STAT 421Probability Theory3

A minimum of 120 credits is required for graduation; 42 of these credits must be in courses numbered 300 and above. For more detailed requirements, please consult the Professional Option Graduation Worksheet, located at www.cs.montana.edu/forms.html.