UC Santa Barbara General CatalogUniversity of California, Santa Barbara

Computer Science - Engineering

Department of Computer Science, Harold Frank Hall, Room 2104;
Telephone (805) 893-4321
Web site: www.cs.ucsb.edu
Chair: Amr El Abbadi
Vice Chair: Elizabeth Belding


The Department of Computer Science offers programs leading to the degrees of bachelor of arts and bachelor of science in computer science, and the M.S. and Ph.D. in computer science. The B.A. is a College of Letters and Science major; the B.S. is a College of Engineering major. The B.S. degree program in computer science is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012-telephone: (410) 347-7700.

One of the most important aspects of the Computer Science program at UCSB is the wealth of “hands-on” opportunities for students. UCSB has excellent computer facilities. Campus Instructional Computing makes accounts available to all students. Computer Science majors and premajors use the workstations in the Computer Science Instructional Lab and Engineering Computing Infrastructure computing facilities. Students doing special projects can gain remote access to machines at the NSF Supercomputing Centers.

Additional computing facilities are available for graduate students in the Graduate Student Laboratory. Students working with faculty have access to the specialized research facilities within the Department of Computer Science.

The undergraduate major in computer science has a dual purpose: to prepare students for advanced studies and research and to provide training for a variety of careers in business, industry, and government.

Under the direction of the Associate Dean for Undergraduate Studies, academic advising services are jointly provided by advisors in the College of Engineering, as well as advisors in the department. A faculty advisor is also available to help with academic program planning. A department publication, Computer Science Undergraduate Brochure, describes degree offerings and degree requirements.

Computer Engineering Major

This major is offered jointly by the Department of Computer Science and the Department of Electrical and Computer Engineering. For information about this major, refer to the section on Computer Engineering.

Mission Statement

The Computer Science department seeks to prepare undergraduate and graduate students for productive careers in industry, academia, and government, by providing an outstanding environment for teaching and research in the core and emerging areas of the discipline.  The department places high priority on establishing and maintaining innovative research programs that enhance educational opportunity.

Program Goals for Undergraduate Programs

The goal of the computer science undergraduate program is to prepare future generations of computer professionals for long-term careers in research, technical development, and applications.  Baccalaureate graduates, ready for immediate employment, are trainable for most computer science positions in government and a wide range of industries. Outstanding graduates interested in highly technical careers, research, and/or academia, should be prepared to further their education in graduate school.

The primary computer science departmental emphasis is on computer program design, analysis and implementation, with both a theoretical foundation and a practical component.

Program Outcomes for Undergraduate Programs

The program enables students to achieve, by the time of graduation:

  1. An ability to apply knowledge of computing and mathematics appropriate to computer science.
  2. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
  3. An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
  4. An ability to function effectively on teams to accomplish a common goal.
  5. An understanding of professional, ethical, and social responsibilities.
  6. An ability to communicate effectively.
  7. An ability to analyze the impact of computing on individuals, organizations, and society, including ethical, legal, security, and global policy issue.
  8. Recognition of the need for and an ability to engage in continuing professional development.
  9. An ability to use current techniques, skills, and tools necessary for computing practice.
  10. 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 trade-offs involved in design choices.
  11. An ability to apply design and development principles in the construction of software systems of varying complexity.

Admission to the Major

Students intending to major in computer science should declare a computer science pre-major when applying for admission to the university.

Computer Science majors and pre-majors have priority when registering in all Computer Science courses. Students who declare the computer science pre-major or major are responsible for satisfying major requirements in effect at the time of their declaration. When students have completed the required pre-major courses, they must petition to change from pre-major to major status. Students cannot be accepted into the computer science major unless they have successfully completed the computer science preparation for the major courses.

Courses required for the pre-major or major, lower- or upper-division, inside or outside of the Department of Computer Science, must be taken for letter grades.