CS26 STANFORD UNVERSTY'S PROGRAM N COMPUTER SCENCE - BY GEORGE E FORSYTHE TECHNCA REPORT CS26 JUNE 25, 1965 COMPUTER SCENCE DEPARTMENT School of Humantes and Scences STANFORD UNVERSTY
1,:< b t STANFORD JNVERSTY'S PROGRAM N COMPUTER SCENCE 1, What s computer scence? by George E,-*Forsythe One can obtan delvery n 1966 of automatc dgtal computers capable of makng decsons n less thag 130 nanoseconds and multplyng n less than one mcrosecond Such machnes can retreve each of a quarter mllon words n less than 100 nanoseconds, and each of some 3 X 109 characters r; somethng lke 0,Ol seconds Snce a 300-page book holds approxmately l,? X 10 6 characters, t& above large store holds the equvalent of 2000 monographs - a substantal lttle lbrary, Untl the frst automatc dgtal computers were avalable for delvery approxmately 13 years ago, we were lmted to makng decsons, multplyng, and accessng a fast store n somethng lke 10 seconds, whle access to each character of a 2000-book lbrary could hardly take less than 100 seconds, the past 13 years has seer, acceleratons of 10 4 (access to slow store), lo7 (multplcatons), and even 10 8 (access to fast store), n comparson9 the speed-up n travel between walkng and gong by Jet s about 102 ) that n the dssemnaton of fnformaton between manuscrpt e and a large newspaper machne s about lob, and that %n communcaton speed between usfng sound and rado waves s also about 106, Tnese changes n rates of transportaton and communcaton completely remade the world of earler tmes, t s evdent that the even greaterp speed-ups n nformaton processng are remakng our world, t s furthermore clear that t wll be many years before our capacty to explot the new power tll catch up wth ts present capabltes, consder computer scence to be the art and scence of explotng automatc dgtal computers, understand ther usea better machnes usfng known components:, and of creatng the tec'hnology necessary to t deals tth such related problems as the desgn of the desgn and mplementaton of adequate software systems for communcaton between man and machne, and the desgn and analyss of methods of representng fnformat9on by abstract symbols and of processes for manpulatng these symbols,, Computer scence must also Thus
: 1 1 &,! f t 2 c --- concern tself wth such theoretcal subjects supportng ths tedmology B as nformaton theory, the logc of the fntely constructable, numercal mathematcal analyss, and the psychology of problem solvng Naturally these theoretcal subjects are shared by computer scence wth such dscplnes as phlosophy, mathematcs, and psychology Because the representaton and processng of nformaton are the core of computer scence, many persons refer to our subject as the scence of nformaton processng, and ndeed the nternatonal Federaton for nformaton Processng bears such a name Untl a rather substantal dscplne s bult up:, prefer to keep explct our pragmatc goal by retanng the word **computer'* n our name, Perhaps the name "computer and nformaton scences" s a proper compromse at present, An nterestng comparson of computer scence wth both pure and appled mathematcs has been made by Gorn [l] Whle Gorn s thnkng n [l] only of the scentfc applcatons of computers, the dstnctons presented certanly could be transferred to all areas of computng To Gorn, the pure mathematcan s nterested n the syntactcal relatons among symbols, qute apart from ther meanng n the physcal world or ther computablty, Thus the all-mportant questons of pure mathematcs deal wth the structures of theores, not wth ther meanng For example, the majorty of practcng pure mathematcans are unconcerned wth what numbers actually are, and ndeed the queston s unsettled; they are nstead concerned wth what relatons exst among numbers and among objects bult up from numbers The appled mathematcan s prmarly concerned wth the semantcs of symbols - what do mathematcal theorems mean as appled to the physcal world? For example, how can mathematcal analyss help us understand physcs or economcs or electroncs? Fnally9 the computer scentst s concerned wth the pragmatcs of the applcatons of mathematcs, What algorthms can actually be used to calculate thngs of a mathematcal nature% What does t cost n storage or tme or human effort to perform these algorthms'? What guaranteed or probablstc error bounds can be constructed for the answers? What languages can they be expressed n? What hardware do they requre? 2
An artcle by Keenan[2] s part of a journal ssue to questons of currculum n computer scence Keenan defnton of computer scence,n several broader areas assocate the name, devoted manly develops the wth whch we generally 2 The objectves of eomx>uter scence educaton There are at least three dfferent groups of students to whom' computer scence educaton should be drected, and the objectves are dfferent for each a Nontechncal students The advent of computers means that almost all ctzens of the developed natons wll be greatly affected by computers, Hence a general educaton should nclude enough background for the ctzen to comprehend somethng about computer scence Snce a unversty educates the future leaders of the communty, the students need a background for makng decsons n a computerzed world, They need to learn what computers are, what they can do, what they cannot do, They need to realze the large role of human bengs n creatng computer systems - that every bt of automaton s acheved by human plannng n the large and n detal, b, Specalsts n other techncal felds The automatc computer s one of the most mportant tools to have been devsed n the hstory of man9 and ts doman of applcaton s very wde t s already recognzed by most engneers and natural scentsts that they must know computng farly well, Current studes of engneerng educaton emphasze educaton n general purpose tools wth long expected lfetmes lke mathematcs 9 Englsh, statstcs - at the expense of specal nformaton better relegated to handbooks, Automatc computng s ndeed becomng recognzed as one of the lastng tools Zadeh [3j9 charman of the Department of Electrcal fgneerng, Unversty of Calforna, Berkeley, makes a partcularly strong clam about the mportance of computer scence n techncal educaton: he states that electrcal engneerng wll suffer a serous declne n mportance as a dscplne unless t can absorb a substantal amount of actvty n computer scence, 3
_' 1 '2 * e r Ḷ, 1 t s now clear that students of socal scence must also acqure a famlarty wth computng methods,, And the serous student of humantes wll soon fnd computers ndspensable, f he s to carry out research on any substantal volume of data,, +* CO n educaton of computer scence specalsts The most mportant group to be educated n computer scence are the future specalsts n the feld, for they are the seed who wll become the creators and the teachers of the future They must receve enough background to be able to follow and preferably lead the future development of the subject,, Keenan [21 dstngushes three groups of computer scence majors n my opnon t s probably better to lump the undergraduate major wth the group n kb above, for wthout more than a bachelorvs degree the graduate s lkely ether to become a mere assstant to a computer user or an applcatons specalst hmself For the graduate student of computer scence the faculty must create a dscplne and nculcate standards of performance n t, The student must learn to read and to wrte the approprate lterature, A background must be bult for years to come Computer scence educaton, lke all educaton, must am to lght a lamp for the student, rather than try to fll the student's bucket wth knowledge, Ths educaton must create the feld's leaders 9 full of ambton and fre to attack the all-pervasve unsolved problems of computer scence, 3 How can a UO So unversty realze the above objectves? The frst major step by whch a U, S, unversty can realze the objectves stated above s to create a department of computer scence, or the same thng under a dfferent name, The reason for formng a department s to enable computer scentsts to acqure faculty of ther own choosng, and exercse control over the currculum of students wshng to specalze n computng There s abundant experence to show that wthout such an admnstratve step computer educaton wll not even keep up wth the feld
c 4 _' tll t Wthout a department, scentsts, but they wll be scattered and relatvely neffectve educatonally, a unversty may well acqure a number of computer Naturally a department cannot be started untl there are two or three computer scentsts on the f&culty One may expect that the department-to-be wll be n a probatonary status for two or three years, A crude survey by the author shows that computer scence departments are n exstence or mmnent n approxmately two-thrds of the 15 largest unverstes of the U, S Probably the department of computer scence belongs n the school of arts and scences 9 because of ts close tes wth departments of mathematcs, phlosophy, and psychology But ts relatons wth engneerng departments concerned wth systems analyss and computer hardware should be close, n years-to come we may expect departments of computer scence to come together wth departments of systems analyss, appled physcs, operatons research, appled mathematcs, and so on, nsde schools of appled scence or even schools of mathematcal scences, We can even hope for a weakenng of the power of ndvdual departments, and a concomtant strengthenng of the ablty of a unversty to carry out nterdscplnary programs A department of computer scence has the responsblty of creatng currcula for each of the groups mentoned n paragraph 4 above Thus there wll be degree programs for ts own majors, There wll be servce courses for majors n other departments n whch computng s recognzed to be central, a general educaton program, There wll be "computer apprecaton" n a unversty wth an program some or all of these wll be offered at nght of graduates of past years, courses as part of adult educaton for the "'re-treadng" n all these courses the computer scence department must strve hard to extract and teach the essence of computer scence, and avod ts transent aspects, For example9 ntroductons to computng should avod spendng large amounts of effort on comparng base 2 and base 10 arthmetc, And the detaled study of a machne language seems better relegated to specalst computer scence courses than taught n a frst course 5 Whereas at one tme
1 1 : e performng arthmetc on machne-language commands seemed to be, the essence of programmng, t s no longer so mportant, n fact, where mu1'4;processors share the same routnes one cannot permt the basc routnes to be modfed at all, l?nally, the department should nsst that ts majors devote substantal tme to studes n other departments (mathematcs, logc, psychology, electroncs, etc,) For havng control of the computer scence currculum does not mply actually teachng the entre currculum1 n addton to a computer scence department, a unversty needs a strong computaton center n order to attan ts educatonal goals n computer scence* Such a center must be organzed wth machnes, languages, and software capable of recevng a large number of programs from dfferent classes of students n a batch-processng computaton center we expect that each student of ntroductory programmng should have one pass per calendar day on a computer, More advanced students wll come less often, but wth longer runs Thus the center must be well endowed to receve a very large volume of student programs n addton to ts better rewarded goal of servng faculty research work Unless you have had experence wth ths job-shop type of computng, you cannot recognze how poorly adapted typcal machne systems are to dealng wth t, Even wth good machne systems t s a large problem n logstcs and human relatons to run more than 1000 jobs a day for a varety of users, 4, Stanford Unverstyvs program n computer scence, Snce January 1965 Stanford Unversty has had a Computer Scence Department wthn ts School of Humantes and Scences0 The new department had been gestatng for approxmately three years wthn the Mathematcs Department, n September 1965 the Computer Scence Department wll have postons for ten faculty members at levels of assstant proffessor and above The prncpal felds of nterest of the faculty are approxmately as follows: numercal analyss (4), artfcal ntellgence (2), programmng languages and systems (l>j machne organzaton (1)9 computer control of physcal data (l), logc and lngustcs (1)0 We need more faculty n programmng languages:, as ths s the feld of largest enrollment of our department, 6
- _ r 1 1 1 t We have no undergraduate degree program n computer scence, and no present ntenton of startng one@ We have approxmately 70 graduate majors, of whom approxmately 45 are full tme students, We offer a Master of Scence n Computer Scence, and by June 1965 we wll have awarded 25 such degrees snce 1961, We offer a PhD n Computer Scence, None has yet been awarded, but four students havejust passed our wrtten qualfyng examnatons for the degree, Over the past seven years the author has been the prncpal thess advsor of some seven students who have wrtten dssertatons n numercal analyss for ther Ph,D n mathematcs, n the appendx are gven our catalog descrptons of the courses offered n our department, together wth an ndcaton of the requrements for the PhD degree, (A one-quarter 3-unt course normally conssts of 30 lectures) -m We have also prepared an nformal syllabus for our qualfyng examnaton, whch ncludes three papers:: ( 1 1 numercal analyss and computatonal mathematcs; (2) computer and programmng systems; (3) advanced nonnumerc applcatons3 artfcal ntellgence, and mathematcal theory of computaton, ' Our man servce courses are drected to students who have already had calculus, Our one-quarter ntroducton to computng (course 136) ranks as approxmately the ffth most popular non-requred course at Stanford, We have two quarters of ntroductory numercal analyss (courses 1379 138) presupposng course 136, lnear algebra,, and ordnary dfferental equatons We have a specal form of course 136 (courses 5, 6) drected to younger students of engneerng, We have nsttuted one course for general students - course 126, presupposng only hgh-school mathematcs and drected to students of humantes and the socal scences,, Courses 5, 69 126, 136 all nvolve very substantal amounts of computer use by the students as ndvduals, laboratory courses 0 They are effectvely
: < t t As tme goes on9 we antcpate the cr%aton of more sectons of course 136, drected to majors n specal areas and presupposng dfferent backgrounds and nterests, Several other departments at Stanford teach computng n one form or another, course 136, Most of these are applcatons courses presupposng our Our graduate offerngs nclude a Z-quarter sequence on programmng systems; a l-quarter course on the logcal structure of computers; a 3-quarter sequence on numercal analyss; artfcal ntellgence; logc of computng, analyss course; laboratory sourse, a z-quarter sequence on elementary a 3-quarter sequence coverng lst-processng, and advanced artfcal ntellgence; a specal numercal a l-quarter course on control programmng; and a programmng We expect to add a l-quarter course next sprng on ether mathematcal lngustcs or the logc of theorem-provng As we teach computng to specalsts of other felds,, t s essental that ther own faculty be able to follow up wth mportant applcatons n the recent transton perod, drectly, we found t desrable to teach the faculty We have had three specal one-week sessons9 two for engneerng faculty and one for bomedcal faculty, These courses take very careful plannng, but pay off very well n knowledge and good wll, The Stanford Computaton Center s well organzed to receve large numbers of student jobs t manly n Extended Algol for the Burroughs B5500, However, as the extra costs requred to handle student jobs mount nto the several tens of thbusands of dollars, fundng for ths work t wll be essental to receve specal The Computer Scence Department s not responsble for the Computaton CentePs servce work, but t does provde leadershp for system selecton and organzaton, However, the Computer Scence Department wll tself soon have some large computer systems acqured n connecton wth research contracts0 t 8
; _ :, : _ t 5 Mscellaneous remarks t would be desrable to have crtera of StanfordPs progress towards our goals n computer scence educaton So far we are too much nvolved n just gettng organzed, recrutng, teachng, and so on, to have done much evaluaton apprecate our program very much We do know that Stanford students Courses 5, 1;26, and 136 have a campus-wde reputaton for beng tme-comsumng, because t takes begnners many hours to get problems correctly keypunched and run Nevertheless, the enrollments are hgh Wth both formal and nformal programmng courses9 we estmate that we reach about 1000 persons a year f these people average but two years at Stanford, then about 2000 persons know computng n an actve way and teachng staff, Wth some 10,000 students and 1000 faculty that means that almost 20 per cent of the Stanford academc famly are well acquanted wth computng We therefore feel that computng s establshed at Stanford, and that t s tme to turn our attenton towards rasng the qualty of our work, We need not only to teach students to program - we need to teach them to program wel1 We must gve many moseof the scence and engneerng students who use the computer an ntroducton to good algorthms and a fear of bad algorthms We need to mprove the qualty of our graduate nstructon 1 Many of our graduate students are students who were refused admsson to Mathematcs and take us as a second choce we want frst-class students We donvt resent beng second choce, but We have wondered about the place of numercal analyss n a unversty wth a department of mathematcs and another n computer scence No doubt there wll be two knds of numercal analyss PhD degrees One wll be a mathematcs degree, followng the regular requred mathematcs courses9 wth some electve courses n computer scence and a thess n numercal analyss drected by some one n the computer scence faculty Ths would be approprate, for example, for a student whose thess developed asymptotc error bounds for fnte dfference methods for solvng partal dfferental equatons There mght or mght not be expermental computatons, The other wll be a computer scence degree, thess n numercal analyss wth a number of extra mathematcs courses and a Ths thess would emphasze the algorthmc 9
; r aspects of numercal analyss, computatons on a dgtal computer, and would certanly nvolve expermental t mght, for example, explore the knds of languages approprate to solvng dffcult mathematcal problems n computer system nvolvng ntrcate man-machne nteractons, However, n our frst year of ndependent exstence, we are seeng some sgn that graduate students nterested n numercal analyss may fnd themselves lost between chars, The prncpal obstacle to a Ph,D at Stanford n ether mathematcs or computer scence s the qualfyng examnatons A graduate student wth rather specal nterests n numercal analyss s unhappy to fnd that the qualfyng examnaton n mathematcs requres the mastery of mathematcal analyss whch goes far beyond what s used n numercal analyss, He fnds that the examnatons n computer scence nvolve too mueh mastery of such subjects as heurstcal programmng and computer organzaton for hs taste and ablty, f a student s so strong that he can conquer one or the other of these examnatons, t s surely worth whle for hm to do so0 But am developng some concern for the numercal analyss student who s not qute so strong or well motvated, Has our creaton of a new Ph,D degree n computer scence actually worsened the stuaton for the would-be numercal analyst? Wll t therefore be necessary to create a specal nter-departmental program n numercal analyss? How can we hold the lne aganst such a prolferaton of programs? 10
:, : k r 1 References [ll Saul Gorn, THE COMPUTER AND NFORMATON SCENCES: A NEW BASC DSCPNE, SAM Revew, vol 5(Aprl 1963, pp* 150-155, [2] Thomas A Keenan, COMPUTERS AND EDUCATON, Comm, Assoc; Comput, Machnery, vol 7(Aprl l@+), pp* 205-209* [31 2 A, Zadeh, EECTRCA ENGNEERNG AT THE CROS$ROADS, paper presented to the nsttute for Electrcal and Electronc Engneerng, March 1965, Proceedngs, pp 47-50 -- Computer Scence Department Stanford Unversty Stanford, Calforna May 12, 1965 11
APPENDX TO CS26 ssued June 25, 1965 STANFORD UNVERSTY S PROGRAM N COMPUTER SCENCE BY GEORGE E FORSYTHE COMPUTER SCENCE DEPARTMENT School of Humantes and Scences STANFORD UNVERSTY
- COURSES AND DEGREES 1965-66 - COMWTER SCENCE REVSED August 1965 - '-, y!- OFFERNGS AND FACTES The Department ams to acquant a varety of students wth the technologcal and ntellectual roles of automatc dgtal computers, and'to educate research workers n computer scence n spte of the dversty of theapplcatons, the methods of attackng problems wth computers show a consderable unty, and computer scence s concerned wth the underlyng prncples The feld 's stll young, and the student wll fnd many more questons-than answers Of the numerous areas of computer scence, the Department has competence n numercal analyss, artfcal ntellgence, programmng systems and languages, logcal desgn of computer systems, and computer controlof external devces 1 Courses n data processng are offered by the ndustral Engneerng ' Department and n the Graduate School of Busness Snce computer scence s nherently nterdscplnary, graduate students of computer scence are expected to nclude n ther study program a good deal of work n other departments; see the lst of suggested courses below There s no Bachelor's degree n computer scence Undergraduates who wsh to enter the feld are advsed to major n mathematcs and nclude Computer Scence 136, 137, 138, and 139 n ther course of study, n connecton wth ts courses and research, the Department 'makes consderable use of the Computaton Center See the secton "Computaton Center" n ths Bulletn \ PROGRAMS OF\STUDY Master of Scence The Unversty's basc requrements for the Master's degree are dscussed n the secton "Degrees" n ths Bulletn The followng are departmental requrements: A canddate s expected to complete an approved course program of 45 unts; at least 36 unts wll be n ths department, or n the Mathematcs Department, or selected from the lst of suggested courses n other departments whch appears at the end of the course offerngs n Computer Scence These 36 unta must nclude 6 unts of Computer Scence 239 and 15 addtonal unts of, courses numbered 200 or above A student whose prmary nterest s n the numercal aspects of computng should nclude n hs program Mathematcs 106, 113, 114, 115$ 130j 131, and
Computer Scence 136, 137, 138, 237a, b, unless as an undergraduate he has taken these courses or equvalent ones elsewhere A student whose prmary nterest s n the,nonn&erc aspects of computng should nclude n hs program Mathematcs 113, 130, Phlosophy 16Oa, b, and, Computer Scence 136, 137, 139, 231, 236a, b, 238, unless as an undergraduate he has taken these courses or equvalent ones elsewhere The canddate must have a 250 average n hs course work and a 300 average n hs courses taken n the Computer Scence Department, Doctor of Phlosophy The Unversty's basc requrements for the doctorate (resdence, dssertaton, examnaton, etc) are dscussed n the secton "Degrees" n ths Bulletn The followng are Departmental requrements: Canddates for the degree of Doctor of Phlosophy Wll follow such courses as are approved by the Department faculty, subject to general Unversty regulatons Each student's program should be arranged to nclude work n computer scence, mathematcs, mathematcal logc, and possbly such other subjects as statstcs or electrcal engneerng,, the proportons dependng on the student's * prevous educaton and hs planned research Snce computer scence s becomng 'ncreasngly formal and abstract, we place consderable emphass on the student's mathematcal educaton and ablty n any case there are the followng requrements: 1) Completon as a graduate student of an approved coherent program of at least 60 unts, ncludng Computer Scence courses 225, 231, 236a, b, 237a, b, 238, 239 (6 unts), 382 (2 unts of presentng papers), and ether 224 or 245 An especally well wrtten paper for course'239 s requred 2) A substantal readng knowledge Qf one of the languages: French, German, or Russan 3) Passng qualfyng examnaton before admsson to canddacy ' The most mportant requrement for the PhD degree s the dssertaton The Department s now prepared to supervse dssertatons n the mathematcal theory of computaton, numercal analyss, programmng languages, hrtfcal ntellgence, computer control of external devces, and n certan applcatons of computers TEACHNG AND RESEARCH ASSSTANTSHPS There are graduate assstantshps avalable n both the Computer Scence Department and the Computaton Center Assstants wll receve a tuton scholarshp up to nne unts of study per quarter durng the academc year, and naddton wll rece,ve stpends for the nne-month academc year rangng approxmately from $2300 to $2600 They wll have desks n Polya Hall at the Computaton Center Some may work full tme n the summer for $500 to $550 per month Dutes n the academc year nvolve less than 20 hours ofwork per week Part of ths s n assstng Stanford people wth ther programs and methods for solvng problems wth computers, often n connecton wth formal or nformal programmng courses Part of the tme s spent n developng programs and systems for solvng problems of general nterest on computers, or n assstng senor staff members wth research n computer scence Approxmately two hours of the work week are spent n attendance at Computer Scence Department colloqua and semnars '
Applcants for assstantshps are expected to have a background n computng at least as deeep as that acheved n course 136, together wth some knowledge of a machne language A deeper background s preferable An applcant's majorfeld may be computer scence, mathematcs, statstcs, physcs, psychology, electrcal engneerng, or other dscplne n whch there s sgnfcant research nvolvng the use of automatc dgtal computers Because of the great need for mproved computng and programmng systems as tools for research, preference wll generally be gven to students of computer scence Further nformaton may be obtaned from the Executve Head of the Computer Scence Department Applcatons for assstantshps should be made to the Fnancal Ads Offce, together wth an applcaton for admsson to graduate study n some department Unless the applcant s also applyng for admsson to the Computer Scence Department, he should at the same tme wrte to the Executve Head of the Computer Scence Department of hs desres to have an assstantshp n computng and statng hs desred major department COURSES FOR UNDERGRADUATE STUDENTS 5* ntroducton to Programmng - Ths course s an ntroducton to AXC, a problem-orented language for descrbng computatonal processes There wll, be practce n solvng elementary problems on Stanford's automatc dgtal computers The course s lmted to freshman and sophomore students Prerequstes: Mathematcs B, or equvalent 2 unts, autumn, ( wnter, ( 1, W? 11 ), TTh 1:15 sprng, ( ), WF 11 6 ntroducton to programmng--contnuaton of 5 - Courses 5 and 6 together nclude approxmately the same materal as course 136, wth emphass on scentfc applcatons Ths course s lmted to undergraduate students 2 unts, wnter, ( ), TTh 1:15 COURSES FOR UNDERGRADUATE AND GRADUATE STUDENTS 126 Computng for Nonscentsts - Ths course s drected to students of socal scence and the humantes, and s not open to students who have the prerequstes for course 136 The syllabus s roughly that of course 136, but the problems are selected more from nonnumerc applcatons Prerequstes: Mathematcs B, or equvalent 3 unts, autumn, ( ), MWF 2:15 36 ntroducton to Algorthmc Processes - Concept and propertes of an algorthm; language and notaton for descrbng algorthms; analyss of computatonal problems and development of algorthms for ther soluton; use of a specfc procedure-orented language to solve smple numerca'and nonnumercal problems usng an automatc dgtal computer Prerequste: Mathematcs 23 or 43 3 unts, autumn, (d '), MWF 11; ( 1, MwF 1:+5; ( 1 TTh 9:30-lo:45 wnter, ( MwF 10; ( ), MWF 1:15 sprng, ( 1, MwF 11; '( ), MWF 1:15 3
, 137 Numercal Analyss - Ths course and 138 are desgned to,acquant senors and graduate students of scence and engneerng wth methods of solvng mathematcal problems on automatc dgtal computers Problems dscussed nclude numercal dfferentaton and ntegraton, soluton of lnear and nonlnear equatons, soluton of dfferental equatons, and approxmaton of functons ntroducton to the analyss of convergence and errors Ptfalls n automatc computaton and ther remedes Prerequstes: 136 and Mathematcs 130, or equvalents 3 unts, wnter, ( ), l&f 11; ( ), ram 2d5 r, 4-138 Numercal Analyss--Contnuaton of 137 - Also the numercal analyss of functons of several varables, ncludng problems of lnear algebra Prerequstes: 137 and Mathematcs 113, or equvalents 3 unts, sprng, ( ), btw~ 2~15 1399 Computers and Machne-anguage Programmng - ntroducton to machne-code programmng Representaton of numerc and nonnumerc data Machne arthmetc Dscusson of varous ways of organzng machnes Prerequste: 136 o r concurrent regstraton n 136 3 unts, autumn, ( k wnter, ( ), TTh 9:30-lo:45 ), MWF 1:15 COURSES NTENDED PRMARY FOR GRADUATE STUDENTS 224 Computer Smulaton of Cogntve Processes - ntroducton to computer \ smulaton technques and nformaton-processng models of thought processes Survey of varous computer smulaton models Ths research area les at an 4 nterface between psychology and computer scence, and the course s expressly,, desgned for graduate students n both felds Some knowledge of expermental t and theoretcal psychology s advsable but not mandatory Prerequste: 136 or equvalent! 3 unts, autumn, ( +), by arrangement 225 Artfcal ntellgence - ntroducton to problem solvng and heurstc programmng Survey of chess- and checker-playng programs; theorem-provng programs; General Problem Solver; mathematcal, lngustc, and ndustral applcatons Queston-answerng programs, and natural-language communcaton wth machnes Advce-taker and nqurng System concepts Other topcs as tme allows' The course s desgned to dovetal wth 224 wth mnmum overlap, but 224 s not a prerequste Prerequste: 136 or equvalent 3 unts, wnter, ( ), by arrangement 231 Structure of Dgtal Computers - Boolean algebra; analyss and synthess of combnatoral and sequental networks; electronc components used n logcal gates The desgn of a smple dgtal processor, arthmetc unt, program control, memores Use of ths processor and ts smulaton on another computer Varous exstng forms of machne organzaton Prerequste: 139 or equvalent 3 unts, wnter, ( ), MWF lo:oo ' 4
233 T6pcs n Numercal Analyss - Selected topcs n numercal analyss Prerequste: 138 or equvalent 3 unts,wnter, ( ), TTh 9:30-lo:45 236a, b Systems Programmng and the Theory of Formal anguages - The technque of constructng systems programs: supervsory programs (montors), nput-output systems, nterpreters and complers for procedure-orented l~guw3es, n partcular AGC Selected topcs from the theory of formal languages: syntactc analyss and semantc nterpretaton Prerequste: 139 or equvalent 236a 3 unts, wnter, (-), TTh 9:30-lo:45 236b 3 unts, sprng, (- ), TTh 9:30-lo:45 237a, b ca Advanced Numercal Analyss - Selected topcs from the theory and practce of usng automatc dgtal computers for approxmatng arthmetc operatons, approxmatng functons, solvng systems of lnear and nonlnear equatons, computng egenvalues, and solvng ordnary and partal dfferental equatons Testng of methods on a dgtal computer Automaton of methods Prerequstes: 138 and Mathematcs 114 and 115 or equvalents 237 a ='3 unts, autumn, ( 1, MwF 3:15 237b 3 unts, wnter, ( 1, MwF 3:15 237~ 3 unts, sprng, ( 1, frwf 3:15 238, Computng wth Symbolc Expressons - The SP programmng language wth applcatons to symbolc dfferentaton, ntegraton, smplfcaton of algebrac expressons and complng Desgn of lst-processng systems Prerequste: 136 or substantal programmng experence ' 3 unts, autumn, ( ), TT~ koo-12~15 239 Computer aboratory - A substantal computatonal program s undertaken and well documented Prerequste: 138 or 139 or equvalent Any quarter, (Staff), by arrangement 243 Mathematcal Theory of Computaton - Semantcs and syntax of programmng languages; formal systems for provng equvalence of programs; computablty and unsolvablty; computer proof procedures; related topcs n mathematcs!, logc Prerequste: 238 3 unts, wnter, ( -), mh 11:00-12:15 245 Advanced Topcs n Artfcal ntellgence - Analyss and dscusson of selected fronter research problems n the feld, eg, Advce-taker, gameplayng programs, pattern recognton, man-machne nteracton, proof procedures Term paper focusng on research problems wllbe requred Prerequstes: 225 and 238 3 unts, sprng, ( ), TTh ll:cc-12:15 246 Data Reducton and Control Programmng - Organzaton and of automatc data reducton systems: data collecton, storage, programmng and ret reval; 5
248 Computatonal ngustcs - Applcatons of computers Formal models of language Parsng algorthms; recognton formatonal grammars; mechancal translaton Prerequste: nstructor 3 unts, sprng, ( ), by arrangement to language problems; programs for trans- 136 or consent of the machne-to-machne data transmsson; control programs; nterrupt processng; lst-processng applcatons; decson processes Prerequstes: 137, 231, 236a, 238 3 uhts, sprng, (-m9 360 Advanced Readng and Research Any quarter, (Staff), by arrangement 382 Computer Scence Semnar - There are ordnarly two or more sectons on dfferent topcs 1 or 2 unts, any quarter, (Staff), by arrangement The followng courses offered n other departments may be of especal nterest to students of computer scence: Analog Computaton - See Electrcal Engneerng 268 Data Processng - See ndustral Engneerng 156, 210, 257, Data Processng n Busness Problems - See Busness 367 and Mathematcal ogc - See Phlosophy 16Oa, ~b, 161, and 292a, Mathematcal Models n Behavoral Scences - See Behavoral Mathematcs, - See Mathematcs courses Organzatonal Processes and Task Performance - See Psycholo Probablty and Statstcs - See Statstcs 116, 219, 220 Recurson Theory - See Phlosophy 293a, b, c Scence n Management and Operatons Research - See Busness ndustral Engneerng 152, 252, 253, and 257 Statstcal nference n Economcs - See Economcs 272 Theory of Automata - See Phlosophy 162 * Theory and Desgn of Systems and Adaptve Systems - See 248, 249, 250a, b, 25la, b, and 286 Theory of Swtchng and Dgtal Computer Crcutry 261, 262, and 266 261, and 368 b, c Scences gy 221 366, ant5 263 courses Electrcal Engneerng - See Electrcal Engneerng 6
STANFORD UNVERSTY COMPUTER SCENCE DEPARTMENT March 30, 1965 Syllabus for Ph D Examnaton n Artfcal ntellgence Research, Non-numerc Applcatons, and Mathematcal Theory of Computaton The followng s a lst of topcs wth whch the student should be famlar: st Processng, Symbol -manpulatng languages for non -numerc applcatons 11 Thorough famlarty wth SP or some other lst processng language, 12 Some famlarty wth the other languages of ths type; smlartes, dfferences, and ssues n the constructon of lst processng languages NOTE: The languages under dscusson here are SP, PV, SP, COMT, SNOBO, plus others you may dscover n your readng Artfcal ntellgence 21 Heurstc Programmng heavy emphass o Chess and Checker Playng Programs (varous; Samuel) SANT (Slagle) ogc Theorst (NSS) Geometry Theorst (Gelernter) Assembly ne Balancng (Ton& General Problem Solver (NSS) Geometrc Analoges (Evans) Graph somorphsm Fnder Fndng Group Transformaton (Amor&1) Theorem Provng a la J, A, Robnson, H, Wang, etc (s any of ths, or s ths not, heurstc programmng?) STUDENT (Bobrow) Advce Takep Concepts (McCarthy) Musc Composton (Hller and ssacson) -- MH-1 Hatd (Ernst)
_ t :, 22 Smulaton of Human Cognton 1 _* 3 General Methodologcal Consderatons Regardng nformaton Processng Models n Psychology EPAM (Fegenbaum) Bnary Choce Hypothess Former (Feldman) Concept Formaton (Hunt) nvestment Decsons (Clarkson) Belef Structures, Personalty, Neurotc Behavor (Abelson, oehln, Colby) 23 earnng n Problem Solvers 24 earnng n Random and Structured Nets, and The General State of neural models -- 25 Pattern Recognton Theory and Applcatons 26 Other Adaptve Systems Other Non -numerc Applcatons 0 31 32 33 34 Queston-Answerng Programs (BASEBA, SR, Black s Program) nformaton Retreval Research, more generally construed broad outlnes of the current state of art Automatc ndexng and Abstractng Machne Translaton 0 0 D broad outlnes of current state of art 4 Mathematcal - Theory of Computaton 41 Formalsms for Descrbng Computable Functons - Turng Machnes, Post Canoncal Systems, General Recursve Functons 42 Unversalty and Undecdablty 43 Functons Compatable n Terms of Base Functons ị 414 Formal Propertes of Condtonal Expressons - Proofs of Equvalence of Computatons 45 Recurson nducton 2
-- - 46 Spaces Representable n Terms of Base Spaces 47 Abstract Syntax - Condtons for Correctness of Complers 5 Mathematcal ogc 51 Propostonal Calculus - Canoncal Forms Rules of nference, Decson Procedures 5 e 2 Predcate Calculus - Axomatzaton of Theores n Predcate Calculus; Axoms and Rules of nference, Models, Completeness, Proof Procedures, l- Ḷ 53 Set Theory - Zermelo-Frankel or Von Neuman Axoms 0 References For Secton 1 see the PV Manual, the SP 15 Manual, the SP Manual (Comm of ACM, Sept 0 1963), COMT Manual, SNOBO artcle (JACM, n 1964) Also, Bobrow s and Raphael s survey artcle (Comm of ACM, n 1964) For Secton 21 and 2 o 3 the prme reference s Computers and Thought Ths book wll lead you to the orgnal sources (e g,, Slagle s SANT was orgnally a Ph D, thess, as were many others), and also to many and varous references as you read through the artcles and scan through the ndex to the Bblography mssed! Mnsky s survey artcle s not to be The host of Newell - Shaw - Smon papers, n RAND reports, n publshed lterature, n the lbrary, should be read - See Fegenbaum s short survey artcle n the EEE nformaton Theory Transactons, plus other revew artcles n these Transactons 0 See the volumes Self -Organzng Systems (1960 and 1962) Also, the numerous JCC Proceedngs and ACM Conference Proceedngs Bobrow s papers s Project Mac TR-1 B Hller and saacson wrote a book, Expermental Musc For Secton 22 prme reference agan s Computers and Thought See also Newell and Smon n the Handbook of Mathematcal Psychology, chapter on Computers n Psychology EPAM papers wll be put n the lbrary 0 Hunt has a book, Concept Formaton: An nformaton Processng Problem See also Tompkns and Messck, Computer Smulaton of Personalty o 3
- For Secton 24 lterature abounds a Mnsky s Steps artcle s a good start r 4 - - - For Secton 25, dtto D See, also, Sebestynn,Decson Makng Processes n Pattern Recognton ook at Selfrdge s Pandemonum and Uhr s work ( cf Computers and Thought), - - For Secton 26 - purposely vague, For example, see Ashby, Automata Studes (Shannon and McCarthy) D Desgn for A Bran(second edton); r _ Pcr Secton 31 see Computers and Thought Raphael s SR s Project Mac TR-2 Black s report s n Fran Thomson s offce 0 For Sectons 3 o 2 and 3 m3, scan recent ssues of the NSF publcaton Current Research Cnd Development n- Scentfc Documentaton as a means of ascertanng state of art and dvng nto lterature 1 For Secton 3 0 4, dtto, perhaps, for ths o ook at survey artcle by Dck See of NSF n the magazne, Scence, sometme n Sprng of 1964, Use as sprngboard to lterature See also, Bar-Hllel s famous artcle, hghly crtcal of MT work (Advances n Computers, Vol 1) On pages 521-523 of Computers and Thought there s a lst of collectons and specal proceedngs and symposa that are relatvely dense n artcles wth whch you should be somewhat famlar Try to get a look at as many as you can, Wth respect to Sectons 4 and 5, the followng references are recommended: Davs - Computablty and Unsolvablty -_ Suppes ntroducton to Mathematcal ogc;: Axomatc Set Theory McCarthy - Systems A Bass for a Mathematcal Theory of Computaton n Computers and Formal - Towards a Mathematcal Scence of Computaton, CP, 1962 - A Formal Descrpton of a Subset of AGO, A Memo - Problems n the Theory of Computaton a CP 1965, A Memo
S ANFORD UNVERSTY COME'UTER SCENCE DEPAR!MEN!! March 10, 1965 Syllabus for the PhD Examnaton n Computer Systems, Programpnng Systems and Programmng anguages The student takng the examnaton should have a background n the followng areas: 1 Computer Components and Memores 11 A general famlarty wth the elementary physcal propertes of the followng devces whch make them useful n dgtal crcutry: tubes, transstors, dodes, tunnel dodes, ntegrated crcuts, cryotrons, thn flms, mdmagnetc cores 12 An understandng of the prncples of operaton of mechancally scanned memores (tape, drum, dsc, card) and electrcally scanned memores (core planes) -, 2 ogcal Desgn and the Structure of Dgtal Computers, 21 Some famlarty wth Boolean Algebra and the synthess of Boolean Expressons (ths assumes some knowledge of elementary mnmzaton procedures; Karnaugh or Vetch dagrams) - 22 A knowledge of the propertes of elementary sequental crcuts (flp flops, shft regsters and counters) 23 An understandng of the common number systems used n present machnes (sgn magntude, l's complement, 2's complement and bnary coded decmal) The student should have some apprecaton and famlarty wth the fact that many algorthms exst for performng arthmetc n varous number systems 24 Computer Organzaton An understandng of the basc organzatonal features of a Von Neuman Sequental Processor (the 70% as an example) a Stack Machne (the B-5000 as an example) and an understandng of how data flows through a machne; and how -O can be organzed 3 Programmng anguages 31 A thorough famlarty wth AWO 60 and B5506 AGO *32 A general famlarty wth some other programmng languages such as FORTRAN, SP, etc and at least one machne code 33 A knowledge of some of the more ustf ul features of vtrsods notaton d
:1 - e 4 Programmng Sjrstems 41 A general famlarty wth the prncples and organzaton of assemblers, nterpreters and complers and the knowledge of the problexns connected wth the mplementaton of varous computer languages, n partcular AU3O (the mechansms for complng expressona, procedures etc, and the problems of storage allocaton) / 42 An understandng of the general prncple8 and tasks of eupervsorysy~tems and the problems nvolved wth tme-sharng a computer and wth parallel processng 43 A thorough famlarty wth at least 2 computers, and a general famlarty wth the capabltes and organzaton of a machne of the new generaton, 5 Phrase Structure &angueges A knowledge of producton grammars, the specfcaton of a programmng language by a syntax (BNF) parsng of sentences of phrart structure languages, and ryntax drected complng -- RWERENCES A partal lst of useful references s noludsd below,nature can be found n the lbrary Components, Braun, Memores, ogcal Desgn and Computer Structure g&taj Computer DesSgn Phster, o&~1 Desgn of Dg$tal Cos!Pqterf Buchhole, PlwanSng scomputqr gyst@) & Other references of a smlar Development n the Org8,nzaton of Canputer @ Control Unts, Proceedng8 Of the RE, January 1961, pp 5% Rajchman, Computer Memores: A Survey of the State of the Art, Proceedng8 of the RE, January 1961, pp 104 Mac Sorely, Hgh Speed Arthmetc n Bnary Comguttre, Proceedng8 of the & hnuary 1961, pp 67 Burks, AW, Goldstnt, HH, and van Neu!8ann, J, PrelranarT Dscusson of the ogcal Desgn of an Electrono Computng nstrument R Collected Wo&8 of Von Neurnsg 2 P ::
(References, cont'd) Crtchlow, A&, "Generalzed Multprocessng and Multprogrammng AFPS Conference Proceedngs (FJCC - 1963), pp 107-126 Amdahl, /'Archtecture of the BM System 1360", B&l Journal of Development, Vol 8, No 2, Aprl 1964, pp & - 101 Systems", - Reecarch and "The Structure of System 1360", BM Systems Journal, Vol 3, Nc~ 283, 196h Barton, "A New Approach to the Functonal Desgn of a Dgtal Computer', Proc, WJCC 19, (1961) pp 393-396 Programmng anguages and Systems Barton, RS, "A Crtcal Revew of the State of the Programmng Art", AFPS, Conferenc&'Proceedngs (SJCC - 1963) pp 169-177 'Bobrow, Danel and Raphael, Bertram, *A Comparson of st Processng Computer anguages", Vol 7, No, 4, Aprl, 1961, &nnm ACM pp 231-2400 Floyd, 'RW, "The Syntax of Programmng anguages - A Survey" EEE Transactons on Electronc Computers, Vol, EC-13, no 4, August 1964 verson, A Programmng anguage, Wley, 1962 Rosen, Saul, "Programmng Systems and anguages, A Hstorcal Survey", AFPS Conference Proceedngs (SJCC - @+), pp l-15 Survey of Programmng anguages and Processors", Comm ACM 6,3 (March 1963), PP 9399 - Survey ssue on Programmng anguages: EEE Transactons on Electroncs Computers,, Vol, EC-13, No, 4, August 1964, B Raqdell and B Russell; "AGO 60" mplementaton; AP 1964
STANFORD UNVERSTY COMPUTER SCENCE DEPARTMENT Syllabus for PhD Examnaton n Numercal Analyss and Computatonal Mathematcs? 1 A general famlarty wth the followng computer problems: solvng one or more lnear or nonlnear equatons; smple problems nvolvng ordnary or partal dfferental equatons; approxmaton of data by polynomals; approxmatng ntegrals and dervatves of functons by lnear formulas; locatng maxma of functons; computng egenvalues of matrces The subjects and the supportng Mathematcs or Statstcs should be known at a depth lke that of courses 137 and 138 and the followng books: Hammng, COMPUTNG FOR SCENTSTS AND ENGNEERS; Henrc, EEMENTS OF NUMERCA ANAYSS; Anonymous, MODERN COMPUTNG METHODS, 2nd ed; Stefel, EEMENTS OF NUMERCA ANAYSS For computatonal methods of lnear algebra, see Forsythe, NOTES ON COMPUTATONA METHODS OF NEAR AGEBRA (dttoed notes for course 437, 1964, on reserve n Computer Scence lbrary), or Fox, AN NTRODUCTON TO NUMERCA NEAR AGEBRA For solvng parabolc and ellptc partal dfferental equatons, see D Young's Chap 11 of John Todd (edtor), SURVEY OF NUMERCA ANAYSS, or "A survey of numercal methods for parabolc dfferental equatons," by Jm Douglas Jr, n ADVANCES N COMPUTERS 1 VO 2 (1961) 2 A reasonable understandng of the pragmatcs of scentfc computaton wth automatc dgtal computers: the mportance of fully automatc procedures for frequently used computatons; ptfalls n usng standard algorthms of mathematcs on computers wth (necessarly) lmted precson; what consttutes a good and well documented algorthm, and where such algorthms can be found for varous problems; the dfferent types of errors n computaton, and ways to estmate and (where possble) reduce the errors; the nfluence of the logcal desgn of computer hardware and software on the accuracy and cost of computaton n tme, storage, and human effort
Syllabus for PhD Examnaton n March 3, 1965 Numercal Analyss and Computatonal Mathematcs Page 2 3* A deeper knowledge of some selected area of numercal analyss, - - wth a depth lke that of courses 237a, b Examples: dscretzaton error and stablty n solvng ordnary dfferental equatons (Henrc, DSCRETE VARABE METHODS N ORDNARY DFFERENTA EQUATONS), round-off error (Wlknson, ROUNDNG ERRORS N AGEBRAC PROCESSES), soluton of partal dfferental equatons (Varga, MPTRX TERATVE ANAYSS, or Forsythe-Wasow, approxmaton (Davs, FNTE-DFFERENCE METHODS FOR PARTA DFFERENTA EQUATONS), NTERPOATON AND APPROXMATON, or J R Rce, THE APPROXMATON OF FUNCTONS), computaton methods n lnear algebra (Wlk nson, THE AGEBRAC EGENVAUE PROBEM), numercal ntegraton (Krylov, APPROXMATE CACUUTON OF NTEGRAS); Monte Carlo methods (Hammersley and Handscomb, MONTE CARO METHODS) 4 Famlarty wth the prncpal reference books for mathematcal computaton --bblographes, tables, collectons, formulas and algorthms, specalzed monographs, etc