parnass@ihu1h.UUCP (Bob Parnass, AJ9S) (03/08/86)
x A recent posting questioned the usefulness of computer science courses. > ...There is no "science" in most applied computing. Professional > programmers seldom spend any time on CS concerns. The applications that > need to be programmed aren't exotic; they just need to be written.... As a "professional programmer", perhaps I can lend comfort to students struggling through tough courses if I mention how theoretical knowledge has served me in solving practical problems. > Look at this list of CS topics suggested so far: ..... > > theory of formal languages, I used Theory of Formal Languages in 1978 when writing an intermediate language for the forms entry software for an intelligent terminal. It was comforting to know that the language could be parsed! > > combinatorics, > > universal algebra, > > Boolean algebra, A knowledge of Boolean Algebra came in handy when writing a printer driver for a Z8000 based SNA cluster controller in 1982. Helped me understand the interface specifications for the peripheral chips involved. > > Statistical theory of communication and linear systems, In 1983, an understanding of the work of Messrs. Shannon and Nyquist helped me explain to my boss how a lot of facsimile data can be sent across an important data link in a short period. In 1984, using knowledge from Communications Coding Theory, I wrote a function that calculates a Residue Code to detect data errors in transmissions between the Bell Labs computers here and sites in the Netherlands. Residue codes have cer- tifiable performance, and are not just a "hobbyist" code that adds up byte after byte and checks results at each end. > > complexity theory (concrete and asymptotic), > > theory of computation, > > graph theory, In 1985, I used Graph Theory and Computational Complexity Theory to speed up queries in a relational DBMS we use to keep track of program dependencies. The solution involved modeling the data as a directed graph, and calculating its transitive closure. > > propositional and predicate calculus, > > relational algebra, A background in Predicate Calculus and Relational Algebra helped me formulate and write the non-trivial queries in the relational DBMS referred to in a previous example. > > model theory, > > recursion theory, > > lambda calculus, > > denotational semantics. ..... > > calculus, > > advanced calculus for engineers, > > linear algebra, > > mathematical statistics > > numerical analysis, Alright, so I confess to an indefensible love for calculus and vectorspaces. I can't think of a specific use I've yet made of calculus in programming, but I'm still looking forward to such an opportunity. > Is there anything on this list that will help you port UNIX(tm) to > a new system? What about implementing an FFT? What about when your > assignment is to write a windowing system for a bit-mapped display? > Does it provide any guidance for writing a CICS Command Level > transaction which allows funds to be transferred between accounts? > Will it simplify the job of writing an electronic spreadsheet program? > Or maybe it will help you write an SNA or SCSI interface? > ....... > Doug Pardee -- CalComp -- {hardy,savax,seismo,decvax,ihnp4}!terak!doug Don't fight theoretical concepts - look for opportunities to put them to good use in formulating quality solutions. -- =============================================================================== Bob Parnass, Bell Telephone Laboratories - ihnp4!ihu1h!parnass - (312)979-5414
ladkin@kestrel.ARPA (Peter Ladkin) (03/11/86)
In article <781@ihu1h.UUCP>, parnass@ihu1h.UUCP (Bob Parnass, AJ9S) writes: > > As a "professional programmer", perhaps I can lend comfort > to students struggling through tough courses if I mention > how theoretical knowledge has served me in solving practical > problems. I guess I don't have to post my list now. Yours is certainly impressive. > Alright, so I confess to an indefensible love for calculus > and vectorspaces. I can't think of a specific use I've yet > made of calculus in programming, but I'm still looking > forward to such an opportunity. Numerical Analysis. > Don't fight theoretical concepts - look for opportunities to > put them to good use in formulating quality solutions. That sums it up nicely. Or, to put it another way: Theory mostly isn't. Peter Ladkin