Attention: See the latest Coronavirus (COVID-19) information and updates. Learn More

Computer Science Major

Study core areas of computer science and advance to courses on programming languages, operating systems, security, artificial intelligence, databases, natural language processing and human-computer interaction.

As a computer science major or minor, you'll learn to analyze complex problems and to critically evaluate potential solutions. You'll also become versed in core areas of computer science including systems, theory and algorithms. You'll apply that knowledge in the senior seminar and an optional independent senior project or thesis, as well as in electives that include programming languages, operating systems, artificial intelligence, natural language processing, databases, computer security and human-computer interaction. Upon graduation, you'll be prepared to move on to graduate studies or to embark on a career in technology.

Students in the Computer Science Lab
Students in the Computer Science Lab
Students in the Computer Science Lab
Students in the Computer Science Lab
Students in class
Students in class
Edmunds Hall, housing Computer Science
Edmunds Hall, housing Computer Science

What You’ll Study

    • Techniques for identifying, formulating and solving complex problems
    • Discrete mathematics and data structures
    • Systems, programming languages and algorithms
    • Current topics in computer science
About 52% of the Class of 2018 took an introductory computer science course during their time at Pomona College.

Research at Pomona

Mui Tranprasert

Developing a Black-Spot Predictor

Mui Tanprasert '21 developed a fully-automated traffic black-spot predictor based on street view images of that location.

Jaden Kim ’22

YARDS: A Python Package

Jaden Kim ’22 spent a summer working in Professor Joseph Osborn's lab on a Python package called YARDS—a tool that allows users to generate synthetic data for training deep learning models. They published a paper which they presented at AIIDE.

Jason Comadena’s ’22

Reddit Pages and Machine Learning Models

For Jason Comadena’s ’22 group final project for Natural Language Processing class, they scraped data from the "Am I the A**hole?" subreddit page. They then trained three different machine learning models and tested for which model would be best at correctly predicting if the person writing the Reddit post they passed in was an a**hole or not.

Nirali Devgan ’22

Studying Discriminatory Biases with Generative Pre-Trained Transformer 2

For his Natural Language Processing course, Nirali Devgan ’22 explored the implicit biases embedded into GPT-2 with a group of students whose methodical analysis of GPT-2 generated sentences sought to better investigate the semantic context and quality of produced data.

Clarissa De La Garza ’22

Interning at Lyft

Clarissa De La Garza ’22 interned at Lyft as a front/back-end SWE and worked on a project that revolved around corporate discounts that are given to employees for different companies. She got to work on the front and back end components of the project which led her to find her love for front-end work.

Jared Mejia ’22

Robot Learning

Jared Mejia ’22 was able to be a research assistant for Professor Anthony Clark and worked on transferring robot learning from high fidelity simulation environments.

Jared Mejia ’22
Jared Mejia ’22

The experiences I have had studying CS at Pomona have been transformative and have fed into my curiosity—the joy of learning such exciting concepts never ceases. Thanks to the professors and students in the department, I have discovered my passion for CS and feel eager and well prepared to pursue a Ph.D. in computer science following my undergraduate studies.

Faculty & Teaching

Our computer science faculty expertise includes theory, algorithms, programming languages, natural language processing, applications of logic, complex networks, database systems, security, artificial intelligence and human computer interaction.

Professor Tzu-Yi Chen

More than just a collection of tools and techniques, computer science is a way of thinking about problems and so has wide-ranging applications to other disciplines. The CS curriculum teaches students how to conceptualize multiple views of a problem and how to develop and evaluate solutions grounded in theory, both in core courses and in electives in our areas of research.