This page provides an introduction to the Computer Science program and information on how to get started.
Computer science is a broad field—one that encompasses everything from digital logic and advanced mathematical theory to video games and data science. These foundations and applications all require fundamental knowledge of how a computer works as well as the ability to translate processes into working programs.
In keeping with the liberal arts tradition, the computer science major at Oxy gives you the flexibility to combine your computer science studies with your other academic interests while also providing you with the core skills and knowledge you need to pursue advanced studies or start a career in the field.
- Options for Studying Computer Science
- How to Get Started
- Opportunities for Computer Science Majors
- FAQ
Options for Studying Computer Science
Major in Computer Science
A student majoring in Computer Science must take a minimum of 12 courses (48 credits).
Core Coursework for the Major
The following seven courses make up the core of the Computer Science major. All students pursuing this major must complete these courses:
- Calculus 1: You may also pass or place out of this course in several ways. Please refer to the Mathematics Department website for information about Calculus placement.
- COMP 131: Fundamentals of Computer Science (read about placing out of COMP 131)
- COMP 149: Mathematical Foundations of Computer Science -OR- both MATH 210: Discrete Mathematics and MATH 214: Linear Algebra
- COMP 229: Data Structures
- COMP 239: Computer Organization
- COMP 390: Computer Science Junior Seminar
- COMP 490: Computer Science Senior Seminar
Completing the Major
To complete the Computer Science major, students must take an additional six courses on top of the required core coursework. These six additional courses will vary depending on which of the following three pathways through the major the student selects. If you’re interested in the Computer Science major, you should meet with an advisor early on to explore these pathways:
- Computer Science Pathway: The traditional major
- Mathematics Pathways: The computer science major with a mathematical emphasis
- CS + X Pathway: The computer science major with a student-proposed interdisciplinary concentration
The Computer Science Courses and Requirements page provides more information about these three pathways.
Minor in Computer Science
A minor in Computer Science can help prepare students for a variety of opportunities for subsequent employment or graduate work. The minor can also provide students with models of problem solving and theoretical constructs that can shed light on human intelligence and the workings of the mind.
Coursework for the Minor
Students who are pursuing a Computer Science minor must complete the following six required courses:
- COMP 131: Fundamentals of Computer Science (read about placing out of COMP 131)
- COMP 149: Mathematical Foundations of Computer Science -OR- both MATH 210: Discrete Mathematics and MATH 214: Linear Algebra
- COMP 229: Data Structures
- Three 4-unit Computer Science courses at or above the 200-level. These must be in Computer Science.
3-2 Engineering Program
For students interested in engineering, Occidental offers a 3-2 engineering program in partnership with the California Institute of Technology (Caltech) and Columbia University (New York City). After completing 5 years of study (the first three at Oxy; the final two at either Caltech or Columbia), students in this program graduate with two bachelor’s degrees: one from Oxy and the other from the partner institution.
If you’re interested in this program, please contact Prof. Jeffrey Miller in the Computer Science and Mathematics departments. Incoming first-year students should plan to meet with a 3-2 advisor during orientation.
Cooperative Program With Caltech
As a full-time Oxy student, you can take computer science courses at the nearby California Institute of Technology (Caltech). While the program is usually not open to first-year students, you receive credit for all approved courses taken. No additional tuition payments are required.
If you’re interested in this program, please contact Prof. Kathryn Leonard in the Computer Science department.
How to Get Started
If you’re new to computer science, the first step in learning more about the major is to take COMP 131: Fundamentals of Computer Science. This course is meant for beginners and assumes you have no prior programming experience. In COMP 131 you will learn to think computationally—how to break processes down into components that can be then fully described—and to develop other habits necessary for a computer scientist. Even if you don’t end up majoring or minoring in Computer Science, this course will count toward your Core requirements for Science and Mathematics, which all students need in order to graduate.
Computer Science Placement
If you have some computer science coursework under your belt from either self study, high school, or another college or university, you may be able to place out of COMP 131. Here’s how:
- Score a 4 or higher on the College Board Advanced Placement Computer Science examination. This will place you into COMP 229 (Data Structures) and earn you credit for completion of COMP 131.
-
Request an exemption (evaluated on a case-by-case basis). The department will evaluate your situation individually if you fall into one of the following categories:
- Students who are self taught
- Students with transfer credit
- Students who have taken the College Board Advanced Placement Computer Science Principles examination
In general, to place out of COMP 131, a student should be proficient in variables, branches (if, else), loops (for, while), functions (parameters, scope, return -vs- print), and object-oriented programming (classes vs. instances, constructors, passing familiarity with inheritance).
Transfer Credit
You may earn transfer credit for general computer science units or as course substitutions for specific Oxy courses. If you are a continuing student, please obtain transfer credit authorization before the course begins. To obtain authorization for transfer credit, please submit the following course information by email to Prof. Kathryn Leonard:
- course syllabus
- textbook selection
- project list
- the Oxy course (if any) you are proposing to replace
The department will determine if the course is appropriate for COMP credit, and at what level. The registrar will determine how many Oxy units the course will be allocated. Please note that lower-division computer science courses without significant programming are unlikely to be approved for COMP credit, though they may be eligible for Oxy credit.
Opportunities for Computer Science Majors
- Travel funding: Apply for funding to support your travel to professional conferences.
- Employment: Gain a deeper understanding of computer science by serving as a tutor, mentor, or TA for computer science.
- Internships: Develop your skills with hands-on industry experience. Our students have completed internships at many firms, including JPL, Facebook, Twitter, and local start-ups.
- Student research: Explore a new direction in computer science research by working on original research projects in collaboration with other students and our excellent faculty.
FAQ
Q: What kind of computer will I need?
It’s useful to have your own laptop, and more RAM and faster processors are always better, but you can get started with a very basic set-up. You might want to choose a machine that can be upgraded in the future if necessary. The operating system is up to you. Battery life and weight will likely be important to you.
Q: Do I have to be a programmer already?
No. Our intro class (COMP 131) does not assume any prior experience.
Q: Do I need to know a lot of math?
No. Computer science requires some math, and certain areas such as machine learning and data science require substantial math, but you can be a very successful computer scientist without advanced math coursework. If you are math-wary, please take COMP 149 as soon as you can.
Q: Where can I join a fun group of people who are interested in technology?
Join Oxy Open Source, our student-run group. They hold social activities, workshops, and other great events.