[plt-scheme] Perplexed Programmers

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Fri Aug 31 11:07:39 EDT 2007

On Aug 30, 2007, at 7:56 PM, Richard Cleis wrote:

> Have you ever considered using projects contributed from industry?   
> (It doesn't seem likely that a broad enough match could be made to  
> what you need to teach.)  It could be an effective way to raise  
> awareness levels in my neck of the woods.

Yes and no. I am targeting the course at middlers (3 out of 5 years)  
not seniors. So they are not quite ready. However, a senior seminar  
course with industry projects is also on my list. It just looks like  
so much work that my research time would go to 0.

-- Matthias

> rac
> On Aug 30, 2007, at 4:58 PM, Matthias Felleisen wrote:
>> On Aug 30, 2007, at 12:23 PM, Marco Morazan wrote:
>>> On 8/29/07, Brent Fulgham <bfulg at pacbell.net> wrote:
>>>> 2.  Engineering firms have a strong system of apprenticeship.
>>>> 3.  Engineering firms have a strong culture of review, in which  
>>>> senior
>>>> engineers review the designs largely created by teams of lower- 
>>>> level
>>>> engineers.
>>> I have tried my hand at this in the setting of undergraduate
>>> education. I have my senior undergraduate RAs critique the work of
>>> less senior students. Once they are satisfied the work makes it  
>>> to my
>>> desk where I get a chance to critique it. Students writing programs
>>> become extremely frustrated, but those that buy into the model  
>>> benefit
>>> greatly from it.
>> After some 10 lectures or so, the "how to design systems" course  
>> is almost entirely based on code reviews plus some ad hoc lectures  
>> in the middle of code walks. We (my tas and i) act as masters; the  
>> students are apprentices.
>> I started this in 1998 at Rice during PL and refined this  
>> tradition over the past 10 years for HtDS.
>> For the past two iterations, I have conducted the code walks in  
>> the spirit of IBM's Fagan articles:
>>  -- all programming happens in pairs, not teams
>>  -- we have some 30 pairs
>>  -- the projects range from 5Kloc in a decent scripting languages  
>> to 12Kloc in a mainstream language (aka Java)
>>  -- maintenance of your own code and other people's code over the  
>> semester is required
>>  -- pairs are switched
>>  a pair presents its design, code, and tests
>>  3 students are the panel
>> The panel inspects the code of the pair. Nobody else is allowed to  
>> intervene. The class can ask if the panel fails. We step in if  
>> both fail to see problems.
>> All pairs have a 45 min review at the end of the semester with  
>> course staff.
>> I believe that the course is highly effective in improving their  
>> programming skills.
>> -- Matthias
>> _________________________________________________
>>  For list-related administrative tasks:
>>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.