[plt-scheme] Scheme for first year CS classes, good or bad?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Oct 23 11:09:21 EDT 2009

On Oct 23, 2009, at 8:45 AM, Prabhakar Ragde wrote:

> Matthias Felleisen wrote:
>> Not good enough. You need to train students to spot problems.
>> We run almost all courses now with code reviews. I started in 1996  
>> with this (then pair programming) and the training has continually  
>> improved
> Can you describe the logistics of this? What is the class size, and  
> what course personnel are involved? I am currently teaching an  
> "advanced" class of 45, but our section sizes are now 90-100 in the  
> regular classes, with tutorials of 60. --PR

In our middler course, we form student panels for in-class, public  
code reviews. Each panel has a head reader, a second reader, and a  
scribe. They get an introduction to these roles and they learn as they  
go. The panel is responsible for directing the code walk and for  
conducting it. If the panel misses obviously bad points, my TA or I  
stop the code walk and give the class a chance to spot the problem. If  
anyone does, he gets 'bonus' points. If not, we explain. The scribe  
drafts a memo of things that people should fix and mails it to me or  
my TA. I edit until it's okay. Then it is forwarded to the responsible  
pair. All panelists get grades for their performance and feedback.

We typically conduct three 30 minutes code walks per session, giving  
us three chances to evaluate panel performance.

At the end of the semester, my TA and I conduct a final code walk, 45  
mins each pair.

The typical class size is in the 40s, but I have run it with as few  
students as 18 at Rice and as many as 75 at NEU.

The course is called 'Hell' but I have received thank-you notes from  
students who failed over the years. (They acknowledged that they saw  
the right learning environment even if they didn't learn enough there.)

It is a hellish amount of work, too. The students tend to write some  
10-15Kloc (if they choose C...ava) of 6K in a scripting language. I do  
all of the work that students do, too. Otherwise you don't know what  
you're throwing at them.

-- Matthias

Posted on the users mailing list.