Department of Computer Science

  • Increase font size
  • Default font size
  • Decrease font size

Degrees & Options

Montana Tech Department of Computer Science offers bachelor degrees in Computer Science and Software Engineering. Some of our students complete both of these degrees - an accomplishment that sets them apart in today's highly competitive job market and/or gives them an edge in graduate studies.

Both Computer Science and Software Engineering are concerned with the theory and construction of computer systems that will provide valuable & reliable services to their users. Both of these degrees focus on the software (computer programs & data) that turn the intricate but inert products of hardware engineers into the components & systems that now touch every aspect of a technologically advanced society.

Some of the special interests and skills that correlate with a successful career as a Computer Scientist or Software Engineer are:

  • You enjoy making things
  • You enjoy solving logical problems/puzzles
  • You can successfully deal with high levels of abstraction
  • You like to experiment and find out how complex systems work
  • You are willing to work with many small details to create a useful or entertaining product or service
  • You are persistent and patient in tracking down & correcting problems
  • For software engineers especially: You enjoy working cooperatively in teams

There is a lot of overlap in the subjects that computer scientists & software engineers study. The following two paragraphs may give you a rough idea of the difference between the two areas. For additional information about computing degrees, see

Computer Science:

Computer Science covers the core concepts and technologies involved with how to get a computer system to perform a desired function. Learning to program a computer is an essential part of such a task. Computer programming is used in almost all of our computer science courses & most of our software engineering courses. As a computer science major you will learn details about how computers & networks work, but with an emphasis on how software & programming languages work. You will also learn about the theory behind how & why computers and software work.

Software Engineering:

Software Engineering focuses on how to design & build software products that reliably deliver valuable services year after year. You will take many of the same courses as you would in computer science, but you will take additional courses that teach you about topics like software requirements, software design, & software testing. You will also learn about working with people (communication, management, working with non-technical customers), methodologies for developing software, & how to measure and analyze a software system.

Our Curriculum

Both Computer Science & Software Engineering degrees begin with a Freshman Seminar course designed to introduce first year students to the fields of computer science & software engineering, the research of department faculty, & to professionals in the field. The students are introduced to programming and calculus in their first year. In the sophomore year students study discrete structures, embedded systems, and database management. Students build on their programming knowledge with a full year of data structures & analysis of algorithms. In upper division courses students branch into areas such as software engineering, computer architecture, operating systems, theory of programming languages, artificial intelligence, networking, web science & the theoretical foundations of computing.

A breakdown of curriculum is given in the four-year curriculum worksheet. Your advisor will provide you with detailed information regarding your choice of electives.

»Computer Science Worksheet

»Software Engineering Worksheet

»Data Science Worksheet

»Graduate Certificate in Computational Science

»Application for a Minor in Computer Science

»Application for a Minor in Computational Science

Worksheets from previous catalogs