No one teaches PROGRAMMING any more
-
Ray Cassick wrote:
Ah, where are those days again....
I hear you, Ray. I'm surprised at the number of developers who hold a CS degree who've never written a compiler, never programmed in assembler and haven't had more than an introductory course in operating systems. :sigh: /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
Someone the other day posted their VB assignment ( in university ). It was 'name your 10 favourite properties of VB.NET controls and why you like them. The OP was asking 'what's a property' and 'what's a control property'. I think CS is dead, I am considering changing careers.
Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
Christian Graus wrote:
I think CS is dead
I don't think it's dead, just endangered. Good lord, I hate interviewing people these days. I had one guy get incredulous with me when I asked him how he'd implement a simple b-tree. I think we have lowered to bar way too much.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long
-
Ray Cassick wrote:
Ah, where are those days again....
I hear you, Ray. I'm surprised at the number of developers who hold a CS degree who've never written a compiler, never programmed in assembler and haven't had more than an introductory course in operating systems. :sigh: /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
Yep, educational institutions are now pandering to "enterprise" business. So, all that these poor students are getting exposed to are high level frameworks. God forbid they know how a computer works.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long
-
-
Yep, educational institutions are now pandering to "enterprise" business. So, all that these poor students are getting exposed to are high level frameworks. God forbid they know how a computer works.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long
Chris Austin wrote:
Yep, educational institutions are now pandering to "enterprise" business.
ROFL! That's why I love MIT's brief but effective differentiator[^]. :) /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
Chris Austin wrote:
Yep, educational institutions are now pandering to "enterprise" business.
ROFL! That's why I love MIT's brief but effective differentiator[^]. :) /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
Ravi Bhavnani wrote:
ROFL! That's why love MIT's brief but effective differentiator[^].
Funny. For a second, I thought I was reading the synopsis of the CS department where I went to school - their approach was pretty much exactly the same. Little or no emphasis on languages; little or no emphasis on application development for its own sake. Lots of emphasis on algorithms and data structures; lots of emphasis on math. Incidentally, my degree was in Engineering, but there's alot of overlap and I took alot of CS classes.
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
-
Christian Graus wrote:
I think CS is dead
I don't think it's dead, just endangered. Good lord, I hate interviewing people these days. I had one guy get incredulous with me when I asked him how he'd implement a simple b-tree. I think we have lowered to bar way too much.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long
Chris Austin wrote:
I had one guy get incredulous with me when I asked him how he'd implement a simple b-tree. I think we have lowered to bar way too much.
Hmm, I'm not sure I could answer that one off the top of my head. B-trees[^] are rather non-trivial, aren't they? Or maybe I just haven't studied them closely.
-
Christian Graus wrote:
I think CS is dead
I don't think it's dead, just endangered. Good lord, I hate interviewing people these days. I had one guy get incredulous with me when I asked him how he'd implement a simple b-tree. I think we have lowered to bar way too much.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. - -Lazarus Long
Chris Austin wrote:
I had one guy get incredulous with me when I asked him how he'd implement a simple b-tree.
I'd be incredulous if he didn't just say, "I wouldn't, I'd grab one of the myriad tried & true, publicly available b-tree implementations that are already out there". Requesting simple example code is a good way to weed out those who can't code from those who can but isn't code re-use supposed to be one of those things a GOOD programmer strives for?
T-Mac-Oz
-
The worst is in the gaming degrees - particularly the ones started by schools to seem "hip" (that's what the kids say right?). They pay thousands of dollars to learn how to point and click. If this is supposed to be the new competition I've got some awesome job security. We have kids coming out to interview that might have some concepts like state management and render queues in their pocket but if you asked them to implement it their brains will explode. And not in the good way. Actually there really isn't a good way is there?
-
Chris Austin wrote:
I had one guy get incredulous with me when I asked him how he'd implement a simple b-tree. I think we have lowered to bar way too much.
Hmm, I'm not sure I could answer that one off the top of my head. B-trees[^] are rather non-trivial, aren't they? Or maybe I just haven't studied them closely.
Leslie Sanford wrote:
B-trees[^] are rather non-trivial, aren't they?
Depends on the requirements:
Leslie Sanford wrote:
a simple b-tree
is little more than a linked list (though with two "next" - left & right - nodes instead of one). A self balancing b-tree (actually useful as more than just an academic exercise) does take a bit more work.
T-Mac-Oz
-
As funny as it sounds, it really is a sad state that CS is in right now. I, personally, blame outsourcing.
"impossible" is just an opinion.
Hello Folks, I am from the outsourcing capital of the world. Alright, don't shoot, I am one of guys who can program. I am in product development, mostly telephony related. I wrote my first program in 'C' back in 1989, and switched to 8086 assembly for a year and finally into C++ in 1991, I am still with it. I first heard about STL from BS himself when he presented it in 1994 at C++ 11th birthday event at AT&T Holmdel (NJ). So I have been around. ;-) I guess you are all talking about situation in US, but India is in no better shape. Despite having so many programming vacancies, hardly anybody knows programming anymore. Therefore, blaming the situation on lack of jobs (out-sourcing) can't be right. IMHO, programming can be taught only by programmers, and in India no programmer would take up a teaching job. The difference in pay for an University teacher and a corporate programmer is too much. Even a programmer with a passion for teaching (like me) can't imagine switching to a teaching career. I first considered teaching pro bono at the local university, then I gave up. The C++ syllabus they had is cast in stone, new and delete is considered advance programing and templates are not even menttioned. Besides, if I ignore the lousy syllabus and teach those kids some real C++, they will flunk the exam since the programs will float way above the examiners understanding of C++. The only way to learn real programming is via books and Internet, that is if the person is interested enough to do it. But the onslaught of easy languages like C#/Java/VB don't make it easy.
-
Someone the other day posted their VB assignment ( in university ). It was 'name your 10 favourite properties of VB.NET controls and why you like them. The OP was asking 'what's a property' and 'what's a control property'. I think CS is dead, I am considering changing careers.
Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
-
There hasn't been anything fundamentally new in computing since 1973 all we've seen since then is ever more trivial refinement, what do you expect? This is the age of the "architect" not the "developer". I completely agree that anything called "computer science" should be reserved for nuts and bolts stuff and the 1 or 2 people per semester that are still interested in that can take it, the rest can be in "application development" etc. It's kinda like they don't teach carpenters how to make carpentry tools anymore and at some point in history some guys were sitting around with mugs of ale and deploring the loss of the good old days. :)
"The pursuit of excellence is less profitable than the pursuit of bigness, but it can be more satisfying." - David Ogilvy
-
I'm very optimistic - you never could TEACH programming, like you can never TEACH absolute pitch - only try to learn how to exploit it in the best manner. If it exists... Regards, Gennady
-
Someone the other day posted their VB assignment ( in university ). It was 'name your 10 favourite properties of VB.NET controls and why you like them. The OP was asking 'what's a property' and 'what's a control property'. I think CS is dead, I am considering changing careers.
Christian Graus Please read this if you don't understand the answer I've given you "also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
We've been employing nothing but grads for at least the last year. On the whole they are at or just below what I would consider average but there are some really top notch candidates coming out of our uni's at the moment if your willing to put the effort into finding them.
-
Hello Folks, I am from the outsourcing capital of the world. Alright, don't shoot, I am one of guys who can program. I am in product development, mostly telephony related. I wrote my first program in 'C' back in 1989, and switched to 8086 assembly for a year and finally into C++ in 1991, I am still with it. I first heard about STL from BS himself when he presented it in 1994 at C++ 11th birthday event at AT&T Holmdel (NJ). So I have been around. ;-) I guess you are all talking about situation in US, but India is in no better shape. Despite having so many programming vacancies, hardly anybody knows programming anymore. Therefore, blaming the situation on lack of jobs (out-sourcing) can't be right. IMHO, programming can be taught only by programmers, and in India no programmer would take up a teaching job. The difference in pay for an University teacher and a corporate programmer is too much. Even a programmer with a passion for teaching (like me) can't imagine switching to a teaching career. I first considered teaching pro bono at the local university, then I gave up. The C++ syllabus they had is cast in stone, new and delete is considered advance programing and templates are not even menttioned. Besides, if I ignore the lousy syllabus and teach those kids some real C++, they will flunk the exam since the programs will float way above the examiners understanding of C++. The only way to learn real programming is via books and Internet, that is if the person is interested enough to do it. But the onslaught of easy languages like C#/Java/VB don't make it easy.
cpp.samurai wrote:
Therefore, blaming the situation on lack of jobs (out-sourcing) can't be right.
Outsourcing is not a function of lack of jobs, but rather a function of wanting to pay less for a given job. The concept of paying less for the same thing is not a new one, what has changed in the recent decade is more or less a lack of oversight, or lack of checks and balances, or how ever you want to view it... the result is less quality for less money. It hurts the real programmers in India, and in the USA and everywhere. There are more than enough jobs, and more than enough people to fill them. A given IT job usually gets on the order of 100 to 300 applications. Even here with all our restrictions we get 100 applications for any one job. But those jobs are going elsewhere because no one wants to pay us the money, or even you the money, they want to pay someone less than either of us makes, and not bothering to find out if they can do the job before giving it to them. The result is encouraging failure, and living with 2nd rate products, and in many cases 3rd rate products or vaporware because no product is ever produced for the money.
-
As funny as it sounds, it really is a sad state that CS is in right now. I, personally, blame outsourcing.
"impossible" is just an opinion.
I blame .net, intellisense and languages that make it easy for people to think they know what they're doing. I've seen a lot of drag n drop kiddies in the U.S. as well. :) But, yeah, outsourcing hasn't helped the situation out much.
- S 50 cups of coffee and you know it's on!
-
Leslie Sanford wrote:
B-trees[^] are rather non-trivial, aren't they?
Depends on the requirements:
Leslie Sanford wrote:
a simple b-tree
is little more than a linked list (though with two "next" - left & right - nodes instead of one). A self balancing b-tree (actually useful as more than just an academic exercise) does take a bit more work.
T-Mac-Oz
T-Mac-Oz wrote:
A self balancing b-tree (actually useful as more than just an academic exercise) does take a bit more work.
I prefer optimal imbalanced trees myself (splay tree). :) I am the only person at my work who understands data structure storage, btrees, n-ary-trees, skip lists, splay-trees, meshes, etc. Oh sure, anyone on the team could use a hash-table, or an STL list/vector, etc. But no one could write their own. One of the team said he wrote a hash routine, I asked what his hash function was... he looked at me dumbfounded, then answered, well, its a hash table so it just has one. uh huh.... overlap-hit, distribution, turns out it was multiple and mod.... When you take data structures in my school, you learned to make your own data structures, today you learn to use existing data structures. eh? what learning is that? that is just training, just rote, no conceptual analysis, no thought, no design, no fitting of requirements to result.
-
-
Ravi Bhavnani wrote:
ROFL! That's why love MIT's brief but effective differentiator[^].
Funny. For a second, I thought I was reading the synopsis of the CS department where I went to school - their approach was pretty much exactly the same. Little or no emphasis on languages; little or no emphasis on application development for its own sake. Lots of emphasis on algorithms and data structures; lots of emphasis on math. Incidentally, my degree was in Engineering, but there's alot of overlap and I took alot of CS classes.
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
Patrick S wrote:
Little or no emphasis on languages; little or no emphasis on application development for its own sake. Lots of emphasis on algorithms and data structures; lots of emphasis on math.
With the exception of the math, that's the way I gather most CS faculties were oriented through at least the 80's & early 90's (if not the whole 90's). Lots of stuff (who remembers the name of that notation/language used for proving the logic of an algorithm?) that most graduates will never even think of again unless they land in some highly specialised area like NASA, DOD or purely academic CS. Most CS graduates were useless for the first couple of years while they learned how to actually apply the useful stuff they were taught & forget the arcane. I do wonder if it's gone too far the other way now though, too much reliance on pre-existing frameworks is bound to stifle innovation in some areas but with the ever increasing complexity of computing environments it is a practical option. Personally I'd like to see more emphasis on problem-solving & design, which has historically been (in my experience, first as a student, later as an employer) a bit light-on in CS faculties. As an employer, I'd rather hire someone who can conceptualise a solution, then find the best tool(s) for the job as opposed to someone who can make a specific RAD environment do backflips but I think I might be in the minority on that one. Also schooled in Engineering (though combined with CS so I saw both sides :) ), I might be a bit biased :) .
T-Mac-Oz