Live data from Hacker News

Java in College: "You might as well be teaching Chinese to a monkey."

pshaw.wordpress.com

61–70 of 145 posts

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#61
post #9

I don't believe that programming is something you need to just get. I've seen a lot of people struggle on assignments like these as a TA. Usually, it's that they're missing certain concepts, but they don't know which ones and they can't debug themselves. If you know 70% of basic Java, you won't be able to create a working solution. You'll get tripped up on a type mismatch error that just makes you bonkers until you g…

In Java, you can store an object in an array and then modify that object in both the array copy and the one you have in a regular variable because Java works by reference, not by copy. LOL. In what language does array assignment result in a new copy of that data structure rather than a reference of it? http://en.wikipedia.org/wiki/Array In computer science an array[1] is a data structure consisting of a group of elem…

In Pascal, Ada, PL/1, Perl, and C, array assignment or passing an array as a parameter results in a new copy of the array, at least under some circumstances. (For example, in Pascal, it has to be a value parameter, not a var parameter, and in C, the array has to be inside a struct.) These are not exactly obscure languages, so it's surprising that you assert there are no languages that work that way. Do you know any languages other than Java?

“Every real language has types,” you say. Except for BLISS, BCPL, almost any assembly language, Forth, B, the Bourne shell, dc, QED, TECO, sed, and old versions of Tcl, to name a few. Again, these are not obscure languages; every piece of software you use is inspired by some of them and implemented in part in others. (There are also languages like Python in which there are only dynamic types, but I agree with your point of view that those are still types.)

And that's why I downmodded your comment: not because it was arrogant, but because it was wrong.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#62
post #39

i think it's a matter of perspective. people's perspectives can be very different. it didn't hit me until i got really smashed one night and my vision became many times more detailed. the world looked beautiful . no doubt there are people that can see that clearly all the time, people who live in the world, as opposed to outside of it which is how it feels i am. those people are probably the ones who can "get" drawin…

Maybe this is missing the point, but have you gotten your vision tested? Maybe you're farsighted or nearsighted. I think the world looks a lot more beautiful when it's in sharp focus.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#63

Earlier quoted context omitted.

Java is a whipping boy, and I also have my problems with it, but one of its minor strengths is that it is clean enough for a teaching language (especially for total neophytes). Here is the much lambasted manner of outputting: System.out.println("Hello world"); ...in fact, this is well organized. "System" is a namespace. "out" is a static variable. "println" is a static function. "Hello world" is a String. These thing…

Java's a horrible language for teaching. If you think this... System.out.println("Hello world"); Is easier to understand than this... print("Hello world") Then you've forgotten what it's like to be a beginner. Java's not even a good example of what OO is, and it has way too much syntax and special keywords (something like 50) for teaching. Python is a far better language for teaching, Smalltalk would be even better b…

Then you've forgotten what it's like to be a beginner.

Not just that, but what programming should be like. Hello-world shouldn't need more than two elements.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#64
post #17

I snuck into the roster for an intro to Object Oriented Class when I started grad school, which was taught in Java. I took physics with the engineers in college and this was about as hard conceptually for me. But it was one of those things where it was hard until I stepped away for a while and then came back to it. Then it wasn't so hard anymore. Just too much info to take in at once I found. Loops were the hard part…

Recursion for me. I still grapple with it sometimes.

Recursion is really fun until you have to use it to solve something under pressure.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#65

Earlier quoted context omitted.

Start with digital logic and machine architecture, work your way up.

That is how my school taught me, but I don't think this is really an option for non-majors.

I remember checking out a first-year CS textbook from a library, back when I was in HS. It described one-bit adders and other hardware and then prescribed a lab assignment that required stuff I couldn't buy at a computer store.

Later, I signed up for a CS course at a college, and their textbook was just a glorified Visual Basic tutorial, because at the time, all the companies were looking for Visual Basic programmers.

Now, companies are looking for Java programmers, so the schools have switched over to that. Never mind that programming languages have a long history of turning out to be short-term fads (COBOL and Pascal before Java), and the real skill is in understanding the logic underneath the language.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#66
post #51

Earlier quoted context omitted.

I am pretty sure it was your tone.

Java is a whipping boy, and I also have my problems with it, but one of its minor strengths is that it is clean enough for a teaching language (especially for total neophytes). Here is the much lambasted manner of outputting: System.out.println("Hello world"); ...in fact, this is well organized. "System" is a namespace. "out" is a static variable. "println" is a static function. "Hello world" is a String. These thing…

>glossing over a lot of details that students need to know.

If you're teaching them object oriented programming. Why would you be teaching beginners object oriented programming?

I give the engineering programming classes at Pitt a fair amount of credit. Two semesters -- the first semester covers HTML as a reasonably useful introduction to the idea of structured text files, then Matlab to introduce if statements, loops, and functions in an environment with a friendly console. The second semester was C. Mostly everyone got it -- those that failed out of engineering didn't fail because of programming class.

The classes were taught/conceived by a professor whose primary research interest is engineering education.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#67
post #63

Earlier quoted context omitted.

Java's a horrible language for teaching. If you think this... System.out.println("Hello world"); Is easier to understand than this... print("Hello world") Then you've forgotten what it's like to be a beginner. Java's not even a good example of what OO is, and it has way too much syntax and special keywords (something like 50) for teaching. Python is a far better language for teaching, Smalltalk would be even better b…

Then you've forgotten what it's like to be a beginner. Not just that, but what programming should be like. Hello-world shouldn't need more than two elements.

I think some people just forget that the machine should be working for the human rather than vice versa.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#68

Earlier quoted context omitted.

Java is a whipping boy, and I also have my problems with it, but one of its minor strengths is that it is clean enough for a teaching language (especially for total neophytes). Here is the much lambasted manner of outputting: System.out.println("Hello world"); ...in fact, this is well organized. "System" is a namespace. "out" is a static variable. "println" is a static function. "Hello world" is a String. These thing…

Java's a horrible language for teaching. If you think this... System.out.println("Hello world"); Is easier to understand than this... print("Hello world") Then you've forgotten what it's like to be a beginner. Java's not even a good example of what OO is, and it has way too much syntax and special keywords (something like 50) for teaching. Python is a far better language for teaching, Smalltalk would be even better b…

I should also point out that your Java example won't even compile, you need to wrap it in a class and a main function to even attempt to compile and run it. Tell me again how simple this is..

    class World {  
        public static void main(String args[]) {
           System.out.println("Hello World!");
        }
    }
compared to this...

    print("Hellow World!")

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#69
post #17

Earlier quoted context omitted.

Recursion for me. I still grapple with it sometimes.

Recursion is really fun until you have to use it to solve something under pressure.

Recursion is easy if you're used to it. A recursive procedure just looks like a loop to me.

Re: Java in College: "You might as well be teaching Chinese to a monkey."

#70

I snuck into the roster for an intro to Object Oriented Class when I started grad school, which was taught in Java. I took physics with the engineers in college and this was about as hard conceptually for me. But it was one of those things where it was hard until I stepped away for a while and then came back to it. Then it wasn't so hard anymore. Just too much info to take in at once I found. Loops were the hard part…

Loops would probably be easier to teach if they taught "goto" first. "Goto" is easy for beginners to grasp, and loops can be taught in terms of it.
Post reply on HN