Computer Science

Studying computer science at Earlham balances theory and practice to help you achieve a well-rounded understanding of computing. As a student in the computer science program, you’ll learn to develop software, think about computing systems and understand relationships between computers, people and society.

This foundation will prepare you to study advanced computing in cybersecurity, game design, system administration or software engineering. The program culminates in a senior capstone experience, in which you’ll create a project that showcases your achievements in computing.

Start your adventure

Sign up for more information about Earlham College.

Graduate Icon
95%
of recent graduates from the computer science program were employed or continuing their education, 6 months after graduation.
Popular Icon
Skilled
Our Green Science group designed and built our first solar charging station. Now anyone in the community can charge their devices using solar energy!
Outcomes

Computer science students tend to gravitate toward careers as software developers and engineers. Recent grads are working for companies such as Google, Microsoft, Bloomberg and Viagogo.

Theory, abstraction and design

As a computer science major, you’ll be encouraged to consider off-campus study as part of your academic career. The computer science program requirements and course schedule are designed to accommodate one, and in some cases, two semesters of off-campus study. Computer science majors have studied in Australia, England, Germany, Japan and Scotland. In addition, you will have the opportunity to study at one of the national laboratories, such as Oak Ridge National Laboratories and Fermi National Accelerator Laboratory.

State-of-the art facilities

The home for our program on campus is the Center for Science and Technology (CST), which includes a mixture of open spaces for collaborative work and private spaces for personal study. We run three flexible lab spaces and one hardware workshop, all designed to support your learning experience.

Applied research

Join an applied science group to use what you’ve learned in the classroom to solve real-world computing problems.

Professor addressing student with robots

Our faculty

Our faculty have a passion for teaching you the computing and collaboration skills you need to succeed.

Program details

The computer science program prepares you for a wide spectrum of opportunities after graduation, including graduate studies in computer science and work in a variety of technology positions starting right after graduation.

As a liberal arts college, Earlham offers multiple disciplinary and interdisciplinary majors and minors in which students cultivate deep and specific knowledge and experience. Equally important, the College expects every student to develop broad, general skills and proficiencies across the curriculum.

As part of their general education, students complete six credits in each academic division of the College: humanities, natural sciences, social sciences, and visual and performing arts. In addition, students meet requirements for first-year courses, analytical reasoning, perspectives on diversity and wellness.

General education at Earlham:

  • Distribution requirements
  • First-year courses
  • Analytical reasoning requirement
  • Perspectives on diversity requirement
  • Wellness requirement
  • General education policies

Learn more about general education at Earlham.

To earn a Bachelor of Arts in Computer Science, you must complete the following courses, in addition to general education requirements:

Core courses (30 credit hours)

  • MATH 180 Calculus A
  • MATH 195 Math Toolkit
  • CS 128 Programming and Problem Solving
  • CS 256 Data Structures
  • CS 266 Computing Skills
  • CS 310 Algorithms
  • CS 320 Principles of Computer Organization
  • CS 388 Methods for Research and Dissemination in Computer Science
  • CS 488 Senior Capstone Experience
  • Four additional CS courses (12 credits hours) from the following:
    • CS 330 Functional Programming
    • CS 335 Advanced Data Structures
    • CS 340 Scientific Computing
    • CS 345 Software Engineering
    • CS 350 Electronics and Instrumentation
    • CS 355 Game Design
    • CS 360 Parallel and Distributed Computation
    • CS 365 Artificial Intelligence and Machine Learning
    • CS 370 Computer Graphics
    • CS 375 Cyberethics in the Current Age
    • CS 410 Networks and Networking
    • CS 420 Operating Systems
    • CS 430 Database Systems
    • CS 440 Programming Languages
    • CS 382/482 Special Topics
    • CS 481 Internship (requires departmental approval)
    • In exceptional cases, the department may allow:
      • CS 484 Ford/Knight Research Project
      • CS 485 Independent Study
      • CS 486 Student/Faculty Research

View a full list of courses and their descriptions.

Beginning in the 2022-23 academic year, students majoring in computer science will have the option to focus their studies in one of four areas of concentration:

  • Computing for social good
  • Cybersecurity
  • Game design
  • Systems engineering and administration

Your academic adviser can help you understand the requirements for each concentration area.

Computing for Social Good

  • MATH 180 Calculus A
  • MATH 195 Math Toolkit
  • CS 128 Programming and Problem Solving
  • CS 256 Data Structures
  • CS 266 Computing Skills
  • CS 310 Algorithms
  • CS 320 Principles of Computer Organization
  • CS 388 Methods for Research and Dissemination in Computer Science
  • CS 488 Senior Capstone Experience
  • CS 275 Computing for Social Good
  • CS 375 Computer Science Ethics
  • CS 475 Social Impact of Computer Science
  • Three additional courses drawn from a selection from Computer Science and other disciplines. The list of courses that meet this requirement will be reviewed regularly to ensure that it remains up to date as offerings shift across campus.

