Bachelor of Science in Computer Science

Distribution Requirements

A total of 48 credits are required.

English

  • MET EN 104 English Composition
  • MET EN 201 Intermediate Composition

Mathematics

  • CAS MA 118 is recommended or any course designated as
    distribution course (H), (N), or (S)

Natural Science

  • Eight credits in the natural sciences (N)

Literature

  • Four credits in a 100- or 200-level MET EN literature course or
    MET HU 210 or MET HU 221

Philosophy

  • Four credits

History

  • Four credits

Additional Courses

  • Four credits in the humanities (H)
  • Four credits in the social sciences (S)
  • Four credits in the humanities (H), natural sciences (N),
    or social sciences (S)
  • Four credits in the humanities (H) or social sciences (S)

Specialization and Related Courses

For students who do not have programming experience, 48 credits completed with a grade of C or higher are required:

  • MET CS 201 Introduction to Computer Science with C++
  • MET CS 248 Introduction to Discrete Mathematics
  • MET CS 272 Introduction to Computer Systems
  • MET CS 331 Introduction to Object-Oriented Programming with C++
  • MET CS 341 Data Structures with C++
  • MET CS 535 Data Communications and Computer Networks or MET CS 579 Database Management
  • MET CS 560 Organization of Programming Language
  • MET CS 568 Introduction to Language Theory and Compilers
  • MET CS 575 Operating Systems

Plus 12 additional computer science credits at the 300-level or higher, selected with the advice and approval of an advisor.

Students who have prior programming experience may follow either a C++ track or a Java track:

C++ Track

  • MET CS 231 Introduction to Computer Science for Programmers
    with C++
  • MET CS 341 Data Structures with C++

Java Track

  • MET CS 232 Introduction to Computer Science with Java
  • MET CS 342 Data Structures with Java

Plus 24 required credits as follows:

  • MET CS 248 Introduction to Discrete Mathematics
  • MET CS 272 Introduction to Computer Systems
  • MET TC 535 Data Communications and Computer Networks or
    MET CS 579 Database Management
  • MET CS 560 Organization of Programming Language
  • MET CS 568 Introduction to Language Theory and Compilers
  • MET CS 575 Operating Systems

Plus 16 additional computer science credits at the 300-level or higher, selected with the advice and approval of an advisor.

Note: Credit will be given for either the MET CS 201/MET CS 331 sequence or MET CS 231, but not for both MET CS 201 and MET CS 231 or both MET CS 231 and MET CS 331.

Mathematics Requirement

12 credits total:

  • MET MA 123 Calculus I
  • MET MA 124 Calculus II

Plus four mathematics credits selected from the following:

  • MET MA 213 Basic Statistics and Probability
  • MET MA 214 Applied Statistics
  • MET MA 225 Multivariate Calculus
  • CAS MA 226 Differential Equations
  • CAS MA 242 Linear Algebra

Electives

Choose 20 credits from disciplines other than computer science. At least 12 credits must be selected from the humanities (H), natural sciences (N), and social sciences (S).

Computer Science Minor

Students must earn a minimum grade of C in courses taken toward a minor. All minor concentrators develop their programs in consultation with an advisor. Eight credits may be credited toward both a major and minor specialization.

For students without programming experience, 12 credits are required:

  • MET CS 201 Introduction to Computer Science with C++
  • MET CS 331 Introduction to Object-Oriented Programming with C++
  • MET CS 341 Data Structures with C++

Students who have prior programming experience may follow either a C++ track or a Java track:

C++ Track

  • MET CS 231 Introduction to Computer Science for Programmers
    with C++
  • MET CS 341 Data Structures with C++

Java Track

  • MET CS 232 Introduction to Computer Science with Java
  • MET CS 342 Data Structures with Java

Plus eight computer science credits at the 300- to 500-level selected with the advice and approval of an academic counselor.