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


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

Teaching kids to program (in Java)

Started byMark <i@dontgetlotsofspamanymore.invalid>
First post2012-04-12 09:12 +0100
Last post2012-04-13 17:59 -0700
Articles 20 on this page of 50 — 15 participants

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


Contents

  Teaching kids to program (in Java) Mark <i@dontgetlotsofspamanymore.invalid> - 2012-04-12 09:12 +0100
    Re: Teaching kids to program (in Java) glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-04-12 08:28 +0000
    Re: Teaching kids to program (in Java) Roedy Green <see_website@mindprod.com.invalid> - 2012-04-12 04:36 -0700
      Re: Teaching kids to program (in Java) David Lamb <dalamb@cs.queensu.ca> - 2012-04-12 09:47 -0400
      Re: Teaching kids to program (in Java) Lew <noone@lewscanon.com> - 2012-04-12 07:42 -0700
        Re: Teaching kids to program (in Java) Roedy Green <see_website@mindprod.com.invalid> - 2012-04-12 19:41 -0700
        Re: Teaching kids to program (in Java) Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-04-13 21:22 -0300
      Re: Teaching kids to program (in Java) Mark <i@dontgetlotsofspamanymore.invalid> - 2012-04-16 13:53 +0100
    Re: Teaching kids to program (in Java) David Lamb <dalamb@cs.queensu.ca> - 2012-04-12 13:09 -0400
      Re: Teaching kids to program (in Java) David Lamb <dalamb@cs.queensu.ca> - 2012-04-12 13:28 -0400
      Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-04-12 19:16 -0400
        Re: Teaching kids to program (in Java) David Lamb <dalamb@cs.queensu.ca> - 2012-04-12 20:36 -0400
          Re: Teaching kids to program (in Java) Roedy Green <see_website@mindprod.com.invalid> - 2012-04-12 19:55 -0700
        Re: Teaching kids to program (in Java) Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-04-13 05:03 -0500
          Re: Teaching kids to program (in Java) glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-04-13 10:14 +0000
            Re: Teaching kids to program (in Java) Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-04-13 09:27 -0500
              Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-04-13 20:42 -0400
                Re: Teaching kids to program (in Java) glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-04-14 02:08 +0000
                  Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-05-05 20:13 -0400
                    Re: Teaching kids to program (in Java) Martin Gregorie <martin@address-in-sig.invalid> - 2012-05-06 12:06 +0000
                      Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-05-06 11:38 -0400
          Re: Teaching kids to program (in Java) Rui Maciel <rui.maciel@gmail.com> - 2012-04-13 14:06 +0100
            Re: Teaching kids to program (in Java) Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-04-13 09:07 -0500
              Re: Teaching kids to program (in Java) Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-04-13 09:53 -0500
              Re: Teaching kids to program (in Java) Joshua Cranmer <Pidgeot18@verizon.invalid> - 2012-04-13 10:55 -0500
            Re: Teaching kids to program (in Java) Gene Wirchenko <genew@ocis.net> - 2012-04-13 08:39 -0700
              Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-04-13 20:47 -0400
                Re: Teaching kids to program (in Java) Gene Wirchenko <genew@ocis.net> - 2012-04-15 20:05 -0700
                  Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-04-17 22:11 -0400
                    Re: Teaching kids to program (in Java) Gene Wirchenko <genew@ocis.net> - 2012-04-17 19:57 -0700
                      Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-04-18 19:20 -0400
                        Re: Teaching kids to program (in Java) Gene Wirchenko <genew@ocis.net> - 2012-04-18 18:03 -0700
                          Re: Teaching kids to program (in Java) Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2012-04-19 20:15 -0300
                            Re: Teaching kids to program (in Java) Gene Wirchenko <genew@ocis.net> - 2012-04-19 20:08 -0700
                              Re: Teaching kids to program (in Java) Lew <lewbloch@gmail.com> - 2012-04-20 12:43 -0700
                                Re: Teaching kids to program (in Java) Patricia Shanahan <pats@acm.org> - 2012-04-20 12:58 -0700
                                Re: Teaching kids to program (in Java) Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-04-20 15:20 -0500
                                Re: Teaching kids to program (in Java) Gene Wirchenko <genew@ocis.net> - 2012-04-20 13:30 -0700
                                  Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-05-05 20:23 -0400
                                    Re: Teaching kids to program (in Java) Martin Gregorie <martin@address-in-sig.invalid> - 2012-05-06 12:22 +0000
                                      Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-05-06 11:36 -0400
                                      Re: Teaching kids to program (in Java) glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-05-06 17:10 +0000
                                    Re: Teaching kids to program (in Java) Gene Wirchenko <genew@ocis.net> - 2012-05-07 09:43 -0700
                                      Re: Teaching kids to program (in Java) Martin Gregorie <martin@address-in-sig.invalid> - 2012-05-07 18:17 +0000
                          Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-05-05 20:18 -0400
            Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-04-13 20:44 -0400
          Re: Teaching kids to program (in Java) Arne Vajhøj <arne@vajhoej.dk> - 2012-04-13 20:38 -0400
          Re: Teaching kids to program (in Java) Gunter Herrmann <notformail0106@earthlink.net> - 2012-04-16 15:32 -0400
      Re: Teaching kids to program (in Java) Roedy Green <see_website@mindprod.com.invalid> - 2012-04-12 19:44 -0700
    Re: Teaching kids to program (in Java) Patricia Shanahan <pats@acm.org> - 2012-04-13 17:59 -0700

