Professor Lewis D. Ludwig, Chair
Professors Jessen Havill, Joan Krone; Associate Professors Thomas C. Bressoud, R. Matthew Kretchmar, Ashwin Lall; Assistant Professors Jaimie Kelley, David White; Academic Administrative Assistant Dee Ghiloni
Departmental Guidelines and Goals
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, 110, 111, or 112) followed by CS 173 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 and Math 123 during their first year.
Computer Science Major
The core courses in Computer Science are an introductory course (CS 109, 110, 111, or 112), CS 173, 181, 215, 234, 271, 281, 371, and Math 123. All Computer Science majors must complete these courses.
Each 300-level Computer Science course is designated as Applied, Systems, or Theory. The Applied courses are CS 309, 314, 337, 339, 349, and 391. The Systems courses are CS 345, 372, 373, 374, 375, and 377. The Theory courses are CS 334 and 335.
Bachelor of Arts Degree The minimum requirements for a Bachelor of Arts degree in Computer Science are the core courses plus two additional Computer Science courses at the 300 or 400 level (excluding 361-362 and 363-364). One of the 300 or 400 level electives must be a Systems course and the other must either be a Theory or Applied elective.
Bachelor of Science Degree The minimum requirements for a Bachelor of Science degree in Computer Science are the core courses, CS 372, and four additional Computer Science courses at the 300 or 400 level (excluding 361-362, and 363-364). The electives must include at least one Theory elective and one Applied elective. Students may substitute Math 242 for one of these additional courses. We strongly recommend that Bachelor of Science candidates also take Math 124 and Math 210, and one or more of Math 231, 232 and 242. A yearlong senior research project may count as one elective toward the major.
Computer Science Minor
A minor in computer science consists of an introductory course (CS 109, 110, 111, or 112), CS 173, 181, 234, 271, and Math 123.
Computational Science Concentration
Computational Science is the field of study concerned with constructing mathematical models and numerical solution techniques, and using computer algorithms and simulation to analyze and solve scientific, social scientific, and engineering problems. The Computational Science concentration consists of four core courses - MATH 124, 231, CS 173, one of CS 109, 110, 111, or 112 - and an additional course at the 200-level or above. This additional course, which may be in another department, must have a strong and persistent mathematical modeling or computing component and must be approved in advance by the Mathematics and Computer Science Department. In addition, students must take a two semester sequence of courses in a department other than Mathematics and Computer Science. A written plan for completing the concentration must be approved by the Mathematics and Computer Science Department prior to enrollment in the elective course. In particular, the elective course and cognate requirements above must be chosen consistently with a valid educational plan for the study of Computational Science (as defined above). Any mathematics major who wishes to complete this concentration must choose a computer science course as their elective course. Any computer science major who wishes to complete this concentration must choose a mathematics course for their elective course. A double Mathematics and Computer Science major is not eligible for this concentration.
Additional Points of Interest
Students who intend to continue with graduate study in Computer Science should pursue the Bachelor of Science degree.
Computer Science students should be adept at not only solving problems through the implementation of computer programs, but also in communicating those solutions to a wide variety of audiences. Students should learn the proper use of documentation to share their programs with users and other computer scientists, be prepared to compose proofs and analyses of their algorithms, and have opportunities to write formal papers.
The Anderson Foundation and the Denison University Research Foundation (DURF) support qualified students conducting summer research. For off-campus research opportunities in Computer Science, see the Oak Ridge Science Semester described at http://denison.edu/academics/oak-ridge.
Off-Campus Study The Department of Mathematics and Computer Science strongly encourages students to globalize their education by completing some portion of their undergraduate education abroad. A majority of Denison students spend a semester abroad during their junior year and many more spend a summer (or two) abroad. Denison offers a wide range of opportunities to study off-campus that are highly relevant to your Denison experience.
Going abroad allows students to enhance their knowledge while experiencing another culture and way of life. Students gain valuable experience that will benefit future career goals and/or graduate school opportunities. Math and Computer Science majors who are fluent in another language will have special advantages in the job market.