From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,1042f393323e22da X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,1042f393323e22da X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,1042f393323e22da X-Google-Attributes: gid1014db,public From: clines@delete_this.airmail.net (Kevin Cline) Subject: Re: Any research putting c above ada? Date: 1997/05/08 Message-ID: <48F4E31EB483FF64.2D875D4B19B8D13D.B14A888E6AC55544@library-proxy.airnews.net> X-Deja-AN: 240122844 References: <3370B657.41C6@cca.rockwell.com> X-Orig-Message-ID: <3374394a.8584118@news.airmail.net> Organization: INTERNET AMERICA X-A-Notice: References line has been trimmed due to 512 byte limitation NNTP-Proxy-Relay: library.airnews.net Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.ada Date: 1997-05-08T00:00:00+00:00 List-Id: Roy Grimm wrote: >Kevin Cline wrote: >> Roy Grimm wrote: >> >> You didn't read my post carefully enough, and evidently "grade-grubber" isn't >> well understood either. I just said that a low GPA makes it harder to get an >> interview. I then indicated that it played little or no part in my >> evaluation of a candidate. A grade grubber is a student interested in >> expending the minimum possible effort to obtain a desired grade, with no >> interest in mastering the subject. > >Fair enough. I'd agree in principle with what you are getting at in >reference to "grade-grubbers". There are slackers out there just >interested in doing enough to get by. However, too many people >automatically associate that attitude with bad grades. Let me make myself perfectly clear. I believe there is little correlation between GPA and the ability to do software development. However, even the most open-minded organization is going to deselect candidates with GPA's below some minimum standard. > I've never >gotten really good grades in any of the classwork I've done and yet I've >probably gotten more out of the classes than the average person. That's exactly what I meant to say. I don't want to hire people whose sole goal in attending is to get an A on their transcript. >Fortunately, I've been in the business long enough to prove I'm no >slacker. It's definitely easier to judge those with professional experience. >Actually, they were brilliant with theory. The one individual I'm >thinking of was able to take the CompSci GRE and score in the upper 75%, >but couldn't figure out how to format a report of an amortization table >without help. I assume you mean the upper quartile. The GRE is a multiple choice exam, isn't it? >The point I'm trying to make is that all theory and no >practice is detrimental to the average student and tends to skew the >grading curve all over the place. Someone who has trouble with >something as simple as formatting output should not graduate with a 4.0 >GPA. I agree completely. That is why I make all candidates actually write code at a whiteboard. >> >But you can teach the fundamentals in a few weeks, rather than in the >> >two semesters they currently waste. >> >> I disagree strongly. Obviously we disagree on how much knowledge is >> relevant. > >Either that or we have had remarkably different experiences learning our >theory and mine was very much sub-par. Everyone in my classes >complained about the slow pace. We spent several days studying why >Quicksort works as fast as it does. This after spending a few weeks on >binary trees and how to search, sort and balance them. I'm sorry. You were poorly instructed. I was fortunate enough to attend a private university, and the pace was quite challenging. >It seems to me that we could spend about a day on the theory of binary >trees, spend the next day on the sorting and balancing algorithms and >move on to one day looking at the various sorting algorithms. College >students are not stupid. They do not need to rehash the basics like >they were learining arithmetic in grade school. > >If I were designing a CompSci program at a college, I would make the >intro classes available to those who need the "remedial" help. Most >students who enter college with the intention of studying computer >science have already had some exposure to it, much like most math >students have already had pre-calc. There is no reason freshmen >couldn't start studying algorithm design first semester. (unless, of >course, they hadn't had the exposure, but that's what the "remedial" >courses are for.) Once the basics of algorithm and data structure were >taught in the fall, the spring would be dedicated to teaching basic >programming methods. These would include using debuggers, performing >peer reviews, constructing functional tests of the software, etc. After >that, students would be ready to tackle higher level stuff. (And pardon >my arrogant opinion, but if they can't handle basic algorithm design and >programming methods, they have no business trying to be programmers.) > >> >If students spent more time learning how to solve real problems, they would >> >be able to pick up the theory much faster. >> >> I don't believe this at all. I have known many experienced developers who >> wrote ridiculously inefficient software because of a complete lack of >> knowledge of operating system services, the language they were using, and >> fundamental data structures. > >How have they lasted in their positions to get any experience if they >don't know fundamental data structures? And did you at least try to >teach them what they needed to know? It's hard to instruct those more senior and more highly paid. It's was much more rewarding to move to an organization with higher standards. > >> >They would see a problem and ask the intelligent >> >questions about how to solve it. At that point, you can show them the >> >theory and how it applies in that case. >> >> "Experience is a dear teacher, but fools will learn at no other." >> >> I think this would be painfully slow. > >My own personal experience demonstrates the opposite of your opinion. > >> >How would software engineering be any different than any other >> >discipline? Do they not teach engineering judgement to the other >> >engineering disciplines? >> >> Engineering judgement involves combining off-the-shelf and custom-built >> components to solve a particular problem in a cost-effective manner. The >> number of available software components is enormous, and changing rapidly, >> perhaps more rapidly than any other field of endeavor. Understanding the >> usefulness of the various tools applicable to any particular development shop >> takes at least a year of full-time work. Without that experience, it's very >> hard to maek correct build/buy decisions. It's also hard to predict the >> likely requirements changes to determine where to spend extra resources for >> maximum flexibility. > >Engineering judgement is the ability to solve problems. Teach someone >how to solve problems in general, then show them the specifics of the >field and they can apply their fundamental problem solving ability to >that field. Electrical engineers can combine thousands if not millions >of different components into electrical systems governed by very complex >differential equations. Why then is it that professors can teach them >how to do it effectively yet you claim the computer science students >couldn't learn how to combine software packages together? Is there some >genetic defect with computer science students? Combining components does not require judgment. Evaluating them does. Deciding which requirements are likely to change and which are not requires judgment. Deciding whether to release your product to the marker or continue testing requires judgment. > >> >Sure. If you are one of the 5% of students who are able to comprehend >> >technical manuals, that's good advice. What about for the rest of them? >> I'm not talking about manuals. I'm talking about books and periodicals. Most students can't afford to buy them, but they should be available in the library.