[Bluej-discuss] Programming as random process ...
Aryeh Friedman
aryeh.friedman at gmail.com
Thu Apr 20 15:52:50 BST 2006
Yes I am suggesting procedural first (but in a modified manner). The
reasons are:
1. OO is a very powerful tool if you can write classes correctly and this
means your logic must be correct in each method (and that *IS*
procedural). For example if they can't write a for loop then it is
pointless to ask them to write a method that does something n times.
2. Much of the extra overhead ("I will explain later") your complaining
about is *ONLY* present due to the fact it is OO
That being said I would introduce objects immediatly after say either
"hello, world" or "count to 10". Once they have seen a program stripped of
the OO overhead the OO overhead will make more sense. Instead of saying "I
will explain later" you can say "the extra code is the cost of an easy to
use model [OO] and we will discuse what it means later in the course".
--Aryeh
On 4/19/06, Gordon Royle <gordon at csse.uwa.edu.au> wrote:
>
>
> On 20/04/2006, at 9:55 AM, Aryeh Friedman wrote:
>
> >
> > In any complex blackbox system (in all HL langs this true to an
> > extend) this is always true to some extent. One way to conteract
> > (and no offense ment to the text) is start with very simple
> > programs like hello, world from the *COMMAND LINE* not a IDE then
> > introduce the IDE for more advanced stuff.
>
> ???? But that's exactly what I DON'T want to do !!
>
> I am trying to teach them to model objects NOT to write procedural
> programs in an OO language.
>
> I want to avoid the command line at all costs, because it means
> using "public static void main(String[] args)" which contains
>
> - access modifiers
> - return types, in particular the
> - the main method and its special role
> - class methods and static
> - arrays (and arrays of objects)
>
> These five concepts DO all need to be covered, but doing so on day 1
> is a sure way to convince them that programming is some sort of
> arcane magic where you just have to stumble on the magic incantation
> with no hope of understanding it.
>
> With BlueJ they do have to learn the IDE, but it is very simple, and
> the key point is that they can spend all their time MODELLING OBJECTS
> and interacting with them, rather than writin
>
> So everything that they do is based on building classes, creating
> objects, getting them to do simple things, then having objects create
> other objects and communicate with them and so on... There is NEVER a
> point at which they have to take anything on a "just put your code
> here and I'll explain why all this other stuff is here later" basis,
> as every construct and concept is explained before it is used.
>
>
> I don't use the Objects First book myself as my course predates the
> book and I already have a lot of alternative material to use... but
> what you are suggesting is "Procedures First" which is essentially
> the opposite of that philosophy....
>
> Cheers
>
> Gordon
>
> _______________________________________________
> mailing list bluej-discuss at bluej.org
> To unsubscribe or change your preferences, go to
> http://lists.bluej.org/mailman/listinfo/bluej-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.bluej.org/pipermail/bluej-discuss/attachments/20060420/ca6e92be/attachment.html
More information about the bluej-discuss
mailing list