Curriculum

Computer Science in the Academic Catalog

Vital Elements of Grinnell's Computer Science Curriculum

Grinnell's computer science curriculum has several special strengths, including:

AI with Henry Walker

Problem-Solving Perspectives

Computer science recognizes at least four problem-solving approaches as being fundamental to work in the discipline. Each approach involves a distinct way of thinking, and each is supported by a range of computer languages. These paradigms may be outlined as follows:

  • Functional Paradigm:
    Supported by such languages as Scheme, LISP, ML, Miranda
  • Imperative Paradigm:
    Supported by such languages as Pascal, C, FORTRAN
  • Object-Oriented Paradigm:
    Supported by such languages as Smalltalk, C++, Java
  • Logic Paradigm:
    Supported by such languages as Prolog, Gödel
Intro. CS with Janet Davis

Since different approaches have advantages for different problems, people involved with computing should be comfortable with several of these paradigms.

Grinnell's introductory courses provide students with considerable practice and insight for each of these approaches early in the curriculum, introducing the functional, object-oriented, and imperative paradigms.


Attention to National Curricular Guidelines

National organizations publish expectations regarding the content of undergraduate computer science programs:

  • The professional societies, the Association for Computing Machinery (ACM) and the IEEE Computer Society, regularly publish national guidelines. The most recent volume for computer science is Computing Curricula 2001.
  • For liberal arts colleges, the Liberal Arts Computer Science Consortium publishes A 2007 Model Curriculum for a Liberal Degree in Computer Science, Journal on Educational Resources in Computing (JERIC), Vol. 7, Issue 2 (June 2007), Article 2.
Intro. CS with John Stone

Grinnell's faculty are actively engaged with these societies and organizations, and Grinnell's curriculum takes these recommendations into account regarding the core of the undergraduate program. Elective courses and independent projects enrich the curriculum further.