Slashdot Mirror


Professor Questions Sink-Or-Swim Intro To CS Courses

theodp writes "After having taught introductory programming (CS 1) for the past six years,' writes GVSU's Zack Kurmas, 'and having watched many students struggle through this course and the subsequent course (CS 2), I have come to the conclusion that it is absurd to expect students who don't have any prior programming experience to be well prepared to study Computer Science after a single 15-week course (i.e., CS 1). I believe that expecting a student to learn to program well enough to study Computer Science in a single 15-week course is almost as absurd as expecting a student with no instrumental musical experience to be ready to join the university orchestra after 15 weeks.' Kurmas' frustrations are not unlike those voiced by Physics professor Dr. Yung Tae Kim, who argues the up-or-out, one-size-fits-all rigid pace approach to learning set by teachers and administrators is as absurd as telling a toddler, 'You have ten weeks to walk, and if you can't, you get an F and you're not allowed to try to walk anymore."

70 of 606 comments (clear)

  1. WHy are you majoring in CS... by LordLimecat · · Score: 5, Insightful

    If you didnt already begin in a high school class, or at the very least on hobby projects?

    1. Re:WHy are you majoring in CS... by Anonymous Coward · · Score: 5, Insightful

      I know! Would you trust a doctor who, at the age of 15, wasn't operating on his pets?

    2. Re:WHy are you majoring in CS... by Robadob · · Score: 3, Insightful

      I'm in my first year of a degree doing computer science at the University of Sheffield (UK), our course is made up of maybe 50% who hadn't programmed before coming to university (this includes not doing ICT[yeah that's nothing like cs] or computer studies at Secondary school). When i asked some people why they chose computer science they just shrugged, these same people struggle with a lot of the programming concepts we have covered in java past the initial 'this is a for loop, this is a select case statements etc'. I was really surprised when i got to University and my course wasn't full of 'nerdy' or geeky people as such, I just feel that some people didn't really know what they were getting into. So i agree that having programming experience and enjoying it is a necessity of doing a computer science degree (some may argue that the maths is the most important side). Even worse is the fact ~90% of the ITMB (IT and business management) students who have the java, software engineering and web/internet technology modules, lack even the slightest interest in programming or any of the CS modules when this is taking up half of their degree. Anyone should know that its far easier to learn something when you have interest in it, so back to the point why do people choose to do CS. Personally i had been playing around with vb.net and lua for a couple of years making loads of small utilities before i reached university (this involved software engineering coursework at a2) instead of going out clubbing and drinking, but some people just seem a bit naive about programming and struggle past 'Hello World!'. I'm not trying to say that i'm amazing, there are people who excel past me at programming. But there are only 10-25% of the course who can code competently, and a few others who excel at the maths side (usually Romanian international students). I just pity some of the people who will be in teams together for our software engineering module next year (where we have to produce a real product for a real customer in teams of 4 [50% of marks are awarded by a manager at the company your developing the software for]), maybe they will be better with haskell (functional programming language) which we learn next year.

    3. Re:WHy are you majoring in CS... by TheRaven64 · · Score: 5, Insightful

      Would you trust a doctor who went to university never having taken biology at school? Well, maybe, if he managed to graduate, but I wouldn't expect him to pass. Pretty much any medical degree in the UK will require A-level biology (no idea what the US equivalent is). Unfortunately, most computer science courses have very few fixed prerequisites. A lot don't even require maths, because A-level maths is mostly calculus, which is irrelevant to 90% of computer science, and completely omit things like graph theory that are absolutely fundamental.

      This is a real problem when trying to design a curriculum. You can't expect the students to have been taught programming, because most schools don't have anyone who's competent to teach it. Some will have taught themselves stuff (and probably picked up some bad habits along the way), some will not. The ones who are self taught will be bored for at least some of the first year, since everyone else will be catching up. Worse, they often assume that the fact that they already know some of the material means that they already know all of it, and get a nasty shock at exam time.

      The real solution is for schools to employ people who are competent to teach programming, and for universities to make this a prerequisite, but I doubt that will happen.

      --
      I am TheRaven on Soylent News
    4. Re:WHy are you majoring in CS... by Cwix · · Score: 3, Informative

      for universities to make this a prerequisite

      You want universities to not accept CS students because they didn't take a programming course in high school?

      Well id be fucked because my high school didn't offer any programming besides "Web Programming".

      So if a student comes from a school that cant afford a real programming course then they just aren't good enough for you? Fuck you. Prick.

      --
      You are entitled to your own opinions, not your own facts.
    5. Re:WHy are you majoring in CS... by Ephemeriis · · Score: 4, Insightful

      WHy are you majoring in CS... If you didnt already begin in a high school class, or at the very least on hobby projects?

      Not all high schools have computer science-y classes. And not all prospective students have the kind of resources necessary for hobby projects.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    6. Re:WHy are you majoring in CS... by mikael_j · · Score: 2

      Here in Sweden a lot of the engineering and "hard science" programs used to require pretty much the same across the board (don't know what it's like now, been a few years) which was equally bad. Rather than not requiring enough things they all required you to have taken the advanced HS math courses, advanced HS physics and of course HS chemistry, many also required other courses which were highly irrelevant for the program at hand but taught in a specific HS-level program geared at preparing students for college.

      This meant instead that there were plenty of students with the required math skills who couldn't apply to CS programs because they didn't take the right chemistry or physics course in HS. Or people who couldn't study chemistry because they didn't take "Social studies B" and so on...

      Of course, a lot of the people who took the specific college preparatory HS program didn't really know any of the stuff they were supposed to know because the high schools structured all courses to pass as many students as possible while still technically meeting the national requirements (it was kind of silly when you had classmates who barely knew what a function was who managed to pass "Math E" which was, as the name implies, the 5th math course available in HS, the first four being A, B, C and D with only A being required to get your high school diploma).

      --
      Greylisting is to SMTP as NAT is to IPv4
    7. Re:WHy are you majoring in CS... by biryokumaru · · Score: 4, Funny

      You should just be glad many universities don't have any English Comprehension courses as requirements...

      --
      When you're afraid to download music illegally in your own home, then the terrorists have won!
    8. Re:WHy are you majoring in CS... by XManticore · · Score: 2

      Totally disagree. High school will not be a benefit to the vast majority of people. Either you were born thinking like a computer scientist, or you will never 'get it' at uni; there are very few people who are in between, who can learn how to think in that manner.

      Third year CS student here, I had never even thought about majoring in CS until about two weeks before applying to university –I was planning on doing Physics. I had never done anything remotely CS related at school. I'm one of the top students in my class.

      Here's a paper http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf. The gist of it is that school is a waste of time for the top students because they already know how to think; university is a waste of time for the bottom students because they'll never get it; and there is a minority who can actually be pushed to learn something, those students who are somewhere in the middle.

    9. Re:WHy are you majoring in CS... by tverbeek · · Score: 3, Insightful

      Heck, when I took Comp Sci 101 my freshman year in college, it was 1983 and there were no high school programming classes. I did fine. And if I hadn't.... isn't flunking an intro class usually a reliable sign that it's not a good subject for you? If you really want to challenge yourself by studying something you don't understand easily, go ahead and retake it. But you'd probably be better off finding a field you'd be naturally good at instead.

      --
      http://alternatives.rzero.com/
    10. Re:WHy are you majoring in CS... by stewbacca · · Score: 2

      Most of the obsessive "i've been coding for 10 years on my own" students bring bad habits and attitudes to class and don't succeed. The clean slate students, if they an think like a CS major, can be easier to train because they have no such bad habits. When I was in the Army, I fired the best at the range, because I was the one guy who had never fired a rifle before, and therefore had to pay attention to learn how to do it correctly, where as all my backwoods buddies were already set in their (incorrect) ways of shooting.

    11. Re:WHy are you majoring in CS... by Derek+Pomery · · Score: 2

      We were far from wealthy. My mom just thought it was important enough to apply for. Helped that she was a friend of the instructor. As for the qbasic, all that required was access to a computer capable of running DOS. Even at the time that wasn't exactly a luxury.

      And as for the *time* to write programs. Most kids have at least a little free time after their 12 hour day at the sweatshop or whatever to play around...

      --
      -- perl -e'print pack"H*","6e656d6f406d38792e6f7267"' /. ate my old sig. Bastards.
    12. Re:WHy are you majoring in CS... by SomeKDEUser · · Score: 5, Insightful

      CS is not programming, CS is a field of math, so taking all the courses in math is wayyy more relevant than anything else.

      Programming itself is just syntax, logic, and a good sense of structure and style. Which you can acquire in any engineering design course: there is more resemblance between a well-designed engine or structure and a programme than you'd believe.

      Also, if you are doing CS with the goal of becoming a code monkey/senior designer/something in between you must understand that the knowledge around the code, the engineering, science, accounting, etc. is what will allow you to code the things which do what they are supposed to. The requirements will not be in terms of programme structure, but in terms of require functionality in the relevant domain.

    13. Re:WHy are you majoring in CS... by johnlcallaway · · Score: 2

      What a bunch of BS. I started at the tender age of 18 by taking a calculus course and teaching myself enough BASIC to do an extra credit assignment. Then I discovered that you can just buy text books and learn languages without paying for the classes, and learned WATFIV in a couple of weeks. How many kids today have computers .. Java and other languages are free. Anyone with the slightest interest has far more access to programming tutorials and IDEs than I had when I was 18. Hell, I had to program on a text editor and punched cards for years. So don't give the that crap about no one having access to resources, kids today have far more access than I ever did. I don't have a degree, yet I manage to have a six figure income.

      If someone can't pick up basic programming skills, they probably shouldn't be programming. I've seen 'college level' programmers, and would prefer to hire a hobbyist over many of them.

      And what is this about programming having a strong mathematical foundation?? It's a list of things to do, about the only math needed is some understanding of Boolean algebra, which should only take an hour to learn. This crap about polymorphism and object oriented design being tough is even more BS. It's only tough to those that don't have the aptitude to learn it. (Hint .. Objects are containers. Polymorphism is just containers within containers. See .. pretty damn simple to teach the concepts initially. I've done it dozens of times successfully.)

      Kinda like me and music. Sure, I can play the saxophone. Studied it for 8 years. Yet no one is willing to pay me to play it because I'm just not good enough at it, and probably never will be. Yet they were willing to pay me to program after not having any formal education in it. Because I'm damn good at it and have the aptitude for it.

      Yet another professor who knows nothing about the real world, and just assumes everyone should be able to learn something, eventually. I know I'll never be a doctor or lawyer, I don't have the aptitude for it.

      Maybe Mr. Kurmas should learn that some students just don't have the aptitude for programming, stop blaming the system, and get over it.

      --
      I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    14. Re:WHy are you majoring in CS... by Derek+Pomery · · Score: 2

      Ok. This is getting ridiculous, but fine. Local community college, one trailer. Half of the town was, including our house. Mom worked as a dental assistant, dad deceased.

      And that wasn't the 80s. It was the 90s. DOS computers were relatively easy to acquire, although I did play around on the ancient computers at school, as well, writing programs on the tape drives.

      Fact is, access to stuff that you can program with is probably one of the easiest of the sciences to get into. Especially today. Kids going into college these days were exposed to computing all their lives, and had access to programming environments on any computer with a web browser more sophisticated than the qbasic I played with.

      --
      -- perl -e'print pack"H*","6e656d6f406d38792e6f7267"' /. ate my old sig. Bastards.
    15. Re:WHy are you majoring in CS... by IceNinjaNine · · Score: 4, Insightful

      What else did you expect? What is CS but math and logic? I have seriously no idea what people expected from studying CS when they complain about having to "dig through" a lot of math. What did they expect? Learning how to program?

      I do agree with you nowadays, but back when I was in school (late 80s) it was still unclear at a lot of universities what computer science was exactly. Some departments marketed themselves as programming factories, others as an adjunct to the math department, and still others got it right. As an uninformed high schooler back in the day it was easy to believe that programming == CS.

      If I could do it all over again, I'd have gone to a school with a very strong MIS program and minored in computer science. I think this would work for a lot of business developers as you'd get enough about how the machine works along with domain specific knowledge. The major nowadays that rankles me is "Information Technology," which evidently (where I live) means "drag and drop shit into Visual Studio then connect it via ADO.Net to SQL Server". I view that program as basically the equivalent to a BS in "Data Processing" from the 70s.

    16. Re:WHy are you majoring in CS... by PRMan · · Score: 2

      I expected to be taught something that I would actually USE in my career. I haven't used Calculus or Physics since college. What a waste of time that could have been spent helping me learn to write a debugger, syntax highlighter, custom language grammar and parser, device drivers, robots, speech recognition, video recognition, OCR, simple OS, emulators, etc., etc., etc. You know PROGRAMMING stuff. All the stuff I had to learn on my own because CS is so out of touch with reality.

      CS as it is taught today is a joke unless you are the 1/10 of 1% going to work at NASA or the Jet Propulsion Laboratory.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    17. Re:WHy are you majoring in CS... by ZeroExistenZ · · Score: 2, Informative

      This is how you implement Euler integration...but nobody uses that so we used an adaptive fourth-order Runge-Kutta solver (which we won't tell you how to implement) and that is the key to everything else."

      Translation: "I'm justifying all my time spent (and think I should've spent instead of partying) and show how I'm expert of my field. I assume everybody will have put the same (specific) effort into acquiring these obscurities that I pride myself with. Look at the size of my intellectual reproductional organ.

      This gets worse, once people also have to justify their time and their costs (wages). Welcome to the intellectual industry, where once you understand the field-lingo, you understand it's often just the game of acquiring the lingo and it's (lack of) signifance.

      --
      I think we can keep recursing like this until someone returns 1
    18. Re:WHy are you majoring in CS... by popo · · Score: 4, Insightful

      Frankly, you're missing the point.

      As a professional programmer, you will be learning throughout your entire career. You will be re-training yourself constantly and unendingly.

      Those who teach themselves to program (ie: the majority of good programmers) are the ones schools need to focus on, and teach them to program *really well*.

      If you haven't learned *any* programming because you say "There wasn't a class". Then you should probably forget about it. You're not going to make a good programmer, because you sound like the kind of person who only learns from classes. And that's likely to be a very major problem for you in your career.

      --
      ------ The best brain training is now totally free : )
    19. Re:WHy are you majoring in CS... by jpate · · Score: 2, Informative

      I haven't used Calculus or Physics since college. What a waste of time that could have been spent helping me learn to write... robots, speech recognition, video recognition, OCR... You know PROGRAMMING stuff.

      So, um, how do you think we write computer programs that deal with the uncertainty involved in robotics, speech recognition, video processing, and OCR? The most successful approaches involve optimizing various objective functions with respect to (possibly labeled) data, which almost always involves either climbing (or descending) a gradient to some optimum, or (in Bayesian approaches) integrating out certain parameters. How are you going to do these things without calculus? Your professors were trying to give you the foundation to do these cool things.

    20. Re:WHy are you majoring in CS... by Sepultura · · Score: 2

      I know! Would you trust a doctor who, at the age of 15

      No way! At 15 he hadn't even left Gallifrey and he hadn't stolen a TARDIS of his own! I personally wouldn't trust a Doctor Who until he's at least the age of 400.

    21. Re:WHy are you majoring in CS... by shish · · Score: 2

      not all prospective students have the kind of resources necessary for hobby projects

      For the first couple of years of my programming life I didn't have a computer; I'd spend hours each evening writing code on paper, then head to the IT rooms during lunch to type it in - I think the habit of thinking before typing has served me well too :P

      Granted, the student could be unable to afford pen & paper, or the school might not have a computer, but I think in those cases there are bigger things to worry about...

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    22. Re:WHy are you majoring in CS... by billcopc · · Score: 2, Interesting

      Please reread the parent, he said "employ people who are competent to teach programming", and THAT should be a prerequisite [to employment].

      It is an all-too-common occurrence for some teachers to merely be "going through the motions", following a pre-written course guide that isn't in their field of expertise. I've seen used car salesmen teaching operating system fundamentals. I've seen accountants teaching SQL. I've seen a disbarred attorney teaching NT driver programming (not fucking kidding!).

      As a coder/sysadmin/hardware guy myself, who tried teaching for a few semesters way back, I can appreciate that it's often difficult to take what know and bastardize it for human consumption, especially when it draws upon multiple "layers" of other knowledge. I remember the first time I tried to explain variables to a friend (pre-teaching); to me, it was the simplest, most obvious concept, because I had learned it as a little kid fooling with 8-bit computers. To someone who either hasn't done much algebra, or had sucky math profs in high school, it's not always so trivial.

      It really takes someone who is good at picturing the student's perspective and what's going through their minds when all this foreign knowledge is being presented for the first time. I eventually got the hang of it, but man my first teaching class was brutal. I wished there had been some steps taken to prepare me for it, but no... the college just hired me on a whim, based on my technical qualifications. They asked me to produce a course outline by next week, and classes start the week after. It was all very slapdash and I can only assume the same thing happens in a lot of other colleges and universities. That's the business model...

      --
      -Billco, Fnarg.com
    23. Re:WHy are you majoring in CS... by Sir_Lewk · · Score: 2

      You're stuck in the wrong decade old geezer. All the kids in college and highschool these days were born in the 90s and grow up in the 90s/00's. Computers have been so prevalent their entire lives that they could literally jump onto a bus, head down to the local Salvation Army, and pick up a computer. All for about the price of one or two cheese pizzas.

      I would know: my previous computer, the one that I had since I was a child, cost me $50. Because I was feeling like Mr Moneybags at the time.

      Anybody currently in college or enrolling in college who says they never had the opportunity to hobby in computing is flat out full of shit.

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
    24. Re:WHy are you majoring in CS... by DavidTC · · Score: 2

      Actually, I think you're a bit off.

      Programmers are the equivalent of both architects and construction workers.

      CS is trying to teach engineering. Engineers are the people who try to figuring out how to translate physical science into usable designs to tell architects what to do, some of which will eventually get incorporating into architectural design taught to everyone.

      Likewise, CS is trying to figure out how to translate computer science in to usable designs to tell programmers what to do, some of which will eventually get incorporated into programming theory taught to everyone.

      Computer science is also, confusingly, physics itself. Just like engineers sometimes have to run scientific experiments themselves and figuring out some property of a material, sometimes computer scientists have to run scientific experiments to figure stuff out.

      programming = design using standards and materials + actual construction of that design
      CS = figuring out the rules of computers + using those rules to invent standards and materials for programmers

      Incidentally, the field of programming actually has figured out that it is both design and construction, and has come up with the title of 'architect' within itself.

      You do not need to know 'computer science' to architect software, you just need to know how to put together the stuff that the computer scientists have come up with, just like architects generally don't worry that their buildings will collapse...they just follow the rules the engineers invented.

      For both of those, with incredibly advanced designs, like a skyscraper or an AI, you'll probably need someone who is both an architect and an engineer. But generally you do not need an engineer to build a house.

      Of course, this means we're currently training a fuckload of engineers and sending them off to install plumbing in houses, which we have somehow decided requires engineers.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    25. Re:WHy are you majoring in CS... by tophermeyer · · Score: 2

      Ofcourse, this depends on which level and with what sort of clients you work and which sticks well. But I can imagine you'll lose your pitch if you're aiming for a contract where money, timing and experience are a large factor. You wont convey your client you have the weight and expertise to pull it if you are talking about "gooey" things in your meetings.

      A key component to clear communication (especially from a contractor's perspective) is adjusting your language to suit your target audience and, as you say, to help convey whatever image you are trying to project. If the client organization uses terms like "gooey", then use "gooey". And to your point above, if your client uses really technical jargon then you should use it too. At the very least it lets the client feel hip and/or smart for having used the appropriate terminology.

      Neither the formal or informal voice are inherently better than the other, it only matters that you can communicate to your audience in a mutually understood language.

  2. Is IT/CS/... not easy enough already? by kju · · Score: 5, Interesting

    I can speak only for Germany but during my studies I noticed quite a number of students which had no background (beside having played computer games all day in earlier days), had absolutely no talent (everyone can learn how to program, but most people won't become good at it), no clue and struggled a lot. Yet most of them made it through the finals, have now a B.Sc. and compete with people who really know the shit on the job market, negatively influencing hourly rates and reputation of IT. In my professional life so far I had to work with many many idiots who nethertheless had a degree.

    So I believe I disagree with this professor. Yes, not everyone might be willing to achieve the results in that time frame. But I honestly believe that most people who don't deserve to be there in the first place. Either you have what it takes or you don't. As said: You can train nearly everything, but training does not make you good. Programming is very often a task which included creativity (figuring out how to solve a problem in the best way) and if you don't have that ability, you will produce bad results. It's as simple as that.

    Don't make IT/CS easier. Make it harder, please.

    1. Re:Is IT/CS/... not easy enough already? by ThePromenader · · Score: 3, Interesting

      After having RTFA, I can understand that the author has no solution for the problem, but because many topics covered in CS2 should be part of CS1 - or in other words, students should be introduced to the ~context~ of programming before being thrown into the code itself.

      Coming from both a creative and academic background, I can say that programming (that I learned on my own) is a mindset completely different from any other course or trade I have learned - it is a trade of ~method~ more than anything, but classes today are putting the language before the method. Yes, I know I'm repeating myself.

      The best way to learn programming is to ask a student "what do you want to do - what is the goal of the program you would like to make?". Only after he is able to draw a logical schema of what he wants to do, and identify the types of input/data that he would like to treat in his program, can he fully understand the purpose and syntax of the language he is going to be programming in. Better still, a student using this method will more quickly understand the capabilities and limitations of the language he is programming in, and this will allow him to think constructively, if not creatively, about the task he has at hand. What's more, once he has the 'goal, step and method' logical mindset down pat, learning yet another language will be much easier for him.

      --

      No, no sig. Really.

      ThePromenader
    2. Re:Is IT/CS/... not easy enough already? by wisnoskij · · Score: 2

      CS is too easy, but it is also way too time consuming. With my other classes I do not have 50+ (I have had 90+) hours to work on your insanely time consuming assignment.
      So yes make it harder, but also make it shorter and less time consuming so I have time to site back and think.

      If you want us to produce big interesting programs then supply half the code.

      --
      Troll is not a replacement for I disagree.
    3. Re:Is IT/CS/... not easy enough already? by Ritchie70 · · Score: 2

      No.

      That might be the purpose of a degree in information technology or MIS or something like that. And perfectly respectable four year public universities have those.

      This is computer science. It isn't supposed to be as tightly coupled to a real world job. It's about learning the theory and mathematics of computers. Do you learn some programming skills along the way? Sure. But it isn't supposed to be the focus.

      --
      The preferred solution is to not have a problem.
    4. Re:Is IT/CS/... not easy enough already? by martin-boundary · · Score: 5, Insightful
      If people want a job, they should go to trade school. What is it with this idea that universities are job placement firms?

      Universities are there to preserve and advance the knowledge of humanity.

    5. Re:Is IT/CS/... not easy enough already? by jareth-0205 · · Score: 4, Insightful

      You can train nearly everything, but training does not make you good.

      Errr... yes it does. Or were you always a good driver / writer / programmer? Training is exactly the process of making someone good at something!

      Don't make IT/CS easier. Make it harder, please.

      Ah, the predictable "pull the ladder up after you've climbed".

    6. Re:Is IT/CS/... not easy enough already? by fermion · · Score: 2
      At some point secondary education became compulsory, not only because of unemployment and political issues, but because industrial employers needed workers who could get to work on time, stay in one place for long times, and learn simple routines. A person with basic training can learn the skills needed for the job. The jobs were low paying becaue a complex management structure was needed to supervise and create the simple structure needed to makle minimally educated people productive.

      A person who completes higher education should have basic abilities beyond the secondary education. Specificalluy such a person should be able to look at problems and with minimal supervision and prompting solve the problem. Think The Devil Wears Prada. A college educate person should be able to, when thrown into a pool, learn to swim before they drown. Everyone who can't should not have a college degree as they should have drowned, i.e. dropped out.

      What is happening is an oversupply for colleges is driving a desire for more and more students, which is reducing the minimum standards. This results in mores students who are not qualified problem solvers or qualified creative persons to attend. This itself is not bad, but, at least in the US, such students are often recruited with the offering of federally guaranteed student loans which they can use to pay tuition, books, and living expenses. Since the student does not pay for school directly, there is no downward pressure on prices. Since the loans are guaranteed, there is no incentive of the loan companies to insure the school is preparing the student, that the student is a good risk, or to insure the student pay back the loan. OTOH, these loans can never be settle with bankruptcy or any normal debt removal procedure.

      So what we have are local colleges like GVSU desperate for students and a seemingly free source of money to fund these students. The school does not care that 10% are going to default and even more are going to have their lives ruined because they did not receive the education needed to succeed to pay for the loans. The univeristy has the money and all risk is placed on the kids to pay or suffer. Weeding out the kids in the first year, before the debt is huge, is a favor to the kid, but costs the university huge sums of money. The alternative is to have a more selective admision proces, which I digree with since all kids should have an opportunity to gain an edcuation.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    7. Re:Is IT/CS/... not easy enough already? by Black+Parrot · · Score: 2

      That's the purpose of vocational education, not university education.

      If that were actually believed to be the case, every public university in the country would have to close its doors for lack of funding. The only reason why public universities get non-grant related funding is because they are believed to improve the economic prospects of the students and the community.

      Actually, there's a competing view that the purpose of education is to give you a broad background and teach you to think critically - and that those can do as much - or more - for the individual and the public than mere job training can.

      Sure, companies want universities to teach people vocational skills, so that it can be done on someone else's dime.

      But I read somewhere within the past few months (maybe here?) that some of the highest-paid non-managerial people in business and industry are people with degrees in the Liberal Arts, because they were trained in working with facts and ideas, in organizational skills, in communicating and supporting their arguments, etc., with the result that they can move into (or create) ad hoc positions that fill a company's needs for which no vocational training program exists.

      I read somewhere, long ago, that the chief of national-scale logistics for one of the major players in WWII (USA or UK, IIRC), was educated in the ultra-traditional liberal arts - Greek and Latin, Aeschylus and Aristotle, kind of thing.

      --
      Sheesh, evil *and* a jerk. -- Jade
  3. Reading, counting to 100 and other difficult tasks by Rakshasa+Taisab · · Score: 2

    What next, CS students get slack for not knowing how to read and write, addition and multiplication, and all the other skills you're expected to have when entering a high-level field of study?

    Computer science isn't a vocation education... You're there to learn the theory and techniques of programming, amongst other things. If you haven't taught yourself the basics of programming by the time you enroll then you deserve that F.

    --
    - These characters were randomly selected.
  4. Re:it's actually useful. by hedwards · · Score: 4, Insightful

    OK, so because we've always done it that way, it must be a reasonable way. Nice appeal to tradition. Perhaps we should admit that it's unreasonable to expect that students taking an intro course to have experience. Call me naive, but I always assumed that introductory courses were intended for those without experience to gain some before getting into the more difficult coursework.

  5. Expect it? by Haedrian · · Score: 4, Insightful

    We had a particular course module at uni, which after 3 weeks expected us to be experts enough in C (and in *NIX type systems) such that we could properly start the actual course which was about Systems Programming in *NIX.

    I think it's expected especially in this vocational line that you have to pick up the pace and learn stuff quickly enough. If you're starting a new job and they use a technology which you never heard of - you need to pick it up.

    So I disagree. The faster they get to the idea that you're going to be thrown into the deep end - the better they'll be in the end.

  6. It's not the Curriculum!!! by Secret+Rabbit · · Score: 5, Insightful

    The problem isn't the program, the problem is the students. Essentially, they come to University ill prepared and pay the price (i.e. high-schools are no longer doing their job).

    However, when it comes to CS, there is a specific issue that must be brought up. Namely, that students think that Computer Science equals computer programming. Anyone that has studied both can say that they aren't even remotely the same. So, it's no wonder the students fail. They think they'll be learning to be programmers, and then get nailed with an Applied Math.

    The solution here isn't to change the curriculum. But, rather to inform students what they will learn at a University (Academia) v.s. Applied Colleges (they're called Colleges in Canada, not sure what they are called in the US) v.s. trade schools, etc. Then send them in their desired direction.

    In other words, University professors, stop becoming part of the education problem, think and become part of the solution.

    1. Re:It's not the Curriculum!!! by Frequency+Domain · · Score: 2

      Except that Kurmas was talking specifically about the intro programming course. Having taught intro programming dozens of times myself, I sympathize deeply - sometimes a student with no prior background ends up doing great, but in this day and age it usually means they are people who have actively avoided learning anything about how computers work. Given how readily available computers are, if an incoming student hasn't shown enough interest to read up on and play around with VB or a scripting language I suspect that a CS degree is not going to be a happy match for them.

      There are also the students who consider themselves computer literate because they know how to use MS Office and a web browser but couldn't think logically if their lives depended on it. I can't begin to communicate how heartbreakingly frustrating it is to deal with the 10% or so who seem incapable of mastering the difference between a loop and a conditional. If they can't grasp fundamental concepts in logic and algorithms they're never going to make it in CS.

  7. The bozo filter by AnotherScratchMonkey · · Score: 2, Interesting

    I went to MIT in the early 80's, when interest in CS was exploding and the CS department was heavily oversubscribed. The introductory class taught LISP and Algol and was used to weed the applicants for a CS major down to something the department might have some hope of coping with. Additionally, if you switched majors, this was the only department that didn't allow you to switch back.

    Towards the end of my stay there other departments started operating their own basic CS class so that one could learn the rudiments needed to function in other engineering disciplines without having to devote one's life to CS arcana. This helped to take the pressure off the CS school.

  8. An odd analogy by Kijori · · Score: 4, Interesting

    I'm not sure that I really agree with the Professor's foundational analogy between studying programming and playing orchestral music. I'll explain why.

    The students who played in the university orchestra back when I was at university were phenomenally good. Many of them played professionally or intended to. That is where the analogy with computer programming becomes strained. There is no room, in professional music, for someone who is not very good, or just learning, or who lacks experience. The musicians who play in orchestras at anything approaching a high level have a degree of musical ability that I find absolutely astounding; the difference between a very good hobbyist musician and a professional or semi-professional is like night and day. That ability is normally the result of spending 30 hours or more a week, every week, practising or learning under the tuition of an excellent player for 15 or more years. And the competition is such that that is effectively the minimum level of ability required to play in a good orchestra. Many of the musicians will be far better and far more experienced than that.

    In contrast, programming is a career in which a person can grow on-the-job not only from "excellent" to "phenomenal" but from "not particularly good, but promising", to "good", and then on to "excellent" and "phenomenal" after another 10 or 20 years. There are plenty of roles for people who can code slowly but proficiently, especially if they have the potential to get better. Comparing those students to others in a far more competitive area just is not helpful - one could equally compare computer science students with lawyers being sponsored through college by White-Shoe firms. Of course the computer scientists will, on average, be less developed, less well-rounded, even less competent. But it's not a useful comparison.

    I don't know what approach the Professor's university takes but I did not, when I was studying, encounter a sink-or-swim approach to computer science coding. That approach, it seems to me, crops up when the expectation is that computer scientists, on completing the course, will have a level of competence beyond what is reasonable - an expectation that is encouraged by making unreasonable comparisons. On the other hand there were, as the Professor notes, a good number of people dropping out or changing course. I would ascribe that, rather than to a course that makes unreasonable demands, to a factor that he notes - computer science is not taught at schools. It is one of a number of courses that students choose without really knowing what it will involve. I suspect that in all those subjects there is a high initial drop-out rate as students realise that the course is not what they had expected, or is not for them, or simply that a particular aspect is more interesting and that they would prefer to specialise in, for example, mathematics.

    1. Re:An odd analogy by Kijori · · Score: 2

      I'm sure you're right regarding the level of ability needed to get in to Google or the like being exceedingly high - I remember having a look at one of their tests once and not having a clue how to even begin to understand it, let alone solve it. But my point is that the vast majority of programmers don't work at Google, or anywhere nearly so demanding - if they did then I would absolutely accept your point. The difficulty, I think, with the analogy the author tries to draw between college-level or college-graduate programmers and musicians of orchestral ability is that in music, to draw a similar analogy, Google is all there is. There's little money in being a professional (non-pop) musician even at the highest levels, and effectively none at a lower level, so to be a professional musician you have to be the best of the best. I know a number of people who are at the very bottom of the ladder, struggling to make it as professional orchestral musicians, and the level of ability they have with their instruments is far greater than the technical ability of any programmer I have met. That's not to cast an aspersion on programmers - it's simply that the industry is so competitive that anyone who gets in at the bottom is already among the elite.

      The same can't be said of programmers. I used to be a professional programmer - I'm not any longer. I was reasonable but not amazing, and I was the best of the department everywhere I worked. Simply put, if you're reasonably bright, and have a reasonable grasp of the basics, there are plenty of jobs that need doing that don't require an incredible grasp of C++ - or even a particularly good one. You can start as a junior programmer doing bog-standard, simple work (that gets reviewed by someone else) and get better over time. We hired a fair few graduates like that. None of them were great programmers when they arrived, but now, years later, they're apparently pretty good. (I don't know if you work as a programmer yourself, but I find that when I look at thedailywtf I see a fair few things that I've done at some point myself - as, to judge from the comments, have a lot of people. That code's awful, but it's being written by professionals, and the only thing that meant I was no longer writing code like that was experience I got on-the-job)

      There's a massive gap between the great programmers, and the merely good, and the mediocre. As you say that difference is, indeed, night and day. But there are plenty of mediocre programmers who still make a living from it. And since a big part of why a lot of the great programmers are great is the experience they got as hobbyists when they were at school, there's no reason why someone who comes to the profession later can't go from mediocre to great by getting that experience at work. Of course, in that time the guy who was already great has got even better, but great is still pretty darn good.

  9. Bah humbug. by raehl · · Score: 3, Insightful

    Programming is easy for people who will be good at programming. It requires being able to take a solution to a problem and arrange it into a set of instructions. If you can't do that by the time you get to college, and especially if you can't do that after 15 weeks of intro, you're not going to learn it in college, because the problem isn't that the student doesn't have CS experience; the problem is the student doesn't know how to solve problems and write down the solution.

    That's not something that a HS grad who doesn't know it already is going to learn.

  10. A Better Way to Look at That Angle by eldavojohn · · Score: 4, Insightful

    If you didnt already begin in a high school class, or at the very least on hobby projects?

    I think this is the wrong way to approach a defense of these practices. Computer Science (CS) gets made fun of a lot ... or at least it did when I was in it. "What's the matter, couldn't you handle an actual engineering major like Computer Engineering or Electrical Engineering?" And, you know, those course paths are tighter in the electives area (I should mention I went to school at the U of MN in case it's different elsewhere). Anyway, CS has many dimensions to it. The foundation is mathematics, statistics, algorithms and logic to name a few without getting into theory like automata. After all that, you have what I'll call the "cosmetics" (for lack of a better word) which are what the flavor of the year is for most popular language. Now it's either Java or Ruby but when I was in undergrad, it was C++ and Java. And there was PHP for web, MySQL for Databases, etc. And I think the reason we need to keep the weed-out course structure is that it was fun for me to learn Ruby on Rails on my own. It was an adventure I enjoyed (albeit a ridiculously easy adventure). And if you're going to be in CS, you need to have the attitude that the cosmetic stuff either comes naturally to you or is something you do in your free time. When I took my Java course, I had already worked through java.sun.com's tutorial "pathways" online and knew what all the keywords were in the language and why we use them ahead of the course. To learn recursion with this background was fairly trivial. Honestly, I don't remember learning much else in that course. And I think that's why it's important to keep that minor level of entry. Because people who have a passion don't want to have to go through course after course of learning a language or basic programming so that they can get to the good stuff.

    And those languages are a dime a dozen and they could change at the drop of a hat. As time goes on, there's only more implementations to choose from. When I went through college, functional languages were almost dead. And now Ruby is more functional than object oriented and I use it daily. So I'm glad I got to the theory instead of ever being forced to take a course on how to code PHP or how to set up JDBC connectors. But in my later courses, they demanded that implicitly in order to fulfill understanding the functionality of a transactional RDBMS.

    I think it's actually a very kind thing to say after 15 weeks: "Hey, if you don't play around with this stuff in your free time, what are you going to do when we teach you Java and five years later you need to sink-or-swim learn Ruby?" Because that's exactly what happened to me and sometimes I come across much older developers that say "Pshaw, Ruby, who the hell would want to code that? I can write the same thing in C and it's fifty times faster." And they're right but they fail to see that my manager doesn't care about speed, they care about maintainability (it's often running on top of a VM anyway) ... and I have no clue if that developer learned C in college and thinks they'll never need to know another language. A lot of my free time is spent experimenting with new languages that I'll often never use professionally and I think it makes me a better programmer. To try to identify an unwillingness to do this in 15 weeks might be saving a lot of people a lot of time and money. And maybe even protecting them from unemployment later in life.

    When you're a CS major, your learning should never stop or you will be quickly unemployed. That might be true with other majors but I've heard people brag they haven't picked up a book since college. Did I find it wrong or unfair for my university to engage in these practices? Maybe when I was in college or maybe if I had only ever been in academia but now it doesn't seem so harsh.

    When people tell me they want to code as a hobby I usually say: "T

    --
    My work here is dung.
    1. Re:A Better Way to Look at That Angle by Theovon · · Score: 2

      I like your comment about Ruby. I'm an "older programmer", and yes, I can make a C or C++ version that's 50 times faster. But oh my god is Ruby so much easier to program in. People like to use Perl for parsing stuff; I learned Ruby instead, but the principle is the same. The amount of coding (and thinking) requires is a tiny fraction of what's necessary to do this stuff using STL. So, when I'm doing scientific computing, and something's going to run for days, yeah, use C... or even Fortran. But when it's time to parse some results, I hack together a Ruby program. That program is going to be mostly I/O bound anyhow, so C won't be much faster, and even if it were, I'm just going to go on to some other aspect of the problem while waiting on the parsed results. Or have a break. Or think about the problem I'm trying to solve, rather than wasting brain energy on how to code something ancillary. This is particularly applicable to one-off programs, where the development time is a substantial portion of the time required to get to an answer.

      I actually have chronic fatigue syndrome (with gradual improvement over the last 15 years), so I really have to actively budget my energy. Part of my success as an engneer (and now as an academic) has come from finding least-effort solutions. When solving a new problem, my first goal is to find a minimal solution that meets the requirements well and correctly. There's always time later to make a faster revision, where optimizations are made based on actual user feedback, rather than just guessing.

  11. It is GOOD they won't be ready. by houghi · · Score: 3, Insightful

    This is not about "No student left behind". This is not about "People must be able to get the degree". This is about setting a standard and if you get that standard, you pass and if not, you fail.

    Sure it is almost impossible for people without the proper knowledge to pass. That is the whole point of it all. To see who is ready and who is not. Some will pass and some will fail.

    People who are better prepared will have it a lot easier then those who are not. News at 11.

    --
    Don't fight for your country, if your country does not fight for you.
    1. Re:It is GOOD they won't be ready. by syousef · · Score: 3, Insightful

      Funny, I thought the course was suppose to help you learn the material, not assume you'd already learnt it and fail you if you haven't. Silly me.

      --
      These posts express my own personal views, not those of my employer
  12. This! by DeadCatX2 · · Score: 4, Interesting

    Thisthisthisthis!

    I tutored programming when I was an undergrad. They call those "weed out courses" for a reason. Some folks are just not capable of CS. I had to tutor one kid who could not understand arguments and function calls. I spent over an hour trying to explain it to him with five different analogies and sketches on a chalk board and lots of emphatic hand-gestures, and yet he had absolutely no clue how to read

    int multiply(int x, int y)
    {
        return x * y;
    }

    Some people just don't cut it, even as code monkeys. And universities shouldn't be flooding the job market by giving idiots a degree.

    --
    :(){ :|:& };:
    1. Re:This! by Kozz · · Score: 2

      Interestingly, it's possible that this individual may have been a perfect fit with functional programming -- something I've only read about, but seems confusing to me (despite all my years of mathematics courses).

      --
      I only post comments when someone on the internet is wrong.
  13. Forget the trees, the forest is burning. by Concern · · Score: 5, Insightful

    Cramming 150 kids into a lecture hall with a "mathematician" who wasn't smart enough for the math department, who has never written software for a living and doesn't natively speak the language of most of his student body, and who disappears at the end of the class, shoving his students towards some grad students when they have questions... Where the "teaching" involves reading pages from a badly written $300 book, and then having exactly two interactions with the class: "Midterm" and "Final..." And where in many schools the dirty little secret is that the curve takes the average "D" or "F" up to a "C..."

    Aside from a few top schools (who do their best filtering with the SAT, or heaven forbid, other parts of the application), this is the reality of undergrad CS (and these in particular are all true stories). I don't see why you'd waste time on the finer points.

    The entire academy in the U.S. is collapsing. Yes, the pipelines for the few moneymaking careers left in society are still somewhat functional (finance, law... medicine, somewhat), but in many other places, the tornado of American societal collapse has passed through. More and more of the marginal schools and departments have essentially opted to become high-gloss degree mills rather than go gently into that good night. The scam is the educational equivalent of shitting where you sleep - only one generation of undergrads is going to get themselves bilked for $200k of student debt for the experience described above, let alone when most of their degrees "prepare" them for a future career lacking any hope of paying it back.

    Computer science is still a white collar job in the West for a little longer, but it lacks a professional trade group giving licenses and setting educational benchmarks. And that leads us to the punch line. The C.S. degree isn't even needed for finding work. Anyone with good code to show from their own efforts, especially success in the open source world, will get a job today, and with a few resume lines no one is looking further down. And that, by the way, is because (aside from those top schools, and often even then), they know a degree is worthless as a predictor of quality.

    I guess you can ignore all this and still decide philosophically whether you think CompSci is like medicine or even like plumbing, where there is some effort to make it difficult and filter out the riff-raff... or it'll stay just another joke degree.

    --
    Tired of Political Trolls? Opt Out!
    1. Re:Forget the trees, the forest is burning. by wonkavader · · Score: 5, Insightful

      "The C.S. degree isn't even needed for finding work." You are partly correct.

      What you should have said was "A C.S. degree, unless it's from a fairly well regarded program, has nothing to do with you getting hired for a programming job." Any good shop will make you code as part of the interview, and most people from lower-end schools CS programs come out not being able to code at all.

      I would say that it in fact hurts you in your attempt to get a job, but not because people see it and are repelled. The problem is that CS is a job degree. It's not science. It's like going to a technical school and studying wielding or diesel truck repair. It implies that
          a. you were worried about getting a job after college, which implies a lack of self confidence in the first place, which is an indicator (though not a perfect indicator) that you were substandard in the first place.
          b. you spent 4 years in a college or university, where you should have been learning to think and write and popping around subjects learning about the world, and instead you spent the bulk of your classes learning about something which comes easily to people who do well in the field. That wasn't very clever, and points back to item a, and means that in the interview, you're not a very interesting person.

      CS is a white-collar job, and so it's important that the people who do it go to college. Instead, CS grad from lower-tier schools come out with "a college degree" which is only really a third of a college degree.

      You're right that the forest is burning. The problem is that we're trying to turn colleges into vocational schools. They're not. They're supposed to tech you to be a Renaissance man, or at least to be smart and to think and write and know about a lot of things in the world. Vocational schools are different. Primary education is a vocational school. The fact that we're destroying our colleges and universities is directly related to the collapse of our primary education: we're expecting higher ed to pick up the slack, which means that it can't do what it's supposed to do.

    2. Re:Forget the trees, the forest is burning. by IceNinjaNine · · Score: 2

      Cramming 150 kids into a lecture hall with a "mathematician" who wasn't smart enough for the math department, who has never written software for a living and doesn't natively speak the language of most of his student body, and who disappears at the end of the class, shoving his students towards some grad students when they have questions..

      While not exactly the same thing, my issue was that when I took two courses in discrete mathematics that it was taught by a statistics professor who had never written code in his life nor studied computer science. The particular courses in question were indeed the "CS" math courses and not a course for math majors, and as such I completed the course having no idea what I should have learned in preparation for some of our more theoretical CS courses that came later.

      The comp sci department actually got so irritated with the math department that they nixed the discrete math requirement and brought it into the CS department under a different title that skirted the math department having any control or say over the matter. It really was for the best, since our department is like many in that quite a few computer science faculty have a heavy duty math background. The Comp Sci folks still require calc, linear algebra, and stats through the math department though.

    3. Re:Forget the trees, the forest is burning. by spiffmastercow · · Score: 4, Insightful

      Eh, my CS program actually included a lot of discrete math, graph theory, algorithm complexity, and even a little number theory. There was a lot of crap in there too, but it was no job training degree.. In fact, the complaint I heard most often is that all this theory wasn't going to do us any good in the "real" world.

    4. Re:Forget the trees, the forest is burning. by Concern · · Score: 5, Insightful

      Ah, the H1-B. Purpose-designed to destroy the US skilled labor market, by ending the centuries-old "give me your skilled, your intelligent, your yearning to be economically productive" liberal immigration policies that made this nation great, and replacing them with a regime that allows smart foreigners to come to the US for education and a few years of on the job experience, then forces many who would gladly stay in the West to return to their currency-debased homelands, where they compete more effectively for the same work, at pennies on the dollar.

      You can thank the brass at IBM, Oracle, CA and a few other leading tech companies for this ingenious economic ass fucking. We used to brain drain the world. Now it's yet another group of American senior managers shitting where they sleep, since the only thing that makes the U.S. any different from a chillier northern region of Mexico is the economic and social policies they're happy to undermine for a decade or two of quick bucks.

      --
      Tired of Political Trolls? Opt Out!
    5. Re:Forget the trees, the forest is burning. by Malenx · · Score: 2

      Perhaps the students should pick the school based on, what, I don't know, the quality of the program that they will major in?

      What your describing is an idiotic program that results in the creation of poor students. If someone is actually willing to pay for this program, it's their own fault. Your right that just because someone has a degree, that doesn't make them qualified. When I step out of school however, my finely tuned resume will have 4 years in the Air Force as a 2E2 (electronics / computer technician), a 4.0 GPA at a great private school where my max class size in CS has been 17, multiple contributions to open source projects, solid coding skills, research assistant experience, my own apps, and 12 years of working at diverse jobs, many of which were computer fields, all with 0 debt.

      Guess what, I shifted my life and made the sacrifices to get where I am. These people going through school don't have to bury themselves in debt over crappy classes. It's their own fault if they screw themselves over.

    6. Re:Forget the trees, the forest is burning. by JAlexoi · · Score: 3, Interesting

      I experience* exactly the opposite. Colleges and universities create a curriculum of high academic standards and simply fail to explain why. As a result, none of the students end up interested in their field because they weren't "hooked". The ones that were "hooked", were "hooked" somewhere else.
      So in the end you get students that didn't get enough practical experience and sure weren't interested enough to go deeper into the academic part. And as a result, academia looses a lot of potential geniuses to transform the industry and businesses bitch about how those same people are not prepared to work in the field.
      Basically universities are failing at CS all over the world, the fact that it's a global problem is seen widely in India. Because in India people don't really have a choice of career after graduating with BSc in CS.

      * - I have lead summertime recruitment drives a.k.a programming and systems engineering contests

    7. Re:Forget the trees, the forest is burning. by Anonymous Coward · · Score: 2, Insightful

      The candidates are completely worthless at real-world tasks and are so arrogant as to believe that they don't need to know about CSV files or FTP, regardless of what the other side of the transaction wants.
      No, they just disagree with the suggestion that they aren't competent at parsing CSV files until they've got a couple years' experience at it (or the general notion HR has that a prospective employee can't do anything he hasn't already spent years doing).

    8. Re:Forget the trees, the forest is burning. by rtb61 · · Score: 2

      A computer science degree has had it's day and is long overdue for a revamp. Really computer programming , computer systems administration and computer security should all be separate degrees. That lump sum approach barely covers what are becoming far more important and complex parts of computer systems infrastructure.

      Computer science degrees are struggling for relevancy because they are just too general, too out of date (changes in computer systems are hard to keep up with) and barely touch on far more currently relevant areas.

      --
      Chaos - everything, everywhere, everywhen
    9. Re:Forget the trees, the forest is burning. by DavidTC · · Score: 5, Insightful

      Indeed. It's exactly the same trick with using powerless illegal immigrants, except the H1-B visa is legal.

      I'm nearing the opinion that we should create a constitutional amendment that says anyone under the jurisdiction of the US for more than six month becomes an American citizen. Period.

      Because the entire scam is to keep those people powerless. White collar, blue collar, migrant workers, it doesn't matter, it's all the exact fucking scam to one end:

      Keep the workers powerless. At least, keep them powerless in America.

      If they need to physically be here, make sure they're here illegally, or make sure that their employer can send them home at a whim. If they don't been to physically be here, well, don't have them here, or just have them here for their education and then send them home.

      And this, of course, doesn't just fuck over those people, it fucks over citizens, who have hypothetical 'political power', but no actual money.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    10. Re:Forget the trees, the forest is burning. by happyhamster · · Score: 3

      Your arrogance illustrates a lot of what is wrong with the state of CS in the U.S. today. A bunch of arrogant, uneducated, "self-taught" "web developers" running around creating one crappy useless tech after another. You will go away like the "VB programmers" of the 90s, so enjoy it while it lasts.

  14. Re:Speaking of Absurdity... by canajin56 · · Score: 2

    "But that punishes those students who didn't have the resources to practice music on their own! Instruments are expensive! THIS IS CLASS WARFARE!"

    --
    ASCII stupid question, get a stupid ANSI
  15. +1 by Concern · · Score: 2

    I'd say that was perfectly put. I can add nothing.

    --
    Tired of Political Trolls? Opt Out!
  16. Re:Reading, counting to 100 and other difficult ta by syousef · · Score: 5, Insightful

    That is moronic. You deserve an F for not learning what the course aims to teach you in advance of taking the course? FUCK THAT. Why take the course then?

    --
    These posts express my own personal views, not those of my employer
  17. A Better Analogy by grumling · · Score: 2

    Having been a music major, a film/television major, and someone who hangs around with computer-oriented people most of his life, I think a better comparison would be film and television students. Some of them come into programs with experience in photography and video, some have even done some work that has been on the air, but most have never been near a video camera and can barely press record. The first television production course I took had 50 kids. It was all about hardware and a lot of people were totally lost. It was designed to weed out. The next had 20, and the last had 15. Since I had been taking stills for years, I had a basic understanding of exposure and composition. I also had a fairly strong background in electronics so that helped too. But there were other kids who had no background in either who were able to tough it out and get through it, one I remember was an excellent videographer even though he'd never done it before. Some of us would hang out in the studio and work on each other's projects. Some would attend class and disappear. But I'd say we all were competent enough to get an internship when we graduated (or some other entry level job).

    Music, on the other hand, is much more about honing your skills. The system just isn't at all about teaching the basics of your instrument. You have to audition to even be accepted. But there's already an infrastructure in place to accommodate that. I'd been playing since the 4th grade, all though high school I'd been in various bands, orchestras, chorus and choirs, and small ensembles. I'd also been in private lessons all through high school. How many comp-sci majors can say they have similar training?

    I'm sure this professor would like to see more students like Linus Torvalds and WOZ (who designed computers over summer vacation), but it isn't going to happen. I'm sure the instructors in the film department would like to see more Steven Spielbergs too (he had been making films since he was 10 before attending USC). The fact is, the field isn't set up that way.

    I'm really fascinated by what has happened to video in the past 5 years or so. Now that high quality cameras are cheap, desktop video editors are free, and anyone can publish short pieces easily, we should see a general improvement in the craft. It is going to take time, after all the first round of high school filmmakers is just now entering film school, but I would think we will see some amazing stuff on the horizon. The only thing that I see missing is the one-on-one instruction at the high school level.

    The same thing could be happening in comp-sci. If you subscribe to the idea that it take 10,000 hours (sort of the point of this post), the highschoolers today need to have programing tutors. There are a few, but not nearly enough to get kids beyond the "hey that's cool, I'd like to try that" through the tough stuff where most will give up.

    --
    "Well, good luck finding a judge that doesn't run a bestiality site."
  18. Not as easy as it looks by npsimons · · Score: 2

    We hear all the time that "any trade school code monkey could write that software" or "my nephew could program that" or "it's a small matter of programming". Yet here we have a prime example that it's not that easy, is it? I think people (both individually and in aggregate) *still* don't really understand software. It's understandable, because it really is different. Name another product where the design /is/ the product.

    As for "dumbing down" courses, or not expecting people to learn to program in X weeks, maybe we should just admit that most people cannot learn to program, no matter how long you take trying to teach them. Maybe sometimes some children *should* be left behind, or better yet, directed to things they can actually learn to do.

  19. Re:Wht do a CS degree? by HereIAmJH · · Score: 2

    I'd be willing to bet they are channeled into college by their parents and advisers so they can have a 'better life'. The myth is still out there that IT is a high paying white collar job. In some cases that is true, you get professional pay and professional respect. In a lot of cases though, you are a salary exempt pager slave. Those patches aren't going to install themself, son.

    Ironically, good plumbers can earn $70k, go into business for themselves with a few $k in tools and a pickup truck. All of which they can purchase with the money they'll save going to a VoTech school instead of college. They may have to spend as much time learning their craft, but most of it will be working under a master craftsman. Earn while you learn. And no fear of being outsourced.

    --
    Another day, another update to a Google android app.
  20. analogies by roman_mir · · Score: 2

    I don't know what analogies you used and what your tutoring abilities are, but I knew a number of people, who excessively used analogies in every day lives, always trying to describe the most mundane things with these analogies, which most of the time were terrible, and by using analogies they made things worse, not better.

    --
    Anyway, if somebody asked me to explain that piece of code (a function takes in 2 parameters, returns a value equal to the multiple of the two, has no effect on scope of global variables, has no side effects on the values of the parameters to the function), I would not use any analogies beyond this: a = 1 * 2, and everything else has to be explained precisely, without any analogies.

    The concepts are many: there is the 'int', so data structure must be explained, there is the '*', so the operator must be explained, there are the '{' and '}', so the scope must be explained, there is the 'return', so this has to be explained (it's equivalent to the '=' in math.)

    int - an integer between lower and upper bound

    * - a multiplication operator, this should be understood from math and use of calculators (if nothing else)

    {} - are scope, which is equivalent to () in math

    return - equivalent of '=' in math.

    --
    If the student was struggling with different notations, that's one thing, if he was struggling with understanding of math, that's another problem altogether.

  21. Degree not needed? by br00tus · · Score: 3, Interesting
    I have looked at job listings over the years on Monster.com, Hotjobs and Craigslist. Many have said "Bachelors in Computer Science" required. I applied for a nice position at Google once and the HR girl told me that almost all of the people working in that position at Google had a Masters, if not a Doctorate. Even on interviews for jobs that didn't say Bachelors required, Human Resources would ask me for my education background, how many credits at college I had, if and when I planned on graduating and so on - from their questions and reactions, it was clear they would have liked to see a Bachelors.

    I just took a list at Craigslist, and a number of adds said "BSCS required" and the like, go look yourself. What does that mean? It means when if things get shaky at your company and the economy gets shaky and you're applying for jobs, that's a job you can't apply for. Well you can apply, but they've said up front they don't want you.

    You're right that there are bad schools and bad professors and bad textbooks - so go to a good school. Find out which professors are good via ratemyprofessors, internal school rankings and the grapevine.

    I also think there is an inherent worth to four (or more) years study of computer science that four years of reading books on C++ is not going to get you. You lay the foundation with a study of discrete and continuous mathematics, then you study computation and complexity, as well as other topics. By the time you get to practical applications, you have a full, rich understanding of everything going on, are familiar with algorithms, data structures, machines etc. in a more complete way and so forth. You can do this study independently, but why not go to a good local public school - some of your professors will know a lot, and working with other students is helpful and you'll get a degree out of it to boot.

  22. Bullshit! by bjk002 · · Score: 4, Insightful

    How is CS, true CS, any less of a science than Biology, Chemistry, Anthropology, or any other "ogy" you want to throw out there? Yes, there are many who end up working in the private sector, working for financial services firms developing apps, but how is that any different from the chemist working on drug manufacturing?

    Much ground-breaking research has come out of the CS community. What IS science by your definition? Do not be so dismissive of the "science" in CS.

    --
    Opinion:=TMyOpinion.Create(Me);
  23. I beg to differ by Ignatius · · Score: 2

    > Training is exactly the process of making someone good at something!

    Well, this is a typical manager attitude - this does not make it any more true, though: Training is the process of systematically (as opposed to implicitly as e.g. by learning on the job) turning talent into skill.

    If the talent is there, then training will indeed make you good or better at something. If it lacks, no amount of training will make you "good" in any reasonable sense; basically, you will be reduced to "faking it" with huge effort but very little to show for it. In some rare cases, this is worth it (mobility training for the blind comes to mind), most of the time it is not.

    In IT/CS it is even worse, as without enough talent, in a professional environment, you will often end up with not just low but negative productivity i.e. causing more problems than you actually solve (and often make your life miserable in the process).