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