Here is how to get started with CS at Oxy
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). See Major at a Glance for an overview of these requirements.
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
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). If you have some computer science experience 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 A examination. This will place you into COMP 229 (Data Structures) and earn you credit for completion of COMP 131. Students who took the exam a long time ago and wish for a refresher should consider COMP 181 (Advanced Programming).
- 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 AP Computer Science Principles examination
To request an exemption, you must first take the Computer Science self-placement, which is designed to evaluate the skills necessary for COMP 229. The self-placement is a two-hour programming exercise, to be completed in Java. Detailed instructions, as well as the self-placement questions, can be found on the self-placement page.
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 (leonardk@oxy.edu):
- 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. To apply for a TA position, complete the Student Employment Application available from Human Resources and return it to the computer science department chair.
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. We often post these opportunities to a mailing list, which you can sign up for: https://mailman.oxy.edu/mailman/listinfo/compsci-opportunities-l
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.
Awards
The department invites nominations from faculty and students (including self-nominations) for a series of topical awards, which are given at the end of each academic year. Junior and senior computer science majors are eligible. Nominations are due by midnight on April 15 annually:
- Community Prize: This prize recognizes exceptional achievement by a computer science major in building community for computer science students and affiliates at Occidental College, or using computer science to contribute significantly to building or enhancing lives in another community. Awardees will receive a certificate, campus recognition, and a small stipend. Juniors and seniors are eligible for this prize. There is no minimum GPA requirement. Nominations will be evaluated based on impact to the community of the student's work. Nominations are due by April 15 each year.
- Interdisciplinary Prize: This prize recognizes exceptional achievement by a computer science major in integrating computer science with another discipline. Awardees will receive a certificate, campus recognition, and a small stipend. Juniors and seniors are eligible for this prize. There is no minimum GPA requirement. Nominations will be evaluated based on the thoughtfulness, depth and synthesis of the interdisciplinary work, and its value to the respective fields. Nominations are due by April 15 each year.
- Theory and Practice Prize: This prize recognizes exceptional achievement by a computer science major in either research or application of computer science. Awardees will receive a certificate, campus recognition, and a small stipend. Juniors and seniors are eligible for this prize. There is no minimum GPA requirement. Nominations will be evaluated based on the thoughtfulness and depth of the research or application, and its value to the field of computer science &/or to society. Nominations are due by April 15 each year.
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. We have a Slack channel that you can join with your oxy.edu email at https://join.slack.com/t/oxyos/signup