Page 1 of 3  [1] 2 3  Next page →


#13493 — Teaching kids to program (in Java)

FromMark <i@dontgetlotsofspamanymore.invalid>
Date2012-04-12 09:12 +0100
SubjectTeaching kids to program (in Java)
Message-ID<pg3do753evmvoql7l2anvnt49qarggqeg6@4ax.com>
Hi,

Does anyone know any good resources to teach Java programming to kids.
I know the theory but I don't know how to make it interesting for
children.  When they realize they won't be writing the next FPS game
within the first half hour they often lose motivation ;-)
-- 
(\__/)  M.
(='.'=) If a man stands in a forest and no woman is around
(")_(") is he still wrong?

[toc] | [next] | [standalone]


#13494

Fromglen herrmannsfeldt <gah@ugcs.caltech.edu>
Date2012-04-12 08:28 +0000
Message-ID<jm63n2$gh7$1@speranza.aioe.org>
In reply to#13493
Mark <i@dontgetlotsofspamanymore.invalid> wrote:

> Does anyone know any good resources to teach Java programming to kids.
> I know the theory but I don't know how to make it interesting for
> children.  When they realize they won't be writing the next FPS game
> within the first half hour they often lose motivation ;-)

I don't know if it helps or not, but you might look at:

http://webster.cs.washington.edu:8080/practiceit/

-- glen

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


#13495

FromRoedy Green <see_website@mindprod.com.invalid>
Date2012-04-12 04:36 -0700
Message-ID<qqddo7l1he5p5u9db082fingptlgmlbtgt@4ax.com>
In reply to#13493
On Thu, 12 Apr 2012 09:12:39 +0100, Mark
<i@dontgetlotsofspamanymore.invalid> wrote, quoted or indirectly
quoted someone who said :

>
>Does anyone know any good resources to teach Java programming to kids.
>I know the theory but I don't know how to make it interesting for
>children.  When they realize they won't be writing the next FPS game
>within the first half hour they often lose motivation ;-)

I taught computer summer camp circa 1983 with spectacular results vis
a vis motivation.  I am sure I wrote an essay on my techniques, but I
cannot find it.

After interviewing each camper, I discovered they nearly all wanted to
write video games. Astoundingly the 7 to 15 year olds wrote primitive
ones in a week.

I promised them I would not tell them anything that was not needed to
write video games. They would have to trust me.

I never demanded their attention for more than 15 seconds at a time.

I presented everything as a puzzle to be solved, rather than methods
to be memorised.   They were NOT supposed to understand. I just gave
hints. They have to figure it out.  For example the opening exercise
was to figure out what each of the keys on the keyboard did.  They
figured it all out far faster than I could have explained it to them,
and without the tedium.

I leaked information to advanced students.  Other students seeing the
benefits of this knowledge would chase me around demanding to be
taught too.  Some professional teachers went bug-eyed seeing some ten
year olds DEMANDING to be taught trigonometry.

