Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #13493 > unrolled thread
| Started by | Mark <i@dontgetlotsofspamanymore.invalid> |
|---|---|
| First post | 2012-04-12 09:12 +0100 |
| Last post | 2012-04-13 17:59 -0700 |
| Articles | 20 on this page of 50 — 15 participants |
Back to article view | Back to comp.lang.java.programmer
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 →
| From | Mark <i@dontgetlotsofspamanymore.invalid> |
|---|---|
| Date | 2012-04-12 09:12 +0100 |
| Subject | Teaching 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]
| From | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
|---|---|
| Date | 2012-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]
| From | Roedy Green <see_website@mindprod.com.invalid> |
|---|---|
| Date | 2012-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]
| From | David Lamb <dalamb@cs.queensu.ca> |
|---|---|
| Date | 2012-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]
| From | Lew <noone@lewscanon.com> |
|---|---|
| Date | 2012-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]
| From | Roedy Green <see_website@mindprod.com.invalid> |
|---|---|
| Date | 2012-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]
| From | Arved Sandstrom <asandstrom3minus1@eastlink.ca> |
|---|---|
| Date | 2012-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]
| From | Mark <i@dontgetlotsofspamanymore.invalid> |
|---|---|
| Date | 2012-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]
| From | David Lamb <dalamb@cs.queensu.ca> |
|---|---|
| Date | 2012-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]
| From | David Lamb <dalamb@cs.queensu.ca> |
|---|---|
| Date | 2012-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2012-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]
| From | David Lamb <dalamb@cs.queensu.ca> |
|---|---|
| Date | 2012-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]
| From | Roedy Green <see_website@mindprod.com.invalid> |
|---|---|
| Date | 2012-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]
| From | Leif Roar Moldskred <leifm@dimnakorr.com> |
|---|---|
| Date | 2012-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]
| From | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
|---|---|
| Date | 2012-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]
| From | Leif Roar Moldskred <leifm@dimnakorr.com> |
|---|---|
| Date | 2012-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2012-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]
| From | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
|---|---|
| Date | 2012-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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2012-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]
| From | Martin Gregorie <martin@address-in-sig.invalid> |
|---|---|
| Date | 2012-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