Program Mission Statement

The main emphasis of the curricula is software engineering: a systematic approach to the development of medium-to-large programs. One aspect of this approach is the separation of principles from technology. Students learn fundamental concepts in lecture sections and learn technical details — such as programming languages and operating systems — in laboratory sections. Students have opportunities for team projects as well as independent study and research.

Program Objectives

Graduates of the program should:

  1. Be able to work in a team to analyze, design and implement a computerized solution to a substantial problem;
  2. Be able to enter an appropriate graduate program or be hired as a computing professional;
  3. Demonstrate a broad understanding of computer science.

The Bachelor of Science in Computer Science degree is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org. In addition to maintaining the departmental mission, the educational objectives are developed to ensure the department maintains this accreditation for the Program Outcomes provided below.

Student Outcomes

The program must enable students to attain, by the time of graduation:

(a) An ability to apply knowledge of computing and mathematics appropriate to the program’s student outcomes and to the discipline.
(b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
(c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
(d) An ability to function effectively on teams to accomplish a common goal.
(e) An understanding of professional, ethical, legal, security, and social issues and responsibilities.
(f) An ability to communicate effectively with a range of audiences.
(g) An ability to analyze the local and global impact of computing on individuals, organizations, and society.
(h) Recognition of the need for and an ability to engage in continuing professional development.
(i) An ability to use current techniques, skills, and tools necessary for computing practice.
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
(k) An ability to apply design and development principles in the construction of software systems of varying complexity.

Enrollment and Graduation Data

Computer Science enrollment and graduation data for each program is archived by the Division of Engineering.