Grinnell's CS faculty delight in innovative pedagogy and blend several approaches within each course, according to the nature of the material under study. Students learn in different ways, making diversity of styles an important strength of courses. Most courses employ several styles, such as lectures, mini-lectures, group discussion, small group activities, large group activities, lab-based exercises, collaborative learning, and pair programming. Also, many CS courses meet daily within a lab environment, so that work may move between lab-based exercises and other activities, and this transition may take place several times within a single class session.
For example, introductory courses (e.g., CSC 151 and CSC 161) often follow a lab-based format and foster collaborative learning. After reading a short web-based discussion, students come to class for a lab that highlights ideas, allows experimentation with concepts, and applies principles to specific problems. Some exercises involve programming, others running experimenting, and still others comparing approaches. Students are encouraged to work in pairs on labs, while other assignments may involve involve individual work.
Through a typical class session in an introductory course, the instructor (sometimes aided by a lab assistant) circulates through the class, talking to each group, answering student questions, suggesting alternative approaches, and clarifying ideas. When similar issues arise from several students, the instructor may give a mini-lecture on the matter at hand. In this format, one instructor estimates he lectures about 4 hours per month—mostly in 10-minute pieces.
Similarly, upper-level courses often meet in a teaching lab, so that work can move easily from lecture to lab-based exercise to small group.