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.

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

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 380 Theory of Computation
  • 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 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.

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