Pandemonium is normal and should not be discouraged. I relaxed every
normal rule of school I possibly could, including demanding respect.

There were handouts in the form of simple program listings students
could, key, understand and then do theme and variation. They never saw
anything put properly commented structured code, and so it never
occurred to them to write anything else.  Visual elements, especially
reusable visual element lead naturally to logical structure.

The idea to start the student did almost nothing, but got a huge
payoff, e.g. a giant flying helicopter.  Over time to get more subtle
control they had to master more and more. None of this boring learning
to do arithmetic. That was left to the very end when they were
motivated to demand it. Lots of use of canned random number generation
to clone and randomly position.

I had a dream team of tutors who worked with the kids. Mostly what
they had to do was keep kids who were falling behind the others from
freaking out. The kids expected so much of themselves.

The kids were insanely motivated, pouring over listing every waking
moment.

I had some "experienced" older kids who were resistant to learning
anything. I just let them go.  It was so fun when the little kids
quickly surpassed them and their spaghetti methods.

I poured a jug of orange juice over one brat's head.  I was legendary
ever after ever though the backers were terrified the kid's parents
would sue.

We had spectacular food. Even the kids commented how good it was.
-- 
Roedy Green Canadian Mind Products
http://mindprod.com
When you were a child, if you did your own experiment
to see if it was better to put to cocoa into your cup first
or the hot milk first, then you likely have the programmer gene..

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


#13497

FromDavid Lamb <dalamb@cs.queensu.ca>
Date2012-04-12 09:47 -0400
Message-ID<jm6md4$t0u$1@dont-email.me>
In reply to#13495
On 12/04/2012 7:36 AM, Roedy Green wrote:
> I presented everything as a puzzle to be solved, rather than methods
> to be memorised.   They were NOT supposed to understand. I just gave
> hints. They have to figure it out.  For example the opening exercise
> was to figure out what each of the keys on the keyboard did.  They
> figured it all out far faster than I could have explained it to them,
> and without the tedium.

BTW, this is now standard educational theory even for university 
students; our Centre for Teaching and Learning is big on problem-centred 
learning, among many other ways of engaging students. The trouble for 
the OP is that Roedy doesn't have a textbook to point you at, nor do I.

Since he's a freelance, I suppose you could hire him! :)

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


#13498

FromLew <noone@lewscanon.com>
Date2012-04-12 07:42 -0700
Message-ID<jm6pjr$4q2$1@news.albasani.net>
In reply to#13495
Roedy Green wrote:
> I taught computer summer camp circa 1983 with spectacular results vis
> a vis motivation.  I am sure I wrote an essay on my techniques, but I
> cannot find it.
>
> After interviewing each camper, I discovered they nearly all wanted to
> write video games. Astoundingly the 7 to 15 year olds wrote primitive
> ones in a week.
>
> I promised them I would not tell them anything that was not needed to
> write video games. They would have to trust me.
>
> I never demanded their attention for more than 15 seconds at a time.
>
> I presented everything as a puzzle to be solved, rather than methods
> to be memorised.   They were NOT supposed to understand. I just gave
> hints. They have to figure it out.  For example the opening exercise
> was to figure out what each of the keys on the keyboard did.  They
> figured it all out far faster than I could have explained it to them,
> and without the tedium.
>
> I leaked information to advanced students.  Other students seeing the
> benefits of this knowledge would chase me around demanding to be
> taught too.  Some professional teachers went bug-eyed seeing some ten
> year olds DEMANDING to be taught trigonometry.
>
> Pandemonium is normal and should not be discouraged. I relaxed every
> normal rule of school I possibly could, including demanding respect.
>
> There were handouts in the form of simple program listings students
> could, key, understand and then do theme and variation. They never saw
> anything put properly commented structured code, and so it never
> occurred to them to write anything else.  Visual elements, especially
> reusable visual element lead naturally to logical structure.
>
> The idea to start the student did almost nothing, but got a huge
> payoff, e.g. a giant flying helicopter.  Over time to get more subtle
> control they had to master more and more. None of this boring learning
> to do arithmetic. That was left to the very end when they were
> motivated to demand it. Lots of use of canned random number generation
> to clone and randomly position.
>
> I had a dream team of tutors who worked with the kids. Mostly what
> they had to do was keep kids who were falling behind the others from
> freaking out. The kids expected so much of themselves.
>
> The kids were insanely motivated, pouring over listing every waking
> moment.
>
> I had some "experienced" older kids who were resistant to learning
> anything. I just let them go.  It was so fun when the little kids
> quickly surpassed them and their spaghetti methods.
>
> I poured a jug of orange juice over one brat's head.  I was legendary
> ever after ever though the backers were terrified the kid's parents
> would sue.
>
> We had spectacular food. Even the kids commented how good it was.

