Re: Teaching Java, teaching what?
"Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> writes:
earlier: /why/ are these students taking your course ? Is it as a first step
I am teaching at an adult evening school, where everyone can
attend who pays the fee for the class. The courses are
titled ?Java - Grundkurs? (?Java - Fundamentals?, usually 18
hours, no Swing, but algebraic, imperative, procedural and
structured programming) and ?Java - Aufbaukurs? (?Java -
Advanced Course?, sometimes only 12 hours, OOP + Swing).
(The contents of these two courses was determined by me.)
Why students attend, I can only guess! The save guess would
be: ?to learn Java?. They range from college students of
computer science, via professional programmers (but in other
languages) to hobbyists.
where most of them expect that they'll take further courses later (or drop out
completely and never think about programming again) ?
Some drop out, some might have hoped to learn programming
during the course, but might be somewhat disappointed when
they learn that not the whole world of Java and computer
programming can be explained in 18+12 hours.
~~
I now have streamlined my advanced class to arrive at Swing
as early as possible, this means I have dropped everything
that is not needed for the first meaningful Swing program,
such as implementation inheritance (which is sooo AWT!), but
I do treat interfaces extensively before starting Swing.
Actually, I like this, because it gives students a reason to
learn about interfaces and spares them from artificial
examples, such as
class cow extends animal
{ java.lang.String mySound(){ return "moo"; }}
and instead gives them real-world examples, such as
public void actionPerformed( final java.awt.event.ActionEvent event )
{ Main.this.text.setText( Main.this.text.getText().toUpperCase() ); }
(Yes, I /have/ told my students that ?Main.this.? usually
can be omitted!)
So it's alright with me to teach Swing from the technical
point of view, I just wanted to know whether it still makes
sense from the strategic/political point of view.
While some have posted that they would like to spare the
students from the technical details of Swing programming by
giving them templates of source code, this is actually the
part that I like the best, because the intricates of Swing
can be used as a reason why one has to learn the implementation
of interfaces, the lifetime of fields and so on.