Requirements for the Computer Science Major
Introductory Courses
These courses are prerequisites for the advanced courses and should be taken
as soon as possible.
CSci 101 (Computer Programming I)
CSci 102 (Computer Programming II)
Math 114 (Discrete Mathematics)
Calculus (Math 120-121 or Math 124-125)
This calculus sequence is required, and should be completed as soon
as possible, if at all possible by the end of the sophomore year.
Core Courses
CSci 140 Assembly Language and Computer Organization
CSci 160 Data Structures and Algorithms
CSci 170 Analysis of Programming Languages
CSci 180 Automata Theory
Advanced Courses
Four courses in computer science at the 200 level (not including internships
or reading courses except with departmental approval)
(Total: 13 courses)
Suggested Program Sequence
It is important to begin the computer science program early. An ideal program
sequence begins with CSci 101 (Programming I) in the fall of the first year,
followed by CSci 102 (Programming II) and Math 114 (Discrete Mathematics)
in the spring semester. A calculus sequence (Math 120-121 or Math 124-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 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.
Honors Program
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 advisor 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; (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 advisor. The student registers for CSci 297, 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.
The Computer Science Minor
A minor in computer science consists of six courses: CSci 101-102 (Computer
Programming I and II), and four other courses in Computer Science (although
Math 114, Discrete Mathematics, may substitute for one), at least one of
which is at the 200-level.
Here are some sample minors in computer science:
Software sequence: CSci 101-102, Math 114, CSci 160, 170, and 250.
Theory sequence: CSci 101-102, Math 114, CSci 160, 180, 270.
|