Don't worry about finding that essay; this one is fine. I am so in awe of your 
methods then, and courage to use them, that words fail me. Bravo.

-- 
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

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


#13513

FromRoedy Green <see_website@mindprod.com.invalid>
Date2012-04-12 19:41 -0700
Message-ID<fr3fo7h1fborr3hbaq5b657o31jgar4ob7@4ax.com>
In reply to#13498
On Thu, 12 Apr 2012 07:42:09 -0700, Lew <noone@lewscanon.com> wrote,
quoted or indirectly quoted someone who said :

>
>Don't worry about finding that essay; this one is fine. I am so in awe of your 
>methods then, and courage to use them, that words fail me. Bravo.

Kids ten years later would come up to me and tell me that week at
summer camp had encouraged them to take up programming as a living.

I started from a different premise. I was not teaching kids, I was
trying to find a way to make them have a wonderful time involving
computers. He had paid primarily to have fun.

The problem is this style of teaching is utterly exhausting. I was
burned out by the fourth week group.

But from an efficiency point of view using student time, I have never
seen anything like it.  I had my exercises planned for the first
group, but they had vacuumed them up in the first two days. Every
night my team worked to prepare something to try to stay ahead of
them.

The big problem now is we bore students to death.  Only a few of them
are resilient enough to retain curiosity.

We try to force students to learn things without convincing them first
there is any practical use for the knowledge.  This is really dumb.
It is not just any practical use, but something THEY care about.

I remember in grade 1 being motivated to read by a picture of a pet
rabbit.  I was convinced that once I learned to read, I would find out
something terribly interesting about the rabbit.  I was betrayed.  All
it said was something like Look look, see see.

This is why I recommend Java students select a student project.  It
gives them emotional motivation to learn whatever they need to
complete the project, rather than just learning syntax is isolation.

-- 
Roedy Green Canadian Mind Products
http://mindprod.com
When you were a child, if you did your own experiment
to see if it was better to put to cocoa into your cup first
or the hot milk first, then you likely have the programmer gene..

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


#13532

FromArved Sandstrom <asandstrom3minus1@eastlink.ca>
Date2012-04-13 21:22 -0300
Message-ID<Sq3ir.2003$7m4.652@newsfe21.iad>
In reply to#13498
On 12-04-12 11:42 AM, Lew wrote:
> Roedy Green wrote:
>> I taught computer summer camp circa 1983 with spectacular results vis
>> a vis motivation.  I am sure I wrote an essay on my techniques, but I
>> cannot find it.
[ SNIP ]

> 
> Don't worry about finding that essay; this one is fine. I am so in awe
> of your methods then, and courage to use them, that words fail me. Bravo.
> 
I agree. The hell of it is, that's how I solve a lot of problems as a
professional developer: the client presents a problem and describes a
desired outcome, and I figure out how to best do it. I'd say that's how
most developers work.

So why not teach programming the same way?

AHS
-- 
A fly was very close to being called a "land," cause that's what they do
half the time.
-- Mitch Hedberg

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


#13576

FromMark <i@dontgetlotsofspamanymore.invalid>
Date2012-04-16 13:53 +0100
Message-ID<td4oo7h6v05jgd5khktaplvgsbcosu46pj@4ax.com>
In reply to#13495
On Thu, 12 Apr 2012 04:36:19 -0700, Roedy Green
<see_website@mindprod.com.invalid> wrote:

Thanks for all the posts.  

