rcj@burl.UUCP (Curtis Jackson) (03/05/86)
a) 4.0 GPAs -- I essentially agree with the contention that a 4.0 doesn't necessarily qualify someone to do a good job in the real world. It can often mean someone who is too focused, too tunnel-vision about require- ments, and downright unimaginative. However, I must also admit that we 'stole' one of my best friends from AT&T in Denver to work on this project, and he (with his 4.0 BSCS and 3.9? MSCS) has been a boon to us -- besides, he's a great drinking buddy! He is none of the things mentioned above. b) BA vs. BS -- At the University of MS, a BACS was simply a BSCS that required less math and only 30 hours of CS courses instead of the 42 required for a BSCS. The rest of the extra hours were largely electives. Anyone who wants to try to tell me that a BACS *from Ole Miss* better prepared anyone for anything is welcome to try -- translation: remember not to make sweeping generalizations about degree programs. c) A lot of universities used to teach FORTRAN as their introductory course. Now, they usually teach PASCAL or some other structured language. Progress, right? Well, not necessarily. Seems that, as the baby boomers left college, new sources of enrollment were needed. The next preying ground of college recruiters? Junior colleges. And all these junior college students would be real bored having to take FORTRAN that they had already had in junior college -- and the courses at a lot of colleges are scheduled so that low demand courses are spaced to correspond with high-volume semesters. That meant that if the junior college students came in and started in on PASCAL they would be one semester ahead of, and out of sync with, the bulk of the other CS students. This was the lecture I received from my department head when asked why FORTRAN was suddenly no longer required. d) I started with FORTRAN my first semester. Then came summer, and a co-op job where I learned HPL, HP-Basic, and Tektronix Basic. Then PASCAL, COBOL, and MACRO-11, among others. I was ready for anything. Then came my intro to C -- our Minicomputers I prof told us to write a simple sleep queue scheduler/manager in C, compile it into Unix assembler on our PDP-11/34, run it through an ed script he would supply to translate it into MACRO-11, download this to the PDP-11/03 running RSX-11, and have it run without any editing of anything after the original C program. Finally, someone got up enough guts to raise their hand and tell him that none of us knew C (it wasn't taught at the university). He said, "Oh, yes, get this book [holding up a copy of K&R] from the bookstore, $12. You have 2 weeks." Now THAT is the way to teach a computer language! In case anyone is interested, the real trick was to initialize an array of ints with octal PDP-11/03 hardcode for an interrupt and trap handler and, after setting up your sleep queue, to 'goto' the name of the array from inside your idle loop. e) On hackers vs. non-hackers -- I don't want any hackers working for/with me -- not true hackers. I don't want the person who spent his/her time in school finding out how everything in the world works, I want the kind of person who was relatively in the mainstream but who strived (and hopefully succeeded) to keep two or three steps ahead of it. The kind of person who, when the AI prof suggested that we now try to apply a heuristic to our bi-directional search, had already done so two weeks ago and was now three chapters ahead in the book working on some other aspect. The kind of person who said, "I don't like this parser generator we have to use for our compiler course; I'll write my own and see if I can get future classes to use it instead." I realize that this last example in particular impinges on the realm of the hacker, but I want people around whose primary motivation is to improve the working environment; not to satisfy their own curiosity. 'Nuf said, -- The MAD Programmer -- 919-228-3313 (Cornet 291) alias: Curtis Jackson ...![ ihnp4 ulysses cbosgd mgnetp ]!burl!rcj ...![ ihnp4 cbosgd akgua masscomp ]!clyde!rcj
marco@andromeda.UUCP (the wharf rat) (03/07/86)
In article <1093@burl.UUCP>, rcj@burl.UUCP (Curtis Jackson) writes: > > d) I started with FORTRAN my first semester. Then came summer, and a co-op > job where I learned HPL, HP-Basic, and Tektronix Basic. Then PASCAL, > COBOL, and MACRO-11, among others. I was ready for anything. Then > came my intro to C -- our Minicomputers I prof told us to write a simple > sleep queue scheduler/manager in C, compile it into Unix assembler on > Finally, someone got up enough guts to raise their hand and tell him that >........ > none of us knew C (it wasn't taught at the university). He said, "Oh, yes, > get this book [holding up a copy of K&R] from the bookstore, $12. You > have 2 weeks." Now THAT is the way to teach a computer language! Why is that the way to learn a language ? Admittedly, you can pick up a new language in a few weeks, but to learn a new language *and* complete tricky projects at the same time seems a bit much. Also, I find that learning a language that way leaves a lot of gaps-I learned macro-32 that way, and anyone who's seen my postings to net.decus will know how many gaps I have in my knowledge of the subject. (System service ?? Duh, what's a system service?? (-:) To me,the only way to learn a language well is to write lots and lots of stuff in it, not just figure out how to do one thing. (No criticism of your apparently excellent CS education intended, Curtis.) Lou Marco CCIS,Rutgers,Newark #include<disclaimers>
rcj@burl.UUCP (Curtis Jackson) (03/09/86)
In article <117@andromeda.UUCP> marco@andromeda.UUCP (the wharf rat) writes: >In article <1093@burl.UUCP>, rcj@burl.UUCP (Curtis Jackson) writes: >> >> d) I started with FORTRAN my first semester. Then came summer, and a co-op >> job where I learned HPL, HP-Basic, and Tektronix Basic. Then PASCAL, >> COBOL, and MACRO-11, among others. I was ready for anything. Then >> came my intro to C -- our Minicomputers I prof told us to write a simple >> sleep queue scheduler/manager in C, compile it into Unix assembler on >> Finally, someone got up enough guts to raise their hand and tell him that >>........ >> none of us knew C (it wasn't taught at the university). He said, "Oh, yes, >> get this book [holding up a copy of K&R] from the bookstore, $12. You >> have 2 weeks." Now THAT is the way to teach a computer language! > > Why is that the way to learn a language ? Admittedly, you can >pick up a new language in a few weeks, but to learn a new language >*and* complete tricky projects at the same time seems a bit much. *sigh*, I keep forgetting this is the USENET, and you can't see the twinkle in my eye or hear the lilt of my voice. Let me restate the above more appropriately: ;-) Now THAT is the way to teach a computer language! ;-) <In case you missed it, please note the winking smiley faces above> -- The MAD Programmer -- 919-228-3313 (Cornet 291) alias: Curtis Jackson ...![ ihnp4 ulysses cbosgd mgnetp ]!burl!rcj ...![ ihnp4 cbosgd akgua masscomp ]!clyde!rcj
chen@gitpyr.UUCP (03/15/86)
In article <117@andromeda.UUCP>, marco@andromeda.UUCP (the wharf rat) writes: >In article <1093@burl.UUCP>, rcj@burl.UUCP (Curtis Jackson) writes: >> ... He said, "Oh, yes, >> get this book [holding up a copy of K&R] from the bookstore, $12. You >> have 2 weeks." Now THAT is the way to teach a computer language! > > Why is that the way to learn a language ? Admittedly, you can > pick up a new language in a few weeks, but to learn a new language > *and* complete tricky projects at the same time seems a bit much. > Also, I find that learning a language that way leaves a lot of > gaps-I learned macro-32 that way, and anyone who's seen my postings > to net.decus will know how many gaps I have in my knowledge of the subject. > To me,the only way to learn a language well is to write lots and lots > of stuff in it, not just figure out how to do one thing. By the second year, a CS major had better realize that there's more to CS than just "learning languages". I agree with Curtis. CS people should be able to learn languages on their own. This is because languages allow programmers to express abstract concepts in a concrete way. Languages differ in the concepts they allow for (semantics) and the exact mechanics of expressing them (syntax). Learning a language is a matter of figuring out what concepts the language is built around and then figuring out the nitty-gritty syntax. So, if the languages are similar enough (and most procedural languages are) one non-trivial programming assignment should be enough to get people acquainted with what the language can do. Unfortunately, it's hard to "teach" people this. You can lecture them all you want on similar concepts/constructs in langauges, but in order for it to catch on, the students not only have to learn the facts about languages, they also have to learn a new way of looking at languages and *that* is impossible to guarantee. You can't push people down that road, the best you can do is show them the way and hope they follow. The one time students might need help learning a language is when the language embodies concepts the students haven't seen before. Things like fp, and prolog probably fall into this category. Then the students might need some help picking up the concepts (not the language). After all, in the case of prolog say, how many undergraduates know what a backward-chaining, resolution theorem prover is? Ray Chen gatech!chen
jon@cit-vax.Caltech.Edu (Jonathan P. Leech) (03/18/86)
Summary: Expires: Sender: Followup-To: Organization : California Institute of Technology Keywords: In article <1549@gitpyr.UUCP> chen@gitpyr.UUCP (Ray Chen) writes: > >By the second year, a CS major had better realize that there's more to >CS than just "learning languages". I agree with Curtis. CS people >should be able to learn languages on their own. This is because > ... >The one time students might need help learning a language is when the >language embodies concepts the students haven't seen before. Things >like fp, and prolog probably fall into this category. Then the >students might need some help picking up the concepts (not the >language). After all, in the case of prolog say, how many >undergraduates know what a backward-chaining, resolution theorem >prover is? > > Ray Chen > gatech!chen When I came to Caltech, the only language I knew was BASIC (Dartmouth style). In a month I had K&R - but it was over a year before I was truly comfortable with C. Pointers? Structures? These were very difficult concepts to struggle through on my own. (It didn't help that, while K&R is a great reference, I found it a terrible tutorial). I have had similar problems with smalltalk and prolog. In the compiler class I took a few years back, first term we wrote a simple FBAPP compiler in C or Mainsail (taking the entire term to do it). Second term we spent 2 weeks on prolog, then we were told to go reimplement the compiler in prolog - in less than a month. That was NOT fun. Furthermore, I was struggling so much with the details of getting the bloody compiler working that I missed out on fundamental things about the language which would have been MUCH more valuable to know about initially. -- Jon Leech (jon@csvax.caltech.edu || ...seismo!cit-vax!jon) __@/
rcj@burl.UUCP (Curtis Jackson) (03/19/86)
In article <1549@gitpyr.UUCP> chen@gitpyr.UUCP writes: >In article <117@andromeda.UUCP>, marco@andromeda.UUCP (the wharf rat) writes: >>In article <1093@burl.UUCP>, rcj@burl.UUCP (me) writes: >>> ... He said, "Oh, yes, >>> get this book [holding up a copy of K&R] from the bookstore, $12. You >>> have 2 weeks." Now THAT is the way to teach a computer language! >> >> Why is that the way to learn a language ? Admittedly, you can > >By the second year, a CS major had better realize that there's more to >CS than just "learning languages". I agree with Curtis. CS people >should be able to learn languages on their own. This is because Although my original statement above was mostly tongue-in-cheek, I do agree with Ray. When I went to work for the Naval Ocean R&D Activity after only one semester of school and one on-punch-cards Fortran course as my sum total computer experience, I found this out the hard way. They sat me down in front of an HP 9825A Programmable Calculator and handed me a foot-thick stack of manuals, saying, "Learn this thing's language (HPL, a weird hybrid between assembler, BASIC, and Fortran), and in two months we need a working documented data acquisition system that will take in data from 1-4 temperature probes simultaneously, each at exactly 20 samples per second, checking each point for validity, putting the results onto both internal tape cartridge and this nine-track unit simultaneously. Oh, by the way, we need you to run this plotter and plot up to four probes with offset so we can compare them, and we also need a deviation-from-a-weighted-mean plotting program as well." I look back at the code today and cringe because noone, not even 3 different HP reps, could get the interrupts to work on the @$#%#@$$% thing, so it has fun timing control statements in it like: i = i + sqr(1) /* increment i by the square root of 1 */ Other than that, though, it performed above and beyond their specs; I was published at 17 years old as the co-author of an internal Teknote, but MOST IMPORTANT OF ALL, the experience was incredible!! When I went back to school and took Pascal, it was a breeze! -- The MAD Programmer -- 919-228-3313 (Cornet 291) alias: Curtis Jackson ...![ ihnp4 ulysses cbosgd allegra ]!burl!rcj ...![ ihnp4 cbosgd decvax watmath ]!clyde!rcj