• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

World's Worst Java Intro Course?

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm a complete novice in CS and just finished taking a community college course in Java. I don't think the course could have been much worse.

1. The only prerequisite was basic high school algebra, but the textbook was Cay Horstmann's Big Java (2002) - not a bad book, but it has a lot of relatively advanced math, is very hard to read (tends to be abstract in a very Germanic way), and is HUGE.

2. The IDE used for the class was MS J++. No instruction was given in how this program works. And Cay Horstmann's website says that the code in Big Java is not compatible with J++.

3. We were told to download Java 1.3 from the Sun website, and when things didn't work in J++, we were to switch to command line, but instruction in using command line was never given either, though we managed to figure it out. Those GUI apps and applets never did work.

4. The instructor was a very poor teacher - I think maybe he has Asperger Syndrome or something similar. Every lecture was completely incomprehensible. Okay, that's an exaggeration; say, 95% was incomprehensible. I couldn't figure out what he was saying even when he lectured on things I was already familiar with. He never interacted with students during class. He lectured exclusively from Horstmann's powerpoint slides - but he often didn't understand the code in the slides and either skipped what he didn't understand or stopped in the middle of the lecture to look it up in the textbook. Sometimes he seemed to be BSing his way through it, but it's hard to say, since no one understood him anyway. If you asked him questions before or after class, he was friendly and willing to help (though he'd never look you in the eye), but he never understood the question and you'd have to wait patiently until he ran out of steam before trying to rephrase the question. You might eventually be able to discern some sort of answer in the torrent of words, but it was frustrating.

5. Since no one was learning anything in the class, the instructor began a process after midterms of progressively lowering his expectations - inflating the grades - so that most of the students could pass the course. I'd be surprised if more than half the class knew the difference between int and double by the end of the semester.

Anyway, a really really bad class. I'd still like to learn java. I see there are a lot of java resources out there, but I'm confused as to where I should begin. Could someone suggest a good java-for-newbies text? Walter Savitch's Java looks quite good - anyone familiar with it?

Thanks for your help in advance.
 
Ranch Hand
Posts: 580
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A lot of folks have had luck with Thinking in Java and the Head First books.
 
Ranch Hand
Posts: 456
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Wow that does sound like a bad class.
I suggest you don't use an IDE when learning to program. They are very helpful for skilled programmers, but I feel that they hamper the learning effort for new programmers or even experienced programmers learning a new language.

I'm not sure what a good book is for learning Java, but you can find a lot of resources online for learning java and you can also download the thinking in java text for free.
 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Wow, your instructor sounds like mine! ... I enrolled in an online class at my local junior college; not only were there no prerequisites to take the class, they do not even consider it a math alternate and make no mention of needing math knowledge of any caliber for the course.

Once class began though, the instructor posted in the syllabus that even though it is a beginning programming class, he expects you to have prior programming experience. All the assignments revolve around Algebra, some calculus. Our text book is "JAVA, How to Progam. fifth edition", but I have bought many other books and read about every online tutorial there is in an effort to at least get a "C" in this class. The instructor gave no reading guide, so none of us know what chapter he is on. And in his "lectures", he skips around in the book; no one knows just what chapter we are suppose to be reading ( of the 4 left in the class out of the original 26....). His ONLY contribution to the class, beside posting the 3 assignments we had to do, and the midterm (all with poor grammar and numerous spelling mistakes), have been 12 "pre-made" powerpoint lectures. No interaction on the discussion board or response to questions posted there to him by the students, and if you e-mail him you are LUCKY if you get a response in a week; my last e-mail question took him 3 weeks to respond to, and then he did not even answer my question... In one e-mail, he told me not to tell him how to do his job, when all I was asking was why he did not respond to e-mails or discussion board posts.... Your instructors initials would not have happen to have been P.C. would they???

Our text has, as most text books do, assignments at the end of each chapter we can do (we are not required to do any of them), but; there is no way of knowing if a person did the text problems correctly. The do make a solutions book to accompany the text; however, it only provides solutions to some of the questions (the easy one). Additionally, a student cannot even get the solution book through the school, nor the lab book as the instructor did not put it on the book-list for students to be able to use.

It is basically, a self taught college course. The problem I posted herein the beginning java questions, is worth a whopping 5% of my final grade. The final is the only way to pass the class as it is worth 40% of the grade. Our assignments were 30% total, the midterm also 30%, so if you pass the midterm reasonably, and do reasonably well on the assignments, but bomb the final, you fail the class as 60% or below is an "F".

Taking this class has been a hard self-taught, humbling experience...
[ May 06, 2005: Message edited by: Sammi Groover ]
 
Author
Posts: 201
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Frank,

I am sorry you had such a bad experience in an online Java course.

I have taught Java online now for over 2 years and a total of 5 year all together at my 2 year college:

Some thoughts:

1. First, teaching programming is hard over the internet. Most programming students need face to face instruction.

2. Student taking DL courses via internet need to have discipline and be willing to use other sources to learn.

3. There are a prerequsites in my java course- it is not a beginning to programming course- it is a comprehensive coverage of java. My students
know from day one I teach it at that level.

4. I provide my students book and internet references- and how to set the class path up- I teach using the command line (its free). They however have to set it up (ie download- get the program to work.

5. I use Absolute Java by Savitch. It is a good book for my DL students. They have sent good comments about it. I cover all the chapters except one in that text.

Another book I recommend is Intro to Java Programming, 5th ed. by Liang. It is much more detailed- I have used it in the classroom.

I will teach Java online this Fall semester again.
Good luck with your Java learning.

Mr.C.
[ May 07, 2005: Message edited by: James Chegwidden ]
 
author
Posts: 23951
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

3. We were told to download Java 1.3 from the Sun website, and when things didn't work in J++, we were to switch to command line, but instruction in using command line was never given either, though we managed to figure it out. Those GUI apps and applets never did work.



This is hilarious!! J++ was the IDE developed by Microsoft, which at the time was "having problems with Java". Some say that the IDE never exactly worked with Java, and intentionally forced developers to use Microsoft's own version of Java.

A law suit followed. And Microsoft eventually dropped Java, in favor of C#. (which I am told, is a pretty good language)

Anyway, this is ancient history in internet time. I am not sure, but I think J++ pre-dates Java 1.1, and even then, it never fully supported it.

Henry
 
Ranch Hand
Posts: 1211
Mac IntelliJ IDE
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Javaranch has Cattle Drive
 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
those sound like truly horrible courses. Feel much better about my own experience now!

I clutched my Savitch book this whole year, it was a pretty good resource, but occasionally did not go into as much detail as the prof.
 
arch rival
Posts: 2813
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You might like to take a look at my online course Frank.
http://www.examulator.com/moodle
 
Ranch Hand
Posts: 410
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think the Java class I taught was one of the worst ever! For slightly different reasons from having a bad teacher though (I hope). I had been asked to Java to the college students where I work. I was told they 'already know VB, C, and C++'. I hadn't taught Java for a year or so, but what the hell.

In the first class I started going over basic differences between Java and other languages when one student asked me 'whats the difference between an int and a float?' Of course I thought he meant 'how many bits in a Java int' or something. No! Turns out he didn't know the difference between integer and floating point variables! Nor did any of his classmates. At this point something clicked in my head and I grilled them over exactly what they did and didn't know about programming. Turned out they knew absolutely NOTHING! Not conditionals, delcaration of variables, constants, variable types - NOTHING! They didn't even know how to open a command line, or what a command line even was for that matter. Some of them had difficulty with Ctrl-Alt-Delete to log in!

The whole thing turned out to be very depressing - the previous courses they had done were entirely paper based - they wrote programs, but only on paper, and memorised questions and answers for exams (because in the past 5 years the same old questions had continually been repeated). So I had two choices - give them a ton of theory, let them write programs on paper, memorise exam answers, and gain an 'advanced programming' qualification even though they knew nothing - or try to start from scratch with 'real' Java and know they would likely fail because we didn't have enough time.

In the end I took the second choice and really drove them hard. About half failed completely. The rest got bad grades (Ds or Cs), except a couple who really worked incredibly hard and got As. I still think I made the right choice - though some of the students were very upset with their grades.

[ June 05, 2005: Message edited by: Stuart Gray ]
[ June 05, 2005: Message edited by: Stuart Gray ]
 
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Stuart Gray:
In the end I took the second choice and really drove them hard. About half failed completely. The rest got bad grades (Ds or Cs), except a couple who really worked incredibly hard and got As. I still think I made the right choice - though some of the students were very upset with their grades.



I think what you did was very unfair to the students. If the students took the prerequisites and you failed them because you didn't like the way that the prerequisites were taught, then the students have fair ground to complain and get their grade changed.
 
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Thomas Paul:


I think what you did was very unfair to the students. If the students took the prerequisites and you failed them because you didn't like the way that the prerequisites were taught, then the students have fair ground to complain and get their grade changed.



Tom, I'm really surprised to hear you say this! When I found myself in a position similar to Stuart, I did the same thing: I tried to help them learn what they should have learned in the first place. Now, given that grading can be on an arbitrary curve, I didn't arrange things so that most students failed, but rather that most got a "B". But I refused to teach a course that didn't actually teach what it purported to, and I applaud Stuart for taking the same stand.
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ernest Friedman-Hill:


Tom, I'm really surprised to hear you say this! When I found myself in a position similar to Stuart, I did the same thing: I tried to help them learn what they should have learned in the first place. Now, given that grading can be on an arbitrary curve, I didn't arrange things so that most students failed, but rather that most got a "B". But I refused to teach a course that didn't actually teach what it purported to, and I applaud Stuart for taking the same stand.



Try re-reading my post. What I said was that it was unfair to fail half the class. If I was a student in his class, I would have been furious at him and would have taken him to the dean. And I will add this as well... if half of a class fails, it shows the incompetence of the teacher, not the students.
 
Ernest Friedman-Hill
author and iconoclast
Posts: 24207
46
Mac OS X Eclipse IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Thomas Paul:
What I said was that it was unfair to fail half the class.



OK, I see what you meant.
 
Stuart Gray
Ranch Hand
Posts: 410
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I should also explain that the examinations for this course were not set by myself, but by an external body, so i was not "arranging" for any students to fail. Reading the syllabus for the course, it was clear that no teacher who followed the syllabus would ever get students through the exams - there were even, for example, subjects on the syllabus that do not even exist in Java (such as pointers and multiple inheritance - and I'm talking about *extending* multiple classes here, not implementing interfaces).

The only option for enabling the students to pass the exam would be to study past papers, tell them the answers, and make them memorise. This, I believe, is the approach the other teachers used for the C/C++ and VB classes. There is no way they could have passed the exam any other way because the questions were simply too complicated.

It was not a case of "not liking the way that the prerequisites were taught" - if a student comes to me and tells me he knows C and VB, yet he does not know the function of a variable, or cannot even log into a computer, something is seriously wrong. IMHO it is better to put a stop to that ASAP. Regardless of skill of the teacher, it is certainly the option that preserves the most integrity. Though you may be furious with me and take me to the dean, would you be any less furious if you gained a top grade but later found yourself way out of your depth and totally unprepared for further study or employment?
 
Thomas Paul
mister krabs
Posts: 13974
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Did you discuss the situation with the dean?
 
Stuart Gray
Ranch Hand
Posts: 410
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
@Thomas
Yes, I did. The message I got was along the lines of "be careful if you rock the boat; you might fall out". I left that place pretty soon after anyway.
 
Ranch Hand
Posts: 451
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm not sure what the best way to teach Java is; I'm not even sure it CAN be taught in any meaningful way!

I learned with one of those cheesy Sams '21 days to Java' books - and I'm glad I did. I took a 'Java Api' course after that - mostly a waste of time.

I think a lab setting with an experienced programmer with good communication skills wandering around getting people out of jams might be the optimum method....
 
Stuart Gray
Ranch Hand
Posts: 410
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Agreed. When I was teaching Pascal (uck!) to secondary school kids (14-15 years old), I found the best way was (after a short introduction of concepts) to give a number of progressively more difficult exercises and, like you say, walk around and assist. Sometimes the student would seem to pick up some concepts (say, for loops) quite quickly, but then are stopped dead by a slight variation on that concept (perhaps iterating backwards). To me there is a certain fascination in walking around and watching how different people intepret and approach the same problem - and if used properly, you can really improve your teaching technique like this too I think.
 
town drunk
( and author)
Posts: 4118
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Stuart,

It sounds like you were put into a unwinnable situation by the Dean. Given that context, I think you took a reasonable course of action: that is, you tried to teach them Java. Having been in similar situations in the past, I feel your pain.

M
 
Don Stadler
Ranch Hand
Posts: 451
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There seem to be a number of subjects which can't be well-taught by lectures. Programming is one of them - foreign languages are another. A good language tape course beats spots off any lecture class I've ever seen for learning how to speak - though grammar is another story.

I interviewed a college lecturer for a C language programming job one time. He knew a lot of facts but I had the clear impression that he couldn't write a program (or integrate a system) to save his life!

Stuart was in an impossible position & I'm not sure how I would have handled it. Learning how to program Java can take tons of time - more time than many students either have or care to give! I could see a 3 credit Java course taking half your study time and screaming for more.

Tom has a point too - those students were hurt by the poor grades & hadn't done anything to deserve it. Perhaps the answer might be to grade on the curve and have open office hours for those who want to put in the extra effort to really learn it.
 
Ranch Hand
Posts: 311
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It is sometimes horrible what teachers that are ore have been university professors and their favourites teach in their _private_ academies (like one in Wiesbaden in Germany) too:
- String concatenations by "+" operator
- inventing an own Date class (without being warned about the limitations of java.util.Date) instead of learning the reuse of classes like Date.
- a Date construuctor taking no parameters - nonsense
- implementing clone() instead of passing objects by reference!!
- not telling that the students need to pro forma implement the marker interface Cloneable
- requiring that clone() should return a Date - instead of an Object
- wrong implementation of equals() returning just the contrary

The student did not say anything because of the marks.

This teacher was a total Java beginner himself. But he is a favourite of some professors who themselves characterise Java as a typical procedural language.

Thomas.
 
pie sneak
Posts: 4727
Mac VI Editor Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Don Stadler:
Tom has a point too - those students were hurt by the poor grades & hadn't done anything to deserve it. Perhaps the answer might be to grade on the curve and have open office hours for those who want to put in the extra effort to really learn it.



They may have deserved bad grades for not doing anything to deserve better.

I was once in an Electronics course with mostly students that had neither the proper prerequisites nor any level of study habits. The teacher kept curving grades and dumbing down material to try and keep the majority on board. Only three of us ever read the chapters assigned. The end result was that a third of the class dropped out, most got a C or D, and about three of us ended up with over 150%. Had he not done so much adjusting, only the three of us would have passed. More of the class received passing grades but we also didn't get a whole lot out of the class either.

I felt bad for the teacher. He was a very intelligent engineer that came from another state once a week to teach. In fact, he was one of the best teachers I've ever had and I wish he hadn't dumbed down the material so much. The fact that students were not catching on was NOT his fault. They simply never studied and with a once-a-week class the teacher could only do so much to force retention.

I hate the blanketed belief that when the majority of a class fails it only shows that a teacher fails. It's just as likely that the majority of the students didn't try hard enough. The majority of the teachers that actually FAIL would also be the kind of teachers that would adjust all of the students grades to cover up their own incompetence. Doesn't anybody else here read Dilbert?

I believe the brave and honorable thing is to fail students when they deserve it. It can put the teacher in an unfavorable position with a dean or board and it certainly doesn't give anyone warm fuzzies, but I think it is best for the students' development.
 
Ranch Hand
Posts: 120
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I can speak for my own experience. Using an IDE to learn Java was much easier for me, although a lot of people say just to use something like notepad.

Using an IDE flags any typo error you may have, and that is very helpful. Mind you, I learned (it helps) to also learn to compile the hard way.

I used Borland Java Builder X.

Karen
 
Sheriff
Posts: 3063
12
Mac IntelliJ IDE Python VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Henry Wong:
This is hilarious!! J++ was the IDE developed by Microsoft, which at the time was "having problems with Java".



I agree. The first thing I did when I read this post was look at the posting date. Where can you even find J++ nowadays? Anyway, 10 years ago, it would have been a bad choice. Today, it's just incomprehensible.
reply
    Bookmark Topic Watch Topic
  • New Topic