[-snip useful and interesting post-]

I should have been more clear in my original post but I am not talking
about teaching a large group of kids in a school environment.  I am
wanting to teach one or more of my own kids a bit of programming at
home because their schools don't.  IT there consists of learning a bit
about Microsoft Office and making pretty models out of cardboard!

My oldest son was briefly interested in programming until he found out
it involved some work and rapidly gave up.  My younger son seems more
motivated at present but may go the same way if he can't write a
Minecraft-like game in 5 minutes ;-)

Trouble is I know little about writing games at all as I have never
really done this before.  I would like to start with something with a
large payback to effort ratio but I don't really have a good idea for
this.

I selected Java since I know a bit about it, it's easily used within
an IDE and is not difficult to encourage good programming practices.

PASCAL is also a good language but I haven't done any PASCAL for
years.

I wan't to avoid learning a new language myself so this rules out a
lot of options.

If you locate your essay I would be grateful for a copy.  And I doubt
I will pour orange juice over any of the kids ;-)
-- 
(\__/)  M.
(='.'=) If a man stands in a forest and no woman is around
(")_(") is he still wrong?

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


#13500

FromDavid Lamb <dalamb@cs.queensu.ca>
Date2012-04-12 13:09 -0400
Message-ID<jm7290$53c$1@dont-email.me>
In reply to#13493
On 12/04/2012 4:12 AM, Mark wrote:
> Does anyone know any good resources to teach Java programming to kids.

I passed this question along to our intro programming profs and they 
uniformly said don't use Java.  Recommendations included

(a) Logo (presumably with turtle graphics)
(b) Python. One example: http://coweb.cc.gatech.edu/mediaComp-plan/27
(c) The Alice environment (Alice.org)

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


#13501

FromDavid Lamb <dalamb@cs.queensu.ca>
Date2012-04-12 13:28 -0400
Message-ID<jm73cs$bao$1@dont-email.me>
In reply to#13500
By the way, Roedy, my conversation of one of those profs reminded her of 
"How to Write Unmaintainable Code" 
http://thc.org/root/phun/unmaintain.html and she plans to use it next fall.

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


#13505

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-04-12 19:16 -0400
Message-ID<4f87624e$0$287$14726298@news.sunsite.dk>
In reply to#13500
On 4/12/2012 1:09 PM, David Lamb wrote:
> On 12/04/2012 4:12 AM, Mark wrote:
>> Does anyone know any good resources to teach Java programming to kids.
>
> I passed this question along to our intro programming profs and they
> uniformly said don't use Java. Recommendations included
>
> (a) Logo (presumably with turtle graphics)
> (b) Python. One example: http://coweb.cc.gatech.edu/mediaComp-plan/27
> (c) The Alice environment (Alice.org)

I would say that it depends a bit on the age of the kids.

If they are old enough to learn serious math in school, then
they are old enough to learn Java.

Arne

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


#13510

FromDavid Lamb <dalamb@cs.queensu.ca>
Date2012-04-12 20:36 -0400
Message-ID<jm7se8$17u$1@dont-email.me>
In reply to#13505
On 12/04/2012 7:16 PM, Arne Vajhøj wrote:
> On 4/12/2012 1:09 PM, David Lamb wrote:
>> On 12/04/2012 4:12 AM, Mark wrote:
>>> Does anyone know any good resources to teach Java programming to kids.
>>
>> I passed this question along to our intro programming profs and they
>> uniformly said don't use Java. Recommendations included
>>
>> (a) Logo (presumably with turtle graphics)
>> (b) Python. One example: http://coweb.cc.gatech.edu/mediaComp-plan/27
>> (c) The Alice environment (Alice.org)
>
> I would say that it depends a bit on the age of the kids.
>
> If they are old enough to learn serious math in school, then
> they are old enough to learn Java.
>

Hmm.  I suspect "old enough for serious math" might be a tad older in 
North America than in Dennmark.

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


#13515

FromRoedy Green <see_website@mindprod.com.invalid>
Date2012-04-12 19:55 -0700
Message-ID<cp4fo71svvv5ju159tiu4kbdh4gmpn023r@4ax.com>
In reply to#13510
On Thu, 12 Apr 2012 20:36:12 -0400, David Lamb <dalamb@cs.queensu.ca>
wrote, quoted or indirectly quoted someone who said :

