Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #26950 > unrolled thread
| Started by | cate3@panix.com (Henry Cate) |
|---|---|
| First post | 2013-12-16 17:11 -0500 |
| Last post | 2013-12-21 05:00 -0800 |
| Articles | 11 on this page of 31 — 16 participants |
Back to article view | Back to comp.lang.java.programmer
Recommendations for an online Introduction to programming using Java cate3@panix.com (Henry Cate) - 2013-12-16 17:11 -0500
Re: Recommendations for an online Introduction to programming using Java markspace <markspace@nospam.nospam> - 2013-12-16 14:23 -0800
Re: Recommendations for an online Introduction to programming using Java Joerg Meier <joergmmeier@arcor.de> - 2013-12-17 00:06 +0100
Re: Recommendations for an online Introduction to programming using Java cate3@panix.com (Henry Cate) - 2013-12-16 19:05 -0500
Re: Recommendations for an online Introduction to programming using Java Jeff Higgins <jeff@invalid.invalid> - 2013-12-16 17:25 -0500
Re: Recommendations for an online Introduction to programming using Java cate3@panix.com (Henry Cate) - 2013-12-16 19:01 -0500
Re: Recommendations for an online Introduction to programming using Java Jeff Higgins <jeff@invalid.invalid> - 2013-12-16 22:42 -0500
Re: Recommendations for an online Introduction to programming using Java Jeff Higgins <jeff@invalid.invalid> - 2013-12-16 23:36 -0500
Re: Recommendations for an online Introduction to programming using Java cate3@panix.com (Henry Cate) - 2013-12-17 14:37 -0500
Re: Recommendations for an online Introduction to programming using Java Martin Gregorie <martin@address-in-sig.invalid> - 2013-12-17 22:33 +0000
Re: Recommendations for an online Introduction to programming using Java Arne Vajhøj <arne@vajhoej.dk> - 2013-12-17 18:02 -0500
Re: Recommendations for an online Introduction to programming using Java cate3@panix.com (Henry Cate) - 2013-12-17 18:25 -0500
Re: Recommendations for an online Introduction to programming using Java Arne Vajhøj <arne@vajhoej.dk> - 2013-12-16 21:58 -0500
Re: Recommendations for an online Introduction to programming using Java "Charles Hottel" <chottel@earthlink.net> - 2013-12-17 00:28 -0500
Re: Recommendations for an online Introduction to programming using Java cate3@panix.com (Henry Cate) - 2013-12-17 14:40 -0500
Re: Recommendations for an online Introduction to programming using Java Jeff Higgins <jeff@invalid.invalid> - 2013-12-17 16:30 -0500
Re: Recommendations for an online Introduction to programming using Java Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2013-12-18 12:50 -0600
Re: Recommendations for an online Introduction to programming using Java Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2013-12-19 12:09 -0600
Re: Recommendations for an online Introduction to programming using Java Jukka Lahtinen <jtfjdehf@hotmail.com.invalid> - 2013-12-20 13:04 +0200
Re: Recommendations for an online Introduction to programming using Java Lars Enderin <lars.enderin@telia.com> - 2013-12-20 16:54 +0100
Re: Recommendations for an online Introduction to programming using Java "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-12-21 13:02 +0000
Re: Recommendations for an online Introduction to programming using Java Chris Riesbeck <Chris.Riesbeck@gmail.com> - 2013-12-19 12:22 -0600
Re: Recommendations for an online Introduction to programming using Java Arne Vajhøj <arne@vajhoej.dk> - 2013-12-30 15:14 -0500
Re: Recommendations for an online Introduction to programming using Java Arved Sandstrom <asandstrom2@eastlink.ca> - 2014-01-02 01:58 -0400
Re: Recommendations for an online Introduction to programming using Java Arne Vajhøj <arne@vajhoej.dk> - 2014-01-02 20:26 -0500
Re: Recommendations for an online Introduction to programming using Java Arne Vajhøj <arne@vajhoej.dk> - 2013-12-17 18:01 -0500
Re: Recommendations for an online Introduction to programming using Java "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-12-17 08:09 +0000
Re: Recommendations for an online Introduction to programming using Java Patricia Shanahan <pats@acm.org> - 2013-12-17 13:49 -0800
Re: Recommendations for an online Introduction to programming using Java Ali Sh <ali.shahrivarian@gmail.com> - 2013-12-18 03:44 -0800
Re: Recommendations for an online Introduction to programming using Java marianne.paradiso@gmail.com - 2013-12-19 12:02 -0800
Re: Recommendations for an online Introduction to programming using Java Roedy Green <see_website@mindprod.com.invalid> - 2013-12-21 05:00 -0800
Page 2 of 2 — ← Prev page 1 [2]
| From | "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> |
|---|---|
| Date | 2013-12-21 13:02 +0000 |
| Message-ID | <5p6dnWnSJ8oYDyjPnZ2dnUVZ8vednZ2d@bt.com> |
| In reply to | #27000 |
Lars Enderin wrote:
> Americans tend to put sentence delimiters before a closing ", but I
> thought that it did not apply to commas. Anyway, it's a confusing
> practice and certainly not applicable to program text.
String aString = "Hello world;"
;-)
-- chris
[toc] | [prev] | [next] | [standalone]
| From | Chris Riesbeck <Chris.Riesbeck@gmail.com> |
|---|---|
| Date | 2013-12-19 12:22 -0600 |
| Message-ID | <bhgrq3Fbdb5U1@mid.individual.net> |
| In reply to | #26989 |
On 12/18/2013 1:32 PM, Stefan Ram wrote: > Chris Riesbeck <Chris.Riesbeck@gmail.com> writes: >> I looked at a couple of the early videos. A sincere effort but along >> with learning Java, you'll learn a lot of bad habits, especially in >> naming things. E.g., his first example is a hello world program in a >> class called "apples," thereby managing to make three mistakes in one >> short name. > > 1st) the name is not related to the meaning of the class > (most severe) > 2nd) it does not start with an upper-case letter > 3rd) it contains a comma > > The quality assessments of beginners and experts often > differ. A beginner senses whether the learning process > triggered by reading a book makes him feel good, and will > not always recognize it when he learns something that is > wrong. When the book tells the beginner: »You can name a > class any way you like as long as the name sounds really > cool, for example, try funny fruit names.«, a young beginner > might actually like this stance. Possibly, he will continue > to read this book, while he would have stopped reading a > more boring book even though it is more correct in technical > terms. So, the funny book with the mistakes might actually > make him learn more (some of which is wrong). I certainly agree with the need to engage and not intimidate the beginner. Knowing when to lie to students is an important part of teaching. One of the things that led me into math and then computer science was when a high school teacher misled me about what was already known about the square root of -1. But the part of me that reads college student code sees all these programmers who believe names don't matter, when they probably matter more than anything else. So somewhere down the line, before they release code into the wild, it'd be nice if someone told them you write code for people to read, not just computers.
[toc] | [prev] | [next] | [standalone]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2013-12-30 15:14 -0500 |
| Message-ID | <52c1d42b$0$295$14726298@news.sunsite.dk> |
| In reply to | #26989 |
On 12/18/2013 2:32 PM, Stefan Ram wrote: > Chris Riesbeck <Chris.Riesbeck@gmail.com> writes: >> I looked at a couple of the early videos. A sincere effort but along >> with learning Java, you'll learn a lot of bad habits, especially in >> naming things. E.g., his first example is a hello world program in a >> class called "apples," thereby managing to make three mistakes in one >> short name. > > 1st) the name is not related to the meaning of the class > (most severe) > 2nd) it does not start with an upper-case letter > 3rd) it contains a comma > > The quality assessments of beginners and experts often > differ. A beginner senses whether the learning process > triggered by reading a book makes him feel good, and will > not always recognize it when he learns something that is > wrong. When the book tells the beginner: »You can name a > class any way you like as long as the name sounds really > cool, for example, try funny fruit names.«, a young beginner > might actually like this stance. Possibly, he will continue > to read this book, while he would have stopped reading a > more boring book even though it is more correct in technical > terms. So, the funny book with the mistakes might actually > make him learn more (some of which is wrong). > > There is a German Java programming book, whose name I > forgot, that uses class and variable names like »Jacob« and > «Sophia«. While experts criticise this, some readers > (beginners) say that it helps them to understand that these > are names the programmer can assign as he likes it, > setting them clearly apart from keywords like »return«, > marking them as /names/. I completely agree. And that is why I recommended a book by an author that is good at writing introductory programming books over a book by an author that is a true expert in Java. That said then I would consider it best to stick to normal convention case of names. It is not a subject that requires a lot of knowledge to understand. Arne
[toc] | [prev] | [next] | [standalone]
| From | Arved Sandstrom <asandstrom2@eastlink.ca> |
|---|---|
| Date | 2014-01-02 01:58 -0400 |
| Message-ID | <xe7xu.104465$5K4.24154@fx07.iad> |
| In reply to | #26989 |
On 12/18/2013 03:32 PM, Stefan Ram wrote: > Chris Riesbeck <Chris.Riesbeck@gmail.com> writes: >> I looked at a couple of the early videos. A sincere effort but along >> with learning Java, you'll learn a lot of bad habits, especially in >> naming things. E.g., his first example is a hello world program in a >> class called "apples," thereby managing to make three mistakes in one >> short name. > > 1st) the name is not related to the meaning of the class > (most severe) > 2nd) it does not start with an upper-case letter > 3rd) it contains a comma > > The quality assessments of beginners and experts often > differ. A beginner senses whether the learning process > triggered by reading a book makes him feel good, and will > not always recognize it when he learns something that is > wrong. When the book tells the beginner: »You can name a > class any way you like as long as the name sounds really > cool, for example, try funny fruit names.«, a young beginner > might actually like this stance. Possibly, he will continue > to read this book, while he would have stopped reading a > more boring book even though it is more correct in technical > terms. So, the funny book with the mistakes might actually > make him learn more (some of which is wrong). > > There is a German Java programming book, whose name I > forgot, that uses class and variable names like »Jacob« and > «Sophia«. While experts criticise this, some readers > (beginners) say that it helps them to understand that these > are names the programmer can assign as he likes it, > setting them clearly apart from keywords like »return«, > marking them as /names/. > I'm not aware of great recent introductory Java programming books, except for advanced topics: you appreciate Bloch and Goetz when you've already learned Java. That Herb Schildt wrote a book about Java bothers me: his books on C and C++ were awful. But judging by the publishing press he is an authority on C, C++, C# and Java. I'll be less harsh about the Deitels: they are merely mediocre. The original O'Reilly books about Java were the best. I've still got my '96 edition of "Java In a Nutshell" by Flanagan on my shelf. 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]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2014-01-02 20:26 -0500 |
| Message-ID | <52c611d6$0$298$14726298@news.sunsite.dk> |
| In reply to | #27166 |
On 1/2/2014 12:58 AM, Arved Sandstrom wrote:
> On 12/18/2013 03:32 PM, Stefan Ram wrote:
>> Chris Riesbeck <Chris.Riesbeck@gmail.com> writes:
>>> I looked at a couple of the early videos. A sincere effort but along
>>> with learning Java, you'll learn a lot of bad habits, especially in
>>> naming things. E.g., his first example is a hello world program in a
>>> class called "apples," thereby managing to make three mistakes in one
>>> short name.
>>
>> 1st) the name is not related to the meaning of the class
>> (most severe)
>> 2nd) it does not start with an upper-case letter
>> 3rd) it contains a comma
>>
>> The quality assessments of beginners and experts often
>> differ. A beginner senses whether the learning process
>> triggered by reading a book makes him feel good, and will
>> not always recognize it when he learns something that is
>> wrong. When the book tells the beginner: »You can name a
>> class any way you like as long as the name sounds really
>> cool, for example, try funny fruit names.«, a young beginner
>> might actually like this stance. Possibly, he will continue
>> to read this book, while he would have stopped reading a
>> more boring book even though it is more correct in technical
>> terms. So, the funny book with the mistakes might actually
>> make him learn more (some of which is wrong).
>>
>> There is a German Java programming book, whose name I
>> forgot, that uses class and variable names like »Jacob« and
>> «Sophia«. While experts criticise this, some readers
>> (beginners) say that it helps them to understand that these
>> are names the programmer can assign as he likes it,
>> setting them clearly apart from keywords like »return«,
>> marking them as /names/.
>>
> I'm not aware of great recent introductory Java programming books,
> except for advanced topics: you appreciate Bloch and Goetz when you've
> already learned Java. That Herb Schildt wrote a book about Java bothers
> me: his books on C and C++ were awful. But judging by the publishing
> press he is an authority on C, C++, C# and Java. I'll be less harsh
> about the Deitels: they are merely mediocre.
All the C and C++ experts agree that Schildt's books are awful.
But in most cases that just means that they are awful at teaching
beginners how to program.
A few quotes from Feather:
<quote>
A proper understanding of the terms "implementation-defined",
"undefined", and "unspecified", and of the differences between them, is
essential to understanding the limits that the standard puts on the
programmer and the implementor. Unfortunately, the differences are not
explained at all, and the book leaves me wondering why the different
terms are used at all.
</quote>
<quote>
## An unsigned integer expression cannot overflow. This is because
## there is no way to represent such an overflow as an unsigned
## quantity.
More nonsense. An implementation either does or doesn't have a way to
represent overflow - usually integers don't, while floating point may or
may not (some systems have INFINITY values that effectively indicate
overflow). However, an unsigned integer expression cannot overflow
because the standard says so - the choice was made that unsigned integer
arithmetic is done modulo some base (UINT_MAX+1 for unsigned int,
ULONG_MAX+1 for unsigned long). There is no magic about this; it was an
arbitrary decision by the authors of the standard.
</quote>
A few quote from Seebs:
<quote>
As bits are shifted off one end, zeroes are brought in the other
end. (In the case of a signed, negative integer, a right shift will
cause a 1 to be brought in so that the sign bit is preserved.)
Clear, lucid, but not actually true. What happens when you right-shift a
signed, negative number, is "implementation-defined" (C99, 6.5.7,
paragraph 5); that is to say, the implementation has to document what
happens. While the behavior Schildt describes is one of the common
choices, other systems have been known to shift in zeroes. There may be
other behaviors out there. This ties in somewhat with Schildt's comments
about the use of two's complement representations, where the behavior he
describes is common but not actually required.
</quote>
<quote>
If stream is associated with a file opened for writing, a call to
fflush() causes the contents of the output buffer to be physically
written to the file. The file remains open.
There's a couple of questionable bits here, although they're arcane
enough that you might reasonably call them nitpicks.
Streams in C can be opened for reading, writing, or "update"—both
reading and writing. You can safely use fflush() on an update stream
only if the most recent operation on it was not a read (writes or seeks,
for instance, are allowed). Schildt misses that distinction, although I
simply can't tell whether he fails to point out that you can sometimes
flush an update stream, or fails to point out that you sometimes can't
flush an update stream.
More perniciously, it's worth pointing out that fflush() does not
cause the contents of the output buffer to be physically written to the
file. It causes the contents of the output buffer to be delivered to the
host operating environment, which may well have additional layers of
buffering. On most modern systems, this could result in the file living
in an operating-system level write cache for seconds or minutes, or for
that matter, living in a cache on the disk drive's internal
microcontroller for some time. (That "16MB cache!" you see advertised on
hard drive packaging is, in many cases, not something the C
implementation can force to be flushed out to the physical platters.)
</quote>
All very correct.
But absolutely non-suitable for a beginner that wants to learn C.
Arne
[toc] | [prev] | [next] | [standalone]
| From | Arne Vajhøj <arne@vajhoej.dk> |
|---|---|
| Date | 2013-12-17 18:01 -0500 |
| Message-ID | <52b0d7b4$0$295$14726298@news.sunsite.dk> |
| In reply to | #26975 |
On 12/17/2013 2:40 PM, Henry Cate wrote: > In article <gu2dna8uio1EfTLPnZ2dnUVZ_t-dnZ2d@earthlink.com>, > Charles Hottel <chottel@earthlink.net> wrote: >> I like the books published by Mike Murach: >> >> http://www.murach.com/books/java.htm > > Thanks. I'll check them out. > > This kind of seems to be what I want: > > http://thenewboston.org/list.php?cat=31 > > I'll check them out this weekend to see if the quality > is pretty good and how engaging the videos are. Videos has been hot for several years now. But I must admit to be so old fashioned to prefer books. Sure it is more difficult to read books than to watch videos. But if reading books is a problem, then programming will be a big problem. And nothing provides the same amount of information as a good book. Arne
[toc] | [prev] | [next] | [standalone]
| From | "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> |
|---|---|
| Date | 2013-12-17 08:09 +0000 |
| Message-ID | <zMSdnWg7-JhYmy3PnZ2dnUVZ8gqdnZ2d@bt.com> |
| In reply to | #26950 |
Henry Cate wrote:
> Does anyone have recommendations for an online
> forum which teaches the basics of programming, using Java?
You might find it worthwhile to look at the BlueJ stuff, both the learning
environment itself and the material (including a book) that is associated with
it.
Alternatively, and setting Java to one side (not a bad idea in itself), you
might find the Raspberry Pi and /it's/ associated material worth checking.
-- chris
[toc] | [prev] | [next] | [standalone]
| From | Patricia Shanahan <pats@acm.org> |
|---|---|
| Date | 2013-12-17 13:49 -0800 |
| Message-ID | <-dKdne20GvN6Wy3PnZ2dnUVZ_vudnZ2d@earthlink.com> |
| In reply to | #26950 |
On 12/16/2013 2:11 PM, Henry Cate wrote:
> I have a young teenage daughter who is interested
> in programming. She has been messing around with something
> on Kahn Academy's web site which uses Javascript. A friend
> of mine has a teenage son who is also interested in learning
> how to program. I would like to get them started with Java,
> but Google has 9.5 million hits for: "Introduction to
> programming in Java"
...
> Good introduction to real programming
> Teaches the basics - make no assumptions on what the student already knows
> Simple exercises to make sure they understand the concepts
> Online video would be nice
> Free would be nice
...
For some light relief, they may enjoy Codespells:
https://sites.google.com/a/eng.ucsd.edu/codespells/home
It is a game in which wizards cast magic spells. "Levitate" is a typical
spell:
======================================
import june.*;
public class Levitate extends Spell
{
public void cast()
{
Enchanted target = getTarget();
int counter = 0;
while(counter < 10)
{
target.move(Direction.up(), 0.1);
counter = counter + 1;
}
}
}
=======================================
Players combine and modify spells to achieve various quests.
Patricia
[toc] | [prev] | [next] | [standalone]
| From | Ali Sh <ali.shahrivarian@gmail.com> |
|---|---|
| Date | 2013-12-18 03:44 -0800 |
| Message-ID | <243cac1a-d31b-465c-9233-206edc84bc49@googlegroups.com> |
| In reply to | #26950 |
Beginning Java 7 Jeff Friesen
[toc] | [prev] | [next] | [standalone]
| From | marianne.paradiso@gmail.com |
|---|---|
| Date | 2013-12-19 12:02 -0800 |
| Message-ID | <80edb238-e03b-4670-944f-f861342737f5@googlegroups.com> |
| In reply to | #26950 |
There are tons of books here: http://it-ebooks.info/book/2595/ I'm sure you'll find something suitable for your daughter.
[toc] | [prev] | [next] | [standalone]
| From | Roedy Green <see_website@mindprod.com.invalid> |
|---|---|
| Date | 2013-12-21 05:00 -0800 |
| Message-ID | <t14bb9dbrslm8o4ctrtpa2nlr5ntlpjktb@4ax.com> |
| In reply to | #26950 |
On 16 Dec 2013 17:11:40 -0500, cate3@panix.com (Henry Cate) wrote, quoted or indirectly quoted someone who said : > I would like to get them started with Java, >but Google has 9.5 million hits for: "Introduction to >programming in Java" I would try the Oracle Java tutorials. After that, he might find my site useful. For example if he wanted to use a button, he could look at http://mindprod.com/jgloss/jbutton.html And he would see a short, complete program using it and "gotchas" (tips of the unexpected). You can do that for all sorts of the common classes. Tutorials are great to get started, but are not good for reference. The official docs are a bit daunting for novices. My stuff fits in the middle. -- Roedy Green Canadian Mind Products http://mindprod.com Unlike many machines, computers require no water once they are manufactured.
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | comp.lang.java.programmer
csiph-web