Feb 21, 2024
The department views computer science as an academic discipline firmly rooted within Clark University’s liberal-arts tradition, with an emphasis on the science of designing software and hardware. Courses emphasize concepts and principles; at the same time, the program closely follows ACM guidelines for university computer science. The major provides preparation for a variety of career paths, both inside and outside the academic community. Two courses in fundamentals of computer science and one course in discrete mathematics serve as general introductory courses. Four intermediate courses (core requirements) expose the principles of computer science. One year of calculus is required and should be completed as soon as possible, if at all possible by the end of the sophomore year. Beyond this, a series of elective courses is offered in which applications and advanced topics are explored. Further information, including expanded course descriptions, can be found on the department’s Web site.
These courses are prerequisites for the advanced courses and should be taken as soon as possible.
This sequence should be complete as soon as possible; we recommend by the end of the sophomore year.
Four courses in computer science at the 200 level, not including internships or reading courses except with departmental approval.
Declaring a Major
The department has a system of advising to assist students with their course selections. Department faculty are eager to help students select courses. A major must be declared no later than the second semester of the sophomore year; earlier declarations are encouraged. Students should choose an academic adviser from the department faculty as early as possible or at least by the time the major is declared.
Entering students enrolled in first-year seminars in programs outside mathematics, computer science or the natural sciences are especially encouraged to make a prompt choice of an unofficial secondary adviser in the Computer Science Department, who will be able to supplement the advice offered by their primary adviser.
Suggested Program Sequence
It is important to begin the computer science program early. An ideal program sequence begins with CSCI 120 - Introduction to Computing in the fall of the first year, followed by CSCI 121 - Data Structures and MATH 114 - Discrete Mathematics in the spring semester. A calculus sequence (MATH 120, MATH 121,or MATH 124, MATH 125) should be taken starting in the first year if possible, and in no case later than the second year. The four core courses should be taken as soon as possible.
The three mathematics courses required for the computer-science major are meant to ensure that all students will have the mathematical tools, which are indispensable for the study of computer science. MATH 114 is a direct or indirect prerequisite for essentially all intermediate and advanced computer-science courses, and should be taken as early as possible by any student who may be interested in computer science. If it is not possible for a student to take both MATH 114 and Calculus during the first year, preference should be given to MATH 114.
Reading courses on special topics may be arranged with the permission of a member of the departmental faculty who will serve as supervisor. Departmental policy requires that a reading course can only be taken Pass/No Credit. Reading courses may not be substituted for 200-level courses to fulfill departmental requirements.
A major who maintains at least a 3.2 average (4.0 scale) in courses required for the major may apply for the departmental honors program. A student’s application in writing must be directed to a prospective honors adviser or the department chair by the end of the student’s junior year. Honors may be achieved in one of two ways: (1) a unified four-course sequence as a senior (some parts of which may consist of directed readings) followed by a comprehensive examination; or (2) an honors project to be presented at an oral defense or at a department seminar. This project may be an independent or joint research thesis, or it may be a programming project. Supporting course work may be required. Students interested in pursuing the honors program should consult their department adviser. The student registers for CSCI299, Sec. 8, for course credit for an honors thesis. Upon satisfactory completion of the program, the department may recommend graduation with honors, high honors or highest honors.