BTW: I am assuming you are going to teach her Ruby. About the most
serious argument against Ruby you have raised is the English factor,
and I suspect that affects the alternative choices equally, with the
exception perhaps of mainstream commercial/academic languages.
The two strong arguments I have against Ruby are that the syntax is more
complicated (remember: the alternative is a Lisp) and that the mapping from
code to how it is executed is far, FAR, more complicated to explain (since
it is split into many many different cases, with many different rules of
precedence etc').
I always found that working with Files was a useful early lesson. You
build on the students existing knowledge of the PC, and it provides
a foundation for other much more interesting tasks, like say:
-indexing all the MP3 files on her PC
-searching through an Instant Message chat log
Good idea, thanks.
Perhaps to ask her (I'm just not sure she knows enough to answer)?
One of the things that is not taught well to beginners is giving them an
appreciation for what Programming can do for you. Mostly because this
is something actually quite hard. The big languages aren't suited for
simple script level activities that are good entry points for beginners,
while many scripting languages have low 'ceilings' - you can exhaust
their usefulness quickly.Ruby is quite unusual in that it provides for simple scripting and easy
learning, but it keeps scaling up in complexity.But you nailed it: ask her. Some of the ideas she has may be not
appropriate for a beginner, but it is important to know her ambition.
You could structure interim exercises that build towards her
suggestions.
That would indeed go against showing her what programming /can/ do. Is
there any middle way that does both? Perhaps going through a tree-structure
of possibilities?
Also a final word: beginners don't know which concepts are hard or
easy.
That is SO correct. A very important point.
Brian Marick's book 'Everyday Scripting with Ruby' (highly
···
On 2/13/07, Richard Conroy <richard.conroy@gmail.com> wrote:
recommended BTW) is particularly clever about this: it introduces
Ruby Blocks (an advanced concept to an experienced programmer)
before conditionals. This means that beginners will be predisposed
to use more elegant block syntax than verbose conditionals - without
knowing any better, they are being taught to write better code.In fact his book has a lot of ideas and I am really warming to it as
an entry level book. I got it to teach Ruby to our testers at work,
but I am considering buying it for my Dad & Girlfriend too, who I am
teaching Ruby to as well.