Students may declare a concentration in CS for Social Good if they are graduating in Spring 2025 or later. Students graduating earlier than this who are interested in this field should speak with their advisor about how to best position themselves in this area, but cannot declare a concentration.

Cybersecurity

The Computer Science department plans to make Cybersecurity available as a concentration for students graduating in Spring 2026 or later. Students graduating earlier than this who are interested in this field should speak with their advisor about how to best position themselves in this area, but cannot declare a concentration.

Game Design

  • MATH 180 Calculus A
  • MATH 195 Math Toolkit
  • CS 128 Programming and Problem Solving
  • CS 256 Data Structures
  • CS 266 Computing Skills
  • CS 310 Algorithms
  • CS 320 Principles of Computer Organization
  • CS 355 Computer Game Design (Students should endeavor to take this course as early in the sequence as their schedule allows.)
  • CS 388 Methods for Research and Dissemination in Computer Science
  • CS 488 Senior Capstone Experience
  • Three additional courses drawn from a selection from Computer Science and other disciplines. The list of courses that meet this requirement will be reviewed regularly to ensure that it remains up to date as offerings shift across campus.

A student’s Capstone project, proposed in CS388 and executed in CS488, should tie in to the field of Computer Game Design in some way.

If a student’s schedule permits, they are strongly encouraged to take CS455, Game Design Studio, to deepen their understanding of the material and further strengthen their portfolio. This course is offered as a stacked class with CS355.

Students may declare a concentration in Computer Game Design if they are graduating in Spring 2025 or later. Students graduating earlier than this who are interested in this field should speak with their advisor about how to best position themselves in this area, but cannot declare a concentration.

Systems Administration

  • MATH 180 Calculus A
  • MATH 195 Math Toolkit
  • CS 128 Programming and Problem Solving
  • CS 256 Data Structures
  • CS 266 Computing Skills
  • CS 310 Algorithms
  • CS 320 Principles of Computer Organization
  • CS 388 Methods for Research and Dissemination in Computer Science
  • CS 488 Senior Capstone Experience
  • CS 325 Systems Engineering and Administration
  • CS 425 Advanced Topics In Systems Engineering and Administration
  • Three additional upper-level CS courses. If their schedule allows, CS-SEA students are very strongly encouraged to consider:
    • CS 410 Networks and Networking
    • CS 420 Operating Systems
    • CS 430 Database Systems

Students may declare a concentration in Systems Engineering and Administration if they are graduating in Spring 2025 or later. Students graduating earlier than this who are interested in this field should speak with their advisor about how to best position themselves in this area, but cannot declare a concentration.

Yes! To earn a minor in computer science, you must complete the following courses:

  • MATH 195 Math Toolkit
  • CS 128 Programming and Problem Solving
  • CS 256 Data Structures
  • CS 310 Algorithms
  • Three additional CS courses, 300 and above, excluding:
    • CS 481 Internship Experience
    • CS 483 Teaching Assistant
    • CS 484 Ford/Knight Research Project
    • CS 485 Independent Study
    • CS 486 Student/Faculty Research
      In exceptional cases, the department may waive the exclusion of CS 484, CS 485 or CS 486.

View a full list of courses and their descriptions.

Our students who choose to enter the industry become database administrators, cybersecurity specialists, IT project managers, software developers, web developers, data scientists and founders of successful tech startups.

They work in a wide variety of organizations ranging from small local companies to large international corporations. Our students who choose to go to graduate school have become successful university teachers and researchers.

Yes! Our applied minors are distinctive programs allowing you to personalize your education and help you make direct connections between academic interests and co-curricular activities.

The computer science program pairs well with an applied minor in digital arts. This program will allow you an opportunity to explore the role of technology in the arts and the arts as an application of technology.

View a full list of courses and their descriptions.

Recent internships include an array of organizations and industries: local and national government, banking, pharmaceutical research, manufacturing and distribution, civil and environmental engineering, consulting firms, and insurance and software companies.

Students have interned at large companies like Amazon, Google, Microsoft and a host of smaller companies across the US and the world. Locally, we partner with TechPoint in Indianapolis and DoxPop and Green Filing here, in Richmond. Some of our graduates go on to be a significant part of tech-startups, often as a part of the founding group.

There’s no one right way to know if the computer science major is the best choice for you. Successful students come from a variety of backgrounds and interests. Some have an existing interest and aptitude in mathematics or programming. Others have a passion for the natural sciences, social sciences, or humanities and develop a deep understanding of computer science to solve problems in those spaces.

If you are interested in solving problems, understanding systems or building new things- even if you’ve never programmed before-computer science might be the right choice for you.

Next steps

EARLHAM ALERT:
We continue to monitor the effects of an industrial fire 1.1 miles from campus.
EARLHAM ALERT:
We continue to monitor the effects of an industrial fire 1.1 miles from campus.