[Edu-sig] a non-rhetorical question

Andrew Harrington aharrin at luc.edu
Sun Jul 8 01:20:36 CEST 2007


Dear Andy,

I have been away and came late to this excellent discussion.

I personally would have only taught the loop constructs without break at 
this level, and then it is true that the problem 'only' needs the basic 
syntactic components of loops, decisions, and compound logical 
expressions.  I have found that students pick up ability with decisions 
very easily (often written in a non-optimal but successful fashion if 
there are multiple choices) and loops are a lot harder, even basic 
loops.  What is left out is what is takes for the creative or logical 
steps to compose the pieces in previously unused ways.  This is the 
major challenge, and I think Andy underestimated the amount of 
creativity required.  One can scaffold, giving a student some ownership 
of a more complicated combination, but the scaffolding does exactly what 
the name suggests, providing a pre-supplied framework into which you can 
supply smaller pieces.  It gives the illusion of completing more than 
you have, because a large part of the creative process is hidden in the 
pre-supplied framework. 

If you give another problem that needs the same framework, then you are 
fine.  For instance, I have taught as a specific pattern loops with two 
possible end conditions, with the compound condition and decision after 
the loop.  (Actually I taught it in the more complicated situation where 
the short-circuit order was important -- a linear sentinel search., 
where a very subtle bug is caused by the wrong order.)

Without having specifically taught such a pattern before giving Andy's 
problem, I agree with Ivan, that a good logical/mathematical background 
is likely to make it much easier.  Without either, it is a considerable 
creative process to put the syntax pieces together in the right 
combination.  It would have been a lot easier if 'Mr. Judkis' were the 
only allowed answer.  The idea of deferring the final response until 
after a conditional outside the loop is subtle for beginners.

(I certainly use the scaffolding approach often, though I an still not 
sure how to use it most effectively to help students gain creative 
abilities to solve from scratch a problem with a completely *different 
unknown* pattern.)

For me, teaching syntax is boring and straight-forward.  Syntax and 
basic examples using one syntax element at a time do not take your 
students very far.  It is a creative process to get a complicated 
problem  and decide how to combine the basic syntax elements.  Teaching 
the creative process is exciting and challenging, and often 
frustrating.  Different students seem to need such different buildup and 
guidance.  As far as I am concerned, teaching introductory programming 
is mostly about this creative process. 

Andy Harrington

Andy Judkis wrote:
> I've just completed my 6th semester as a teacher, teaching 2 sections per 
> semester of a 10th grade course that includes a 4 week introduction to 
> programming in Python.  Here's a question from one of my exams:
>
>     Write Python code that will ask the user how who is the best looking 
> teacher in the school.  The program must loop until the user responds either 
> "Mrs. McGrath" or "Mr. Judkis".  If the use responds "Mr. Judkis", the 
> program must print out "Excellent choice."  If the user responds "Mrs. 
> McGrath", the program must print out "Also a fine choice."  If the user 
> responds with anything else, the program must print out "Wrong, sorry." and 
> ask again.
>
> Rather than catalog my frustrations, let me just pose a question to you 
> all -- how much Python exposure do you think it should take before a student 
> should be able to answer this question?  If a student can't even answer 
> this, is it reasonable to say that they have learned any programming at all? 
> (I know that they might have learned something -about- programming, but that 
> is not the same thing.)
>
> Thanks,
>
> Andy Judkis
>
> (By the way, anybody out there going to be at CS4HS next week at CMU?  If so 
> I'd love to get together with you . . )
>   
-- 
  Andrew N. Harrington
  Computer Science Department      Director of Academic Programs
  Loyola University Chicago        http://www.cs.luc.edu/~anh
  512B Lewis Towers (office)       Phone: 312-915-7999
  Snail mail to Lewis Towers 416   Fax:    312-915-7998
  820 North Michigan Avenue        gdp at cs.luc.edu for graduate admin
  Chicago, Illinois 60611          upd at cs.luc.edu for undergrad admin
                                   aharrin at luc.edu as professor



More information about the Edu-sig mailing list