Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #26776 > unrolled thread

Re: Teaching Java, teaching what?

Started byleif.roar@invalid.com (Leif Roar Moldskred)
First post2013-12-08 11:30 -0600
Last post2013-12-15 16:34 -0400
Articles 8 — 4 participants

Back to article view | Back to comp.lang.java.programmer

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Teaching Java, teaching what? leif.roar@invalid.com (Leif Roar Moldskred) - 2013-12-08 11:30 -0600
    Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-09 11:06 -0400
      Re: Teaching Java, teaching what? Robert Klemme <shortcutter@googlemail.com> - 2013-12-10 22:11 +0100
        Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-11 14:37 -0400
          Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-14 17:19 -0500
            Re: Teaching Java, teaching what? leif.roar@invalid.com (Leif Roar Moldskred) - 2013-12-15 03:58 -0600
              Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-15 09:57 -0500
            Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-15 16:34 -0400

#26776 — Re: Teaching Java, teaching what?

Fromleif.roar@invalid.com (Leif Roar Moldskred)
Date2013-12-08 11:30 -0600
SubjectRe: Teaching Java, teaching what?
Message-ID<GpqdnXohcYwBMTnPnZ2dnUVZ7sudnZ2d@giganews.com>
Stefan Ram <ram@zedat.fu-berlin.de> wrote:
>
>  But then, I hear everywhere: »Java on the Desktop is dead.«.
>  Now I asked myself: Is it wrong to teach how to write Java
>  desktop applications in a class (using Swing)? After all,
>  you do not want to waste the time of the students by
>  teaching them something that is »dead«?
> 

Depends on what the class is meant to teach. If the point is
to teach GUI or event-driven programming and the students
already have experience with Java from earlier courses, fair 
enough. If the point is to teach general programming or the
Java programming language, I think time and effort could 
be invested a lot more wisely than teaching Swing.

-- 
Leif Roar Moldskred

[toc] | [next] | [standalone]


#26802

FromArved Sandstrom <asandstrom2@eastlink.ca>
Date2013-12-09 11:06 -0400
Message-ID<h0lpu.410950$SO6.271205@fx16.iad>
In reply to#26776
On 12/08/2013 01:30 PM, Leif Roar Moldskred wrote:
> Stefan Ram <ram@zedat.fu-berlin.de> wrote:
>>
>>   But then, I hear everywhere: »Java on the Desktop is dead.«.
>>   Now I asked myself: Is it wrong to teach how to write Java
>>   desktop applications in a class (using Swing)? After all,
>>   you do not want to waste the time of the students by
>>   teaching them something that is »dead«?
>>
>
> Depends on what the class is meant to teach. If the point is
> to teach GUI or event-driven programming and the students
> already have experience with Java from earlier courses, fair
> enough. If the point is to teach general programming or the
> Java programming language, I think time and effort could
> be invested a lot more wisely than teaching Swing.
>
I agree.

I'll add this: we're talking about teaching _programmers_, not users of 
an application. Hence the comments about wanting to present a GUI rather 
than a text console are not really relevant. A working software 
developer is going to be looking at text console output and log files a 
lot, and maybe debugger displays...regardless of what the user interface 
is. So that's what you accustom your students to.

And if I wanted to focus on a GUI, in order to (as Leif suggested) 
concentrate on event-driven programming, say, I'd pick a web app anyway.

AHS

-- 
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift

[toc] | [prev] | [next] | [standalone]


#26832

FromRobert Klemme <shortcutter@googlemail.com>
Date2013-12-10 22:11 +0100
Message-ID<bgpeboFc4lrU1@mid.individual.net>
In reply to#26802
On 09.12.2013 16:06, Arved Sandstrom wrote:
> On 12/08/2013 01:30 PM, Leif Roar Moldskred wrote:

>> Depends on what the class is meant to teach. If the point is
>> to teach GUI or event-driven programming and the students
>> already have experience with Java from earlier courses, fair
>> enough. If the point is to teach general programming or the
>> Java programming language, I think time and effort could
>> be invested a lot more wisely than teaching Swing.

> I'll add this: we're talking about teaching _programmers_, not users of
> an application. Hence the comments about wanting to present a GUI rather
> than a text console are not really relevant. A working software
> developer is going to be looking at text console output and log files a
> lot, and maybe debugger displays...regardless of what the user interface
> is. So that's what you accustom your students to.

