[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