Computer Science Major

Computer Science offers two degrees, a minor, and a concentration.  The two majors both require the computer science core curriculum.  The core courses in Computer Science are:

An introductory course
CS 109Discovering Computer Science
or CS 110 Discovering Computer Science: Digital Media and Games
or CS 111 Discovering Computer Science: Scientific Data and Dynamics
or CS 112 Discovering Computer Science: Markets, Polls, and Social Networks
CS 173Intermediate Computer Science
CS 181Data Systems
CS 234Mathematical Foundations of Computer Science
CS 271Data Structures
CS 281Introduction to Computer Systems
CS 371Algorithm Design and Analysis
CS 395Technical Communication I
MATH 135Single Variable Calculus

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 395/495, 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 - Operating Systems, and four additional Computer Science courses at the 300 or 400 level (excluding 395/495, 361-362, and 363-364). The electives must include at least one Theory elective and one Applied elective. Students may substitute MATH 220 - Applied Statistics for one of these additional courses. We recommend that Bachelor of Science candidates also take MATH 145 - Multi-variable Calculus and MATH 300 - Introduction to Proofs, and one or more of MATH 213 - Linear Algebra and Differential EquationsMATH 220 - Applied Statistics and MATH 435 - Mathematical Modeling.

Students majoring in Mathematics or Computer Science may take up to two cross-listed mathematics or computer science courses to count as requirements in the intended major.  These cross listed courses typically satisfy electives in the major.  Courses pre-approved for this policy include Math/CS 334 Theory of Computation, Math 415/CS 337 Operations Research, and Math 427/CS 335 Probability, Computing, and Graph Theory.  Math 220 (Applied Statistics) is also pre-approved as an elective for the computer science BS major.  A year-long senior research project may count as one elective toward the major.  Other math and computer science courses must be approved by the department prior to enrollment.

Electives

The three categories of Computer Science electives are Theory, Systems, and Applied courses.
  • Theory electives are proof-based and feature a high level of mathematical content.
  • Systems electives are concerned with the principles and practice of providing infrastructure that enables other software to be executed.
  • Applied electives demonstrate applications of computer science to a variety of other disciplines.
The Applied courses are
CS 309Computational Biology
CS 314Game Design
CS 337Operations Research
CS 339Artificial Intelligence
CS 349Software Engineering
CS 391Robotics
The Systems courses are
CS 345Parallel Systems and Programming
CS 372Operating Systems
CS 373Programming Languages
CS 374Compilers
CS 375Computer Networks
CS 377Database Systems
CS 382Fog, Cloud Systems and loT
The Theory courses are
CS 333Big Data Algorithms
CS 334Theory of Computation
CS 335Probability, Computing and Graph Theory

Computer Science Minor

A minor in computer science consists of:

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
CS 112
Discovering Computer Science: Markets, Polls, and Social Networks
CS 173Intermediate Computer Science
CS 181Data Systems
CS 234Mathematical Foundations of Computer Science
CS 271Data Structures
MATH 135Single Variable Calculus

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 145Multi-variable Calculus
MATH 213Linear Algebra and Differential Equations
CS 173Intermediate Computer Science
or CS 181 Data Systems
One of
CS 109Discovering Computer Science
CS 110Discovering Computer Science: Digital Media and Games
CS 111Discovering Computer Science: Scientific Data and Dynamics
CS 112Discovering Computer Science: Markets, Polls, and Social Networks

and an additional course which may be in another department, that must have a strong and persistent mathematical modeling or computing component and must be approved in advance by the Department of Mathematics or the Department of Computer Science.

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 Department of Mathematics or the Department of Computer Science before the end of the student's junior year of study and prior to enrollment in the elective courses.  In particular, the elective courses and cognate requirements specified 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 non-math courses as their elective courses. Any computer science major who wishes to complete this concentration must choose non-computer science courses for their elective courses. 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.

Research at Denison

Denison offers a number of research opportunities, including funding for summer research projects.  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 (on hiatus fall 2019) described at http://denison.edu/academics/oak-ridge or various National Science Foundation Research Experience for Undergraduates experiences. Interested students should consult a faculty member as early as possible in the fall semester.

Off-Campus Study

The Department of 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. Computer Science majors who are fluent in another language will have special advantages in the job market.

Students may take up to two classes outside the department to transfer towards the major at Denison.  Additional courses taken outside Denison may accrue credit hours towards graduation, but will not contribute to requirements in the major.  Courses taken outside the university must be pre-approved for acceptance towards major requirements.  Students should provide the department chair syllabi for the intended courses for department approval.  Students may petition the department chair for exceptions to this policy.  In particular, transfer students may be eligible to transfer additional courses towards major requirements.