>
>Hmm.  I suspect "old enough for serious math" might be a tad older in 
>North America than in Dennmark.

The "trigonometry" the kids wanted me to teach them was a set routines
that could plot trig functions. They could experiment to see the
effects of amplitude, period and phase to simulate ocean waves.

I suspect though when these kids finally did get to learning trig,
they would approach it more eagerly than had they not been exposed to
my "leaking".

Another trick I would use is leaking to a discouraged student.  He/she
would embed the trick is his creation. Other kids would see it and
demand to know how it was done.  He could lord it over them.
One poor kid known as "Rockfish" was the recipient of the trig
plotting methods."

At one point I explained to "Rockfish" that such fish were extremely
tough. They could live out of water for long periods of time, and were
just about impossible to kill by bonking them. So it was not that
dishonourable an epithet. That seemed to do the trick. 

Dealing with discouraged kids was a major part of what we did.
They are so competitive and so tough on themselves. It was made worse
by the direct competition of 7 year olds with 15 year olds.

-- 
Roedy Green Canadian Mind Products
http://mindprod.com
When you were a child, if you did your own experiment
to see if it was better to put to cocoa into your cup first
or the hot milk first, then you likely have the programmer gene..

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


#13516

FromLeif Roar Moldskred <leifm@dimnakorr.com>
Date2012-04-13 05:03 -0500
Message-ID<UpydndS--INlZBrSnZ2dnUVZ8jadnZ2d@giganews.com>
In reply to#13505
Arne Vajhøj <arne@vajhoej.dk> wrote:
> 
> I would say that it depends a bit on the age of the kids.
> 
> If they are old enough to learn serious math in school, then
> they are old enough to learn Java.

In my not particularly humble opinion, Java is too crufty to make for
a good _introductory_ language. There are too many old sins and too
many idiosyncrasies in the language that are likely to confuse or
stump someone who doesn't already know how to program. 

(Why isn't the first element of an array at position 1? What's the
difference between int and Integer? Why doesn't System.out.println(
"Value: " + 01234 ) work? Why do I get a NullPointerException on the
line "System.out.println( factorial( inputValue ) );"? What _is_ a
Null Pointer, anyway?)

-- 
Leif Roar Moldskred

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


#13517

Fromglen herrmannsfeldt <gah@ugcs.caltech.edu>
Date2012-04-13 10:14 +0000
Message-ID<jm8ua8$7ms$1@speranza.aioe.org>
In reply to#13516
Leif Roar Moldskred <leifm@dimnakorr.com> wrote:

(snip)
> In my not particularly humble opinion, Java is too crufty to make for
> a good _introductory_ language. There are too many old sins and too
> many idiosyncrasies in the language that are likely to confuse or
> stump someone who doesn't already know how to program. 

Compared to what? How about Fortran or C?

> (Why isn't the first element of an array at position 1? What's the
> difference between int and Integer? Why doesn't System.out.println(
> "Value: " + 01234 ) work? Why do I get a NullPointerException on the
> line "System.out.println( factorial( inputValue ) );"? What _is_ a
> Null Pointer, anyway?)

Many languages have parts that make them hard to use, and hard
to learn, but we do it anyway.

-- glen

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


#13521

FromLeif Roar Moldskred <leifm@dimnakorr.com>
Date2012-04-13 09:27 -0500
Message-ID<uoedncO905FMqhXSnZ2dnUVZ8h6dnZ2d@giganews.com>
In reply to#13517
glen herrmannsfeldt <gah@ugcs.caltech.edu> wrote:
> Leif Roar Moldskred <leifm@dimnakorr.com> wrote:
> 
> (snip)
>> In my not particularly humble opinion, Java is too crufty to make for
>> a good _introductory_ language. There are too many old sins and too
>> many idiosyncrasies in the language that are likely to confuse or
>> stump someone who doesn't already know how to program. 
> 
> Compared to what? 

Compared to languages with cleaner designs and to languages
specifically targeted at teaching programming. I'd easily choose
Pascal or (a subset of) Ada over Java for this purpose, and probably
even Lisp or Smalltalk.

