• Apply for Admission
  • Explore Programs and Courses
  • Pathway to Student Services
  • Resources and Library Services
  • Alumni, Friends, and Community

Computer Science Major B.S.

The computer science major is a solid, flexible program, focused on establishing a firm foundation in the theory of computing, the development of effective problem-solving and mathematical skills, and the systematic application of theory to the design and development of software. This program also provides preparation for graduate school in computer science. A minimum of 16 semester credits of major requirements must be completed at Metropolitan State.

Program Educational Objectives

The program is designed to help graduates achieve the following career and professional objectives. The program's graduates will:

  • have the flexibility, versatility and problem solving skills that can be applied to any problem domain, so they will be productively employed in the computing field in roles such as Computer Programmer, Software Developer, Software Engineer, and Software Systems Analyst;
  • be successfully employed of accepted into well-established graduate schools;
  • have strong writing and presentation skills; and
  • have a sense of societal and ethical responsibility in their professional endeavors.

Program Outcomes

At the time of graduation, all students will have the following skills.

  • A good foundation in the field through a set of core courses in the discipline, including programming and data structures, hardware and software architecture, software system design and computing theory.
  • A good foundation in essential mathematical tools such as discrete mathematics and calculus.
  • The ability to work in groups and communicate well via written and oral presentations.
  • Knowledge of the ethical and societal issues in computing.
  • A strong knowledge in an object-oriented language and a working knowledge in at least one other language.

Competence in standard programming practices is essential to an in-depth study of the science of computing. Although many of the activities of computer professions are not programming-related, the language of computing is founded on programming. In addition, computer science has its roots in the discipline of mathematics. At a minimum, computer science students must have an understanding of discrete math and calculus in order to explore the theoretical foundations of computing. Additional mathematical study is highly recommended. Math and programming prerequisites should be completed early in the major.

Admission to the Major

Students interested in pursuing a major in computer science must apply to the program. To be eligible for admission to the major, students must be admitted to the university and meet minimum application requirements. This includes the completion of two writing courses as defined to meet general education requirements and a minimum cumulative GPA of 2.5 on a 4.0 scale for ICS 141, ICS 240 and MATH 215. Students on academic probation are not admitted to this program.

Major Requirements

Major Prerequisites (24 credits)

Students learn to program in ICS 140 Programming Fundamentals, ICS 141 Programming with Objects and ICS 240 Programming with Elementary Data Structures, using the Java programming language. Mathematics courses should be taken concurrently. Students should note individual course prerequisites and enroll in the proper sequence of courses. The prerequisite courses should be completed before upper-division (300-level) classes are taken in the major. Transfer credit for the major prerequisite courses is common.

Required Core Courses (28 credits)

These courses are designed to deepen student understanding of the discipline of computer science. The study of computer hardware, operating systems and software design processes provides the understanding of the operation of the computer necessary for the development of robust, efficient systems. The capstone and software design classes provide students with the project management, teamwork, presentation and business writing experiences that employers have identified as keys to professional success. In addition, students address ethical issues and professional responsibilities in the capstone course. Courses in mathematics and computing theory provide preparation for graduate or theoretical study. The upper-division courses (300--400-level) should be completed in the middle of the degree, except for ICS 499 ICS Capstone Project, which is taken in one of the last two semesters.

Required courses include the following:

Math Requirement

Choose one of the following math courses

Note: Any chosen course cannot also be counted as an elective.

Computer Science Requirements

This may be satisfied by doing appropriate course work, by taking a competency test administered by the department, or by successfully completing ICS 365 Comparative Programming Languages. ICS 365 meets the Group 1 Electives requirement as well.

Electives (12 credits)

Elective courses allow concentrated work in an area of choice. Choices include theoretical computing topics, networking, project management, internships and advanced mathematics. Students are encouraged to choose a set of elective courses which form a cohesive package. A maximum of four lower-division elective credits may be accepted with advisor's permission. Courses taken to meet required core courses, except ICS 365 may not also count as electives.

Electives for the computer science major must be distributed as follows:

Group 1. At least one of the following:

Group 2. Any of the following:

Group 3. This area is not required; however a maximum one of the following can be included as an elective.

Other Electives

The contents of ICS 490 Special Topics in Information and Computer Sciences and ICS 492 Emerging Technology vary from semester to semester. These electives may be applied to Group 1 or Group 2 elective requirements only with prior advisor approval.