Return to Table of Contents
Go to Course Listings

Go to bottom of document
Go to: Program Requirements
Go to: Faculty

Computer Science

Departmental Counselor: Donald E. Crabb, Ry 161B, 702-7173, decc@cs.uchicago.edu
Director of Undergraduate Studies: Stuart A. Kurtz, Ry 162B, 702-3493, stuart@cs.uchicago.edu
Associate Director of Graduate and Undergraduate Studies: Donald E. Crabb, Ry 161B, 702-7173, decc@cs.uchicago.edu
Departmental and Concentration Secretary: Lori Gullickson, Ry 152, 702-1799, lori@cs.uchicago.edu World Wide Web: http://www.cs.uchicago.edu/

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. In 1995, the department began offering a concentration program in computer science to undergraduates.

This 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

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


For the most up-to-date information on the Department of Computer Science and the concentration in computer science, check the departmental Web site at the following URL: http://www.cs.uchicago.edu.

At present, there is a single approved program that is comprised of required courses in five topical areas plus the minor. This is a general program in computer science and is used for either the B.A. or the B.S. degree.

Introductory Programming Sequence (Two Courses Required):

ComSci 105 and 116, or

ComSci 115-116 (strongly recommended)

Advanced Programming Sequence (One Course Required):

ComSci 117, or

ComSci 217

Programming Languages and Systems Sequence (Two Courses Required):

ComSci 221-222, or

ComSci 221 and 230, or

ComSci 222 and ComSci 230

Algorithms and Theory Sequence (Two Courses Required):

ComSci 270 and ComSci 280, or

ComSci 270 and ComSci 281

Artificial Intelligence Sequence (Two Courses Required):

ComSci 250-251

Approved Minor Programs

Three-course 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 2 courses from outside

two of which form an computer science forming

approved sequence an approved sequence

(See list on preceding page.) 3 courses in an approved

minor program in a related field outside computer

science

13 16

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 as part 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.

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 115 and 116 [Introduction to Computer Science I and II (Scheme, C++)]. Students in the humanities (or others with a humanistic background) and social sciences should take Computer Science 110/111 [Computer Programming as a Liberal Art I and II (HyperCard)]. Students with a strong mathematics background should consider the full Computer Science 115-116-117 sequence [Introduction to Computer Programming I, II, and III (Scheme, C++)]. Finally, those undergraduates interested in a brief one-quarter introduction to the discipline should consider Computer Science 105 [Fundamentals of Computer Programming (Pascal)]. Should these students require further programming study, taking Computer Science 116 is recommended.

Courses in Specific Areas of Computer Science.
Students interested in artificial intelligence (AI) should take Computer Science 250 and 251 (Introduction to Artificial Intelligence), plus Computer Science 253 (Projects in Artificial Intelligence), in addition to Computer Science 115-116-117. Graduate-level AI courses will also be offered during 1996-97 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, Computer Science 217 (Symbolic Programming), Computer Science 221 (Programming Languages), and Computer Science 222 (Computer Organization). Time permitting, they should also take Computer Science 230 (Operating Systems), and Computer Science 270 (Algorithms), 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 algebra and then take Computer Science 270 as well as Computer Science 280 (Introduction to Formal Languages) and Computer Science 281 (Introduction to Complexity Theory). NOTE: Computer Science 115-116-117 is also recommended. Once students have completed Computer Science 270 and 280 or 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; students should consult the departmental counselor and the home page on the World Wide Web 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 (departmental counselor and associate director of graduate and undergraduate studies) and Lance Fortnow (director of graduate studies) are available to discuss options for graduate study with students.

Faculty

LASZLO BABAI, Professor, Departments of Computer Science and Mathematics and the College

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

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, Associate Professor, Department of Computer Science and the College

IAN FOSTER, Associate Professor, Department of Computer Science and the College

TERRY GAASTERLAND, Assistant Professor, Department of Computer Science and the College

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

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

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

GOPALAN NADATHUR, 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 and the College

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