• This worksheet accompanies the 2019-2020 Catalog
  • Last Updated: 6/26/2020
  • It is recommended that you utilize this worksheet in combination with your DegreeWorks worksheet.
  • Keep this worksheet up to date and bring it with you each time you meet with your advisor.  It will help your advisor give you better advice when you register for classes.
  • Substitute courses are sometimes allowed.  See your advisor for specific questions.  Your advisor must approve substitutions.  Do not assume that a substitution will be allowed.
  • You may not use pass/fail courses except in the unrestricted electives section (with the exception of Spring 2020 COVID-19 courses that were converted to pass).
  • All course grades must be at least a C- to count towards your degree. 
  • Check out this typical semester-by-semester schedule of classes.
  • This is a complex form and may contain a few errors.  If you notice any, please notify Hunter Lloyd (hunter.lloyd@montana.edu) or Sharlyn Gunderson-Izurieta (Sharlyn.Izurieta@montana.edu).

 Section 1.  Required Computer Science Courses

  • CSCI 127, Joy and Beauty of Data, 4 credits
  • CSCI 112, Programming with C, 3 credits
  • CSCI 132, Basic Data Structures and Algorithms, 4 credits
  • CSCI 215CS, Social and Ethical Issues in CS, 3 credits
  • CSCI 232, Data Structures and Algorithms, 4 credits
  • CSCI 305, Concepts of Programming Languages, 3 credits
  • EGEN 310R, Engineering Design, 3 credits
  • ESOF 322, Software Engineering, 3 credits
  • CSCI 338, Computer Science Theory, 3 credits
  • CSCI 366, Computer Systems, 3 credits (formerly CSCI 361, Computer Architecture)
  • CSCI 468, Compilers, 4 credits
  • CSCI 481, Program Assessment, 0 credits


Total Credits:

300+ Level Credits:

 Section 2.  Computer Science Elective Courses

  • You must take 19 credits from the courses below.
  • There are some special courses, such as CSCI or ESOF 491 that can also be used here.  
  • Seniors may petition to use CS graduate courses in this section.
  • Non-lecture courses such as CSCI 498, Internship, and CSCI 492, Independent Study, MAY NOT be used on this page.

Courses that can fulfill these requirements:

  • CSCI 331, Web Development, 3 credits
  • CSCI 347, Data Mining, 3 credits
  • CSCI 351, Systems Administration, 3 credits
  • EIND 422, Simulation, 3 credits
  • ESOF 422, Advanced Software Engineering, 3 credits
  • ESOF 423, Software Engineering Applications, 3 credits
  • CSCI 432, Advanced Algorithm Topics, 3 credits
  • CSCI 440, Database Systems, 3 credits
  • CSCI 441, Computer Graphics, 3 credits
  • CSCI 442, Robot Vision, 3 credits
  • CSCI 446, Artificial Intelligence, 3 credits
  • CSCI 447, Soft Computing, 3 credits
  • CSCI 451, Computational Biology, 3 credits
  • CSCI 455, Robotics, 3 credits
  • CSCI 460, Operating Systems, 3 credits
  • CSCI 466, Networks, 3 credits
  • CSCI 476, Computer Security, 3 credits
  • CSCI 495, Student Teaching, 1 credit


Total Credits:

300+ Level Credits:

 Section 3.  Computer Science and Related Elective Courses

  • You need 12 credits from this section.
  • In DegreeWorks, this section shows up as Directed Electives.
  • Any computer science course listed in the first two sections of this sheet, but not used in those sections may be counted here.
  •  Any computer science course not listed in the first two sections of this sheet, such as CSCI 107 or CS 145RA may be used here. 
  • Courses may also be used from the following list.  This list is meant to be suggestive.  Speak with your advisor if there is a course related to computer science that is not on the list and that you wish to take.  Possible Courses: EELE 261 (Introduction to Logic Circuits), EELE 262 (Logic Circuits Lab), EELE 367 (Logic Design), EELE 371 (Microprocessor Hardware and Software System), EELE 414 (Introduction to VLSI Design), EELE 465 (Microcontroller Applications), EELE 466 (Computational Computer Architecture), EELE 475 (Hardware and Software Engineering for Embedded Systems), M 242 (Methods of Proof), M 441 (Numerical Linear Algebra), M 442 (Numerical Solution of Differential Equations), PHL 236Q (Logic), STAT 421 (Probability).
  • Computer Science related courses approved by your academic advisor may be used here. 

