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


Groups > comp.lang.java.programmer > #26823

Re: Teaching Java, teaching what?

From Arved Sandstrom <asandstrom2@eastlink.ca>
Newsgroups comp.lang.java.programmer
Subject Re: Teaching Java, teaching what?
References <Java-20131208164618@ram.dialup.fu-berlin.de> <52a5b585$0$2906$e4fe514c@news.xs4all.nl> <servlets-20131209142741@ram.dialup.fu-berlin.de> <NQlpu.497700$c56.182221@fx32.iad> <52a66a58$0$296$14726298@news.sunsite.dk>
Message-ID <HsFpu.579668$QZ6.473155@fx15.iad> (permalink)
Organization Public Usenet Newsgroup Access
Date 2013-12-10 10:22 -0400

Show all headers | View raw


On 12/09/2013 09:11 PM, Arne Vajhøj wrote:
> On 12/9/2013 11:02 AM, Arved Sandstrom wrote:
>> On 12/09/2013 09:34 AM, Stefan Ram wrote:
>>> Silvio <silvio@internet.com> writes:
>>>> Why not have them write a simple Servlet or two?
>>>
>>>    The time for teaching is very limited: I now often have only
>>>    30 hours to take students from »no programming experience
>>>    whatsoever« to »first steps with Swing« including exercises
>>>    done in the classroom. When teaching Java with Swing, I need
>>>    the JDK as the one single dependency: javac Main.java, java
>>>    Main, and that's it.
>>>
>>>    I have the impression that teaching servlets is more
>>>    time-consuming, because the toolchain is longer and the
>>>    configuration and application of more tools needs to be done
>>>    and explained.
>>>
>> I don't see it myself, that teaching servlets would be more
>> time-consuming than teaching Swing (or JavaFX for that matter). In fact,
>> I think that teaching servlets affords an excellent opportunity to
>> introduce students to important real-world stuff:
>>
>> 1) using libraries;
>>
>> 2) the ubiquity and importance of app servers;
>>
>> 3) HTTP request-response handling;
>>
>> 4) how servlets underlie many Java frameworks, with a brief intro to how
>> the frameworks build upon the servlet API.
>>
>> Can this be done in 30 hours, especially for programming neophytes?
>> Maybe not.
>
> Almost certainly now.
>
> It is very useful topics - more useful than Swing, but I can not
> see them as step one.
>
> There are too much stuff to learn to get anywhere.
>
> I provide some help at a danish web forum for IT problems. And
> there are one university where they have a programming course
> in first semester. They decided on Java - which I think is a
> fine choice. But they want them to learn Java by doing JSF web apps,
> RESTful web services etc.. The result is not pretty. The students
> that should learn about data structures, control structures, OOP
> etc. are looking at things generated by Eclipse wizards and they have
> no idea about what all that stuff is doing.

I'd agree without qualification that introducing JSF or REST in a first 
programming course, that uses Java, is too ambitious.

>> But I'm not convinced you can accomplish more by doing "first
>> steps with Swing". The issue here may be that 30 hours isn't
>> enough...
>
> If kept simple with JLabel, JTextField, JButton etc. I think they
> can make something work *and* understand what they are doing.

I'm not being combative here, but in the big scheme of things, that 
knowledge will help the students how exactly? Apart from the top 
students, who will probably get on with any approach to OOP, everyone 
else - at best - will understand how to write simple Swing apps: some 
will eventually (after further study) grasp the larger principles, but 
many will not.

>>    but I myself have a gut feeling that you'd do better with a
>> servlet approach.
>
> I am not sold on that.

For what it's worth, I'm not sold on it either. To phrase things 
differently, *if* you had enough time to do a decent intro to core Java 
+ enough time to introduce either Swing or servlets, I'd prefer 
servlets. I just don't think 30 hours is enough to do either.

>> For a barebones first approach, I think we can over-emphasize the
>> importance of GUIs (web or desktop) as being what beginners expect to
>> see, or what they feel comfortable with. I'm probably dating myself
>> here, but back in the '70's when I learned programming with FORTRAN 66
>> and FORTRAN 77, I (and most of my peers) grokked program output to
>> printer or tape, and program input from similar sources. It's also not
>> difficult to relate a console input prompt to an HTML text input box -
>> students understand that what matters is what you do with the input, not
>> so much how you got it.
>>
>> Let me put something else out there. 30 hours is a short semester if we
>> suppose three 1-hour classes per week. Is it even realistic to try and
>> introduce any kind of GUI (Swing, JavaFX, servlets with simple HTML etc)
>> in 30 hours? Perhaps console output is all you should shoot for.
>
> Console apps would certainly be better in the sense that there are even
> less context to learn.
>
> The problem here is probably more in the area of motivation. A console
> app does not look fancy and that could be demotivating.
>
> Arne
>

