Grinnell's introductory courses introduce fundamental views of problem solving and different supporting programming languages. Upper-level courses include several core courses and many elective courses. The major provides some flexibility to allow students to follow their personal interests and career goals.
The Computer Science Major balances requirements in foundational areas with some flexibility.
Grinnell's regular Computer Science Major requires 32 credits of computer science and 8 credits in supporting mathematics. This level of background supports many student interests and career goals. However, students interested in careers in computing are advised that the following courses should be taken either as Electives for the Computer Science Major or as additional courses:
With these selections, students cover the full range of recommendations recommended by Association for Computer Machinery (ACM), the Computer Society of the Institute of Electrical and Electronics Engineers (IEEE-CS). This extended major includes 32 credits of computer science and 8 credits in supporting mathematics and is identified by the professional societies as a curricular exemplar.
The Computer Science Department offers a range of electives to extend student backgrounds beyond the undergraduate core. In addition to regularly scheduled courses, special topics courses address particular interests of both students and faculty.
Some recently-offered electives have included artificial intelligence, computer networks, computer vision, computational linguistics, and evolutionary algorithms, and data visualization.
Complementing regular courses, students work with faculty on a wide range of guided reading courses, independent projects, and mentored advanced projects.