Slashdot Mirror


CS Students Want Advice on Helping Strugglers?

geekgirl21 asks: "My university's Computer Science Society (a student organization) wants to create a booklet about helping students get through the major's introductory courses (3 semesters of Java). The focus of this booklet is toward the people who work hard but still struggle with the courses. Specifically, we'd would like some advice about where to get the following: clearly written books/articles about the concepts of Java and OOP, how to prepare for tests, how to take notes in class, how to productively complete a coding assignment, and how to write good, documented code. Also, organization is not our group's strong point. So how do you recommend splitting up the work to complete this seemingly intimidating task? Thanks in advance about any advice you can provide."

5 of 99 comments (clear)

  1. Well... by dh003i · · Score: 4, Insightful

    You can always take the approach that has a very strong heritage in the Linux community, and has recently been catching on in some certain colleges: RTFM! READ THE FUCKING MANUAL!

    Seriously, that is what some colleges are doing. You can be expelled for helping a struggling student; it falls under the same class as cheating or plaguarism. The idea is that they want to weed out all those who can't hack it on their own, so as to save them from wasting years of work. After all, programmers need to be able to get stuff done on their own, without asking for help every 5 minutes, right?

    Well, I can understand this approach: programmers need to have some degree of independence. But everyone struggles with some things, and maybe this person has really great ideas for programs/algorithms, but just has problems putting them into computer language. It'd be a shame to waste such a person because (s)he couldn't get it right by rtfm'ing.

    Also, in the real programming world, though much is done independently, no programmer is an island unto himself. No one can do everything, and the wise programmer seeks the advice of specialists in particular areas.

    Personally, I think that you can only help other people understand something/solve something if you know how you do. You might solve a problem lickety-split. How? If you don't know how, you can't really help anyone. But if you can analyze your thought process and come up with exactly how you solved that problem, you can help other people think in the way you do about the problems (which is obviously a good way to think, since you solved it quickly). It might be a rigorous logical thought process, or a highly innovative one. Even if you are really good, you can benefit from this type of thing by understanding the thought processes of others who are really good, thus adding to your own thought processes.

  2. The cyncical (and elitist) point of view by Dr.+Bent · · Score: 5, Insightful

    Don't help these people. Let them fail. Seriously.

    1) There are already way, way too many bad programmers out there. Every profession has the standard bell curve of skilled vs. lame, but software is 10 times more skewed toward the lame end due to too many people dropping out of school to go work at a dotcom. Don't add fuel to the fire.

    2) Every good programmer I know learned 90% of his skills on his own. Yes, you can learn things at school that are difficult to learn on your own, but quite frankly, these things shouldn't require special help to pick up (outside of normal coursework). If you can't figure them out on your own, your chances of applying them correctly are pretty damn low.

    3) [and most important] Too many people go into Computer Science because the money's good, or because it seems like a better idea than the alternatives, or because they like playing Quake and they think that's what C.S. is all about. Then they get into their 3rd year and decide that they hate programming and switch majors. The sooner these people figure out what it is they REALLY want to do, the better, for them and us. It takes a special kind of person to actually ENJOY (not just tolerate) programming, and if you don't enjoy it you're going to regret making it your life's work.

    On the other hand...

    1. Re:The cyncical (and elitist) point of view by (trb001) · · Score: 4, Insightful

      Yes, yes, double YES!

      I got out of college pretty much at the height of the dotcom saga (May, 2000). I was/am no slouch when it comes to programming...I went to Virginia Tech and was on the school's ACM computer team (unfortunately, I graduated before they won 3rd place in the international finals, but I cheered for them :). When it came time for interviewing, I knew I wouldn't have a problem finding a job but I thought some of my peers might since many of the people I knew from class could barely write C code for their projects. I remember practically writing their code for them while I was in school and figured eventually this would catch up with them when it came time for the real world.

      Yeah, I was wrong.

      These people still managed to get 50k+ starting salaries with signing bonuses that were just sick. They weren't GOOD at what they did, they just knew what a computer was and how to program a little, but that was enough for most companies. And we wonder why those companies didn't do well...

      Anyways, back to the point. I was a computer engineer in college and I still remember the first day of orientation. All the engineers in our orientation group (you were a 'general engineer' until your sophmore year) were gathered in an auditorium to listen to the dean speak. One of the first things he said was "Take a look around...3 of the 5 people sitting near you won't be here when you graduate". I was PROUD of that fact, knowing that I would be one of the few engineers to make it through my 4 years at school.

      I wish CS were the same way. I wish people had a rough time and were forced to drop/fail out of of the major, then maybe we wouldn't have the glut of horrible programmers passing resumes around and making it very, very difficult to find a job these days even if you are an excellent developer. Please, don't help these people more than they deserve, it's doing them and the rest of us a great disservice.

      --trb

  3. Re:Here you go by Jose · · Score: 4, Insightful

    It's not like there is anything you actually learn in four years of CS education that you can't learn in 3 months with a pile of books.

    I'd disagree. Going through those x years of higher education teaches you quite a bit. You may not remember half the stuff that prof tells you, but it is the other things that you learn that are _way_ more important.

    Like how to teach others. You may be really strong in some aspect of a course that you are taking, so some of the other students ask you how it works/how to do it. The easiest way is to just give them the answer. The problem with that is that those people keep coming back looking for the easy answer, but if you spend 5-10 minutes initially explaining how/why something works, that student will (hopefully) understand how to do it, and won't come back. When you first start doing things like, you'll probably stumble a bit, and it'll take a while to explain things, but once you get the hang of it, then your teaching becomes much quicker, and much more effective. (a very strong asset for you to have)

    Another thing that you will learn is how to ask questions, as above, you may just start out asking for the answer directly, then you start asking why, then (hopefully) after a while, you will be able to succinctly be able to describe a situation, the problem you are having, and what you have tried in a short order of time. (again a very good asset for you)

    You learn how to deal with prick collegues, superiors, and aquaintances.

    A lot of people will think that these are things that you can pick up in high school, or that you already know these things (they are pretty obvious), and yes that is true. But the concentration of these factors, coupled with the pressures of higher education really drive home these qualities, and it should be just second nature to you. So that it is just a reflex, not really something you have to think about.

    yea, you could probably learn some or even all of the technical details in 3 months with a stack of books, 2 pencils (37 erasers!), and a couple computers...but you'd miss the whole point of University.

    --
    The basic sleazeware produced in a drunken fury by a bunch of UCBerkeley grad students was still the core of BIND. --PV
  4. Re:Here you go by Henry+V+.009 · · Score: 5, Interesting

    I have tutored any number of impressionable young girls in High School algebra and calculus--and I've come to some conclusions.

    1) Choosing the right textbook isn't just important, it's damn important.
    2) I could have been replaced by a tape recoder with these phrases in a loop: Well, what do you think the answer is? I know that you don't think that will work--but you can't know until you try. See, you are a very smart girl when it comes to mathematics, I hope you consider it as your college major.
    3) A dry textbook is worse than a lively teacher and a lively textbook is better than a dry teacher. It's about motivation, not intelligence. In my experience, confidence in your ability to tackle problems (not necessarily confidence in your solutions, though) is the surest mark of genius. And motivation, unlike intelligence, is under your control.