Return to Table of Contents

Go to Course Listings

Go to bottom of document
Go to middle of document

Go to: Program Requirements
Go to: Recommended Sequences in Computer Science
Go to: Faculty

Computer Science

Departmental Counselor: Donald E. Crabb, Ry 161B, 702-7173
Director of Undergraduate Studies: Stuart A. Kurtz, Ry 162B, 702-3493
Associate Director of Undergraduate Studies: Donald E. Crabb, Ry 161B, 702-7173
Departmental and Concentration Secretary: Ry 152, 702-6614

Program of Study

The Department of Computer Science was founded in 1983 and began offering advanced degrees (M.S. and Ph.D.) soon after its inception. On February 21, 1995, the department began to offer a concentration program in computer science to undergraduates.

This new computer science concentration program is intended to prepare students for either graduate work or employment in computer science by offering both the degree of Bachelor of Arts and the degree of Bachelor of Science. Students receiving the B.A. will have sufficient breadth and depth for either graduate study or immediate employment in computer science. Recipients of the B.S. will, in addition, have acquired substantial depth and breadth in a field outside of computer science through the completion of an approved minor program.

A concentration in mathematics with a specialization in computer science continues to meet the needs of mathematics majors who also have a strong interest in computing. The description of that program may be found in the Mathematics section of this catalog.

The requirements for a degree in computer science express the educational intent of the Department of Computer Science; they are designed around the concept of the cumulative character of an education based on computer science, mathematics, and the other sciences, as well as the interdisciplinary nature of a liberal arts education.

Requirements for the bachelor's degree look to the advancement of students' general education in computer science and their knowledge of its relation to the other sciences (Bachelor of Science) or to the other arts (Bachelor of Arts). Descriptions of the detailed requirements that give meaning to these educational intentions follow. Students should understand that any particular degree requirement can be modified if persuasive reasons are presented to the departmental counselor.

Placement. The Department of Computer Science does not offer credit or placement for Advanced Placement tests in computer science.

Program Requirements

Undergraduate Programs. Two bachelor's degrees are available in the Department of Computer Science: the B.A. in computer science and the B.S. in computer science. Additionally, the Department of Mathematics administers a B.S. in mathematics with specialization in computer science. More information on this degree program can be found in the listings for the Department of Mathematics elsewhere in this catalog.

Both computer science baccalaureate degree programs require fulfillment of the College's general education requirements. Of these, the Common Core mathematical sciences requirement must be satisfied by completing an approved two-quarter calculus sequence. The Common Core physical sciences requirement must be satisfied by completing an approved one-year sequence in either chemistry or physics.

NOTE: It is the policy of the Division of Physical Sciences that students concentrating in computer science may not use physical sciences placement credit to fulfill the general education requirement.

Students taking a bachelor's degree in computer science should note that by judicious employment of courses from another field for extradepartmental requirements or for electives, a minor field can be developed which is often in itself a solid basis for graduate or professional work in that field. Some possible disciplines where this collateral minor benefit applies include biology, biophysics, chemistry, education, geophysical sciences, history, linguistics, mathematics, philosophy, political science, psychology, physics, sociology, statistics, and theoretical economics.

Degree Programs in Computer Science. Candidates for the B.A. and B.S. in computer science take a third quarter of calculus, as well as nine courses in computer science taken from an approved program. B.A. students also take three courses outside computer science, at least two of which must form an approved sequence. B.S. students add a course in linear algebra to the nine computer science courses required of B.A. concentrators. B.S. students take two additional courses outside of computer science that form an approved sequence, as well as a three-course minor in a related field outside of computer science.

Approved Programs. The notion of "approval" in the concentration program requirements allows timely response to change in the course offerings of the various departments. The computer science faculty is responsible for approval of specific courses and sequences. An initial list of approved course sequences follows.

Approved Mathematical Sciences Courses. The following sequences are approved for the mathematical sciences component of the Common Core, as well as the third quarter of calculus required for the concentration program:

Math 131-132-133
Math 151-152-153
Math 161-162-163

Go to top of document
Go to bottom of document

Approved Physical Sciences Courses

Chem 111-112-113
Chem 121-122-123
Phys 121-122-123
Phys 131-132-133
Phys 141-142-143

Approved Linear Algebra Courses

Math 250
Math 255
Math 258

Approved Course Sequences from Outside Computer Science

Astron 213-214
BioSci 196-197
Chem 111-112, or 121-122, if chemistry is not used to satisfy the physical sciences requirement.
Chem 201-202, 217-218, or 220-221
Econ 200-203, 210-211
GeoSci 231-232
Math 203-205, 207-209, 254-256, or 257-259
Philos 235-285
Phys 121-122, 131-132, or 141-142, if physics is not used to satisfy the physical sciences requirement.
Phys 225-227, or 234-235
Stat 220-222, 220-224, or 244-245

Approved Computer Science Concentration Program

At present, there is a single approved program. This is a general program in computer science and is used for either the B.A. or the B.S. degree.

Introductory Programming(2 Courses Required)

ComSci 105 and 116
ComSci 115-116 (strongly recommended)

Advanced Programming (1 Course Required)

ComSci 117
ComSci 217
ComSci 220

Programming Languages and Systems (2 Courses Required)

ComSci 221-222
ComSci 221 and 230
ComSci 222 and ComSci 230

Algorithms and Theory (2 Courses Required)

