2018-19 Pomona College Catalog 
    Jun 24, 2024  
2018-19 Pomona College Catalog [ARCHIVED CATALOG] Use the dropdown above to select the current 2023-24 catalog.

Computer Science

Professor Yuqing Melanie Wu, department chair

Professors Bruce, Bull, Chen, Wu
Associate Professor Kauchak1
Assistant Professors Birrell, Greenberg3, Osborn2, Papoutsaki
Visiting Assistant Professor Devanny
Lecturer Kampe
Lori Keala, academic coordinator

Advances in computer science are responsible for technological innovations that have revolutionized many aspects of our lives. Computer scientists and computational thinkers will achieve further breakthroughs that can only barely be imagined today. To accomplish these tasks in ways that are sensitive to the needs of individuals and society, we need highly educated computer scientists with strong backgrounds in the liberal arts. The courses offered by the Pomona College Computer Science Department, together with those offered by Harvey Mudd and Claremont McKenna Colleges, empower both majors and non-majors to leverage and contribute to this rapidly evolving field.

Computer science investigates the nature of computation, with applications ranging from the design of sophisticated programs and machines for solving difficult problems to understanding how the mind works. It is a science, but it is not about nature. Like a natural science, computer science has theoretical and experimental components. It is unlike a natural science in that computer scientists design some of their own objects of study. It has links to mathematics, linguistics, philosophy and cognitive science, as well as applications in the arts, sciences, social sciences and humanities.

In computer science courses, students learn to work alone and in teams to analyze, decompose and solve complex problems. They learn to conceptualize multiple views of a problem, to develop solutions grounded in theory and to evaluate their solutions using a range of metrics. In addition to mastering overarching principles, students also become skilled in the core areas of computer science: theory, systems, programming languages and algorithms. They then apply their knowledge in advanced electives on topics including operating systems, artificial intelligence, computer graphics, human computer interaction, natural language processing, high-performance computing, computer security and robotics. Students also learn about the theoretical, practical and ethical ramifications of computational solutions to problems. Bi-weekly colloquia expose students to current research in computer science and introduce them to career options in the field.

Students will develop the ability to independently explore technical innovations. The senior exercise allows students to practice communicating their ideas through both oral presentations and technical writing. An optional senior project allows students to design, implement and analyze the solution to a modern computing problem of their choice.


1On leave fall 2018 2On leave spring 2019 3On leave 2018-19


Introductory Courses

The department offers introductory courses designed for students with a wide variety of backgrounds and interests. Like first courses in other sciences, CSCI051x (CSCI 051G PO , or CSCI 051J PO , or CSCI 051P PO ; CSCI 054 PO  and CSCI 062 PO ) are suitable both for students who want to broaden their liberal arts education and for those who seek preparation for more advanced courses.

CSCI051x are designed for students who have no experience in programming. Students who have Advanced Placement or similar preparation may enter directly into CSCI 054 PO . Contact the department for more information.

Pomona collaborates with the other Claremont Colleges in the offering of advanced coursework in Computer Science. The introductory sequence of courses (CSCI 051G PO  , or CSCI 051J PO , or CSCI 051P PO ; CSCI 054 PO  and CSCI 062 PO ) prepares students for advanced courses at Pomona, Harvey Mudd and Claremont McKenna Colleges and provides preparation equivalent to the Harvey Mudd sequence of CSCI 005 HM , CSCI 060 HM  and CSCI 070 HM . However, the introductory courses at Harvey Mudd College beyond CSCI 005 HM  are not guaranteed to be available to Pomona College students. Anyone contemplating a major or minor in computer science should start in the appropriate course in the Pomona College sequence. For advanced courses at Pomona, a prerequisite of CSCI 054 PO  will be satisfied by both CSCI 060 HM  and MATH 055 HM , while a prerequisite of CSCI 062 PO  will be satisfied by taking both CSCI 070 HM  and MATH 055 HM .


Students who intend to major in Computer Science need to declare the major before the end of their sophomore year.


Read more about our learning objectives: