Requirements

Computer Science Major

The major in computer science consists of at least ten courses.

Required Courses
CSCI 2101Data Structures1
CSCI 2200Algorithms1
CSCI 2330Foundations of Computer Systems1
Select at least one course from each the following areas, for a total of six computer science electives, at least three of which must be advanced-level courses numbered 3000 or higher:6
Algorithms/Theory
CSCI 2210
Theory of Computation
CSCI 3210
Computational Game Theory
CSCI 3225
GIS Algorithms and Data Structures
CSCI 3250
Computational Geometry
Artificial Intelligence
CSCI 2400
Artificial Intelligence
CSCI 3400
Cognitive Architecture
CSCI 3415
Robotics
CSCI 3420
Optimization and Uncertainty
CSCI 3445
Nature-Inspired Computation
CSCI 3455
Machine Learning
CSCI 3725
Computational Creativity
Systems
CSCI 2320
Principles of Programming Languages
CSCI 2300 Computer Organization
CSCI 2505
Mobile Computing
CSCI 3300
Computer Networks
CSCI 3310
Operating Systems
CSCI 3325
Distributed Systems
Projects Courses
CSCI 2505
Mobile Computing
CSCI 3225
GIS Algorithms and Data Structures
CSCI 3325
Distributed Systems
CSCI 3415
Robotics
CSCI 3445
Nature-Inspired Computation
CSCI 3455
Machine Learning
CSCI 3715
Human-Computer Interaction
CSCI 3725
Computational Creativity
CSCI 3735 Playable Media
Select one mathematics course numbered 1000 or higher1

One independent study at the intermediate or advanced level may be applied toward the required number of computer science courses, but cannot be used to fulfill any other requirements (areas, projects, or 3000 level).

Most students begin the major with CSCI 1101 Introduction to Computer Science, followed by CSCI 2101 Data Structures. CSCI 1101 Introduction to Computer Science has no prerequisites and requires no prior knowledge of computer science. Students who wish to start with a less programming-oriented introduction to the field may choose to take CSCI 1055 The Digital World, followed by CSCI 1103 Programming with Data,followed by CSCI 2101 Data Structures. Students with prior knowledge of computer science can place out of CSCI 1101 Introduction to Computer Science and start with CSCI 1103 Programming with Data or with CSCI 2101 Data Structures.

Students—particularly those who intend to do graduate work in computer science—are encouraged to collaborate with faculty on research projects through independent studies, honors projects, and fellowship-funded summer research.

Computer Science Minor

The minor in computer science consists of CSCI 2101 Data Structures, plus at least three courses, numbered 2000 or higher. Independent studies in computer science cannot count toward the minor.

Interdisciplinary Major

The department participates in an interdisciplinary major program in computer science and mathematics. See the Interdisciplinary Majors.

Additional Information and Department Policies

  • Each of the courses required for the major or minor must be taken for a regular letter grade (not Credit/D/Fail) with a minimum earned grade of C-.

  • The prerequisite for 2000-level courses is a grade of C or better on the final in CSCI 1101 Introduction to Computer Science or CSCI 1103 Programming with Data. For courses at the 2000 level or above, a grade of C- or better must be earned in the course for it to serve as a prerequisite for another computer science course.

  • At most two of the nine computer science courses required for the major, or one of the four computer science courses required for the minor, can be transfer credit from other institutions.

  • Advanced Placement and International Baccalaureate scores, in addition to the computer science placement test, are only used for placement.


This is an excerpt from the official Bowdoin College Catalogue and Academic Handbook. View the Catalogue