Computer Science

The Bachelor of Arts in Computer Science (CS) degree is designed to meet the needs of students interested in software development. It can accommodate students who plan to enter the profession directly from college or who plan to continue with graduate study. The program is continuously revised to keep it up to date. The department recommends that all computer science majors pursue a minor in some field.

Consistent with the university’s mission of being an accessible, responsive, and creative intellectual resource for the people and institutions of Connecticut, the department’s mission is to offer a broad and up-to-date curriculum that provides students with a comprehensive foundation that permits graduates to adapt to new technology and new ideas.

Goals

To accomplish this mission the Department of Computer Science emphasizes the following:

  1. Technical understanding of Computer Science: Graduates will have a mastery of Computer Science as described in the Body of Knowledge of the current ACM/IEEE Computing Curricula.
  2. Common themes and principles: Graduates will understand a number of recurring themes, such as abstraction, complexity, and evolutionary change, and a set of general principles, such as sharing a common resource, security, and concurrency, and will recognize that these themes and principles have broad application to the field of computer science and are not relevant only to the domains in which they were introduced.
  3. The interplay between theory and practice: Graduates will understand the interplay between theory and practice and how theory and practice influence each other.
  4. System-level perspective: Graduates will be able to think at multiple levels of detail and abstraction. They will be able to recognize the context in which a computer system may function, including its interactions with people and the physical world.
  5. Problem-solving skills: Graduates will be able to apply the knowledge they have gained to solve real problems. They will realize that there are multiple solutions to a given problem and that selecting among them is not a purely technical activity, as these solutions will have a real impact on people’s lives. Graduates will be able to communicate their solution to others, including why and how a solution solves the problem and what assumptions were made.
  6. Project experience: Graduates will have been involved in at least one substantial software development project, requiring evaluation of potential solutions, work on a larger scale, integration of modules, and providing opportunities to develop their interpersonal communication skills.
  7. Commitment to life-long learning: Graduates will realize that the computing field advances at a rapid pace and that they must continue to learn and adapt their skills throughout their careers. To develop this ability, students will be exposed to multiple programming languages, tools, and technologies as well as the fundamental underlying principles throughout their course of study.

At the completion of their degrees in Computer Science students will demonstrate:

  1. Mastery of Computer Science as described in the current ACM/IEEE Computing Curricula.
  2. The ability to identify and use recurring computer science themes and principles and determine their relevance in multiple contexts.
  3. Understanding of the interplay between theory and practice in computer science.
  4. The ability to think at a system-level.
  5. Strong problem-solving skills.
  6. The ability to communicate solutions and strategies to others.