> How about Fortran or C?

It's been too long since I worked with Fortran and I don't know
anything about the modern Fortrans, so I can't say. Possibly for
students who already works with matrices in math, but I suspect that
for those cases Matlab (or something similar) would be a better match.

I think the core language of C is small enough that it might work
well, as long as the course is targetting low-level hardware (such as
an Arduino board) rather than desktop I/O.

> Many languages have parts that make them hard to use, and hard
> to learn, but we do it anyway.

Sure, but that's not the point. I have nothing against Java as a
general programming language. It's just not a particularly good
language to use to teach someone basic programming. It's both too big
and has too many quirks and kinks to make for a good introduction.

-- 
Leif Roar Moldskred

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


#13534

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-04-13 20:42 -0400
Message-ID<4f88c7dd$0$293$14726298@news.sunsite.dk>
In reply to#13521
On 4/13/2012 10:27 AM, Leif Roar Moldskred wrote:
> glen herrmannsfeldt<gah@ugcs.caltech.edu>  wrote:
>> Leif Roar Moldskred<leifm@dimnakorr.com>  wrote:
>>
>> (snip)
>>> In my not particularly humble opinion, Java is too crufty to make for
>>> a good _introductory_ language. There are too many old sins and too
>>> many idiosyncrasies in the language that are likely to confuse or
>>> stump someone who doesn't already know how to program.
>>
>> Compared to what?
>
> Compared to languages with cleaner designs and to languages
> specifically targeted at teaching programming. I'd easily choose
> Pascal or (a subset of) Ada over Java for this purpose, and probably
> even Lisp or Smalltalk.

Pascal is a pretty good language for learning to program.

It should be a very small subset of Ada to be good. Ada is way
more complex than Java.

>> How about Fortran or C?
>
> It's been too long since I worked with Fortran and I don't know
> anything about the modern Fortrans, so I can't say. Possibly for
> students who already works with matrices in math, but I suspect that
> for those cases Matlab (or something similar) would be a better match.
>
> I think the core language of C is small enough that it might work
> well, as long as the course is targetting low-level hardware (such as
> an Arduino board) rather than desktop I/O.

C is rather simple.

But explaining what is going on with incorrect programs
is not so fun.

>> Many languages have parts that make them hard to use, and hard
>> to learn, but we do it anyway.
>
> Sure, but that's not the point. I have nothing against Java as a
> general programming language. It's just not a particularly good
> language to use to teach someone basic programming. It's both too big
> and has too many quirks and kinks to make for a good introduction.

Medium size language with huge standard library.

I would say less quirks than most languages.

Arne

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


#13542

Fromglen herrmannsfeldt <gah@ugcs.caltech.edu>
Date2012-04-14 02:08 +0000
Message-ID<jmam6e$jsu$1@speranza.aioe.org>
In reply to#13534
Arne Vajhøj <arne@vajhoej.dk> wrote:

(snip, someone wrote)
>>>> In my not particularly humble opinion, Java is too crufty to make for
>>>> a good _introductory_ language. There are too many old sins and too
>>>> many idiosyncrasies in the language that are likely to confuse or
>>>> stump someone who doesn't already know how to program.

(snip, then I wrote)
>>> Compared to what?

(and also wrote)
>>> How about Fortran or C?

>> It's been too long since I worked with Fortran and I don't know
>> anything about the modern Fortrans, so I can't say. Possibly for
>> students who already works with matrices in math, but I suspect that
>> for those cases Matlab (or something similar) would be a better match.

My first language, mostly, was IBM Fortran IV, Fortran 66 with some
useful extensions. Much has been added since, including the most
recent 2008 standard. Fortran 66 is relatively simple, but with 
some strange features left from earlier systems. Still, I didn't
have much trouble learning it during the summer before 9th grade.
(The IBM reference manual was my 8th grade graduation present.)

>> I think the core language of C is small enough that it might work
>> well, as long as the course is targetting low-level hardware (such as
>> an Arduino board) rather than desktop I/O.

> C is rather simple.

It is, but you have to understand pointers earlier than with
most other languages.

