CS Education

About Introductory CS at Grinnell

What is Computer Science?

Most incoming students have a reasonable sense of what natural and physical scientists do and how they do it. However, most also lack similar knowledge about computer scientists.

Most computer scientists would say that we study algorithms and information structures.

As you may have noted, we rely on paradigms from a variety of super-disciplines. From mathematics, we take techniques of proof and evaluation. From science, we take experimental techniques. From engineering, we take design and construction. While particular courses and topics may emphasize one of these aspects over others, most topics and problems involve all three perspectives.

You'll find that most computer science courses require you to think on several scales, from a small level of detail (we all have experience with computers misunderstanding us because of a small typo) to broad perspectives, such as designing library-sized databases.

Introductory Courses

Grinnell offers four introductory computer science courses, CS151 (Fundamentals of Computer Science I), CS153 (Computer Science Fundamentals), CS105 (An Algorithmic and Social Overview of Computer Science), and Math/CS103 (Problem Solving and Computing).

CS151 is our core course, the course we expect most students to take. It serves as an entry into the major, but also provides an appropriate background in computing for most Grinnell students. We teach CS151 using a programming language called Scheme. Scheme is interesting in that it requires much less syntax than other languages. It is also small enough that students can learn most of the language in less than a semester. We also like it because few students have seen it, so it puts people on an equal footing. Because the course provides an introduction to computer science, you will find that the focus is on algorithms and ways to study them. While there is a lot of programming in the course, the programming is used to ground a broader study of computer science techniques and principles. Students normally take CS152 after CS151. CS152 expands the study of computer science using the programming language Java.

CS153 also serves as an entry into the major and is intended primarily for students with significant prior background (e.g., AP-level work or a course at another institution). It combines topics from CS151 and CS152.

CS105 provides an overview of the discipline for students interested in knowing more about computing, but not interested in going on in the discipline.

CS103 provides an overview of problem solving for students intimidated by mathematics and computers. It also serves preservice teachers who want to think about ways to teach problem solving and computing.

Course Formats

Most of our courses are taught in a workshop-style format. That is, on most days you'll work in a small group (usually two or three) on a set of problems. On some days, you'll also hear a short lecture or participate in a short discussion on the topic. On most days, the class will reflect as a whole on what they learned and what problems they encountered.

Different faculty members assign different kinds of work in the class. Each of us typically gives a weekly assignment, which is usually either a lab writeup or an interesting programming project (e.g., to write a roommate-matching algorithm), although our choices of labs and assignments (and the balance between the two) differs. Some assignments are done collaboratively, some are done individually.

We differ more significantly in our use of exams. Some of us prefer to give no exams, or only a final, while others of us give three exams during the semester. Some of us give in-class exams, others give take-home exams. Exams are only done individually.

Because so much of the class depends on the workshop format, we tend to base part of a student's final grade on class participation.

Tips for Success


This page was generated by Siteweaver on Mon Aug 19 14:25:06 2002.
The source to the page was last modified on Mon Aug 19 14:25:02 2002.
This page may be found at http://glimmer.cs.grinnell.edu/MiscEd/nsp-intro.html.

You may wish to validate this page's HTML ; Valid CSS! ; Check with Bobby

Glimmer Labs: The Grinnell Laboratory for Interactive Multimedia Experimentation & Research
glimmer@grinnell.edu