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.
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
Research at Pomona
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.
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.
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.
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.”
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.
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.
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.