> But explaining what is going on with incorrect programs
> is not so fun.

Well, many languages have that problem, in many strange ways.

One that I remember from many years ago, watching others learn
Fortran. In the case of Fortran, it sometimes isn't obvious to
new programmers that you need to dimension an array in a called
subroutine. If you forget, it turns out that the compiler usually
can't detect it, and instead you die in a strange way at run time.
(The compiler instead believes that you passed the address of
a function, and jumps into your array.)

>>> Many languages have parts that make them hard to use, and hard
>>> to learn, but we do it anyway.

>> Sure, but that's not the point. I have nothing against Java as a
>> general programming language. It's just not a particularly good
>> language to use to teach someone basic programming. It's both too big
>> and has too many quirks and kinks to make for a good introduction.

With the appropriate subset, it doesn't seem to me so bad. The base
language, as with C excluding the library, is fairly simple. 

As someone mentioned, you have the complication of octal constants,
but it isn't that hard to learn about that one.

> Medium size language with huge standard library.

> I would say less quirks than most languages.

The library is big, but with a small subset you can do the usual
things that beginning programmers need to do. 

-- glen

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


#14315

FromArne Vajhøj <arne@vajhoej.dk>
Date2012-05-05 20:13 -0400
Message-ID<4fa5c245$0$284$14726298@news.sunsite.dk>
In reply to#13542
On 4/13/2012 10:08 PM, glen herrmannsfeldt wrote:
> Arne Vajhøj<arne@vajhoej.dk>  wrote:
>
> (snip, someone wrote)
>>>>> In my not particularly humble opinion, Java is too crufty to make for
>>>>> a good _introductory_ language. There are too many old sins and too
>>>>> many idiosyncrasies in the language that are likely to confuse or
>>>>> stump someone who doesn't already know how to program.
>
> (snip, then I wrote)
>>>> Compared to what?
>
> (and also wrote)
>>>> How about Fortran or C?
>
>>> It's been too long since I worked with Fortran and I don't know
>>> anything about the modern Fortrans, so I can't say. Possibly for
>>> students who already works with matrices in math, but I suspect that
>>> for those cases Matlab (or something similar) would be a better match.
>
> My first language, mostly, was IBM Fortran IV, Fortran 66 with some
> useful extensions. Much has been added since, including the most
> recent 2008 standard. Fortran 66 is relatively simple, but with
> some strange features left from earlier systems. Still, I didn't
> have much trouble learning it during the summer before 9th grade.
> (The IBM reference manual was my 8th grade graduation present.)

I started with Fortran V aka 77.

Still a simple language and maybe even easier to learn than IV/66.

>>> I think the core language of C is small enough that it might work
>>> well, as long as the course is targetting low-level hardware (such as
>>> an Arduino board) rather than desktop I/O.
>
>> C is rather simple.
>
> It is, but you have to understand pointers earlier than with
> most other languages.

True.

>> But explaining what is going on with incorrect programs
>> is not so fun.
>
> Well, many languages have that problem, in many strange ways.

But languages that allow memory overwrites can be really nasty.

>> Medium size language with huge standard library.
>
>> I would say less quirks than most languages.
>
> The library is big, but with a small subset you can do the usual
> things that beginning programmers need to do.

java.lang, java.io and java.util could bring one a good
step forward.

Arne

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


#14334

FromMartin Gregorie <martin@address-in-sig.invalid>
Date2012-05-06 12:06 +0000
Message-ID<jo5ph2$rkl$3@localhost.localdomain>
In reply to#14315
On Sat, 05 May 2012 20:13:54 -0400, Arne Vajhøj wrote:

> On 4/13/2012 10:08 PM, glen herrmannsfeldt wrote:
>>
>> The library is big, but with a small subset you can do the usual things
>> that beginning programmers need to do.
> 
> java.lang, java.io and java.util could bring one a good step forward.
>
java.lang and java.util are fine, but java.io has always struck me as 
needlessly quirky. Coming, as I did, from an assembler/C/Algol/COBOL 
background it was by far the most difficult part of Java to get my head 
round. 
   

-- 
martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

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


Page 1 of 3  [1] 2 3  Next page →

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


csiph-web