Computer science is a rapidly evolving interdisciplinary field with roots in mathematics, engineering, logic, and philosophy. It focuses on the discovery and development of problem-solving techniques, and their application in both theoretical and practical situations. Computer scientists advance the state of the art by creating more efficient, effective solutions to problems.
Computer science is constantly creating new opportunities and challenges in a variety of fields. Advances in computing enable breakthroughs in genetics, protein modeling, medicine, weather simulations, and most scientific fields. Because of the Internet, people separated by oceans can communicate and collaborate at work and through social networks. Video game and movie graphics are increasingly realistic. Children learn various skills using fun, educational software. Policies and laws continue to be rewritten to account for our increasing use of and reliance on computers and networks.
Computer science is at the center of this technological revolution, making it one of the most exciting disciplines to study. With computer science, you can have an impact on real world problems and have great potential to help address human needs and improve quality of life. It is a rich and dynamic discipline that seeks to understand and effectively use the great potential of computers.
Our computer science graduates are well prepared for both graduate programs and challenging careers in this growing field of study. Oberlin is the top baccalaureate origin for PhDs awarded in computer science and mathematics over the past decade (1997-2006).
Recent Oberlin graduates have entered graduate programs in computer science at MIT, Stanford, Princeton, Brown, Cornell, and other leading centers for research. Others have taken jobs with such companies as Google, Facebook, Microsoft, IBM, Adobe, Sony Imageworks, and VMWare. Still others have gone to work for small firms or have even started their own companies. Our students are creative, have sound technical knowledge, a broad background on the world, are able to work in groups, and communicate well. These qualities are highly prized by both graduate schools and top software companies.
Oberlin’s computer science department offers a broad complement of courses that integrate computer science into the liberal arts curriculum. Our faculty are devoted to preparing students for their future as leaders in computer science by teaching them fundamental problem-solving skills, and challenging them to derive innovative solutions to new problems. Our faculty actively participate in research and scholarship, collaborating with colleagues inside and outside of the college.
Computer science majors will become well-rounded in both theoretical and applied areas, and well prepared for graduate study or work in industry. Emphasis is placed on core concepts, analytical thinking, and problem-solving throughout the curriculum. Students have opportunities to conduct research through senior honors projects or with faculty during the summer.
With a solid foundation in computer science, Oberlin students are empowered with the problem-solving skills to tackle tomorrow’s challenges. Since computer science affects so many other disciplines, our students often pursue computer science along with another major. Some students complement another major with computer science courses to improve their marketability after graduation.
The major requires a minimum of 10 courses in computer science, plus at least two specified courses in mathematics. The major starts with a two-semester introduction and overview of the field and is followed by a sophomore-level course sequence that explores intermediate and advanced concepts. Courses beyond these fundamentals allow students to delve into specific areas of computer science and to explore a broad range of subdisciplines.
We regularly offer advanced courses in computer graphics, artificial intelligence, security, and computer systems and networking. These courses give students the opportunity, for example, to render new computer graphics, to design their own programming language, to create advanced network applications, or to construct neural networks that simulate the organization of a human brain.
We also offer a number of courses for non-majors. We have courses in HTML/CSS and programming specifically designed for non-science majors. Our faculty also offer modeling courses of interest to other natural and social science disciplines.
Our faculty are involved in diverse research areas within computer science. We offer many opportunities for computer science students to work directly with faculty on a number of research projects. Students gain valuable experience while collaborating with their professors throughout their Oberlin careers. Most frequently, these research projects take place during the summer as part of the Oberlin Summer Research Institute. However, students have opportunities to continue investigations during the year and as a winter-term project. Oberlin students also participate in NSF-funded research projects at other institutions during the summer as part of the Research Experiences for Undergraduates program.
The computer science department maintains two teaching labs exclusively for the use of computer science students. Both labs are equipped with late model computers running Linux, Microsoft Windows, and Mac OS X operating systems. The department also operates its own Solaris server that functions as the department’s file, e-mail, and web server.
Students have a wide variety of software available for their use, and we are able to quickly update or implement student suggestions. We also employ student system administrator positions where students can work with our sysadmin to learn about and maintain these labs.
In addition to these computing labs, the department has been developing specialized systems for use in classes. For students taking Networking or Operating Systems courses, we have dedicated hardware on which they can run code directly. Work is also under way for developing a dedicated system for the Computer Security course.
The computer science department is involved in the Oberlin Center for Computation and Modeling (OCCaM), an interdisciplinary research organization founded in 2005 and is devoted to promoting computation and modeling at Oberlin. OCCaM coordinates and organizes the various researchers on campus who use scientific techniques of model building and computer data analysis. The faculty span both the natural and social sciences. A 64-node Beowulf cluster is available for participant use.