Undergraduate Program

BA Major Requirements

In order to earn a BA in computer science, a student must complete:

For detailed information about the requirements for a BA in computer science see the Computer Science Undergraduate Handbook.

Core Courses

Students must take two courses listed in the BS core courses list (CSC173, CSC252, CSC254, CSC 242, CSC280, CSC 282, CSC 262).

Approved Tracks

Student can choose one of the approved tracks listed below, or propose a new track for approval. Students looking to propose a new track should see section 5.2 in the Computer Science Undergraduate Handbook.

Artificial Intelligence and Machine Vision

Choose three or more of the following courses:

Natural Language Understanding

Choose three or more of the following courses, including at least one CSC course:

Human-Computer Interaction

Choose three or more of the following courses:

Theory of Computation

Choose three or more of the following courses:

Computer Systems

Choose three or more of the following courses:

Computer Security

Choose three or more of the following courses:

Computational Science

Choose three or more of the following courses, including at least one CSC course:

** No more than two non-CSC courses may count toward the required 12 courses, including prerequisites and track courses.

Upper-Level Writing Requirement for Computer Science Majors

Every computer science major must develop, in consultation with his or her faculty adviser, a plan that includes two upper-level writing experiences.

Each experience must generate at least 25 pages of expository prose, with substantial feedback on content and form, and revision of the work. The 25 pages may be in the form of a single paper or a series of smaller papers.

Acceptable writing experiences include the following:

Students should review section 6 in the Computer Science Undergraduate Handbook and consult their advisor for more information.