I was wondering what stuff do you guys think a CS major/programmer need to know to be competent overall, it can be either languages, concepts, algorithm stuff, math, etc...
I was wondering what stuff do you guys think a CS major/programmer need to know to be competent overall, it can be either languages, concepts, algorithm stuff, math, etc...
I have moved this to General Discussions as it is not specifically about C programming.
What exactly do you mean by "competent overall"? Consider that you mentioned "CS major/programmer", yet not all CS majors become programmers, and not all programmers were/are CS majors.Originally Posted by thefeedinghand
Last edited by laserlight; 01-03-2011 at 12:52 AM.
Look up a C++ Reference and learn How To Ask Questions The Smart WayOriginally Posted by Bjarne Stroustrup (2000-10-14)
Wouldn't the process of getting a degree make you competent?
Programming Your Mom. http://www.dandongs.com/
Years ago I used to be a Service Manager with a relatively large corporation with offices all across Canada... I wish I had a buck for everytime I saw proof that the piece of paper means absolutely nothing.
Example : Technician graduates well known college, somehow gets all the way through a 2 year training course without learning to solder. Lasted about 2 days.
Example : Computer tech graduates monster company's training course but mysteriously doesn't know what RegEdit is. Lasted about a week.
Example : (and my personal favorite) Idiot forges diploma and expects to get hired, then threatens discrimination lawsuit when he's not. Took our lawyers 3 minutes to get it dismissed.
Example : Guy who can barely put together a cogent sentence, didn't even make it through high school, sits down with schematics and fixes everything we thow at him for years without ever a single complaint.
In the real world after school that diploma is no more than an introduction and the only people who are going to be impressed by it are the ones with no skills in the given area (HR people).
The real skillset is not the ability to pass a test or having a diploma to wave around... It lies in understanding the concepts involved and knowing how to look stuff up when you need it.
I am a current undergrad..and I say..nope.
First of all, I had only excellent programming teachers, especially for first year.
Our algorithms lecturer is so terrible, I figured they hired him because of his MSc or Phd. I didn't learn squat, same goes for the Maths lecturer (I want to shoot him).
Another thing with the lecturers or what the faculty don't always get..the exam papers are always the same. It is shocking. Have you ever wondered why students are having first class and second upper blah blah..it is because students learn how to beat the system. Look at the exam for year 1 07, 08, 09.. oh they're exact replicas! Just memorize the answers!
If you know someone who has a 1st class..it doesn't mean he is a genius..
Although, the weird thing is..many still fail :S
Now, to rant about the students. Jeez...some don't even have any idea what is happening at all. End of the semester and no idea what a Constructor is. I look for fellow students who want to do some personal programming projects, but I have more chance of winning the lotto.
We're the next Microsoft.
You ended that sentence with a preposition...Bastard!
Relevant, we were just talking this morning about a gentleman who basically hacked an Oce printer driver for another AEC firm here in town...yeah all he has is a GED.
Admittedly there are poor grads out there. But that's their fault; what they missed was the opportunity to gain a proper qualification, finishing their course with mediocre grades. For any decent student, a CS major will provide them with the necessary tools to be a competent professional.
Originally Posted by brewbuck:
Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.
He's actually a B student, I think he just purposely forgot the things he didn't care about...I think he'll be getting a rude awakening when he looks for a real job since everything can't be done on Python.
I think Mario was replying to no one in particular. I tend to agree education is what you make of it. People don't have to agree with that sentiment and insist that paper is worthless, but that is my answer to the question. CS majors should be competent in all those things OP mentions, and degree programs do cover those things.
Last edited by whiteflags; 01-03-2011 at 03:29 PM.
In a right-working world I would happily agree with you.
The problem is there's no way, short of doing our own testing, to sort out the ones who actually learned from the ones who skated through. Final grades don't even tell the story because some people get really good at passing tests but don't retain the lessons.
Then there's every boss's nightmare... the person who hasn't learned a darned thing since graduating. For some reason there's a certain group of people who see the diploma as "mission accomplished" and utterly ignore Mario's consternation to treat University or College as the beginning and not the end of their training.
However... when all does work as it should --which I consider to be an exceedingly rare event-- higher education usually does produce fully qualified people.
The problem is telling them apart...
Conversely, there is a problem that CS/SE students have -- and that's telling poor employers apart from the good ones.
Just because you've finished university or college, and work for a company certainly doesn't attribute you with "We know the right way -- the grads are awful". I'm not saying some (even most) of them aren't, but proportionately there is an equal number of poor employers who seem to sport the "just get it out the door" attitude.
I agree, but finding the balance between mathematics/science and software engineering is always going to be difficult. But who can blame them? Industry seem to have the same attitude, what else is a test team for? ;-)Originally Posted by indigo0086
Last edited by zacs7; 01-19-2011 at 05:55 PM.