Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Professor Questions Sink-Or-Swim Intro To CS Courses

Soulskill posted more than 3 years ago | from the trial-by-mountain-dew dept.

Education 606

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."

Sorry! There are no comments related to the filter you selected.

WHy are you majoring in CS... (5, Insightful)

LordLimecat (1103839) | more than 3 years ago | (#36207600)

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

Re:WHy are you majoring in CS... (5, Insightful)

Anonymous Coward | more than 3 years ago | (#36207628)

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

Re:WHy are you majoring in CS... (5, Insightful)

TheRaven64 (641858) | more than 3 years ago | (#36207702)

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.

Re:WHy are you majoring in CS... (3, Informative)

Cwix (1671282) | more than 3 years ago | (#36207814)

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.

Re:WHy are you majoring in CS... (4, Funny)

biryokumaru (822262) | more than 3 years ago | (#36207936)

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

Forget the trees, the forest is burning. (5, Insightful)

Concern (819622) | more than 3 years ago | (#36208090)

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.

Re:WHy are you majoring in CS... (2)

JMJimmy (2036122) | more than 3 years ago | (#36208128)

While I agree 100% that those high schools who have solid computing courses may give some a leg up over those that don't and that sucks, I do disagree with the overall sentiment.

I've consulted on CS1/CS2 courses which were being combined at Queen's University in Kingston. They didn't know if they should make it easy for the engineering students or expect some previous coding knowledge so they could move the CS students along faster. The consensus was that due to the number of options available for self learning, peer learning, and the availability of introductory CS college courses there was really no reason for students not to know this stuff coming in or be able to pick it up easily along the way.

When you think about it, how hard is it really to understand conditional statements, loops, and methods? That's all a CS1 course really teaches.

Re:WHy are you majoring in CS... (2)

mikael_j (106439) | more than 3 years ago | (#36207866)

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).

Re:WHy are you majoring in CS... (1)

paradox11 (1435803) | more than 3 years ago | (#36207780)

Would you trust a doctor that has taken no biology classes, shown any interest in what it will take to become a doctor. But hey.. someone said Doctor = profit! So I paid my tuition.. and now I have a right to succeed at this course? (with the lack of effort that they have already demonstrated)

Re:WHy are you majoring in CS... (0)

Anonymous Coward | more than 3 years ago | (#36207682)

I learnt coding in 3rd year uni. Never done it before, not really interested...until some problems that couldn't be solved in Excel got me interested. Don't think everyone learns through the same stages or for the same reasons as yourself.

Re:WHy are you majoring in CS... (3, Insightful)

Robadob (1800074) | more than 3 years ago | (#36207690)

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.

Re:WHy are you majoring in CS... (1)

Dasuraga (1147871) | more than 3 years ago | (#36207698)

A lot of people might not have access to high school CS classes. And do you expect business majors to have started their own business before their first years? While you find a lot of obsessional people in CS majors, who have been writing code for 10 years, it is not a necessary quality(nor is it sufficient) to have potential in the major.

Re:WHy are you majoring in CS... (1)

Robadob (1800074) | more than 3 years ago | (#36207794)

If anything there are maybe 2 people on my course of 80+ (ball park guess) who have been programming for an extended period of time before university (e.g. 5+ years), past that most peoples experience is either from starting via 6th form (16-18yrs education) or not at all, this may just be because i didn't want to goto Warwick and I'm not at Oxbridge, but most CS graduates aren't coming from those elite places anyway.

A Better Way to Look at That Angle (4, Insightful)

eldavojohn (898314) | more than 3 years ago | (#36207734)

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: "The information is sitting out there online, you just need to read it." And they kind of don't understand that concept. They just like to sit back and say "Hit me with it." Like some sort of power gets bestowed upon them from another developer. It's kind of amusing at times but there are some people out there that think coding is just a finite amount of effort put in at one moment in time and then you are good to do anything. And that's simply not true. You have to have an active lifestyle to be a good to great developer.

Wht do a CS degree? (1)

petes_PoV (912422) | more than 3 years ago | (#36207772)

For a lot of people the answer is because no other course will take them - or the entry requirements for the course they DO want is too high. Most universities don't have a great deal of competition for CS places, so they're willing to take pretty much anyone who can spell compooter. It's no longer the calling or aspiration it was 20 or 30 years ago. These days, for most (not all. most. Not you: most. Most CS types haven't even heard of slashdot. You are not the norm) graduates, a CS qualification is merely an entry into a lowish level support job.

Re:WHy are you majoring in CS... (4, Insightful)

Ephemeriis (315124) | more than 3 years ago | (#36207836)

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.

Re:WHy are you majoring in CS... (1)

BonThomme (239873) | more than 3 years ago | (#36208082)

If you are waiting to be taught, I think we just identified the problem...

Re:WHy are you majoring in CS... (0)

Anonymous Coward | more than 3 years ago | (#36207854)

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

Precisely. It's not like back when us fogies started where you had a mainframe and had to trudge uphill in the snow to get access to it. For years now, I've had to put up with the "Computers aren't hard! Why little Jimmy can make a box go across the screen after only a half hour of programming!" mentality.

Right. And and his First-Aid certificate means that he'll be doing liver transplants, too.

Still, CS classes are where you'd expect the "little Jimmys" to end up, just like the Med School is where the First Aid heroes would go. So we're not talking about people who are totally cold on the subject.

A lot of what the intro course is about isn't teaching the subject per se, it's about whether the students can tolerate being a part of the culture. It's where the ones who thought it would be a good idea get a chance to find out if it really was a good idea. Or Not.

Re:WHy are you majoring in CS... (0)

Anonymous Coward | more than 3 years ago | (#36207894)

In some places (everywhere in Ireland, for example) there is no high school class for CS.
Any subject which isn't an official exam subject as decided by the state is completely ignored in 99% of schools.

Re:WHy are you majoring in CS... (1)

History's Coming To (1059484) | more than 3 years ago | (#36207920)

Because (in the UK at least) people will often take whatever degree course they can get on to. It's not that they want to learn the subject, or use it in later life, they simply want a degree in anything.I've known somebody on a CS course who dropped out because they couldn't grasp the concept of a while loop - CS was their second choice, they wanted to do English Lit but the course was booked out, and they *had* to be at this particular University because "it's the best one to find a rich husband at". I kid you not, it's a very sad situation.

Re:WHy are you majoring in CS... (2)

XManticore (2128426) | more than 3 years ago | (#36207998)

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 [mdx.ac.uk] . 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.

Re:WHy are you majoring in CS... (3, Insightful)

tverbeek (457094) | more than 3 years ago | (#36208056)

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.

Re:WHy are you majoring in CS... (0)

Anonymous Coward | more than 3 years ago | (#36208126)

Some rural and remote high schools don't have any or decent classes in computer science.

Some high school students don't have access to computers outside of their schools.

I am a third year comp sci student ( with over a decade of programming experience ) - I have been a teaching assistant for four different first year courses.

The concerns are valid - the range of students we accept into CS is not based on their experience in programming. I have meet students whose started programming in C/C++/Java in grade nine and continued through to grade 12 because their high school math/science department hired a former programmer as a teacher. There were at least a dozen students in this past term who should not have had to take the first year CS courses because they were already taught the concepts and practices in high school. Then I have meet students whose math and science marks are excellent but whose school never had anything beyond html and basic javascript - oh and the students didn't have access to computers at home because many low income familes don't/can't buy them.

Is IT/CS/... not easy enough already? (5, Interesting)

kju (327) | more than 3 years ago | (#36207604)

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.

Re:Is IT/CS/... not easy enough already? (0)

Anonymous Coward | more than 3 years ago | (#36207614)

Amen. The earlier your realize you're no good at CS, the better. Hard classes help this.

Re:Is IT/CS/... not easy enough already? (0)

Anonymous Coward | more than 3 years ago | (#36207718)

That's not CS, that's IT. IT is easy - learning to program and whatnot - CS is in the same category as Physics, Maths, etc.

Re:Is IT/CS/... not easy enough already? (1)

kju (327) | more than 3 years ago | (#36207786)

I honestly believe that much of what I said applies to CS as well, only with different topics and terms.

Re:Is IT/CS/... not easy enough already? (0)

Anonymous Coward | more than 3 years ago | (#36207732)

"Make it harder, please."

Yes! When I was at univ, about 20 years ago, CS was considered a joke major - far, far easier than EE, ME, or even CE. It was a few steps above the liberal arts majors, sure, but it was a very easy program compared to most engineering majors. From what I've seen, it's even *easier* now.

Like "kju" says, it needs to be made HARDER, not easier. Let's stop with the dumbing down of every single thing for the least common denominator. It does no service to anyone.

Re:Is IT/CS/... not easy enough already? (1)

macraig (621737) | more than 3 years ago | (#36207740)

^ This. Yes, please do make it harder.

Re:Is IT/CS/... not easy enough already? (1, Insightful)

obarthelemy (160321) | more than 3 years ago | (#36207744)

But, not everyone can be brilliant. Isn't one of the purposes of education to teach people, even so-so ones, a job ? To paraphrase my friend cap. Obvious, not all programmers can be above average.

Re:Is IT/CS/... not easy enough already? (1)

Culture20 (968837) | more than 3 years ago | (#36207926)

Isn't one of the purposes of education to teach people, even so-so ones, a job?

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

Re:Is IT/CS/... not easy enough already? (2)

Ritchie70 (860516) | more than 3 years ago | (#36207946)

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.

Re:Is IT/CS/... not easy enough already? (5, Insightful)

martin-boundary (547041) | more than 3 years ago | (#36207964)

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.

Re:Is IT/CS/... not easy enough already? (1)

mjwalshe (1680392) | more than 3 years ago | (#36208058)

Because employers want a degree as an entry point - Ironically I work in a consultancy role for a large internet publisher as both of the techie members of the team are self taught programmers diagnosing and proposing solutions for the other developers.

Re:Is IT/CS/... not easy enough already? (1)

TheLink (130905) | more than 3 years ago | (#36208078)

But, not everyone can be brilliant. Isn't one of the purposes of education to teach people, even so-so ones, a job ?

Sure, here you go for your education: http://www.aboutmcdonalds.com/mcd/careers/hamburger_university.html [aboutmcdonalds.com]

Think I'm joking? Maybe, but think also about this: compared to "programming jobs" a McD manager/burger flipper job isn't going to be outsourced to India so easily for the same cost.

Yes, you don't have to be brilliant to be a programmer. Most of those Indian programmers are FAR from brilliant (after all most programmers are far from brilliant). BUT the big difference is if you're not better than them, are you cheaper than them? Are you faster than them?

If you're not better, cheaper or faster than them, where's your job? Should you be spending tuition money on what you'd be better off doing as a hobby?

People in rich expensive countries trying to encourage people that are "not competitive enough" to go into easily offshored jobs are doing them a great disservice.

In the rich countries there is always room for the best. They'll keep getting the big bucks. But for the "dailywtf" bunch? You can get those for quarter the "average" price or less elsewhere.

A good Indian/East European programmer though not "elite" level will be much better than the average US programmer, still cheaper and might even spell better!

Re:Is IT/CS/... not easy enough already? (1)

lucian1900 (1698922) | more than 3 years ago | (#36207782)

I also disagree with him. Most of my classmates can barely program, if at all.

I've also had to waste an entire year with silly introductory courses that didn't teach me anything new. That should be done in high school.

Re:Is IT/CS/... not easy enough already? (3, Interesting)

ThePromenader (878501) | more than 3 years ago | (#36207796)

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.

Re:Is IT/CS/... not easy enough already? (2)

wisnoskij (1206448) | more than 3 years ago | (#36207848)

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.

Re:Is IT/CS/... not easy enough already? (0)

Anonymous Coward | more than 3 years ago | (#36207864)

I completely agree. I attempted CS not once, but twice in two different institutions. My experience? It was completely numbed down so the masses could get a passing grade. I lost all motivation seeing people struggle with basic concepts. Some, never even touched a computer! Every single day I wondered why these people were attending these classes. In the end, I quit out of pure despair. My second attempt was absolutely the icing on the cake as those in charge of providing education were reassigned from Phys.Ed. and Economics due to staff shortage. I spent an entire year being accused of hacking, downloading, breaking policies, rules and so forth. Why? I knew more than they did and therefore stood out. They had to enforce their power thus they pulled every dirty lie they could.

I still remember making a Tetris clone in Javascript out of pure boredom (yes, we had no access to compilers whatsoever). Couple fellow students were in awe and wanted a copy as well to keep themselves entertained. Several weeks later someone saw my clone being played and I got called into the director's office. They accused me of hacking their firewall and downloading games... I was grilled for half an hour and could only think how stupid these people are. There was a whitelist-only proxy in place and that machine physically separated our network from the rest. Downloading was impossible. Nobody ever asked where I got the game from or showed me any proof of their accusations. I left the next day, leaving a small going away present... every printer in the building was set to print out 1000 copies of all usernames and passwords on the network. Yes, giving students administrator rights is always a good idea.

Fast forward 10 years... I do production/lab work... cellular phone repairs... My workstations are the only virus-free computers in the building. Those that knew nothing when they entered the course are now working for multinationals... I feel sorry for their employers.

Lessons learned? Obedience counts, not creativity or talent.

Re:Is IT/CS/... not easy enough already? (0)

Anonymous Coward | more than 3 years ago | (#36207890)

I think the guy has a point. At the same time education turns out bad results not because it is too hard. Rather it turns out bad results because schools and educators are incompetent and can't distinguish between the interested and not interested. I was not interested in a degree. I am an exceptional individual in the subject matter (generally speaking). I flew by my classmates when it came to learning the material. Though I "struggled" to get through the material because I simply wasn't terribly interested in education. My classmates and my professors were there because they needed a job. I was there because I wanted to be. I took classes without regard for the requirements and more than I needed. I didn't put much effort forth in most cases and my grades suffered toward the end when some of the classes were over my head and I honestly did put too little time into them. When you can fly-bye earlier courses without studying and shit out code to get an A it really doesn't encourage learning. At the same time neither does making things harder. I am to this day learning. Not because of the system but despite it. I'm picking up new tools and technologies constantly. I may not be doing "computer science" technically although that is mostly due to my discontent over the educational system and the fact very few jobs actually need a C.S. degree. My passion doesn't require it. Not really. Even if every job I ever get has it as a prerequisite to filter out the unqualified. The problem with this approach is most of those who really are qualified don't have said degrees.

This! (4, Interesting)

DeadCatX2 (950953) | more than 3 years ago | (#36207980)

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.

Re:Is IT/CS/... not easy enough already? (0)

Anonymous Coward | more than 3 years ago | (#36208012)

"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."

So it's easy to get a degree in CS, but not so easy to actually learn to program. I think the latter is the point that this prof is making.

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

Making it harder to get a degree isn't the same as make the course harder.

I'd say make it easier to actually learn how to program (a 15 week course for that -is- absurd), and increase the requirements to obtain a degree. That way the job market won't be flooded by people who do have a degree but don't know the shit.

Reading, counting to 100 and other difficult tasks (2)

Rakshasa Taisab (244699) | more than 3 years ago | (#36207610)

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.

Re:Reading, counting to 100 and other difficult ta (1)

hedwards (940851) | more than 3 years ago | (#36207624)

There's a difference between somebody flunking out of a potential major in a computer related area because they don't know how to work a computer and flunking out because they haven't been adequately prepared by the intro course.

Re:Reading, counting to 100 and other difficult ta (1)

pro151 (2021702) | more than 3 years ago | (#36207644)

Why not? We don't seem to have a problem with "Dumbing Down" the requirements for every other job field in the U.S. Just look at the number of cities that have been forced to lower their testing standards for law enforcement officers as one example.

Re:Reading, counting to 100 and other difficult ta (0)

Anonymous Coward | more than 3 years ago | (#36207722)

there are standards?

Re:Reading, counting to 100 and other difficult ta (0)

Anonymous Coward | more than 3 years ago | (#36207870)

Yeah, used to be you had to know how to plant evidence and beat people. Now if you know one or the other, you're hired, and you can learn the other on the job.

Re:Reading, counting to 100 and other difficult ta (1)

TheRaven64 (641858) | more than 3 years ago | (#36207788)

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?

Good example. If someone came to university without being able to read or write, then they'd fail quickly. There would then be two questions asked:

  1. How was the person admitted in the first place?
  2. How did their school manage to fail to teach them these skills?

The second question is more relevant. You wouldn't expect someone to undergo 13 years of education and not be able to read or write. It is, however, entirely possible for pupils to avoid ever being taught to program in this time. So easy, in fact, that most do it without trying. I was lucky - my school had introduction to programming lessons when I was 7, and enough books in the library for me to teach at least most of the rest to myself. I got to university having been programming for a decade, and already familiar with about a dozen programming languages, yet many of the people arriving at the same time had either never programmed before, or had only started within the last two years at school (and most of these had been taught spectacularly badly - imagine being taught English by someone who never read books outside of class time).

The headmaster at a school where my mother taught said (about 15 years ago), that we were headed for a two-tier society, comprised of people who used computers and people who programmed computers. Frank Herbert wrote about this even earlier, saying that the people who allowed computers to do their thinking for them ended up controlled by the people who programmed the computers[1]. Programming, at least at some level, is a fundamental life skill. Even a secretarial job requires writing macros to be done efficiently. A school that fails to teach programming to children shortly after they learn to read and write is doing them a massive disservice.

[1] His son somehow interpreted this as 'evil robots took over the world'

it's actually useful. (0)

Anonymous Coward | more than 3 years ago | (#36207612)

It's a useful way of separating the people who are motivated an interested enough to do it from those who aren't.

Those with a genuine and deep interest will find a way. They always have. Why is this some new issue? Are people dumber now than they were in the past, or what?

Re:it's actually useful. (4, Insightful)

hedwards (940851) | more than 3 years ago | (#36207638)

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.

Re:it's actually useful. (0)

Anonymous Coward | more than 3 years ago | (#36207668)

In theory thats all fine. But in the reality you can observe that next to none of the students with no prior experience become good. Many make it through university but in the end they are still untalented. Yes, it may be elitist, but it should be a understandable concern of knowledgeable IT people that such people DON'T make it through because they will take away customers, provide bad service and - due to their lack of skill and thus the inability to demand higher - drag hurly rated down. The only one winning in such a scenario is the talentless idiot who somehow got his degree. Everyone else looses, including the customer - even low hourly rates are still to high for many of these clown.

I nominate the above post ... (0)

Anonymous Coward | more than 3 years ago | (#36207758)

I nominate the above post to the "Two Bit Opinion of the Year' award.

Re:it's actually useful. (1)

icebraining (1313345) | more than 3 years ago | (#36207878)

It's not really elitist - (almost) anyone in the developed world can learn to program if they want to. I did years before I had a computer at home.

It can be said that not everyone has the same motivation to learn to program, but you need motivation to pass a CS course too.

Sorry to sound elitist, but... (1)

Anonymous Coward | more than 3 years ago | (#36207634)

Sorry to sound elitist and all, but if you have no prior exposure to programming and computers, then perhaps you should not be studying it in the first place?

Analogy, who can become a building architect? Anyone, through training? No. Suppose a person who has never drawn stuff, doesn't like it, has not done any sculptures out of e.g. clay or whatnot - do you think that person will become an architect? Maybe someone will, but generally the answer would be: no.

It's the same with computers! You gotta start early.

So parents, when your kid is playing all day, encourage him to start programming. Get him to go outside sometimes, but don't nag "now you sit at the computer again blah blah". Let him sit there, but encourage creative pursuits instead.

Re:Sorry to sound elitist, but... (1)

jenn_13 (1123793) | more than 3 years ago | (#36207942)

I agree that getting an early start at programming is beneficial, but I don't believe it's necessary. I expect I'm quite a bit older than you, but when I was growing up, having access to a computer wasn't common. Maybe some of the more wealthy families had one, but not ours. I simply wasn't exposed to computers much in high school. After high school, I spent 6 years in the military, to earn some money to pay for college (even though I wasn't sure what I wanted to do yet). While I was in, I got a little more exposure to computers, and became interested. So, when I started college in my mid twenties, my first CS course was my first exposure to programming. There were some students that seemed to have a hard time, but I wasn't one of them. Some people have the thinking skills/talent necessary, even if they never had the exposure to the technology, and once they get that exposure and the opportunity to try, even if they're older, they do well. Even with no prior experience or exposure, I did very well, and finally graduated (Magna Cum Laude, even), and now I'm working as a developer, quite successfully. Sure, there are people who aren't cut out for CS, generally the ones who struggle in the intro courses. However, just because you didn't get an early start at programming, that doesn't mean that you can't be inclined toward it and excel at it.

I'm inclined to disagree (1)

davidbrit2 (775091) | more than 3 years ago | (#36207650)

I can understand his concern, but really, the university level should not be your first exposure to your area of study. And if you can't cut the mustard in a particular discipline, would you rather find out during the first semester, or after pissing away several years, and all the tuition and other expenses along with them? So, my opinion is that hitting the ground running - or at least at a brisk jog - is definitely the proper approach for a university level science/math discipline.

(GVSU alumnus myself. They had a pretty solid CS program when I was there a few years back.)

Re:I'm inclined to disagree (0)

Anonymous Coward | more than 3 years ago | (#36207784)

Yeah, I completely agree with you about finding that out in the first semester. I wonder though, how many people out there would hate an intro CS class that taught java, but would extremely enjoy an intro CS class that taught PHP or ASP? Do you think language would matter all that much at such an early point in a person's CS experiences, or would it be more about the concepts?

Re:I'm inclined to disagree (1)

petes_PoV (912422) | more than 3 years ago | (#36207806)

university level should not be your first exposure to your area of study

So how would that work for doctors? Personally I would any REQUIRE pre-med school student to never have tried to diagnose or operate on people before they get into a well-supervised hospital environment. (And playing "doctor" as a child doesn't count.)

Re:I'm inclined to disagree (1)

Arlet (29997) | more than 3 years ago | (#36208032)

It's not necessary for doctors. To be a successful programmer you need a certain way of algorithmic thinking that takes a certain talent to master. It's about truly understanding something, and applying it in new situations.

To be a successful doctor, you need to be able to memorize lots of things, but there's nothing to 'understand'.

Re:I'm inclined to disagree (1)

mjwalshe (1680392) | more than 3 years ago | (#36208064)

that's why medical school is 7 years.

So? Do we really need more CS majors? (0)

Anonymous Coward | more than 3 years ago | (#36207660)

Most of those intro courses are deliberately designed to be filters. They aren't supposed to teach the students, the are supposed to filter out the ones who haven't put the time and effort in already. At our school they had even lower level courses for students to take if they weren't ready for the weedout class; of course those lower level prep classes didn't count towards credits for graduation. So it was really a way for the University to say, "you didn't put in the time in high school, but if you're willing to do it now, here's your opportunity, but now it's going to cost you an extra semester of tuition."

Excludes Some Good People (1)

Hergio (870237) | more than 3 years ago | (#36207662)

I agree -- it is quite ridiculous to expect that. My first CS course, my professor told me to look at each person on either side of you, and realize that they will not be here when you graduate. And I think thats obviously because the material is difficult, but also because the way they taught the entire major was most definitely sink or swim. Quality people who may be more creative may get left behind because they don't come up to speed as quickly, and so the industry as a whole may miss out on good people.

Bah humbug. (3, Insightful)

raehl (609729) | more than 3 years ago | (#36207724)

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.

Re:Bah humbug. (1)

vlm (69642) | more than 3 years ago | (#36207978)

the problem is the student doesn't know how to solve problems and write down the solution

Any ideas what to do with those people, other than let them flunk out of "intro to Java"? I'm not looking for micro solutions but much larger scale...

Its not a programming problem. The same ailment affects some wannabe draftsmen, wannabe machinists, wannabe construction trades, wannabe car mechanics, etc. I hang with some of those people, and they have almost exactly the same reaction toward the failing noobs as the CS people, although obviously expressed much more illiterately due to their cultural requirements not to sound too smart.

So don't make the mistake of thinking the magic bullet is starting with the new language of the week, because the solution will inherently also apply to teaching welders, tool and die machinists, and plumbers, and I don't think they're going to buy the idea that teaching the first class in Scheme instead of C++ will teach the FNGs how to arrange sub tasks in the correct order.

Is it just and applied IQ test thing? Some folks just have brains that can plan, and some don't, and that's just how its gonna be?

Expect it? (4, Insightful)

Haedrian (1676506) | more than 3 years ago | (#36207666)

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.

Re:Expect it? (1)

Culture20 (968837) | more than 3 years ago | (#36207970)

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.

Three weeks? That's just asking for pointer mis-use and memory leaks. I would expect no less than a full semester as a prerequisite to teach students all of the things they shouldn't do with C (and *NIX systems).

Re:Expect it? (1)

Haedrian (1676506) | more than 3 years ago | (#36208050)

That module was widely considered to be the hardest thing we ever got. It also included two rather difficult assignments.

But still most people got through the experience without too much permanent damage. Its the sort of 'learn this really quickly' thing we learnt to expect.

It's not the Curriculum!!! (5, Insightful)

Secret Rabbit (914973) | more than 3 years ago | (#36207670)

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.

Re:It's not the Curriculum!!! (1)

Anonymous Coward | more than 3 years ago | (#36207826)

Or to rename computer science to Mathematics of computation, so the students know what they are getting into.

Re:It's not the Curriculum!!! (2)

Frequency Domain (601421) | more than 3 years ago | (#36208070)

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.

Seems like the more you know (1)

BroadbandBradley (237267) | more than 3 years ago | (#36207674)

The less competent everyone around you becomes. Are you sure you're not just getting too smart to teach CS 1?

The bozo filter (2, Interesting)

AnotherScratchMonkey (592037) | more than 3 years ago | (#36207676)

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.

Frankly I agree (1)

improfane (855034) | more than 3 years ago | (#36207688)

In the UK we had a Java exam module that you had to pass to continue to the next stage. Apparently a third failed.

I doubt these people actually practiced programming, after lectures and at home. In many subjects you don't have to practice a skill constantly, you cram facts. Computer science is not one of those subjects, it takes practice. That's why it was quite easy if you have coded as a hobby. I still think it's unfair to undergraduates to be expected to code well in 15 weeks. You go to university to learn, without expecting to know it already...

Re:Frankly I agree (1)

JSBiff (87824) | more than 3 years ago | (#36207760)

In truth, with today's academic programs at most university's, anyone wanting to specialize in a technical field (and this might apply to many other fields as well), should probably try, during their junior high and high school years to get "early exposure" to that field. If you already know basic programming in two or three languages, know some basic data structures and algorithms, etc. You will be far, far more prepared after that 15 week course.

It has become common in a lot of high schools to offer 'electorates', or after school clubs, which will give some early exposure to engineering and computer programming. Probably would be worth extending that concept to as many topics as possible (although schools also face budgetary and classroom-availability limitations, and god forbid anyone cut the football, basketball or cheer-leading budgets at most schools).

southern hillarians must take tablets in capsules (0)

Anonymous Coward | more than 3 years ago | (#36207704)

it could be the other way around? at least it's good that they were prepared? more inclimate climate expected?

Learning is a life-long journey (0)

Anonymous Coward | more than 3 years ago | (#36207708)

Kind of surprised by how many comments there are about people not cutting it.. Are you comments directed at people who go to school for 4ish years, get a computer science degree and believe they are adequately prepared to be programming, or are they directed at the system pumping graduates out that are making them think they are adequately prepared?

Computer Science is no different than any other field where you need experience and exposure to higher levels than college offers in order to be useful in a work place setting, but I don't think it is right to make people think that if you haven't been studying for years before you enter college, you have no chance at it. People just need to that they are at a SEVERE disadvantage, and your earlier life (after college) getting into programming jobs is going to be REALLY rough as you hit literally EVERY single wall out there in your struggle for direction and skill. If you want to succeed in it, it is really a necessity to keep reading, learning, refining your skill and trying new projects with a variety of people. And you are definitely correct, kju, creativity is a HUGE plus.. actually, I think computer science actually helped me to work my creativity muscle, so don't think just because you are not labelled "creative" that you can't do it. Know that, just like every other profession out there, you are going to have to bust tail to even be able to utter the phrase "I can program, but I am bad at it". That is why resumes aren't about how good you are at programming, they are about what kind of experience you have.

Re:Learning is a life-long journey (1)

kju (327) | more than 3 years ago | (#36207768)

No, it's not absolutely necessary to have those years of experience before attempting CS/IT. It helps however.

But it is absolutely necessary to be capable of learning new stuff in a very short time period AND be able to do something good with that knowledge. As others pointed out IT more than many professions requires life-long learning.

If you are not willing or able to absorb new technology in next to no time, you will never be a good or competent IT person. Thats the simple truth and therefore it is good when such people are sorted out at university entry level already so that they can choose are more appropriate profession for them instead of some how making it through and then suck at work life.

An odd analogy (4, Interesting)

Kijori (897770) | more than 3 years ago | (#36207714)

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.

Re:An odd analogy (1)

archer, the (887288) | more than 3 years ago | (#36208134)

*nod* If I may make a car analogy, this professor's analogy is like most of the car analogies seen here.

Programming isn't a requirement for CS (1)

Walking The Walk (1003312) | more than 3 years ago | (#36207716)

CS students don't need to know that a stack is implemented differently in C++, Pascal or Java. They do need to know that a stack is a first-in last-out structure, that most stacks don't allow random access, that a stack is a linear structure, and that it's how procedural languages track the calls.

Programming languages come and go, but what a CS major learns should enable them to make the right choices when learning/using languages.

Re:Programming isn't a requirement for CS (1)

Haedrian (1676506) | more than 3 years ago | (#36207810)

Programming languages come and go, but what a CS major learns should enable them to make the right choices when learning/using languages.

While I do agree with you to a certain point, programming isn't just about turning ideas into code.

It also gives you a particular mindset which will greatly help your understanding (and appreciation) of the topic. I was talking to a person the other time who was in a CS course without any programming experience and couldn't understand why they were being taught data structures. You only get that sort of appreciation once you've messed around with their use a bit.

Re:Programming isn't a requirement for CS (1)

vlm (69642) | more than 3 years ago | (#36207832)

CS students don't need to know that a stack is implemented differently in C++, Pascal or Java.

what a CS major learns should enable them to make the right choices when learning/using languages

Please select one side of the argument or the other.

If I had what was inherently a stack-problem, I would not select Pascal, and intelligently selecting C++ or Java has a lot more to do with scalability than implementation.

In an IT curriculum it doesn't matter, you'll simply be trained on what the hiring managers are hiring for this year, doesn't matter how it works or how well it works. Knowing how to use it is apparently somewhat optional in the industry today, also.

A Valuable Lesson? (1)

Nukedoom (1776114) | more than 3 years ago | (#36207816)

In high school, the only physics class I had was taught by a guy who failed the test required to teach the class twice. They didn't offer AP Physics or Physics Honors at my school. He was the only teacher for that course, though he was originally a chemistry teacher and a bad one at that--apparently my school is laying him off in a couple weeks, because he can't teach chemistry either.

So, I wasn't prepared at all when I went to UC Berkeley and tried to do the first physics course in the major series. I had fallen so far behind in trying to learn the basics, that when it came down to the first midterm, I completely funked it.

Mind you, I graduated high school with a 4.2 GPA overall and the lowest grade I got during my four years of study was a B+ in AP Calculus.

I can't honestly blame all of my failure on the school (I could've studied a physics course in a nearby community college), but I feel like in someways I've been let down by both my high school and university.

At the same time, however fucked up my situation was, I knew that it wouldn't simply fix itself no matter how much I bitched about it--failing made me push myself harder than I've ever been pushed in my life. That's why I changed the class to a P/NP grade and I'm doing it again over the summer.

Moral of the story? Yea, I could've been better prepared and it would've helped if my high school or university had a program to prepare me, but just because I flunked once, doesn't mean I'm never going to walk again. Maybe there's something larger to be learned from a system that is bound to fail some kids, like learning to not pussy out when the going gets rough.

It is GOOD they won't be ready. (3, Insightful)

houghi (78078) | more than 3 years ago | (#36207828)

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.

Speaking of Absurdity... (1)

Fantom42 (174630) | more than 3 years ago | (#36207838)

Maybe it is absurd to be a music performance major if you are coming out of high school not knowing how to play an instrument. See where I am going with this?

Crappiest analogies ever (1)

andsens (1658865) | more than 3 years ago | (#36207868)

"[...] 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'" " 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" Jesus Christ, how long did it take them to make up those analogies?!?! They seriously suck! Yes of course. Lets give every CS student as much attention as a toddler, that sounds practical. We can have individual courses for every single student. And yes, joining the university orchestra is entirely on par with being expected to program well, WTF? 15 weeks is a _lot_ of time to learn the basics in programming. Come on, they are not expected to be able to design they most beautiful architectures or code extremely efficient. This sounds like a lot of exaggeration. Oh and he mentions BlueJ. Why the hell are they not using that already? I mean, *duh, of course BlueJ/Greenfoot is the best way to learn OO, you cannot teach a CS introductory course without a tool like that.

Hearkens back to when kids were prepared (1)

sarlos (903082) | more than 3 years ago | (#36207874)

The way university curriculum is set up, at least in the hard sciences and engineering paths, expects that those who enroll in those programs have done some legwork on their own and are actually interested in the material. I don't think anything needs to change. As it is, college is already becoming a forum to teach kids what they should have learned in High School but didn't. Less reliance on college for kids who really don't need it is the answer, not dumbing down the curriculum. I dare say much of the folks who enroll in college would be better off at a trade school or two-year tech school.

Just like Math, Literature ... (1)

vlm (69642) | more than 3 years ago | (#36207886)

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.'

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 arithmetic experience to be ready to earn a Fields Medal after 15 weeks.

All the guy is really saying is the intro work MUST be done before university. Just like you cannot expect to graduate on-time with a degree in math if you enter uni not knowing how to count to 5 (athletic scholarship, have enough money, etc) then you cannot expect to graduate with a CS degree on time if you have never touched a keyboard before your first freshman class.

What part of higher academic education is straight (1)

unity100 (970058) | more than 3 years ago | (#36207896)

anyway ? if you delve into specifics, you will see that current higher education is not too changed from its roots in spirit back from its start in 13th century.

Wrong (0)

Anonymous Coward | more than 3 years ago | (#36207908)

The intro courses are designed that way to weed out students who can't cut it. If you can't pick up intro programming in 15 weeks, then there's no way you'll make it through operating systems, data mining, statistical machine learning, etc. What is truly absurd is that this professor thinks that someone who requires more than 15 weeks to learn basic programming would suddenly be able to learn the more advanced concepts in under 15 weeks.

Except they are allowed to try again (0)

Anonymous Coward | more than 3 years ago | (#36207954)

They can take the course again.

But as others have pointed out, a significant part of the problem is poor preparation in school *before* university. I struggle every year with the choice between lowering standards and trying to teach students basic high-school math. It's frustrating. Why should I be teaching students trigonometry, for example? It's not that I can't teach it. It's not that I'm unwilling to help. Goodness knows I have spent time with students to help them with that basic stuff after class time. But it's not what I'm supposed to be doing at university level in class. They're supposed to already know it. And so on: composing basic English sentences and paragraphs, solving simple algebraic expressions, basic scientific principles. I can't fix all that in a single course, let alone one on a completely different subject. The best I can do is recommend they take remedial courses.

Fact is, the students facing the most serious challenges in these introductory courses have difficulties because they have been crippled by poor teaching earlier in their career. And in the case of computer programming, they often haven't been exposed to the subject at all. They may know about computers, but nothing about programming. The author of the article dances around the issue of pre-university education, but he's right: it takes a longer-term commitment to do programming well, and the implication is obvious. Students should be told that if they are interested in computer science in university they should be doing it in high school, and public school programs should think about "university preparation"-style course programs like there are for math and other sciences. The problem he's describing is real, but the solution isn't in the university unless you propose a "pre-intro" course that isn't a requirement, but will give students another term or two of "remedial programming" practice before jumping into the big pool. Call it "CS0". Many universities have "pre-calculus" courses for students who didn't get enough math in high school to face calculus with a decent chance of success. Why not for computer programming?

Are they starting with easy stuff visual basic? or (1)

Joe The Dragon (967727) | more than 3 years ago | (#36207956)

Are they starting with easy stuff visual basic? or are they teaching more of a theory of codeing at the start?

Ken Silverman's made the build engine but sucked at school when he started it so he dropped out and did codeing / game makeing work for some time before going back to school.

don't let them join the course in the first place (1)

darkeye (199616) | more than 3 years ago | (#36207962)

the simple solution is:

create a clear set of acceptance criteria for students, which reflects the required background knowledge to complete the courses

don't let students with no required prior knowledge enter the CS course. and then you don't have dropouts.

for these students, organize preparation courses, etc.

and the solution is...? (1)

darkeye (199616) | more than 3 years ago | (#36207966)

with all the complaining in the article - is there a viable solution suggested? like, "let them pass, even if they don't know enough" doesn't sound like an idea that would solve anything...

How hard can CS be? (1)

Singularity42 (1658297) | more than 3 years ago | (#36207974)

Isn't that what "Geek Squad" and phone-help for Windows study? I thought IT, with all the programming, is the difficult one.

yes it's absurd but consider the purpose (1)

Adayse (1983650) | more than 3 years ago | (#36207990)

Schools and Universities have several roles. Partly you go there to learn stuff and be sorted, partly they are holding pens where you are stored while your parents work and partly they hide unemployment by getting the least powerful group in society to pay money to do unwanted work that other people are paid to consume. Do we badly need CS graduates? Giving someone an F and telling them not to come back teaches them a very important lesson.

Not That Hard... (1)

DigitaLunatiC (452925) | more than 3 years ago | (#36208002)

Coming out of high school I was a computer geek with all the street cred but knowledge of programming. I thought computer science would be interesting. I took it. I passed it. I changed majors to it (from chemistry). I don't know about everywhere, but they did a good job of teaching us things in the first few semesters of computer science at Clemson. A lot of the 400 level courses were more along the lines of, "Here's an assignment. Figure it out." I'm pretty sure that's what documentation is for, though.

Alice @ CMU (0)

Anonymous Coward | more than 3 years ago | (#36208010)

Alice (www.alice.org) is being used at Carnegie Mellon for some time to teach basic programming skills to non-majors in Computer Science, with very good results. Alice was initially developed by late Randy Pausch. It is a 3D virtual world where students have the chance to visualize basic computer science concepts. It provides a very smooth, seemless transition from a blocks-based, drag-and-drop syntax-free kind of programing into a fully fledged Java environment (integration with NetBeans). I had the chance to follow one of these courses in this last semester at CMU, and I was really impressed with the progress of students throughout the semester.

My anecdote disagrees (1)

stewbacca (1033764) | more than 3 years ago | (#36208048)

My wife is a non-traditional CS major (she has a Masters degree already, has real-world experience, children, and in her 40s). She is a CS major and had never typed one character of code before this past semester. She was the best student in the class. Sink or Swim is an efficient way to weed out those who don't have the discipline to come to class, or the capacity to grasp computer logic (I'm in that group).

as almost as absurd as expecting a student with no instrumental musical experience to be ready to join the university orchestra after 15 weeks.

There is no such expectations at the University of Texas from its CS majors. My wife was expected to go to class, learn the material, and then move on to the next class. She'll be ready for the "orchestra" in a couple of years, not after one semester, and nobody expects her to. What they did expect, however, was that the students in the class grasp the concepts of basic computer logic and the structure of coding in Java. Doesn't seem very unrealistic to me.

Berklee School of Music is one of the most renowned institutes on the planet, and many of their applicants come to the school with no music experience. A clean slate and no bad habits are sometimes more preferable than trying to teach somebody with expectations and habits that will slow them down.

Yes, it is absurd Prof. Kurmas, and here is why (1)

luis_a_espinal (1810296) | more than 3 years ago | (#36208132)

I simply do not have a good answer. I really don’t see what we can do (practically) at the college level to make Computer Science more accessible to the majority of students who don’t already have either programming experience or a strong aptitude.

To Prof. Kurmas: The problem is that most universities only have CS1 and CS2 before sending students down to Analysis of Algorithms and the like. From personal experience, my first two years were not in a 4-year college, but in a community college (Miami-Dade College in 1991 to be precise.) This is what I went through:

100x-level courses: Introduction to Micro-Computers, BASIC (that included a discussion to Bohn-Jacopini's Structured Program Theory right of the bat), Introduction to Turbo Pascal (with discussion on pass-by-value and pass-by-reference, pointers, differences between the stack and the heap and addressing modes) , Introduction to C (pointers up to the wazoo);

200x-level courses: Intermediate Turbo Pascal (first run into Object-Orientation), Intermediate C, A full 15-week course in x86-Assembly, C++, Delphi Programming, Introduction to Expert Systems.

This was the common way of doing things among us CS students at that community college at the time. To be honest, we were just required to take half of those courses, but the fact was that we had a variety to choose from (which we did to our everlasting benefit.)

When I transfered to a 4-year college, I was shocked to see students having just two meager programming courses when going their first junior-year programming course. I mean, you gotta be kidding me. There is no sufficient practice to ensure the student will focus on the actual subject matter (instead of still struggling with basic control structures and problem analysis.)

It doesn't help that universities now don't even teach a full-assembly language course (see here for exhibit A [fiu.edu] ). We have universities that are teaching C++ and Java within the same course!

Yes, indeed CS1 and CS2 are not sufficient, but then again, what else does your university (and universities in general) provide? Do they provide 1000-level courses in 3 different programming languages? Does your university provide a full 15-course in Assembly language? Do they still teach C? And do they teach Python/Ruby and/or Lisp once a year, or at least, say every other year? I mean, do you provide variety for your students to sink their teeth and flex their programming knuckles before moving on to harder subjects?

Or is your school a predominantly Java workshop? Using BlueJ to top it off? Speaking of BlueJ, no other language requires an ed-taylored platform for teaching it. Do you see one in Python? Do you see on in C? I've been working in Java for 12 years now. It is an excellent tool for doing work.

It is also an atrocious language for teaching programming. It is a great language to introduce at the junior and senior level, in particular if used in the context of teaching enterprise computing (an excellent 4000-level topic.)

But for introductory/intermediate programming? It is stupid. Plain and simple. Yes, there are people out there teaching it like that and writing books on it since it came out Gosling's mind. It is still stupid. It does not make it the right tool. It is a disservice to use it in Academia like that.

And it is even a greater disservice when schools are predominantly mono-lingual at 1000/2000 course level. If a student is not exposed to a multitude of programming languages - both Algol and non-Algol like, and within the Algol family, both C-like and non-C like (.ie. Pascal or Ada), that student is not being served right.

That is the root of the problem, and anything short of fixing that is simply fidgeting around. Like trying to cure cancer with ibuprofen.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?