Computation, Algorithms, & Beyond
As strange as this may sound, computer science is not about computers, just as chemistry is not about spectrometers and physics is not about lasers. Computer science is actually concerned with a more ubiquitous and profound idea: computation.
A computation is a process that transforms some initial information, an input, into some desired result, the output. When you listen to a song, the music player is performing a computation to convert the digital music file (the input) into a sound pattern (the output). When you submit a web search request (the input), your computer, and many others across the Internet, are performing computations to get you results (the outputs). When you play a computer game, the computer or game console is performing computations to transform your motions (the input) into real-time action (the output) in the game.
Computation has become increasingly essential to new discoveries in the natural and social sciences, arts, finance, and engineering. Because computation is so ubiquitous, computer science has always been fundamentally interdisciplinary.
Computer scientists study the inherent complexity of computational problems, design efficient computational algorithms to solve them, and implement these solutions as computer programs.
At Denison, we emphasize the enduring core ideas of computer science and their applications to areas like networking, computational biology, high performance computing, data analytics, artificial intelligence, robotics, and software engineering. With your knowledge deeply rooted in this core, you will be able to apply your education to whatever new technology you face (or create).
The Computer Science Program mission is to enable our students to become proficient in the theory of algorithmic problem solving, to understand the operation of modern computer systems, and to acquire experience and knowledge in a wide range of application areas. We emphasize core concepts, analytical thinking, teamwork and oral and written communication throughout the curriculum.
Computer Science is the study of algorithmic problem solving in both theoretical and applied areas. The major in Computer Science is designed to enable students to become well-rounded in these areas, and well-prepared for either graduate study or work in a variety of fields. Emphasis is placed on core concepts, analytical thinking, and problem solving throughout the curriculum.
In addition to a broad complement of introductory courses, the department regularly offers advanced courses in artificial intelligence and robotics, computer systems and networking, algorithm analysis and the theory of computation, software engineering, computer game design, and computational biology. Students have opportunities to conduct research through the Anderson Summer Research program and/or a senior research project.
Students interested in a Computer Science major should take:
- an introductory course (CS 109 - Discovering Computer Science, CS 110 - Discovering Computer Science: Digital Media and Games, CS 111 - Discovering Computer Science: Scientific Data and Dynamics, or CS 112 - Discovering Computer Science: Markets, Polls, and Social Networks)
- followed by CS 173 - Intermediate Computer Science by the end of the first year.
- In rare circumstances, a student may complete this sequence during the sophomore year.
- Majors should also take CS 234 - Mathematical Foundations of Computer Science and MATH 135 - Single Variable Calculus during their first year.