Requirements
Computer Science Major
The major in computer science consists of at least nine computer science courses and at least one mathematics course, as follows:
Code | Title | Credits |
---|---|---|
Required Courses | ||
Select one mathematics course numbered 1300 or higher. | 1 | |
CSCI 2101 | Data Structures | 1 |
CSCI 2200 | Algorithms | 1 |
CSCI 2330 | Foundations of Computer Systems | 1 |
Select at least one course from each of the following areas, for a total of six computer science electives, at least two of which must be advanced-level courses numbered 3000 or higher: | 6 | |
Algorithms/Theory | ||
CSCI 2210 | Theory of Computation | |
CSCI 3220 Logic in Computer Science | ||
CSCI 3210 | Computational Game Theory | |
CSCI 3250 | Computational Geometry | |
CSCI 3225 | Algorithms for GIS | |
Artificial Intelligence | ||
CSCI 2400 | Artificial Intelligence | |
CSCI 3400 | Cognitive Architecture | |
CSCI 3420 | Optimization and Uncertainty | |
CSCI 3445 | Nature-Inspired Computation | |
CSCI 3465 | Financial Machine Learning | |
CSCI 3725 | Computational Creativity | |
CSCI 3485 | Deep Learning for Computer Vision | |
Systems | ||
CSCI 2320 | Principles of Programming Languages | |
CSCI 2335 | Software Engineering | |
CSCI 3310 | Operating Systems | |
CSCI 3325 | Distributed Systems | |
Projects Courses | ||
CSCI 3225 | Algorithms for GIS | |
CSCI 3325 | Distributed Systems | |
CSCI 3445 | Nature-Inspired Computation | |
CSCI 3465 | Financial Machine Learning | |
CSCI 3485 | Deep Learning for Computer Vision | |
CSCI 3725 | Computational Creativity |
Computer Science 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
- Students interested in majoring in computer science must complete CSCI 2101 Data Structures with a letter grade of C- or better by the end of their sophomore year. Prospective majors are also encouraged to satisfy their mathematics requirement as early as possible (ideally in their first two years).
-
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 CSCI 2101 Data Structures is a letter grade of C+ or better in CSCI 1101 Introduction to Computer Science or CSCI 1103 Accelerated Introduction to Computer Science. For all other CSCI 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.
-
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).
-
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.
-
Majors may double-count one course with another department or program. Minors may not double-count any courses with another department or program.
-
Advanced Placement and International Baccalaureate scores, in addition to the computer science placement test, are only used for placement.
-
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.
Information for Incoming Students
Students interested in computer science start with one of three courses, based on their computer science and mathematics placement test results: CSCI 1101 Introduction to Computer Science, CSCI 1103 Accelerated Introduction to Computer Science, or CSCI 2101 Data Structures. CSCI 1103 Accelerated Introduction to Computer Science covers the same materials as CSCI 1101 Introduction to Computer Science, but at an accelerated pace and without a lab section. Placements are binding and may not be overridden without permission of the department. Students with a placement of CSCI 1103 Accelerated Introduction to Computer Science should note that this course is normally offered only in the fall; CSCI 1101 Introduction to Computer Science and CSCI 2101 Data Structures are offered every semester. Students with a placement of MATH 1050 Quantitative Reasoning should complete MATH 1050 Quantitative Reasoning before taking a computer science course.
Introductory computer science classes regularly fill to capacity, and registration priority is given to first-years. Students are strongly encouraged to take their first computer science course during their first year, when they have priority registration. Students who intend to pursue a computer science major are required to complete CSCI 2101 Data Structures with a letter grade of C- or above by the end of their sophomore year.
Prior knowledge of computer science is used for placement only and does not count as credit towards the major. Students with any questions about appropriate placement should talk to a member of the department prior to registration.
This is an excerpt from the official Bowdoin College Catalogue and Academic Handbook. View the Catalogue