Live data from Hacker News

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

pshaw.wordpress.com

71–80 of 145 posts

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

#72
post #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.

i'm very nearsighted, and use glasses. however the kind of detail i see when i'm very drunk is on a different level, regardless of whether i'm wearing glasses or not (like looking at things up close.) it might seem strange that you can see better than 20/20 (or whatever 'perfect' vision is,) but this is something that is independent of the apparatus of the eye. it's deeper, like the cognitive management of attention/focus

i'm sure part of it is that i don't actually use my eyes much from day to day... which might be the reason i'm nearsighted to begin with. but even that much wasn't apparent to me before. though the same could be said of those who have trouble programming. maybe there is something they don't use a lot, and it atrophies over time?

let me be clear. when i say i don't use my eyes much from day to day, i mean i spend most of my energy in my head and i don't really focus on my sight at all. it doesn't take much ocular prowess or precision to parse some text on a screen

but who knows, maybe i'm loony. koo koo

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

#73
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.

My first programming class (or my first class I had to use a compiler) was in C (it was one of those CSCI classes for non-majors) and this guy took us through the whole gamut, even if I barely passed the class, it was a rush. It was probably such a rush because I knew what I wanted to do, but had no idea how to express it, until we finally got to arrays, and I realized that a string is just an array of sorted characters. This insight catalyzed another insight and by the end of the year I was more interested in recursing meaningless input just to see what it looked like when it came out, which never really solved anything in my text-book, but this act taught me more about computer programming than any book could, this act showed me that computer programming is the art of counting and comparing for measuring an unknown order of magnitude. I came out of the course with so much more than what my grade reflected (somewhere between a D and C), but could really care less.

One semester later I ended up in a class called Object Oriented Analysis and Design; [insert brain hemorrhage here] I could not communicate with any of these people (nor my teacher) ever since the problem domain was suddenly so tangible, it seemed so much less enticing. This was when I laid my eccentric theory to rest, went with the flow, and started solving my exercises.

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

#74
post #44

Earlier quoted context omitted.

I think the problem with those languages is they're too different for a starting course. Scheme is obviously very powerful, but its syntax is wildly different than most popular programming languages used today. As for Ruby, don't even get me started. There's practically no syntax at all; merely reading it agitates me. I think, in the beginning, people are most likely to understand concepts like Objects (Circle, Squar…

Ruby has quite a bit of syntax (parens, methods on objects, blocks, etc), whereas scheme has almost none (parens, special forms like lambda, #t, '()). Of course both have less obtrusive syntax than Java, which requires the famous public static void main... just to get started. That is the kind of stuff that I think confuses true beginners. They look at that stuff and think "holy crap memorize these voodoo incantation…

One of the things that complicates Scheme for many beginners is the prefix notation for arithmetic and such.

It's just not a concept most Freshmen are acquainted with.

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

#75
post #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.

I started thinking of Loops as "repeaters"

"Ok. First I need to make my variables. Ok. There they ok. Good. Now I need to figure out what I want to do with them. Ok. That's that. Now I need to repeat this 5 times, so I need a repeater loop..."

That's kind of how it looked. Writing a program to tabulate diving scores was fun!

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

#76
post #20

I've noticed this with higher-level concepts too. There are people who simply can't grasp the concept of a mind that doesn't work like a human mind. There are people who simply can't grasp various levels of meta-thinking - like the distinction between metaethics and object-level moral decisions. You can keep trying to point in the direction of the meta-level but they just can't look in that direction, like they're in…

I'm not so sure about that gear theory. I think you can have new gears installed. When I took some higher level courses that required new kinds of thinking, I didn't get it. I looked and felt retarded for a while, because no matter how it was explained I didn't get it. Then by continuing to study, and thinking about things, eventually I was able to see it, and it started to integrate itself into my thinking. It's alm…

Yeah, for me it's always been struggling through. Stepping away and then coming back to it. Then I get it.

Same with piano lessons as a kid. I had chopsticks down pat after a few weeks. Then it was time to play a triad (a 3 note chord) and I just couldn't do it, pushing three keys at once with one hand.

Spent a whole lesson with my teacher literally just pushing my hand down on the piano while I looked on in horror at how badly I was at it. That sucked.

Then my family went on vacation for a week. At my next lesson I could play them just fine. Something clicked.

But it wouldn't have clicked had my teacher not spent an hour pushing my hand down onto the piano over and over again.

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

#77

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…

Okay. Here's my real opinion:

If I was setting up a curricula, each incoming student would deal with a digital logic trainer. Okay? Wires and transistors. An 18 year old should learn the fundamentals and not the shortcuts. That's my opinion--maybe I'm wrong. Java is hardly the best teaching language, but it is closer to the bone than a lot of things....

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

#78
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 judging a language by "Hello-world" is a mistake. Sure, some languages have a fixed overhead for creating a program. Some have needless syntax fluff that doesn't do all that much, but it's actually a good skill IMHO to be able to identify and see through that fluff to the core elements of the code.

When we pick up a book do we judge it based on the index at the back and the preface and the publishing info at the start? We probably just ignore those bits.

I think in these sorts of classes it'd actually be a good idea to spend several weeks looking at other peoples code and analyzing what it does. Being able to read code properly is a really important skill I think people should master before they even start with writing hello-world themselves.

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

#79
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…

To hire sufficient good TAs, schools would have to pay much more than they do, as they are competing with a lucrative commercial industry. However academic hierarchies won't tolerate paying elevated salaries to people with lesser paper qualifications just because they are talented. So every year you get the people who want a bit of cash on the side, but aren't yet good enough to do part-time contracting.

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

#80
post #18

Earlier quoted context omitted.

"I’m very skeptical of results that claim that some large fraction of the population is incapable of some mental feat like programming. 500 years ago the same was thought of reading, writing, and arithmetic." Yeah and the reason was that 500 years ago reading and writing was college level material. Now they start teaching the alphabet at what age 5? Then again most print material is targeted to a pretty low reading l…

Two illiterates can have a conversation a writer could transcribe. I'm pretty sure I couldn't represent the behavior or thought process of a computer-illiterate in code.

Never used SAP or Siebel then? ;-)
Post reply on HN