Vital Elements of Grinnell's Computer Science Curriculum
Grinnell's computer science curriculum has several special strengths,
including:
-
Innovative introductory courses
that emphasize multiple views of problem solving
and several programming languages,
-
Special attention to the core of undergraduate computing, as
defined by national curricular guidelines,
-
Balance of theory and application,
-
Coverage of fundamental ideas, principles, algorithms, structures, and
problem solving techniques with care, rigor, and thoroughness,
-
Varied and innovative pedagogy,
-
Extensive opportunities for student-faculty
research.
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
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.
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.