Dan Armak wrote on 2003-06-11:
> On Wednesday 11 June 2003 18:11, Daniel Vainsencher wrote:
> > Common practice notwithstanding, in any teaching mission, the zeroeth
> > directive is "don't bore the student". I think that rules out Pascal and
> > Ada for much the same reasons - they are tedious, verbose languages. The
> > Polish aunts of programming ;-)
> >
Do you refer to:
We need a language that lets us scribble and smudge and smear, not
a language where you have to sit with a teacup of types balanced
on your knee and make polite conversation with a strict old aunt
of a compiler.
(from http://www.paulgraham.com/hp.html)?
> > As to strictness, in my experience*, compiler errors teach students to
> > not err, but nothing about programming. Premature terminations, debug
> > logs, wrong output - those are types of feedback that induce
> > exploration.
>
Hmm, great point! I think the same argument goes for most of
teaching. Students should understand the rationale for each thing.
E.g. they should not be taught "children OOP is the one true way,
let's design a HelloWorld class" but should be allowed to write
something that asks for OOP without and then with OO facilities (and
also something that doesn't ask for OOP, so they don't stick to it
blindly). Teaching so everything implies writing too much perhaps, so
they can be allowed to *read* and/or modifying lot of code instead.
I think that studying several progarms doing the same thing in various
ways is very instructive.
> I'm no expert on comparing languages. But I finished a 5pt 'computers'
> (pascal) bagrut last year, so I know about teaching elementary programming in
> highschool.
>
> The real problem of the bagrut imo is that its emphasis isn't on data
> structures, or algorithms, or concepts like OOP or proper data hiding. It's
> on language syntax. You get about as many points deducted for a few missing ;
> or . chars as for a completely wrong algorithm. And when you're forced to
> write everything on paper (without an eraser mind you), trivial syntax errors
> that'd be caught by the compiler can suddenly become quite hard to avoid,
> because in the case of pascal it's not a language you actually use outside
> school. This is what makes study so boring, because the interesting and
> beautiful things come second to remembering the arbitrary syntax of dead
> language.
>
Pascal is particuarly painful to write. The limited character set
(designed before ASCII was widespread?) is not a positive feature...
I also think something like the abstract equivallent of UNIX pipes
should be taught before any langauge at all. The usefulness of pascal
programs doable in school lessons/exams is a joke. What's the point,
if you acn't see the bigger picture?
> The existing idea of writing the so-called verbal algorithms is good in
> principle; it can help teach programming principles and present algorithms
> without mucking about with a rather low-level language's syntax. However as
> presently implemented it has two problems.
>
Oh, that thing. IIRC, most bagrut questions have to be answered
twice: write an Hebrew translation of Pascal with numbered lines
("algorithm") and then write the Pascal original ("program") :-(.
It's still like that, isn't it? The only usefulness of distinguishing
algorithms from programs is when the algorithm is at a higher-level.
Yet executable Python code is more high-level (and more readable) than
the algorithm notation practiced in school.
> First, it's still secondary to pascal (learned after pascal iirc). It's taught
> as an end and not as a tool.
>
> Second, it is in Hebrew. This is purely IMHO, but programming in Hebrew
> doesn't come naturally to me - I don't know how easy it is for native Hebrew
> speakers. (I'm not a native English speaker either, so I've a right to say
> which language is easier to use. But I suppose it's mostly a matter of
> experience.)
>
If it were in english, they would probably notice sooner that it is
just a mechanic transformation of Pascal ;-).
--
Beni Cherniavsky <[EMAIL PROTECTED]>
Premature classification is the superclass of all evil.
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]