But then again there is the motivational effect: seeing something 
visually in a graphical UI can be much more rewarding than some 
characters on a console - at least for some.  On that grounds I would 
not totally dismiss teaching Swing - even if event based programming or 
user interfaces is not the primary goal of the lesson.  Some care should 
be applied to not focus too much on the Swing side then, e.g. by 
providing some framework or application where learners fill in certain 
parts.

Kind regards

	robert

[toc] | [prev] | [next] | [standalone]


#26837

FromArved Sandstrom <asandstrom2@eastlink.ca>
Date2013-12-11 14:37 -0400
Message-ID<Gh2qu.571688$uR1.117914@fx19.iad>
In reply to#26832
On 12/10/2013 05:11 PM, Robert Klemme wrote:
> On 09.12.2013 16:06, Arved Sandstrom wrote:
>> On 12/08/2013 01:30 PM, Leif Roar Moldskred wrote:
>
>>> Depends on what the class is meant to teach. If the point is
>>> to teach GUI or event-driven programming and the students
>>> already have experience with Java from earlier courses, fair
>>> enough. If the point is to teach general programming or the
>>> Java programming language, I think time and effort could
>>> be invested a lot more wisely than teaching Swing.
>
>> I'll add this: we're talking about teaching _programmers_, not users of
>> an application. Hence the comments about wanting to present a GUI rather
>> than a text console are not really relevant. A working software
>> developer is going to be looking at text console output and log files a
>> lot, and maybe debugger displays...regardless of what the user interface
>> is. So that's what you accustom your students to.
>
> But then again there is the motivational effect: seeing something
> visually in a graphical UI can be much more rewarding than some
> characters on a console - at least for some.  On that grounds I would
> not totally dismiss teaching Swing - even if event based programming or
> user interfaces is not the primary goal of the lesson.  Some care should
> be applied to not focus too much on the Swing side then, e.g. by
> providing some framework or application where learners fill in certain
> parts.
>
> Kind regards
>
>      robert

Robert, others have made that point too, that seeing something visual (a 
GUI) is motivational...as you say, at least for some. I truly don't know 
how important that is, since I've not been a novice for decades. It does 
occur to me that there are plenty of programming languages where you 
would not even remotely contemplate introducing GUIs in a first semester 
course, and students still manage. Java makes it just easy enough to 
introduce a GUI through Swing (AWT before that, for that matter); I tend 
to agree with you that little emphasis should be placed on the Swing 
code itself.

AHS
-- 
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift

[toc] | [prev] | [next] | [standalone]


#26904

FromArne Vajhøj <arne@vajhoej.dk>
Date2013-12-14 17:19 -0500
Message-ID<52acd98b$0$301$14726298@news.sunsite.dk>
In reply to#26837
On 12/11/2013 1:37 PM, Arved Sandstrom wrote:
> On 12/10/2013 05:11 PM, Robert Klemme wrote:
>> But then again there is the motivational effect: seeing something
>> visually in a graphical UI can be much more rewarding than some
>> characters on a console - at least for some.  On that grounds I would
>> not totally dismiss teaching Swing - even if event based programming or
>> user interfaces is not the primary goal of the lesson.  Some care should
>> be applied to not focus too much on the Swing side then, e.g. by
>> providing some framework or application where learners fill in certain
>> parts.
>
> Robert, others have made that point too, that seeing something visual (a
> GUI) is motivational...as you say, at least for some. I truly don't know
> how important that is, since I've not been a novice for decades. It does
> occur to me that there are plenty of programming languages where you
> would not even remotely contemplate introducing GUIs in a first semester
> course, and students still manage. Java makes it just easy enough to
> introduce a GUI through Swing (AWT before that, for that matter); I tend
> to agree with you that little emphasis should be placed on the Swing
> code itself.

Languages with easy GUI are widely used in basic programming courses:
Java, C#, PHP.

The most notably difficult GUI languages are C/C++ and I believe those
are becoming rare in basic programming courses these days.

Arne

[toc] | [prev] | [next] | [standalone]


#26918

Fromleif.roar@invalid.com (Leif Roar Moldskred)
Date2013-12-15 03:58 -0600
Message-ID<R8udnWBbSNjF4DDPnZ2dnUVZ8vidnZ2d@giganews.com>
In reply to#26904
Arne Vajhøj <arne@vajhoej.dk> wrote:
> 
> Languages with easy GUI are widely used in basic programming courses:
> Java, C#, PHP.
> 
> The most notably difficult GUI languages are C/C++ and I believe those
> are becoming rare in basic programming courses these days.
> 
> Arne

