A Pattern Language for Course Development
in Computer Science


Joseph Bergin
Pace University



This document is extremely preliminary and will undergo frequent updates. It is currently just an outline, making reference to the various patterns in other papers that will be incorporated into this work. Many of the patterns referred to are in the two pedagogical patterns papers on my home site.

In particular, within each section below there is nothing implied by the current ordering. A few of the links may be just place holders for work in progress.

These patterns are intended to help a professor design and deliver a single course lasting one term or semester. The focus is on Computer Science, though much of the advice may apply to other disciplines as well. Most of the information here is known to most skilled instructors. Some may be new to some individuals, of course, but the intent is not to show anything invented by this author. Instead, as all patterns are supposed to do, the intent is to capture good practice in a compact way so that it may be communicated to others, especially to novice instructors.

Many of the patterns are associated with a time scale to guide your thinking about them. However, some may be used in other ways at other scales than the one in which they are categorized.

Prior to the Course

These patterns are intended to help you prepare the course and choose material. They hope to guide your thinking about the course itself, rather than its delivery.

New Pedagogy for New Paradigms

Need to Know

Abandon Systems

Check Prerequisites (Fricke & Völter)

Adapt to Student Background (Fricke & Völter)

Iterative Course Development (Anthony)

Course as a Whole

Advice is given here that applies to the course organization as a whole. These should guide your design about sequencing the material and deciding on activities. The time scale is a few months.

Early Bird

Spiral (and Anthony's Chicken and Egg,which may be used at any level)

Multi Pronged Attack

Groups Work

Lazy Professor (and Fricke & Völter's Different Approaches and Invisible Teacher)

Active Student (This is being expanded into a small pattern language)

Buddy System

Language Reinforces Paradigm

Write Over Read

General Concepts First (Fricke & Völter)

Study Groups

Reduce Risk

Stealth Instructor

Starting the Course and Starting Major Topics

The idea of these patterns has to do with the first introduction of new material. How can you introduce new topics? What initial activities are appropriate?

Set the Stage

Lay of the Land and Anthony's Module's Story

Visible Plan and Fricke & Völter's Manuscript

Learn Their Names and Fricke & Völter's Nameplate

Fixer Upper


Read Before Write

Consistent Metaphor

High Leverage

Scale of Weeks

Patterns in this section are fairly large in time scale. They are intended to cover the delivery of major topics and handling of major student projects.

Larger Than Life

Tool Box

Take a Risk

Constant Challenge

Inlook - Outlook

Assigning and Grading (short) Team Projects (Meyer #41 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp41.htm

Explore-Present-Interact-Critique (Knudsen & Madsen #11 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp11.htm

Sneak Preview (Ben #51 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp51.htm

Scale of Days

Advice is given here at about the scale of one week. This covers minor student projects and components of major topics.

Toy Box

Fill in the Blanks

Quality is Job One

Different Exercise Levels (Fricke & Völter)

Repeat Topics (Fricke & Völter)

Chunks of Information (Bienhaus)

Key idea is to structure material keeping Miller's "Rule of 7" in mind. Do this for lectures, assignments, ...

Example Lasts One Week (Anthony)

Acquaintance Examples (Anthony)

Lab-Discussion-Lecture-Lab (Manns #8 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp8.htm

Lecture-Activity-Student Presentation-Discussion (Sharp #9 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp9.htm

The Three Bears (Beck #17 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp17.htm

Scale of Hours

The scale here is about one or two lectures. What can you do day to day in the handling of the course?

Smile and Greet and Fricke & Völter's Welcome the Participnts

Student Driven Lecture

Reveal Yourself

Student Design Sprint


Icky Poo and Anthony's Simulation Games

Expose the Process (Becker #56 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp56.htm

Relevant Examples (Fricke & Völter)

Digestible Packets (Fricke & Völter)

Separate Similar Content (Fricke & Völter)

Reference Examples (Anthony)

Gagne'-Ausbel Pattern of Lecture (DeClue #19 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp19.htm

Role Play (Bergin, Eckstein, Manns, and Wallingford: Patterns for Gaining Different Perspectives. There is additional material on Role Play at http://csis.pace.edu/~bergin/Java/RolePlay.html and http://csis.pace.edu/~bergin/patterns/objectgame.html)

Scale of Minutes

These patterns are intended for on your feet thinking and handling the immediate interactions with students.

Gold Star

Test Tube

Media Discipline

Positive Feedback First

Honor Questions (Fricke & Völter)

Nobody is Perfect (Fricke & Völter)

Review After Breaks (Fricke & Völter)

In-Line Exercises (Marler #42 ppp) http://www-lifia.info.unlp.edu.ar/ppp/pp42.htm


The remaining patterns in the language are not so much time dependent. This set covers testing and student evaluation.


Fair Project Grading

Fair Team Grading

Key Ideas Dominate Grading

Student Online Portfolios

Grade It Again Sam

Student Selected Activities

Trial Exam (Fricke & Völter)

Self Test (Steindl)

Debrief After Activities (Anthony)

Peer Feedback


What can you do to set up and maintain good communication with your students and between students?

Rule of 1 - Rule of 2

24 by 7

Constant Feedback

Differentiated Feedback

Early Warning

Anonymous Mailbox (Fricke & Völter)

Feedback (Fricke & Völter)

Ask Your Neighbor (Eckstein)


A collection of patterns for getting and giving Feedback was prepared for EuroPLoP 2002 by Eckstein, Bergin, and Sharp: http://csis.pace.edu/~bergin/patterns/FeedbackPatterns.html.

Some of those patterns appear here as well.

Dealing With Problems

Problems always occur in running any course. These patterns give some advice about being prepared for the inevitable.

Buffers (Fricke & Voelter)

Prepare Equipment (Fricke & Völter) (and have a backup)

Let the Plan Go (Fricke & Völter)

Debrief (Fricke & Völter)

Human Professor

Capture Everything


Anthony, Patterns for Classroom Education, Pattern Languages of Programming 2, Vlissides, Coplien, Kerth (editors), Addison Wesley, 1996, pp 391ff. On the web at: http://ianchaiwriting.50megs.com/classroom-ed.html

Bienhaus, Patterns for Human Oriented Information Presentation, Presented at EuroPLoP 2000, (bienhaus@t-online.de)

Eckstein, Learning to Teach and Learning to Learn, Presented at EuroPLoP 2000, (jeckstein@acm.org)

Fricke and Völter, Seminars, Presented at EuroPLoP 2000, http://www.voelter.de/seminars

Steindl, Pedagogical Pattern Self Test, Presented at EuroPLoP 2000, (steindl@acm.org)

Bergin, Eckstein, Manns, Wallingford, Patterns for Gaining Different Parspecitves (Plop 2001)

Eckstein, Bergin, Sharp, Feedback Patterns (EuroPLoP 2002)

Last Updated: May 26, 2002