Study core areas of computer science and advance to courses on operating systems, high-performance computing, artificial intelligence, robotics or 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, programming languages and algorithms. You'll apply that knowledge in an independent senior project as well as in electives that include operating systems, artificial intelligence, computer graphics, natural language processing, high-performance computing, computer security and robotics. 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 12% of Pomona students took an introductory computer science course in 2014-15.

Research at Pomona

  • Pomona College Computer Science Research: Indoor Navigation Device for the Visually Impaired
    A Navigation Device for the Visually Impaired: Joanna Finkelstein ’16

    Technology could provide auditory information enabling blind people to navigate new indoor spaces independently. The research involved finding optimal information for the device.

  • Max Schwarzer '18
    Text Simplification with Deep Learning

    Max Schwarzer '18 implemented a neural network text simplification system, using a modern soft-attention recurrent architecture originally designed for machine translation. 

  • Seinfeld logo. Creative Commons, Wikipedia.
    Mapping Data Trends in Seinfeld: Oluwadunmininu Alabi ‘17

    Many systems can be modeled as networks (graphs). With scripts, you can qualify what it takes to become a main character and who drives plot.

  • Andrew Russell '16
    Multilinear Maps in Practice: Andrew Russell ‘16

    “My project was to streamline cryptographic multilinear maps, which is a new primitive used in a number of recent discoveries, like program obfuscation.”

  • Gloria Liou '18
    Topic Modeling in Programming Languages

    Gloria Liou '18 looked at applying the current topic modeling in programming languages tool to new data sets, redesigning the current system to run with new models, and making the tool more accessible to users.

Andrew Russell '16
Andrew Russell '16

Studying computer science has taught me how to struggle with and overcome not knowing and understanding something. Specifically, how to break large, abstract problems into small, reasonable pieces that I can understand, and how to trace the bigger picture among scattered and fragmented ideas.

Faculty & Teaching

Our computer science faculty expertise includes theory, algorithms, programming languages, natural language processing, applications of logic, complex networks, database systems and machine learning.

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.