What do you mean with "easy" and "difficult" here? I can't see how, say,
GTK or QT in C and C++ are any more difficult to use or teach than
Swing. 

(As an aside, whatever happened to Tcl/Tk?)

-- 
Leif Roar Moldskred

[toc] | [prev] | [next] | [standalone]


#26925

FromArne Vajhøj <arne@vajhoej.dk>
Date2013-12-15 09:57 -0500
Message-ID<52adc374$0$293$14726298@news.sunsite.dk>
In reply to#26918
On 12/15/2013 4:58 AM, Leif Roar Moldskred wrote:
> Arne Vajhøj <arne@vajhoej.dk> wrote:
>>
>> Languages with easy GUI are widely used in basic programming courses:
>> Java, C#, PHP.
>>
>> The most notably difficult GUI languages are C/C++ and I believe those
>> are becoming rare in basic programming courses these days.
>
> What do you mean with "easy" and "difficult" here? I can't see how, say,
> GTK or QT in C and C++ are any more difficult to use or teach than
> Swing.
>
> (As an aside, whatever happened to Tcl/Tk?)

Easy and difficult are somewhat subjective.

But I think think that most programmers will consider
Java Swing, Java JavaFX, C# win forms, C# WPF and PHP HTML
easier to get started with than C/C++ GTK, Qt, MFC and Win32 API.

The language is more difficult, the API's are more complex
(but also more powerful), it is more low level and it is more
coupled with the underlying platform.

Arne

[toc] | [prev] | [next] | [standalone]


#26935

FromArved Sandstrom <asandstrom2@eastlink.ca>
Date2013-12-15 16:34 -0400
Message-ID<_moru.546688$nC5.118664@fx06.iad>
In reply to#26904
On 12/14/2013 06:19 PM, Arne Vajhøj wrote:
> On 12/11/2013 1:37 PM, Arved Sandstrom wrote:
>> On 12/10/2013 05:11 PM, Robert Klemme wrote:
>>> But then again there is the motivational effect: seeing something
>>> visually in a graphical UI can be much more rewarding than some
>>> characters on a console - at least for some.  On that grounds I would
>>> not totally dismiss teaching Swing - even if event based programming or
>>> user interfaces is not the primary goal of the lesson.  Some care should
>>> be applied to not focus too much on the Swing side then, e.g. by
>>> providing some framework or application where learners fill in certain
>>> parts.
>>
>> Robert, others have made that point too, that seeing something visual (a
>> GUI) is motivational...as you say, at least for some. I truly don't know
>> how important that is, since I've not been a novice for decades. It does
>> occur to me that there are plenty of programming languages where you
>> would not even remotely contemplate introducing GUIs in a first semester
>> course, and students still manage. Java makes it just easy enough to
>> introduce a GUI through Swing (AWT before that, for that matter); I tend
>> to agree with you that little emphasis should be placed on the Swing
>> code itself.
>
> Languages with easy GUI are widely used in basic programming courses:
> Java, C#, PHP.

You'd have to rule out PHP - we've already decided that a web stack is 
out. :-) If you can't do servlets, you can't teach PHP on Apache, for 
example. C# or VB with WinForms in VS is about as simple as it gets - 
far outstripping any Java environment - but I'm not convinced (for the 
same reasons as Swing and Java) that you learn the core language or 
programming concepts any better by having a GUI.

FWIW Python and Perl, among others, still are good for very easily 
creating GUIs. But the same arguments apply.

> The most notably difficult GUI languages are C/C++ and I believe those
> are becoming rare in basic programming courses these days.
>
> Arne
>
Might be a good argument for returning to C or C++ to teach [1]. That 
way you don't bother wasting time with a GUI, and stick to teaching core 
concepts.

AHS

[1] I'm being a bit of a pissant when I recommend C or C++. I think C is 
useful, but I'd never suggest it as a first language. As for C++, I just 
spent the past 6 months re-reading my Scott Meyers "Effective C++" 
books, my Andrei Alexandrescu "Modern C++ Design" book, my Vandevoorde & 
Josuttis "C++ Templates" book, and online sources covering C++11. I 
can't think of a language that I am less likely to recommend to anyone 
than C++...the potential for disaster and productivity stifling is enormous.
-- 
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web