Re: Fw: PPIG discuss: Programmer education ain't what it used to be

2008-01-20 Thread Robin Jeffries
+1

Robin

On Jan 20, 2008 12:14 PM, Jan Erik Moström <[EMAIL PROTECTED]> wrote:

> Paola Kathuria <[EMAIL PROTECTED]> 08-01-19 16.00
>
> >behalf of PPIG admin, I don't think anyone's gonna object!
>
> I would ... I wouldn't visit yet another forum, takes way too
> much time.
>
> jem
> --
> Jan Erik Moström, www.mostrom.pp.se
>
>
> --
> PPIG Discuss List (discuss@ppig.org)
> Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
> Announce admin: http://limitlessmail.net/mailman/listinfo/announce
> PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/
>


Re: Fw: PPIG discuss: Programmer education ain't what it used to be

2008-01-20 Thread Jan Erik Moström

Paola Kathuria <[EMAIL PROTECTED]> 08-01-19 16.00


behalf of PPIG admin, I don't think anyone's gonna object!


I would ... I wouldn't visit yet another forum, takes way too 
much time.


jem
--
Jan Erik Moström, www.mostrom.pp.se


--
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/


Re: Fw: PPIG discuss: Programmer education ain't what it used to be

2008-01-19 Thread Paola Kathuria
Richard Bartlett wrote:
> I think I would
> be tempted in more if the PPIG communications system wasn't so
> unattractive, inefficient and clunky.. why can't it be a normal
> bulletin board?

Oh, but it can.

PPIG has had two mailing lists since 1997; they're hosted
for free by the company I used to work for. We're stuck with
Mailman if Limitless continues to host them.

The discuss list messages are archived for free at
http://www.mail-archive.com/discuss%40ppig.org/

If anyone has the time and resources to set-up, host and
administer a proper web-based discussion area for PPIG on
behalf of PPIG admin, I don't think anyone's gonna object!


Paola
 
--
PPIG Discuss List (discuss@ppig.org)
Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss
Announce admin: http://limitlessmail.net/mailman/listinfo/announce
PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/


Re: FW: PPIG discuss: Programmer education ain't what it used to be

2008-01-15 Thread Russel Winder

On Tue, 2008-01-15 at 13:45 +, Walter Milner wrote:
> Here are a few assertions, all with no evidence

> 6. References are bizarre vaque wooly mysteries unless you know what
> pointers are. The idea of having no exposed pointers  is good, since it
> means programmers cannot write this common type of bug. But that does
> not mean that we should 'not tell the children' that pointers exist, and
> expose them to doing a little pointer arithmetic so they have some
> experience to hang their understanding on.

I think this assertion is fundamentally false.  It is perfectly sensible
to discuss Java references without having to understand C/C++ pointers.
The only problem is trying to explain the label of NullPointerException.

> 7. If students must do GUI programming or they will find programming
> 'boring' - well, they should drop out now. More sensibly, they should
> not have been enrolled to start with.

GUI programming is a huge motivator.  It is down to curriculum and
pedagogy to harness that motivation and make sure that other material is
covered properly.

> 8. " Java, instead of exposing this beauty, encourages the programmer to
> approach problem-solving like a plumber in a hardware store: by
> rummaging through a multitude of drawers (i.e. packages) we will end up
> finding some gadget (i.e. class) that does roughly what we want. ".
> Well, its not very sensible for busy plumbers to make their own pipes
> and taps and washers and things from scratch every time. But a student
> plumber needs to understand what these gadgets are, what they do, and
> how they were made, and learn how to make them if the need arises. Eg
> when I'm programming in C I'd use the qsort() library routine - but I
> know how a quicksort works, and if I were writing in a different
> language I could write it myself. Otherwise I don't know how to program.

How many plumbers can make pipes.  How many plumbers can make blow
torches.  How many plumbers can make the paper on which the hyper
inflated invoices are written.  How many of them even understand the
first thing about how any of them are made.  Of course the analogy is
poor since programming is not a craft or trade per se.  Nor is it
engineering per se.  It is something like graphic design mixed with
potting and structural engineering.

This is again an issue of curriculum and pedagogy, and making it
appropriate for the audience.  The bottom up approach to programming
techniques founded in a coverage of history just doesn't cut it any
more.  Sorting algorithms is a third year topic where the algorithmic
complexity and language feature complexity can be handled properly.  I
agree that all CS graduates should understand linked lists.  They should
also understand chained hash tables, red-black trees, etc., but not in a
first programming course.  If computing and programming is really about
abstraction and using the right tool for the job then it is crucially
important to use good abstractions and the right tools for the job in
the first programming course.  Teaching people about algorithms,
implementation of algorithms, assertions, testing and debugging are
surely the primary content.

Despite "Developing Java Software, third edition", I am increasingly of
the view that Java is the wrong language for a first course in
programming, even at university.  I am increasingly of the view that
Groovy and Python are far better languages for that initial course and
then students, especially CS students, must be exposed (forcibly if
necessary) to Java, C++, Prolog, Haskell (or ML?), and C.  

-- 
Russel.

Dr Russel Winder   t: +44 20 7585 2200
41 Buckmaster Road   m: +44 7770 465 077
London SW11 1EN, UK  w: http://www.russel.org.uk/


signature.asc
Description: This is a digitally signed message part