Revision of Introductory courses from Tue, 2009-07-28 11:39

Introductory Course CSC 151

Multi-paradigm Approach for Introductory Courses

Computing has become widespread in today's society, largely because it helps people solve problems. However, different types of problems require fundamentally different approaches for problem solving. 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.

Grinnell's computer science curriculum explores several of these paradigms in the beginning courses:

  • CSC 151, Functional Problem Solving, emphasizes functional problem solving using the Scheme programming language (a dialect of LISP, a language widely used for artificial intelligence, graphical manipulations, and other applications).
  • CSC 161, Imperative Problem Solving and Data Structures, studies concepts tied to the architecture of computers, compilers, and operating systems within the context of the imperative problem-solving paradigm and C (a programming language widely used in scientific applications and engineering).
  • CSC 207, Algorithms and Object-Oriented Design, explores object-oriented problem solving using the Java programming language (a language widely use for large-scale applications and systems).

Introductory Course CSC 151

Students with considerable background may take an accelerated introductory course, CSC 153, that covers the fundamentals of both CSC 151 and CSC 161 in a single semester.

Later courses build on this foundation to provide depth in each of these problem-solving paradigms and programming languages.