ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button
Article:
  Rethinking the Java Curriculum: Goodbye, HelloWorld!
Subject:   Print out the System Properties
Date:   2002-08-28 16:50:48
From:   amuys
Response to: Print out the System Properties

>One of Hello World's great problems is that it
>doesn't scope. You do it on the command line. You do
>it in a GUI. On a webpage. But there's no easy
>continuation of the lesson, you just throw it away.


When the language in question (as it is here) is Java I must agree. However when teaching other languages, I have progressed from HelloWorld thus:


1) console based hello-world.


2) GUI label.text = "" based hello-world.


3) button with command=quit based hello-world.


4) button with command->change label -> quit


5) Basic GUI adder (two text boxes, one button, and a label for the result)


6) String copier using two text area's (on-click copy text from one area to the other).


At this point you have enough basic GUI components to allow a switch to traditional lessons, introducing fuctional decomposition, data-structures, and basic algorithms. OTOH, you also have given the students the perception of signifigant progress. I have generally found the resulting morale boost leads to spontaneous experimentation and self-directed learning.


Still there is nothing magical about "HelloWorld", the properties example could be structured in a similar way.


With Java, the lack of a syntactially clean analogue for lisp/python closures, smalltalk blocks, or tcl eval(), C/C++'s function pointers, etc. There is a substantial barrier to introducing GUI programming that early.


Note that this is an issue with using Java as a *FIRST* language only. Once a student has learnt basic programming skills, the learning barrier is substantially reduced.


Andrae Muys