Catalog

Computer Science Major & Minor

Computer science is the systematic study of computational systems and computability. It includes theories for understanding the analysis, design, implementation, validation, and verification of solutions to complex problems, and for the elicitation, representation, manipulation and visualization of knowledge. More simply put, computer scientists learn to understand what a computer can and cannot do, how computers can efficiently perform specific tasks, how computers can store and retrieve specific types of information, how computers can most effectively organize and display information, and how computers can appear to behave intelligently. Building on the core ideas of a liberal education, the computer science major combines theory with practical experiences to develop skills in problem-solving, programming, communication, and collaboration in order to help students realize their potential to assume leadership roles in an increasingly technical world. Computer science majors can prepare for careers in research, development, and teaching by pursuing graduate degrees, or they can apply their skills in virtually any industry, from business to biochemistry, and from education to entertainment.

Learning Objectives

The computer science major expects its graduates to achieve the following objectives:

  1. Software Development: Ability to formulate and express software solutions to complex problems in programming languages, including the selection of appropriate data structures, efficient algorithm design, and development of system architectures.
  2. Software Analysis: Ability to apply mathematical tools such as mathematical logic, algorithmic analysis, models of computation and computability theory to problem analysis.
  3. Software Engineering: Ability to follow a structured engineering process in the development of software including analyzing a problem, planning the development process, designing a solution, implementing the solution and validating the final product.
  4. Communication: Ability to communicate both orally and in writing and to work effectively as part of a team.

Major Requirements (35 credit hours)

Major Core (20 credit hours):

Major Electives I: 9-15 credit hours from among the following:

Major Electives II: 0-6 credit hours from among the following:

Download the Computer Science Major Checklist

Minor Requirements (18 credit hours)

Minor Core (15 credit hours):

Minor Electives: 3 credit hours from among the following:

Download the Computer Science Minor Checklist

Computer Science: Software Engineering Minor Requirements (18 credit hours)

Minor Core (15 credit hours):

Minor Electives: 3 credit hours from among the following:

Download the Computer Science: Software Engineering Minor Checklist