Courses used to fulfill these requirements:

  • Course 1:
  • Course 2:
  • Course 3:
  • Course 4:
  • Etc.


Total Credits:

300+ Level Credits:

 Section 4.  Math and Science Required Courses

  • You must take a total of 30 credits of Math and Science courses. 
  • The math/statistics electives can be satisfied by any relevant 200+ level course, such as EIND 354.


  • CSCI 246, Discrete Structures, 3 credits
  • M 171, Calculus I, 4 credits
  • M 172, Calculus II, 4 credits
  • Math/Statistics Elective (200+ Level), 3 credits
  • Math/Statistics Elective (200+ Level), 3 credits
  • Two courses from the following.  One must have an accompanying 1+ credit lab.
    • Possible Courses: BIOB 105CS, BIOB 110CS, BIOB 160, BIOB 170IN, BIOB 260, BIOH 201, BIOH 211, BIOM 210, BIOM 250, BIOO 220, CHMY 123, CHMY 141, CHMY 143, CHMY 151, CHMY 153, CHMY 211, ENSC 245IN, ERTH 101, ERTH 102, GEO103CS, GEO 211, NRSM 240, PHSX 220, PHSX 222, PHSX 224, PHSX 240, PHSX 242
    • Course 1:
    • Course 2:
  • Additional math courses (at the 200 level or above), statistics courses, and/or science courses (excluding PHSX 103IN, PHSX 205, PHSX 207 and CHMY 121IN) to bring your total number of credits in Section 4 to 30 or more.
    • Course 1:
    • Course 2:
    • Course 3 (if needed):
    • Course 4 (if needed):


Total Credits:

300+ Level Credits:

 Section 5.  Core 2.0/Computer Science Accreditation Core

  • US Core, 3 credits:
  • WRIT 101 W, College Writing I, 3 credits
  • WRIT 221, Intermediate Technical Writing, 3 credits
  • IA or RA Core, 3 credits:
  • IH or RH Core, 3 credits:
  • IS or RS Core, 3 credits:
  • D Core, 3 credits:


Total Credits:

300+ Level Credits:

 Section 6.  Unrestricted Electives

  • You might need to take additional credits of elective courses to bring your credit total to 120.  Add up the credit totals in the other sections and subtract from 120 to determine exactly how many unrestricted elective credits you need.
  • Any university course may be used in this section if it has not been used in another section on this worksheet.
  • You must accumulate at least 42 credits in courses numbered 300 or above.  If you have taken courses at this level that are not listed in any other section on this worksheet, and if you need to count these courses in order to meet the 42 credit requirement, list them here.

Courses used to fuilfill these requirements:

  • Course 1 (if needed):
  • Course 2 (if needed):
  • Course 3 (if needed):
  • Course 4 (if needed):
  • Etc.


Total Credits:

300+ Level Credits:

Section 7.  Checklist for Graduation

Total number of credits (must be at least 120):

Total number of 300+ level credits (must be at least 42):

 All course grades are at least a C- (yes or no):

 Section 8.  Graduation Application Instructions

Congratulations – you are almost finished!  Graduation Applications must be submitted by the following dates:

  • October 1st for Spring Graduation.
  • March 1st for Summer or Fall Graduation.


  1. Schedule an appointment with your department advisor. Please plan ahead to ensure completion of materials before the graduation application deadline.  Before you meet with your advisor:
    • Create a “Graduation Plan” for your final semester in DegreeWorks (use this worksheet to cross-check that you have met all the requirements).
    • Bring a completed Application for Baccalaureate Degree to the meeting with your advisor.  The application is also available in the Gianforte School of Computing’s main office.
  2. After your graduation plan is correct, your advisor will lock your DegreeWorks Graduation Plan and take your signed application to the GSoC Office where it will be given to the certifying officer.
  3. The certifying officer will conduct an audit to ensure that your course requirements have been completed.  Once the forms are audited, the Certifying Officer will provide the forms to the GSoC Administrative Assistant and the Registrar’s Office.
  4. The Registrar’s Office will conduct a final audit during your final semester.