I think this is where the teacher needs to step up and be on their game. 
If I were teaching a genuine intro class where practically everyone was 
a novice [1], and let's assume it was 30 hours over a semester, and the 
working language was Java, I think I'd spend the first 2 or 3 hours 
providing context, without diving into code. Pseudocode maybe, on a 
chalkboard or whiteboard, but no actual code for the first few sessions.

Part of what you'd cover is a basic discussion of I/O - how do you talk 
to a program. Properly done, I think most students would get that I/O 
to/from a console, or to/from a file, is just as much first class as I/O 
through a GUI. And I think many would then understand that the true 
program lies behind the interface.

AHS

1. Keeping in mind what markspace said, that the further away any of us 
are from our own first introduction to programming, the less equipped we 
probably are to remember what caused us problems.
-- 
When a true genius appears, you can know him by this sign:
that all the dunces are in a confederacy against him.
-- Jonathan Swift

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Teaching Java, teaching what? Silvio <silvio@internet.com> - 2013-12-09 13:20 +0100
  Re: Teaching Java, teaching what? Silvio <silvio@internet.com> - 2013-12-09 16:17 +0100
    Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-09 20:02 -0500
      Re: Teaching Java, teaching what? Silvio <silvio@internet.com> - 2013-12-10 11:56 +0100
        Re: Teaching Java, teaching what? lipska the kat <"lipskathekat at yahoo dot co dot uk"> - 2013-12-10 12:07 +0000
          Re: Teaching Java, teaching what? Silvio <silvio@internet.com> - 2013-12-10 13:39 +0100
            Re: Teaching Java, teaching what? lipska the kat <"lipskathekat at yahoo dot co dot uk"> - 2013-12-10 12:56 +0000
              Re: Teaching Java, teaching what? Silvio <silvio@internet.com> - 2013-12-10 14:38 +0100
          Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-14 20:05 -0500
        Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-14 19:58 -0500
          Re: Teaching Java, teaching what? Joerg Meier <joergmmeier@arcor.de> - 2013-12-15 03:49 +0100
          Re: Teaching Java, teaching what? Silvio <silvio@internet.com> - 2013-12-15 11:29 +0100
            Re: Teaching Java, teaching what? lipska the kat <"lipskathekat at yahoo dot co dot uk"> - 2013-12-15 10:55 +0000
          Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-15 16:54 -0400
  Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-09 12:02 -0400
    Re: Teaching Java, teaching what? Martin Gregorie <martin@address-in-sig.invalid> - 2013-12-09 21:49 +0000
    Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-09 20:11 -0500
      Re: Teaching Java, teaching what? markspace <markspace@nospam.nospam> - 2013-12-09 17:58 -0800
      Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-10 10:22 -0400
        Re: Teaching Java, teaching what? Jeff Higgins <jeff@invalid.invalid> - 2013-12-10 11:02 -0500
        Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-10 12:47 -0400
          Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-14 18:04 -0500
            Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-15 16:58 -0400
              Re: Teaching Java, teaching what? Jeff Higgins <jeff@invalid.invalid> - 2013-12-15 16:36 -0500
                Re: Teaching Java, teaching what? Jeff Higgins <jeff@invalid.invalid> - 2013-12-15 18:17 -0500
        Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-14 17:59 -0500
          Re: Teaching Java, teaching what? leif.roar@invalid.com (Leif Roar Moldskred) - 2013-12-15 04:20 -0600
            Re: Teaching Java, teaching what? Silvio <silvio@internet.com> - 2013-12-15 12:23 +0100
            Re: Teaching Java, teaching what? Arne Vajhøj <arne@vajhoej.dk> - 2013-12-15 10:00 -0500
            Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-16 10:28 -0400
          Re: Teaching Java, teaching what? Arved Sandstrom <asandstrom2@eastlink.ca> - 2013-12-15 21:32 -0400

csiph-web