Requirements
Two degrees and a minor are offered. Explore the program requirements below.
Bachelor of Arts
Learn the fundamentals of computer science, including programming techniques, data structures and computer systems. Pursue electives on a variety of topics such as big data, machine learning, educational technologies and computational linguistics. This track combines well with a second major or a minor.
Core Courses
- COSI 12b: Advanced Programming Techniques in Java
- COSI 21a: Data Structures and the Fundamentals of Computing
- COSI 29a: Discrete Structures, or MATH 23b and either MATH 8a or MATH 36a or ECON 83a or BIOL 51a or PSYC 51a
- COSI 131a: Operating Systems
Five Electives
Full details and recommendations are provided in the University Bulletin.
Additional Requirements for Degree with Departmental Honors
Graduation with honors in computer science requires completion and defense of a senior honors thesis. Students interested in senior thesis should contact prospective mentors by the spring of their junior year and should take note of the prerequisites for enrollment in COSI 99d (Senior Research).
Bachelor of Science
Go beyond fundamentals and prepare for a career in computer science research or high-tech development. Dive deeper into more core courses, electives, and mathematics courses. This track combines well with work in a faculty research lab and industry internships.
Core Courses
- COSI 12b: Advanced Programming Techniques in Java
- COSI 21a: Data Structures and the Fundamentals of Computing
- COSI 29a: Discrete Structures, or MATH 23b and either MATH 8a or MATH 36a or ECON 83a or BIOL 51a or PSYC 51a
- COSI 131a: Operating Systems
- COSI 121b: Structure and Interpretation of Computer Programs
- COSI 130a: Intro. to Theory of Computation
Six Electives
Full details and recommendations are provided in the University Bulletin.Additional Requirements
- Math 8a: Introduction to Probability and Statistics or MATH 36a, ECON 83a, BIOL 51a, or PSYC 51a
- MATH 10a: Techniques of Calculus
Additional Requirements for Degree with Departmental Honors
Graduation with honors in computer science requires completion and defense of a senior honors thesis. Students interested in senior thesis should contact prospective mentors by the spring of their junior year and should take note of the prerequisites for enrollment in COSI 99d (Senior Research).
Minor
Core Courses
- COSI 12b: Advanced Programming Techniques in Java
- COSI 21a: Data Structures and the Fundamentals of Computing
Four Electives
For Business Majors, we suggest the following electives:- COSI 102a: Software Entrepreneurship
- COSI 125a: Human Computer Interaction
- COSI 127b: Database Management Systems
For Biology Majors, we suggest the following electives:
- COSI 101a: Artificial Intelligence
- COSI 113b: Artifical Life
- COSI 123a: Statistical Machine Learning
- COSI 165a: 3D Animation
- COSI 178a: Computational Molecular Biology
For Psychology Majors, we suggest the following electives:
- COSI 101a: Artificial Intelligence
- COSI 111a: Topics in Computational Cognitive Science
- COSI 114a: Topics in Computational Linguistics
- COSI 118a: Computer Supported Cooperation
- COSI 125a: Human-Computer Interaction
Full details and other recommendations are provided in the University Bulletin.
-
Undergraduate Programs
- Bachelor of Arts and Bachelor of Science in Computer Science
- Academic Advising
- Learning Goals
- Requirements
- Student FAQs
- Computer Science Placement
- Study Abroad
- 5-year Bachelor's/Master's Program
- Undergraduate Awards
- Undergraduate Departmental Representatives
- Senior Honors Thesis
- Data Science Internal Internship
- Master's Programs
- PhD Program
- Research and Innovation
- People
- Career Guide
- Courses
- News and Events
- Contact Us
- Home