On Sun, 30 Oct 2005, Amit Aronovitch wrote:

> On 10/29/05, RaeNye <[EMAIL PROTECTED]> wrote:
>
> > Had this not been clear, I hereby join the do-it-with-the-interpreter
> > lobby.
> > Explaining them scripts will get you sys.argv parsing, which is prolly out
> > of scope.
>
> Writing scripts is an important target skill, and argv parsing is part of
> it. Still, with the interpreterapproach we have the *option* to avoid it,
> or leave it as an extra "home lesson".
> There's also optparse. It's a fairly complicated module, but code using it
> might be more readable than "manual" parsing. It might be out of scope for
> the lessons, but if we choose the "homework" approach it might be
> appropriate (also a nice demonstration of using standard libraries - yet
> another target skill).

i think you're forgetting what it was like when you first learned how to
write programs - using 3rd-party libraries is something you do after you
master the basics of the language. and you have to begin with learning to
use simple things first.

i don't think we'll realy be getting there. if we do - i'd put the effort
on something like PyGame (fun), not something like parsing command line
options (b-o-r-i-n-g).

regarding the interpreter issue - i don't think it realy matters for now.
this is something you learn to appreciate after you have been programming
for a while, and tried several methods. this is not the case here.

yes, i will show them the interpreter as a means for quick checking of
commands.

no, i will not tell them this is the way to go - i don't want to spoil
them to a level that they'll require re-adapting in order to learn C (or
other compiled langauges) next year.

i want them to learn the concept of a program - not of an interactive
programming environment. python is a tools - not a means. thus, i don't
want to teach them everything that can be done in python - it's not real
interesting. those that will want that, will learn all the bits in the
future on their own.

you should remember that what you achieve here is efficiency. this is not
relevant for a first programming course - there are more important skills
to learn first. it's like teaching touch-typing before teaching
programming, so they'll spend less time typing their programs - it's nice,
but realy not what they should learn first.

remember the focus - teaching them how a computer works (very strict,
very low-level relative to the human mind), teach them how to think like
programmers, teach them how to approach writing programs, how to test and
debug programs. these are the main issues. scripts Vs. interactive is not
the goal here - and learning scripts is more general then learning about
interactive programming - if you think of the years ahead.

-- guy


"For world domination - press 1,
 or dial 0, and please hold, for the creator." -- nob o. dy

לענות