2011-12 Pomona College Catalog 
    Feb 01, 2023  
2011-12 Pomona College Catalog [ARCHIVED CATALOG] Use the dropdown above to select the current 2022-23 catalog.

Computer Science

Return to {$returnto_text} Return to: Departments, Programs and Areas of Study

Professor Tzu-Yi Chen, department chair

Professors Bruce, Bull
Associate Professor Chen
Assistant Professor Sood1
Visiting Assistant Professor Coogan

Advances in computer science are responsible for technological innovations that have revolutionized many aspects of our lives. Computer scientists 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 a strong background 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 contribute to—and use tools from—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 the natural sciences 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 cutting-edge research in computer science and introduce them to career options in the field.

Students will develop the ability to independently explore technical innovations. An independent senior project allows students to design, implement and analyze the solution to a modern computing problem of their choice, while also providing experience in the communication of their ideas through both oral presentations and technical writing.

1On leave fall 2011 2On leave spring 2012 3On leave 2011-12

Introductory Courses

The department offers introductory courses designed for students with a wide variety of backgrounds and interests. Like first courses in other sciences, CSCI 051 PO , CSCI 052 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. CSCI 030 PO - Computation & Cognition w/Lab , is intended especially for students majoring in cognitive science but will also be of interest to students interested in the connections between computing and human cognition. Because CSCI 030 PO  does not normally serve as a prerequisite for advanced courses in computer science, students who contemplate taking more advanced courses in computer science are urged to start with a course numbered CSCI 051 PO  or higher.

CSCI 030 PO  and CSCI 051 PO  are designed for students who have no experience in programming. Students who have Advanced Placement or similar preparation may enter directly into either CSCI 052 PO  or CSCI 062 PO  if they have knowledge of the programming language that was used the previous semester in CSCI 051 PO . Contact the department for more information.

The introductory sequence courses (CSCI 051 PO , CSCI 052 PO , and CSCI 062 PO ) prepares students for advanced courses at Pomona, Harvey Mudd and Claremont McKenna colleges and is equivalent to the Harvey Mudd sequence of CSCI 5, CSCI 60 and CSCI 70. However, students may not jump from one of the introductory sequences to the other; that is, once starting with Pomona CSCI 051 PO , a student may not elect CSCI 60HM or CSCI 70HM because the topics are covered in a different order. For advanced courses, a prerequisite of CSCI 60HM will be satisfied by CSCI 052 PO , while a prerequisite of CSCI 70HM will be satisfied by taking both CSCI 052 PO  and CSCI 062 PO .


Return to {$returnto_text} Return to: Departments, Programs and Areas of Study