ComSci 270 and ComSci 280
ComSci 270 and ComSci 281

Artificial Intelligence (2 Courses Required)

ComSci 250-251

Go to top of document
Go to bottom of document

Approved Minor Programs

Minor programs for the B.S. degree must be approved by the departmental counselor.

Summary of Requirements:

General		Chem 111-112-113 or 121-122-123 or 
Education
Phys 121-122-123 or higher
Math 131-132, 151-152, or 161-162

Concentration 1 third quarter of a calculus sequence
9 courses in computer science, drawn from the approved program
plus the following requirements:

B.A. B.S.
3 courses from outside 1 course in linear algebra computer science, at least two of which form an approved sequenc
2 courses from outside
computer science forming
an approved sequence
3 courses in an approved
minor program in a related field
outside computer science
_____ _____
13 (total) 16 (total)

Grading. Subject to College and divisional regulations and with the consent of the instructor, all students, except concentrators in computer science, may register for regular letter grades, P/N grades, or P/F grades in any course in computer science. A Pass grade is given only for work of C- quality or higher.

Concentrators in computer science may take any 200-level computer science course elected beyond concentration requirements for a grade of P. A grade of C- or better must be earned in each course used to fulfill concentration program requirements. Courses taken to fulfill concentration requirements in computer science must be taken for a quality grade.

Incompletes are typically given in the Department of Computer Science only to those students who have done at least 60 percent of the course's work at passing quality and who are unable to complete all course work by the end of the quarter. Other restrictions on Incompletes are the province of individual instructors, many of whom do not permit Incompletes. Students must make arrangements in advance with instructors and obtain their written consent to receive Incompletes.

Honors. Students may earn a B.A. or B.S. degree with honors by attaining a grade of B or better in all courses in the concentration and by attaining a grade of B or better in a three-course sequence (taken as a minor or as electives) consisting of graduate computer science courses (300-level and above).

Students may also earn a B.A. or B.S. degree with honors by attaining the same minimum B grade in all courses in the concentration and by writing a successful bachelor's thesis under the auspices of Computer Science 298.

This thesis must be based on an approved research project that is directed by a faculty member and approved by the departmental counselor.

Go to top of document
Go to bottom of document

Recommended Sequences in Computer Science

Introductory Sequences. The kinds of computer science courses appropriate for undergraduates will vary according to each student's interests. Students interested in a general programming background are encouraged to take Computer Science 105 and 116. Students in the humanities (or others with a humanistic background) and social sciences should take Computer Science 110, then Computer Science 111. The following courses provide a two-quarter introduction to computer science, stressing its connections to other liberal arts: Computer Science 110-111: Computer Programming as a Liberal Art I and II. Students with a strong mathematics background should consider Computer Science 115-116-117, an introduction to computer science using the Scheme and C++ languages.

Courses in Specific Areas of Computer Science. Students interested in artificial intelligence (AI) should take Computer Science 250 and 251 in addition to 115-116-117. Graduate-level AI courses will also be offered during 1995-96, and are open to College students. These courses are numbered Computer Science 350-359. Consult the course listings for details. Students interested in advanced programming, that is, systems, should take Computer Science 115-116-117 and Computer Science 221-222. Time permitting, they should also take Computer Science 230 and 270 and such courses in advanced programming topics that may be offered. Students interested in theoretical computer science, that is, the mathematics of computation, should complete basic courses in mathematics and then take Computer Science 270 as well as 280 and 281. (Computer Science 115-116-117 is also recommended.) Once students have completed Computer Science 270 and 281, they will be qualified for most of the advanced topics courses offered at the 300-level and above.

The department also offers a number of special-interest courses that are detailed in the course descriptions. Other new courses are being added to the schedule on a regular basis, and students should contact the departmental counselor for more information.

Preparation for Graduate Study in Computer Science. Students interested in continuing their studies beyond the undergraduate level should take as many computer science courses as possible as well as concentrating in computer science. The most important ones are Computer Science 115-116-117, 222, 230, 270, and 281. Also important are Computer Science 221 and 280. Donald Crabb, the departmental counselor, and Lance Fortnow, chairman of the graduate committee, are available to discuss options for graduate study with students.

Faculty

LASZLO BABAI, Professor, Departments of Computer Science and Mathematics

DONALD E. CRABB, Lecturer, Department of Computer Science and the College; Associate Director, Undergraduate Studies

TODD DUPONT, Professor, Departments of Computer Science and Mathematics and the College; Chairman, Department of Computer Science

R. JAMES FIRBY, Assistant Professor, Department of Computer Science and the College

LANCE FORTNOW, Assistant Professor, Department of Computer Science and the College

TERRY GAASTERLAND, Assistant Professor, Department of Computer Science

KRISTIAN J. HAMMOND, Associate Professor, Department of Computer Science and the College

STUART A. KURTZ, Associate Professor, Department of Computer Science and the College

CHARLES MARTIN, Assistant Professor, Department of Computer Science

KETAN MULMULEY, Associate Professor, Department of Computer Science and the College

MICHAEL J. O'DONNELL, Professor, Department of Computer Science and the College

JANOS SIMON, Professor, Department of Computer Science

ROBERT I. SOARE, Professor, Departments of Computer Science and Mathematics and the College

MICHAEL SWAIN, Assistant Professor, Department of Computer Science and the College

Go to top of document