LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN no. 2I2-220 Digitized by the Internet Archive in 2013 http://archive.org/details/graduateprogrami212fosd yioaiz. Report No. 212 7?i^( THE GRADUATE PROGRAM IN COMPUTER SCIENCE Prepared by- Lloyd D. Fosdick, Chairman C. W. Gear D. Kuck S . Muroga S. R. Ray August 25, 1966 THE UBRARY OF THE DEC i3 1966 UNIVERSITY OF ILLINOIS This volume Is bound without no. 21 4 & 216 ERSITY OF ILLINOIS • URBANA, ILLINOIS *Mch is/ore unavailable. Z£6 Report No. 212 7?uu% THE GRADUATE PROGRAM IN COMPUTER SCIENCE Prepared by Lloyd D. Fosdick, Chairman C. W. Gear D. Kuck S . Muroga S. R. Ray August 25, 1966 Report No. 212 THE GRADUATE PROGRAM IN COMPUTER SCIENCE Prepared by Lloyd D. Fosdick, Chairman C. W. Gear D. Kuck S . Muroga S. R. Ray August 25, 1966 Department of Computer Science University of Illinois Urbana, Illinois TABLE OF CONTENTS Page 1. INTRODUCTION 1 2. ADMISSION TO GRADUATE WORK IN COMPUTER SCIENCE 1 3. FACULTY ADVISOR 2 k. THESIS SUPERVISOR 2 5. REQUIREMENTS FOR THE M.S. DEGREE IN COMPUTER SCIENCE 2 6. REQUIREMENTS FOR THE PH.D. DEGREE IN COMPUTER SCIENCE 3 7. QUALIFYING EXAMINATION ... 5 7.1 Computer Design 6 7.2 Programming and Languages 6 7.3 Numerical Analysis . 6 8. BIBLIOGRAPHY FOR THE QUALIFYING EXAMINATION AREAS 6 9. COURSES FOR THE MAJOR 9 10. COURSES FOR THE MINOR 15 11. RESEARCH PROGRAMS 15 11.1 Digital Computer Arithmetic l6 11.2 Switching and Automata Theory 17 11.3 Circuit Design 18 11. ^ Computer Organization 19 11.5 Computer Applications in Physics 20 11.6 Software Systems and Languages 20 11.7 Numerical Analysis 21 11.8 Pattern Recognition 22 11.9 Information Retrieval 22 12. RESEARCH PROGRAMS FOR STUDENTS PURSUING GRADUATE DEGREES IN OTHER DEPARTMENTS 23 13. SENIOR STAFF AND RESEARCH INTERESTS 2k Ik. THE DEPARTMENT OF COMPUTER SCIENCE LIBRARY 26 111 TABLE OF CONTENTS (CONT'D) Page 15. RESEARCH FACILITIES 29 15.1 ILLIAC II Hardware Facilities 29 15.2 ILLIAC II Software Facilities 30 15.3 IBM 709^ System 31 15.^- Circuit Research 33 16. FINANCIAL ASSISTANCE 3I+ IT. TERMS AND CONDITIONS FOR ASSISTANTS HI PS IN THE DEPARTMENT OF COMPUTER SCIENCE 35 17-1 Proficiency in English 35 17-2 Admission to the Graduate College 35 17.3 Waiver of Tuition and Fees 35 17 -^ Acceptance and Resignation of Appointments 35 17-5 Course and Work Loads of Assistants 36 17-6 Renewal of Assistantships 36 17-7 Specific Assignments 36 17.8 Summer Appointments 36 18. THESIS RESEARCH OF ASSISTANTS 37 19. PREPARATION OF THESES AND MATERIAL FOR PUBLICATION 38 19.1 Theses 38 19.2 Scheduling of Thesis Preparation 38 19.3 Materials for Publication 38 20. STUDENT HOUSING 39 21. MAP OF THE DEPARTMENT OF COMPUTER SCIENCE i+0 22. MAP OF THE UNIVFRSITY OF ILLINOIS ^0 IV 1. INTRODUCTION The purpose of this brochure is to help the graduate student plan an academic program in the Department of Computer Science and to describe certain matters of policy and procedure. For answers to questions not covered here the student should consult his faculty advisor. 2. ADMISSION TO GRADUATE WORK IN COMPUTER SCIENCE An applicant will be favorably considered for admission to the Graduate College if : (1) He is a graduate of an institution awarding a baccalaureate degree comparable to that granted by the University of Illinois; (2) He is adequately prepared for advanced study as demonstrated by his previous program of study and his scholastic record.; and (3) He is recommended for admission by the major department or school and the Dean of the Graduate College . In addition to satisfying these three requirements for admission to the Graduate College, he must also satisfy the prerequisites of the Department of Computer Science . These prerequisites are 20 semester hours of electrical engineering, mathematics or physics including Mathematics 294, Computer Science 20.1 (formerly Mathematics 295),' an d one of Mathematics 38?; 391 o^ Computer Science 301 (formerly Mathematics 395) or their equivalent; because of the interdisciplinary nature of the field of computer science, the Department is willing to consider applications by students whose back- grounds do not fit into one of the above categories . Applicants should have an average of at least ^.0 (on a scale with maximum 5-0) for the last 60 hours of undergraduate work. Applicants with an average below 4.0 and above 3° 75 will be considered on an individual basis. -i _ 3. FACULTY ADVISOR A successful candidate for the graduate program in computer science will be assigned to a faculty advisor. This advisor, a member of the faculty of the Department of Computer Science, is to be consulted by the student on matters pertaining to his academic program. It is the responsibility of the student to meet with his advisor at the time of registration in order to obtain formal approval of his schedule of courses h. THESIS SUPERVISOR A candidate for a graduate degree must find a supervisor for his research. This applies both to research for the M.S. thesis and for the Ph.D. thesis. In the case of the supervisor for the Ph.D. thesis, it is required that the student find this supervisor within six months after successful completion of the qualifying examination, 5- REQUIREMENTS FOR THE M.S. DEGREE IN COMPUTER SCIENCE In order to obtain an M.S. degree in computer science, the student must satisfy the general requirements of the Graduate College. These requirements are : (1) Eight units of satisfactory course work with at least four of them in the list "Courses for the Major." (P. 13-) (2) Three units of these eight must be in ^-OO-level courses. (3) Two of these 400-level courses must be in the list "Courses for the Major." (P. 13 . ) -2- (k) Satisfactory course work is represented by the receipt of the grade "A" or "B" in the course. The grade "c" is unsatisfactory , is regarded as a failing grai"e, and does not count as a unit towards a graduate degree. The student with three "C's" is disqualified as a degree candidate. (5) These requirements must "be completed within five calendar years after first registration in the Graduate College. (6) The candidate must spend at least two semesters or the equivalent in residence and must earn at least half of the required units while in residence. (7) Residence is realized when a student lives in the community, or immediate surroundings, and devotes an appreciable portion of his time to graduate studies. A student who is regularly employed outside the Champa ign-Urbana community is not considered to be in residence even though he has registered in a campus course. In addition to satisfying these general requirements of the Graduate College, the candidate must also satisfy the following require- ments of the Department: The candidate must write a thesis and is allowed one unit, CS ^-99 (Section A), for this project. This unit may be used as one of the eight required for the M.S. (As is implicitly indicated by the fact that just one unit of research is allowed for M.S. thesis research, this thesis is substantially simpler than a Ph.D. thesis.) 6. REQUIREMENTS FOR THE PH.D. DEGREE IN COMPUTER SCIENCE In order to obtain a Ph.D. degree in computer science, the student must satisfy the general requirements of the Graduate College. These requirements are : -3- (1) Declaration of a major field of study and one approved minor, consisting of four units; or two minors, consisting of two units each, only one of which may be a division of the field of computer science. (2) Successful completion of l6 units of graduate work, including the eight required for the M.S. degree. (3) Eight units of thesis research. (k) An original thesis on a topic in the field of computer science. (5) A demonstrated ability to read two of the following languages: French, German, Russian, either by direct examination or by obtaining grades of "A" or "B" in French, German or Russian ^01. (6) The candidate must complete all requirements for this degree within seven calendar years after his first registration in the Graduate College. If the candidate has received a Master's degree elsewhere, then he must complete all requirements for the degree within five years after his first registration in the Graduate College. (7) He must also satisfy certain residence requirements which are cited below. In addition to these general requirements of the Graduate College the Department requires the student to pass a qualifying examination. Normally this examination will be taken after the successful completion of four units of graduate work in the field of computer science. Students with an M.S. degree, transferring into this program, will be required to take the qualifying examination during their first year in residence. Further details on the qualifying examination are given in a paragraph below. A final departmental requirement is that at least six of the sixteen required units of course work be taken from the list of "Courses for the Major." (P. 13.) -k- The execution of a program of study and research towards the Ph.D. degree in computer science is marked by several stages. The first stage is completed when the candidate has received the Master's degree and has successfully passed the qualifying examination. The second stage consists of eight units of work fulfilling the major and minor course requirements, the language requirements and a preliminary examination. The preliminary examination is an oral examination designed to test the student's knowl- edge of his major and minor fields of study. He is not admitted to this examination until he has fulfilled the language requirements, and he has satisfactorily completed l6 units of graduate work. Finally, the third stage is devoted to research and seminars, the preparation of the thesis, and the final examination. The final examination is concerned primarily with the research accomplished by the student as described in his thesis, but may extend over the candidate's whole field of study. Two of these stages must be completed in residence and this period in residence must include two successive semesters in the second or third stage; residence is defined in the section on the M.S. degree. 7- QUALIFYING EXAMINATION The qualifying examination is designed to test the student's knowledge in certain important areas of computer science in order to determine whether or not he is likely to successfully complete a Ph.D. program. The examination is divided into three sections and each section into two parts. The candidate must receive a passing grade in each section, and show high proficiency in one part of one section. A candidate who fails the qualifying examination on his first attempt may take it one more time. He must take it at the next time it is offered. -5- 7.1 Computer Design 1. Logical design including: realization of common computer subunits such as counters, adders and sequencers; Boolean algebra to express the behavior of switching circuits: simplification procedures; finite state machines. 2. Hardware design and devices including: realization of common computer circuits; memory mechanisms; solid state devices. 7-2 Programming and Languages 1. Programming including: encoding of information; use of hardware features; use of compiler and assembler languages; searching, sorting, and merging various data structures. 2. Languages including: processing of programs by translators, loaders, and interpreters; descriptions of formal languages and corresponding abstract machines. 7- 3 Numerical Analysis 1. Computations in linear algebra including: matrix inversion; eigenvalues and eigenvectors: iterative methods. 2. Approximation including: interpolation, least squares; solution of nonlinear equations; differentiation, quadrature, and integration of ordinary differential equations. 8. BIBLIOGRAPHY FOR THE QUALIFYING EXAMINATION AREAS The following bibliography is designed to assist students in preparing for the qualifying examination. -6- Computer Design 1 10 11 12 Bartee, T- C , I. L . Lebow and I. S. Reed, Theory and Design of Digital Machines , McGraw-Hill (1962). Harrison, M. A. Introduction to Switching and Automata Theory , McGraw-Hill (1965"^ Hohn, F. E- Applied Boolean Algebra Macmillan (i960). Hurley, R. B., Transistor Logic Circuits , John Wiley (1958). Maley, G. A. , and J. Earle, Logic Design of Transistor Digital Computers , Prentice-Hall (1963) McCluskey, E. J. , Introduction to the Theory of Switching Circuits , McGraw-Hill (1965) • Miller, Raymond E., Switching Theory , Vols. I and II, John Wiley (1965) Millman, J., and H. Taub, Pulse, Digital and Switching Circuits , McGraw-Hill (1965) Nanavati, R. P., An Introduction to Semiconductor Electronics , McGraw-Hill (1963"^ ~ ~~~"" Phister, M. , Logical Design of Digital Computers , John Wiley, (1958) • Poppelbaum, W. J., Lecture Notes, EE 29U, (1963), EE 393, (1962-I96I+) Ware, W. H. , Digital Computer Technology and Design , Vols. I and II, John Wiley (1963) • Programming and Languages 1. Baumann, R., et al., Introduction to ALGOL , Prentice-Hall (196^) 2. Brooks, F- , and K. Iverson, Automatic Dat a Processing , John Wiley (1963). --________- 3. Chomsky, N. (Ch. 12 in Luce et al.), Handbook of Mathematical Psychology, Vol. II, John Wiley (1963). h. Corbato, F., et al., Advanced Computer Programming , MIT Press (1963)* 5- Dijkstra, E., ALGOL 60 Programming , Academic Press (1962). 6. Flores, I., Computer Software Prentice-Hall (1965) 7- Fosdick, L D., 709I4 Programming Notes, (196U). ■7- 8. Gear, C. W., Math 295 Classnotes , (i960). 9- Goodman, R. , Annual Review in Automatic Programming , Vol. 3; Pergamon (1963) • 10. Gotlieb, C, and J. Hume, High Speed Data Processing , McGraw-Hill (1958) 11. Kuck, David Math 395 Classnotes , (1966). 12. Ledley, R., Programming and Utilizing Digital Computers , McGraw-Hill (1962) 13- Randell, B., and L. Russell, ALGOL 60 Implementation , Academic Press (1961+) • lU. Sherman, P., P rogramming and Coding Digital Computers , John Wiley (1963). 15- Trakhtenbrot, B. A,, Algorithms and Automatic Computing Machines , Heath (1963). l6. Ware, W. H., Digital Computer Technology and Design , Vol. I, John Wiley (1963). ' ' 17- Wegner, P., Introduction to System Programming , Academic Press (196U). Numerical Analysis 1. Fox, Leslie, Numerical Methods in Linear Algebra , Pergamon (1962). 2. Froberg, Carl-Erik, Introduction to Numerican Analysis , Addison- Wesley (1965) • 3- Hamming, R. W. , Numerical Methods for Scientists and Engineers , McGraw-Hill (1962). k. Henrici, Peter, Elements of Numerical Analysis , John Wiley (1964). 5- Hildebrand, F. B., Introduction to Numerical Analysis , McGraw-Hill (1956). 6. Householder, A. S., Theory of Matrices in Numerical Analysis , Blaisdell Publishing (196U) . 7' Noble, Ben, Numerical Methods I, II , Interscience (196U). 8. Ralston, Anthony, A First Course in Numerican Analysis , McGraw-Hill (1965). Stiefel, E- L-, An Introduction to Numerical Mathematics , Academic Press (1963). 10. Todd, John, (Editor), Survey of Numerical Analysis , McGraw-Hill (1962). -8- 9- COURSES FOR THE MAJOR Courses drawn from the following list may be used to satisfy the major requirement for a graduate degree in computer science. CS 301. Programming, Languages, and Computation. (Formerly M 395)- An introduction to mathematical models of programming languages and computation on a digital computer. Phrase structure languages, particularly context free languages, and their syntactic analysis with application to translation. Abstract models of digital computers and the computations which they can perform subject to various restrictions on control, memory and time. Unsolvability results for computations and languages. 1 unit or three hours. Prerequisite: CS 101, CS 201, and senior standing or consent of instructor. CS 306. Machine Language and System Programming II. Principles of programming. Procedure and problem oriented languages - use and implementation. Problems in system programming for input/ output channels and time sharing. 1 unit or three hours. Prerequisite: CS 201. CS 311 • Mathematical Theory of Data Processing. (Formerly M 397) Mathematical structure and automatic processing of extensive files of data are developed employing methods from statistics, graph theory, and information theory. Topics discussed include: the selective screening and classification of data (pattern recognition, machine abstracting, optimum encoding, least square adjustment of data); and file organization and maintenance (information retrieval, indexing, scheduling). 1 unit or three hours. Prerequisite: CS 101, or consent of instructor. CS 490. Individual Study. May be taken more than once, subject to consent of advisor. l/2 to 2 units. CS 491 » Seminar in Computer Science. May be taken more than once, subject to consent of advisor. l/2 to 2 units. CS U97. Topics in Computer Science. May be taken more than once, subject to consent of advisor. l/2 to 2 units. CS U99. Thesis Research. There are two sections: Section A for the M.S. Thesis; Section B for the Ph.D Thesis. to !| units. »9- CS/EE 385. Theory of Semiconductor Computer Devices. (Formerly EE 385). Crystal conduction. Large signal dc and transient "behavior semiconductor devices. Charge storage theory, phase plane diagrams, tolerance optimization and noise theory. Integrated circuits technology: masking, oxidizing and etching. Emphasis on development of device-theoretical background for computer logic design. 3/^ unit or 1 unit or three hours. Prerequisite: CS/EE 29^- and senior standing, or consent of instructor. CS/EE 393. Digital Computer Circuit Design. (Formerly EE 393.) Design of switching circuits and systems taking into account properties of currently available diodes, transistors and related circuit elements. Applications to slow-speed as well as high-speed computer circuits and data handling links. Component tolerance, circuit reliability and cost factors are considered. 1 unit or three hours. Prerequisite: CS/EE 2$k or CS/M 391 J credit or registration in EE 382 or 383 > or consent of instructor, CS/EE 39i+. Logical Design of Automatic Digital Machines. (Formerly M/EE 39^.) A course in the design of automatic digital computers. Major emphasis is on logical structure of components and the interrelations necessary for automatic operation. 1 unit or three hours. Prerequisite CS/EE 29k, or consent of instructor CS/EE 4l4. Engineering Applications of Linear Graphs. Elementary theory of linear graphs, Euler graphs; incidence, cut-set and circuit matrices and their properties; realizability of cut-set, circuit and tree matrices; applications to network analysis and synthesis; signal flow graphs; applications to switching circuits and automata; communication networks. 1 unit. Prerequisite: EE hlG, Math 315 or 318. CS/EE U56. Coding Theory. Covers comprehensively the fundamental concepts and recent developments of the theory of error-correcting codes. Extensive discussion is given on decoding procedures and their implementations in computational algorithms and hardware -10- organizations. Also discussed are applications to computer systems such as file-addressing and matrix switches. 1 unit. Math 317 recommended but not required. CS/EE/M ^63* Information Theory. (Formerly Math k-63) Mathematical models for information channels and sources; existence theorems for and construction of error-correcting codes. 1 unit. Prerequisite Mathematics 361 or Electrical Engineering V33 • CS/'EE ^8l. 'Threshold Logic. Mathematical model of computer elements which work under threshold or majority principle. Mathematical theory of threshold functions. Realiza'bility using a linear programming approach. Network syntheses of majority principle devices. 1 unit. Prerequisite: Consent of instructor. CS/EE i|82. Theory of Digital Computer Arithmetic. This course emphasizes the use of redundancy in the representation of digits in order to increase the efficiency of computer arithmetic. Topics include multiplier recoding, division with redundantly represented quotients^ and structural redundancy as implied by carry-save and signed -digit techniques. 1 unit. Prerequisite; CS/EE 39^-° CS/EE 48^ Advanced Theory of Magnetic and Optic Computer Memory Devices. (Formerly EE ^-85.) Theory of ferromagnetism and superconductivity applied to memory devices. Light propagation in anistropic media; modulators and deflectors. Principles of laser operation. 1 unit. Prerequisite: CS/EE 385. ■11- CS/M 387» Introduction to Numerical Analysis. (Formerly M 3^7 • ) 1 unit or three hours. Prerequisite; CS 101 and a course in differential equations; or consent of instructor. CS/EE/M 391. Boolean Algebra and Switching Theory. (Formerly M/EE 391.) Boolean algebra with applications to sets., logic , electronic and relay combinational circuits. Karnaugh and Quine-McCluskey minimization procedures with applications, introduction to sequential circuits. l/2 unit or 1 unit or three hours. Prerequisite: Senior standing or consent of instructor. CS/EE/M 392. Introduction to Automata Theory, (Formerly M/EE 392.) Semigroups, partially ordered sets, and other algebraic systems. Asynchronous machines. Abstract synchronous machines and their properties. Regular sets. Decomposition theory. l/2 unit or 1 unit or three hours. Prerequisite: CS/EE/M 391 or consent of instructor. CS/M ^57* Advanced Numerical Analysis. (Formerly M 457«) Ordinary differential equations: existence theory of Pi card, one-step methods, discretization error, convergence, stability, boundary value problems; and integral equations. 1 unit. Prerequisite: CS/M 387 or consent of instructor. CS/M 458. Numerical Solution of Partial Differential Equations. (Formerly M k^Q.) The course deals with the numerical solution of initial and boundary value problems for partial differential equations. Topics include the approximation of differential operators by difference operators, the solution of large systems of linear equations by iterative methods, and discussion of convergence and numerical stability. 1 unit. Prerequisite: Math 455 or consent of instructor. CS/M U65. Topics in Automata Theory. (Formerly M ^65.) 1 unit. Prerequisite: CS/EE/M 392 or consent of instructor. • CS/M hB'J. Theory of Approximation. (Formerly M ^87) This course discusses general approximation theory in normed linear spaces but is primarily concerned with the classical cases , approximation of functions continuous on an interval and continuous periodic functions "by polynomials and trigonometric polynomials., Existence and uniqueness theorems . Characterization of Chebyshev approximants. Theorems on degree of approximation . Interpolation with emphasis on the quality of interpolants as approximants . Use of approximation theory in computing. 1 unit. Prerequisites: M 318 > M 3^8 or consent of instructor. ■13- The following additional courses may be used to satisfy the major requirements subject to the approval of the advisor. M ^12. Recursive Function Theory. Introduction to recursive functions , study of properties of recursive and recursively enumerable sets, degrees of unsolvability, and the implications of the Church- Turing Thesis. 1 unit. Prerequisite: Math 4 10 or consent of instructor. (Formerly M kl6.) M 488. Topics in Applied Mathematics. 1 unit. Prerequisite: Consent of instructor. M 489- Seminar in Applied Mathematics. 1 unit. Prerequisite: Consent of instructor. EE 497- Electrical Engineering Problems. Special electrical engineering problems. l/2 to 2 units. -11+- 10. COURSES FOR THE MINOR No specific requirements are made for the minor, the student is expected to consult with his advisor and select the set of courses to satisfy the requirement for the minor. Normally this choice will reflect the specialty chosen for his Ph.D. research; see the section on Research Programs . 11. RESEARCH PROGRAMS There is opportunity for research in a wide variety of areas including : Digital Computer Arithmetic; Switching and Automata Theory; Circuit Design; Computer Organization; Computer Applications in Physics; Software Systems and Languages; Numerical Analysis; Pattern Recognition; Information Retrieval. Students should arrange with their advisor to work out a course of study designed to prepare them for research in one of these fields. Courses of particular importance in each of these areas are listed below. ,15- 11.1 Digital Computer Arithmetic Students with backgrounds in Math or EE may wish to specialize in this area. The following courses should "be taken by all students: CS/EE/M 391. Boolean Algebra and Switching Theory. CS/EE 39U. Logical Design of Automatic Digital Machines. CS/EE kd2. Theory of Digital Computer Arithmetic. M 317 • Introduction to Higher Algebra. M 361, 366. Theory of Probability. CS/EE/M 463. Information Theory. CS/EE 456. Coding Theory. Depending on the student's interests, the following courses can be added as part of the major. CS/EE/M 392. Introduction to Automata Theory. CS/M 465. Topics in Automata Theory. CS/EE 481. Threshold Logic. CS/EE 393. Digital Computer Circuit Design. CS/EE 385- Theory of Semiconductor Computer Devices. CS/EE 485. Advanced Theory of Magnetic and Optic Computer Memory Devices. CS 301. Programming, Languages, and Computation. CS/EE 4l4. Engineering Applications of Linear Graphs. CS/M 387* Introduction to Numerical Analysis. CS 311* Mathematical Theory of Data Processing. M h6l. Applied Stochastic Processes. ■ 16- 11.2 Switching and Automata Theory Students who wish to specialize in this area must have knowledge of computer organization equivalent to CS/EE 29^- ■ The major sequence is as follows. The solid lines show the sequence by prerequisite and the broken lines a natural one although not required by prerequisite. cs/ee/m 391 CS/EE/M 392 CS/EE 1+81 CS/M 465 Note that this sequence does not mean that students cannot choose thesis topics in the area of CS/EE''M 391. In addition students may take closely related courses from the following: M 317, M 318. Introduction to Higher Algebra. CS/EE 39^ • Logical Design of Automatic Computer Circuits. CS/EE 482. Theory of Digital Computer Arithmetic. CS/EE klk. Engineering Applications of Linear Graphs. M 361. Theory of Probability (or preferably a seminar of combinatorial mathematics, when it is available) . CS/EE ^56, Coding Theory. For students who wish to specialize in logical design of computers, auditing or taking one or two of the following courses is desirable for understanding the electronics background of logical design. EE 3U0, EE 34l. Electronics. 08/ EE 393. Digital Computer Circuit Design CS/EE 385' Theory of Semiconductor Computer Devices. EE 38I. Pulse Technique. -17- 11. 3 Circuit Design The following courses comprise the recommended corpus leading to research in the physical design of computers. CS/EE 385° Theory of Semiconductor Computer Devices. CS/EE/M 39.1. Boolean Algebra and Switching Theory . CS/EE/M 392. Introduction to Automata Theory. CS/EE 393° Digital Computer Circuit Design. CS/EE U85. Advanced Theory of Magnetic and Optic Computer Memory Devices. EE ^-35° Theory of Semiconductors. EE U72. Quantum Electronics. Phys. 489. Solid State Physics I. Phys. i+90. Solid State Physics II. Met. 384. Properties of Solids. -18- 11 . h Computer Organization Students with backgrounds in Math or EE may wish to specialize in this area. Depending on their backgrounds, interests and the particular aspects of organization that they wish to pursue, a variety of courses can be taken. The following courses are recommended for all students: CS/EE/M 391. Boolean Algebra and Switching Theory. CS/EE 393. Digital Computer Circuit Design. CS/M 394. Logical Design of Automatic Digital Computer Circuits. C3 301- Programming, Languages and Computation. CS/EE 482. Theory of Digital Computer Arithmetic. CS/EE 481. Threshold Logic. Depending on the student's interests, the following courses can CS/EE/M 392. Introduction to Automata Theory. CS/M 387" Introduction to Numerical Analysis. CS 311 Mathematical Theory of Data Processing. CS/M J465. Topics in Automata Theory. CS/EE 385° Theory of Semiconductor Computer Devices. EE 359° Introduction to Noise and Information Transmission. CS/EE 4l4. Engineering Applications of Linear Graphs. CS/EE/M 463. Information Theory. CS/EE 456. Coding Theory. be added. •19- 11.5 Computer Applications in Physics Students interested in this research area are advised to take a Ph.D. in Physics. Useful courses in the computer science field are the folio-wing: CS/M 387. Introduction to Numerical Analysis. CS/.M 457. Advanced Numerical Analysis. CS/M ^58. Numerical Solution of Partial Differential Equations, CS/M M37. Theory of Approximation. CS 301. Programming,, Languages, and Computation. CS 311° Mathematical Theory of Data Processing. 11.6 Software Systems and Languages This is a broad area including system programming for multi- programmed machines, parallel multi-processors, and displays as well as abstract questions about formal languages and translators. Depending on his background and interest, the student will be expected to choose from the following : Relevant courses are : CS 301. Programming, Languages and Computation. CS 311° Mathematical Theory of Data Processing. CS/EE/M 392. Introduction to Automata Theory. M 31^° Introduction to Set Theory and Mathematical Logic. CS/EE U8l. Threshold Logic. CS/M 465. Topics in Automata Theory. CS U9I. Computer Science Seminar. a) Pattern Recognition b) Topics in Formal Languages and Computation. M 4l2. Recursive Function Theory. CS/EE 4l4 Engineering Applications of Linear Graphs. CS/EE 456 Coding Theory Additional units may be obtained from the computer science major list as well as algebra and logic courses in mathematics. -20- II . 7 N umerical Analysis To successfully pursue this program, the incoming student must have previously had at least a year of calculus and a beginning course in differential equations. The major sequence of numerical analysis courses consists of: CS/Math 387 CS/M ^57 CS/M U87 cs/m 458 plus seminar and special topics courses which are offered from time to time. In addition the student should normally take or have taken the equivalent of the math sequence Math 3^3. Advanced Calculus Math 3^-7 - Introduction to Higher Analysis - real variables Math 3^-80 Introduction to Higher Analysis - complex variables and follow this with two or more of the sequences (1) Math 1+55 and Math ^56, Mathematical Methods of Physics I and II, (2) Math kh-3 Ordinary Differential Equations and Math khk Partial Differential Equations. (3) Math kkO and Math kk^> , Theory of Functions of a Complex Variable I and II. (k) Math kkl and Math hk2, Real Analysis I and II. The remaining courses can be taken in areas to fit the students special interests = Particularly recommended are the courses in programming, artificial languages, etc.; such as CS 301 and suitable section of CS kty'J (topics in computer science) and the sequence in logic which will be offered by the Mathematics Department. ■ 21- 11.8 Pattern Recognition The most relevant courses in preparation for research in this area are : CS 301. Programming, Languages , and Computation. CS 311. Mathematical Theory of Data Processing. CS ^91 • Computer Science Seminar. a) Pattern Recognition t>) Topics in Formal Languages and Computation. 11.9 Information Retrieval The principal courses preparatory to research in information retrieval are : CS/EE/M 391. Boolean Algebra and Switching Theory. CS/EE/E 392. Introduction to Automata Theory. CS 301. Programming, Languages, and Computation. CS 311* Mathematical Theory of Data Processing. CS/M ^65. Topics in Automata Theory. CS/EE 481. Threshold Logic. M 317- Introduction to Higher Algebra. CS/EE 4l4. Engineering Applications of Linear Graphs. M 361. Theory of Probability. CS/EE/M i+63. Information Theory. CS/EE 456. Coding Theory. -22- 12. RESEARCH PROGRAMS FOR STUDENTS PURSUING GRADUATE DEGREES IN OTHER DEPARTMENTS The special facilities of the Department of Computer Science often lead students pursuing graduate degrees in electrical engineering, mathematics, or physics to focus their research activities in the Department of Computer Science. Faculty members of each of these departments are also members of the Department of Computer Science and regularly direct thesis research of such students. Any student from another department wishing to carry out his thesis research in the Department of Computer Science should consult one of these members . The following faculty members of the Department of Computer Science are also members of the faculty of the Department of Electrical Engineering: Professors S. Muroga, T. A. Murrell, W. J. Poppelbaum, S. R. Ray and J. E. Robertson. The following faculty members of the Department of Computer Science are also members of the faculty of the Department of Mathematics: Professors C W. Gear, D. B. Gillies, J. Nievergelt and M. Paul. The following members of the faculty of the Department of Computer Science are also members of the Department of Physics: Professors L. D. Fosdick, B. H. McCormick, J. R. Pasta, Head of Department, J. N. Snyder, Associate Head of Department. -23- 13- SENIOR STAFF AND RESEARCH INTERESTS Fosdick, L. D., Professor of Physics. Computational Physics: Studies of the application of computers to the numerical solution of problems in physics. Friedman, H. G., Assistant Professor of Chemistry. Theoretical and practical aspects of systems programming. Gear, C. W., Associate Professor of Applied Mathematics. Numerical analysis and software systems. Gillies, D. B., Professor of Applied Mathematics. Numerical Analysis: Experimental and theoretical studies of numerical methods adapted to computer solution of problems in analysis. Kato, M., Visiting Associate Professor of Computer Science. Research of computer logic design and programming as well as information retrieval and pattern manipulation. Kuck, D., Assistant Professor of Computer Science. Mathematical linguistics and applications to compiling and multi-processing. Topics in artificial intelligence. McCormick, B. H., Professor of Physics. Pattern recognition. Construction of a high-speed computer, ILLIAC III, for the automatic scanning and processing of visual data. Muroga, S., Professor of Electrical Engineering. Mathematical theory of circuitry and logical circuits, particularly threshold logic. Murrell, T. A., Associate Professor of Electrical Engineering. Design of digital circuits. Transistors. Remote console computer systems . Nievergelt, J., Assistant Professor of Mathematics. Automata theory. Organization and efficient use of large-scale parallel computers. Pasta, J. R., Professor of Physics. Head of Department. Applications of computers to problems in physics. Computer problems associated with data analysis in high energy physics. Paul, M., Visiting Associate Professor of Mathematics. Research on Time- sharing, Multi -programming and Remote Console Computer Systems. -2U- Poppelbaum, W. J., Professor of Electrical Engineering. Circuit Research Application of hybrid circuits and electro-optics to pattern processing and man-machine interactions. Ray, S. R., Associate Professor of Electrical Engineering. Studies of the application of content-addressable memories to pattern recognition. Robertson, J. E., Professor of Electrical Engineering. Studies of efficient and fast methods for carrying out arithmetic operations in a digital computer. Slotnick, C L., Professor of Computer Science. Logical organization of large-scale computer systems. Design of a highly parallel computer system, ILLIAC IV. Snyder, J. N., Professor of Physics, Associate Head of Department Application of digital computers to problems in physics; computer problems associated with data analysis in high-energy physics. -25- Ik. THE DEPARTMENT OF COMPUTER SCIENCE LIBRARY The Department of Computer Science library maintains an exhaustive collection of journals and "books covering the area of computer science and related areas, particularly mathematics and electrical engineering, augmented "by a substantial number of laboratory and university reports. The sign-out periods of the above categories of the library material is as follows: Books, pamphlets, reports and bound journals—one month Reference copies of bound journals, Reference copies of books, and overnight Unbound journals The following is a list of the periodicals received by the library: ALGOL Bulletin American Documentation ACM Communications ACM Journal Applied Optics Auerback Standard EDP Reports Automation Express Bell System Technical Journal Business Week Calcolo Communications on Pure and Applied Mathematics Computer Abstracts Computer Characteristics Quarterly Computer Design Computer Digest Computer Journal Computers and Automation Computing Computing Reviews Current Papers in Physics Cybernetics Data Processing Magazine Datamation D.A.T.A- Computer Logic Circuit Characteristics Tabulation DoA-T.A. Transistor Tabulation D.A.T.A. Semiconductor Diode and Rectifier Tabulation Decuscope Digital Computer Newsletter -26- EDP Weekly Electronic Design Electronic Industrie? Electronic Products Electronic Technician Electronics Electronics World Elektronische Rechenanlagen E ngi ne e r i ng Cyb e me tics European Scientific Notes Fortune Farvard Business Review IBM Journal of Research and Development IBM Systems Journal ICC Bulletin IEEE Spectrum IEEE Transactions on - we have a subscription to all categories (about 36) Industrial Research Information and Control Information Li splay Information Processing in "apan Information Storage and Retrieval Instruments and Control Systems International Journal of Computer Mathematics International Science and Technology I : A Jr a ns a c t i ons Journal of Chemical Physics Journal of Data Management Journal of Differential Equations Journal of Mathematical Analysis and Applications Journal of Mathematical Physics Journal of Mathematics and Mechanics Journal of Applied Mathematics (SIAM) Journal of Control (SIAM) Journal of Numerical Analysis ( Journal of Symbolic Logic Journal of the Franklin Institute Journal of tJ - ; iptical Society of America E'ybernetik laser Letter •d.i- Management Science Mathematical Algorithms Mathematical Reviews Mathematics of Computation Mechanical Translation Mitsubishi Denki Laboratory Reports Modern Communications Nordisk Tidskrift for Informations-Behandling Numerische Mathematik Operations Research Physical Review- Physical Review Letters Proceedings of the IEEE Proceedings of the International Association for Analog Computation Radio Engineering and Electronic Physics Review: Nippon Telegraph and Telephone Public Corporation Science Scientific American Semiconductor Products SIAM Review Simulation Solid State Abstracts Journal Technical Abstract Bulletin Technical News Bulletin Time-Sharing System Score Card USSR Computational Mathematics and Mathematical Physics -28- 15- RESEARCH FACILITIES In addition to the library already described in another section, there are a number of facilities available for research in the computer science field. A selected list of these facilities is given below: 15.1 ILLIAC II Hardware Facilities A. ILLIAC II - large scale general purpose digital computer - designed, constructed and put into service by the Department of Computer Science . 1. Online Equipment a) Storage 2 - core boxes - 8192 words of 52 bits/word magnetic core storage (l.8 usee); 2 - drum boxes - 65,536 words of 52 bits/word magnetic drum storage (7 usee); 2 - 1301 IBM disk file - 10,000,000 words of 52 bits/word magnetic tape storage (100 usee); 10 - 729 Mod. VI IBM tape drives - 25,000,000 words of 52 bits/word magnetic tape storage (100 usee). b) Satellite Computers 1 - lUOl IBM computer with 1-1402, 1-1U03, I-U06 and 2-729 Mod. V; 1 - PDP-7 D.E.C computer with a 63O communications control unit; 1 - D.E.C - 338 computer controlled display unit. c) Miscellaneous 1 - analog - digital converter with a Scully audio tape drive; 1 - digital - analog converter with an audio tape drive; 1 - multiplexing special register with 4-103A1 Bell data phones units; ■29- 1 - paper tape input output - 8 level; 1 - Elliott 1000 ch./sec. reader; 1 - Teletype 110 ch./sec punch, cl) Offline Equipment Tab- electro mechanical; 17 - 026 card punches 1 - 082 sorter 1 - 557 alphabetic interpreter 1 - 51^+ reproducing punch Plotting equipment; 1 - CalComp plotter Model ^6k with a 67 tape drive Communications equipment; 8 - Teletype communication consoles. 15.2 ILLIAC II Software Facilities A. ILLIAC II 1. FORTRAN II - compiler (compatible with 709^ ' s here); 2. NICAP - assembler language, closely related to machine language; 3- TIPSY - an interpretive processor for a simple desk calculator type of language; h. BOOTS - a time-share system which makes possible the use of ILLIAC II from remote consoles. ■30- B. PDP-7 1. FORTRAN II - compiler; 2. Symbolic Assembler - assembler; 3- Symbolic Tape Editor - allows use of paper tapes as if they were cards; h. DDT (debugging package). 15.3 IBM 709U System The Department of Computer Science owns an IBM 709^ computer with two IBM 1^01 computers for peripheral processing. The IBM 709^/1^01 facility is used for research and class work. Approximately 500 jobs per day, with over 1000 on some days, are processed by the 709^- The P0RTH0S programming system used on this 709^+ 'was developed a. by professional programmers and graduate assistants in the Department. This system was designed for a university environment, with speed of throughput, ease of use and operation, automatic accounting, and generality as primary objectives in design. The 7^9^ has several optional features, which are used in this system, added to the hardware. Among these features are: 1) Memory protection 2) Interval timer 3) Direct data link h) Console interrupt 5) CRT display and 35 mm film recorder 6) 1301 disk. P0RTH0S resides on the 1301 disk and provides the programmer with memory protected utility programs for input/ output on the disk, tapes, printer, and CRT. Also provided are an assembler, four compilers, various interpretive systems, and the system Monitor, Loader, and Editor programs. -31- The various system programs developed for or implemented into PORTHOS include: 10 11 12 13 SCATRE - an assembler with powerful macro facilities. FASTRAN - a FORTRAN II compiler with several statements added to the language. This compiler compiles shorter programs at 10 to 20 times the speed of the IBM FORTRAN compiler, with better error checking. FORTRAN IBM - a slightly altered version of the IBM FORTRAN II compiler, mostly compatible with FASTRAN. ALGOL - written at Illinois in cooperation with the ALCOR group, this compiler is used at many other universities. All of ALG0L-60 except the 'own' facility is implemented. MAD - a slightly altered version of the Michigan Algorithm Decoder, SN0B0L - a string processing language. IPL-V - a list processing language, LPG1 - a linear programming code. SSUPAC - a package of statistical programs written and maintained by the Statistical Services Unit on campus. UIEDIT - a general tape and disk editor. LOADER - incorporates use of a blodked library on disk, full core loading, multiple core load (ping-pong, chain) loading, subroutine trace facilities. MONITOR - through use of a single monitor to process all jobs, system time is minimized. This monitor reads and processes all control cards . LOW CORE - a package of utility programs in the protected portion of memory which provides for all input/ output for compilers and users. It provides for blocked, buffered, all-binary peripheral tapes for communication to the 1^01 processors. -32- Ik) An extensive library of over 200 subroutines for mathematical functions, plotting, ets. 15) HAVOC - a 1^01 program which allows concurrent loading of input tapes, printing and punching output tapes, and multiple copies. Batch processing of listing and reproduction jobs is possible without changing programs. The 709^/1^01 facility is in operation twenty-four hours a day, six to seven days per week. The Department provides a consulting service to research users of both the 709^- an d 1LL1AC II. The Consulting Office is currently open from 8 a.m. to 10 p.m., Monday through Friday, and 9 a.m. until 1 p.m. on Saturday. 15. i| Circuit Research The circuit Research Group of the Department of Computer Science has available a very complete line of test equipment ranging from laboratory standards for do tests to 3;000 mc reflectance bridges. Appropriate frequency sources for sine-wave, pulse and ramp operation are available for covering the gamut of frequencies up to 1,000 mc. For observation of waveforms a great number of four channel scopes are available — many of them being equipped with memory tubes. Special hardware is available in the area of graphical prouesaing and includes memocorders, Ardenne tubes, scanconverters, as well as closed television systems for black and white and color. Associated workshop facilities allow the production of prototype systems using printed circuit cards with several thousand active elements. In view of large volume testing of active elements for sybsystems a certain number of automatic testing facilities are made available, these include: go no-go testers for 8 parameters as well as testers with automatic printout of the results. ■33- 16. FINANCIAL ASSISTANCE Financial assistance in the form of fellowships, assistantships, and tuition and fee waivers are available for students in the Graduate College. Detailed information about qualifications and application procedures is given in the brochure "Financial Aid for Graduate Students," which may be obtained by writing to the Graduate College or to the Department of Computer Science. Fellows normally carry a full program of courses-- four units or the equivalent. Assistants normally work one-half time which allows them a maximum of three units of course work per semester. Other possibilities, however, are available. A table showing the nature of the appointment possible and the maximum registration permitted for each appointment is given below. Nature of Appointment Full time Three-fourths time Two-thirds time One-half time One-third time One-fourth time Maximum Registration Semester Summer Semester 1 unit 2 units 2-1/ U units 3 units 3-3/4 units k units 1 unit 1-1/4 units 1-1/2 units 1-3/4 units 2 units 2 units ■34- 17. TERMS AND CONDITIONS FOR ASSISTANTSHIPS IN THE DEPARTMENT OF COMPUTER SCIENCE 17-1 Proficiency in English An applicant for admission whose native tongue is not English must take a test in English administered by the English Language Institute (ELI) unless he has a degree from a college or university in a country where English is the native language and where English is the medium of instruction. Foreign students should note that admission is denied to applicants who fail to pass the English Language Institute (ELI) test. An appointment as an assistant is conditional upon admission to the Graduate College . 17.2 Admission to the Graduate College The application for admission will normally "be forwarded to the Graduate College at the time the applicant accepts an appointment as an assistant. If he declines the offer of an assistantship, the application for admission will not "be processed unless he specifically requests us to do so. 17 • 3 Waiver of Tuition and Fees Assistants with appointments from 25 to 67 per cent; cf full-time service are exempt from the tuition and service fees, tut not from the hospital-medical-insurance fee which is $10 per semester 1 7 . h Acceptance and Resignation of Appointments In every case in which a graduate scholarship, fellowship, traineeship or graduate assistant-ship for the next academic year is offered to an actual or prospective graduate student, the student, if he indicates his acceptance before April 15; will have complete freedom through April 15 to submit in writing a resignation of his appointment in order to accept another scholarship, fellowship, traineeship, or graduate assistant ship. However, an acceptance given or left in force after April 15 commits him not to accept another appointment without first obtaining formal release for the purpose . -35- 1 7 • 5 Sou rse and Wcr k L o ads of A ssis ta nts A half-time graduate assistant in the Department of Computer Science is expected to devote twenty hours per week to the project to which he is assigned, The usual graduate course load under these circum- stances is three units, or three-fourths of the full-time student load. Although we prefer that the academic interests of an assistant are in the area of computer science, this is not a condition on the employment of an assistant in the Department of Computer Science 17.6 Renewal o f Assistan t sh ips The Department of Computer Science is usually able to continue part-time assistant ships as long as "both the academic progress and performance of the work of the assistant are satisfactory. 17-7 Specifi c As s ignments It will not "be possible tc inform the successful applicant of his specific assignment until about May 1. It is only when we know with reasonable certainty which individuals plan to come "^hat specific assignments can be made. The assignment procedure requires consultation with project super- visors, and occure during the two weeks following April 15- Although we would be delighted to "knew the desires of the student for his assignment and will attempt to match his desires with his assignment, there can be no guarantee in each individual case that it will be possible for us to do so. 17 . 8 Summ er Appoi ntments Summer employment is dependent on the availability of funds for the project to which t.he assistant is assigned and is dependent on the presence in Urbana during the summer of the project supervisor. Although in the past we have been able to satisfy the desires of most assistants for summer employment, again there can be no guarantee in each individual case until about May 1. 18. THESIS RESEARCH OF ASSISTANTS It is the policy of the Department of Computer Science to encourage graduate students in their thesis research for the Ph. Do by assigning them to work on their theses as assistants under the supervision of a thesis adviser. This assignment is subject to the satisfactory performance of previous assignments, is subject to the availability of funds, and is subject to the prior agreement of a faculty member to serve as the thesis advisor. The following comments are intended as guidelines for the conduct of this policy. (1) The assignment will normally commence at the beginning of the semester during which the preliminary examinations taken, or at the beginning of the semester immediately following the preliminary examination, and will normally be limited to three semesters at half-time. (2) First priority for such assignments will be given to students who have been assistants in the Department of Computer Science for two or more years, (3) The thesis advisor shall be a senior staff member of the Department of Computer Science rider exceptional circum- stances, a graduate student whose thesis topic is in the area of computer science but whose advisor is not a member of the Department of Computer Science may be assigned as an assistant in accordance with this policy. Such an assignment shall be at the discretion of the Head of the Department of Computer Science upon the recommendation of a member of the senior staff of the Department. ■37- 19- PREPARATION OF THESES AND MATERIAL FOR PUBLICATION 19-1 Theses The Department will bear all expenses connected with the preparation of the thesis of any graduate student working under the direction of a senior staff member belonging to this Department. This includes expenses incurred in typing, drafting, binding and reproducing as well as the materials therefor . The administration of the Department will make proper allocation of the incurred costs to the appropriate accounts held by the Department . It should be stressed that the important criterion is that the work be done under the direction of a member of this Department, regardless of whether, or not, the candidate holds an assistantship or fellowship in this Department. 19 • 2 Scheduling of Thesis Preparation All materials and copy for the final typing, drafting, etc., of the thesis must be submitted four weeks prior to the official thesis deadline in the case of a master's thesis, or by six weeks prior to the deadline in the case of a doctoral thesis ■ It is further expected that the student will be available during this period for consultation, questions, and proof reading. It should be stressed that the above time limits are placed on the final typing. If one or more drafts are desired these should be arranged in sufficient time to meet the deadlines above. The student in general should work closely and through his staff advisor in making arrangements for these services. 19 ■ 3 Materi als for Publication The Department will similarly bear all expenses connected with the preparation of materials for publication in accredited journals including page charges. This expense will be borne for any member or student of this Department. The important criterion in these cases will be that the published material be attributed to the Department of Computer Science in the author's by-line. -38- students helpful . 20. STUDENT HOUSING The following housing facilities are available for graduate (1) Residence Halls for single students ($360 per year for double to $518 per year single.) (2) Student-Staff Apartments ($60 - $120 per month.) (3) Orchard Place Apartments ($90 - $100 per month.) (h) Orchard Downs Apartments ($95 - $125 per month.) (5) Private Housing. The University maintains a listing of private rooms, apartments, and houses for rent. Details on housing facilities may be obtained from: Housing Information Office ^20 Student Services Building 610 East John Street Champaign, Illinois 6l822 Phone 333-11+20 A brochure "Student Housing at the University of Illinois," is ■39- 21. MAP OF THE DEPARTMENT OF COMPUTER SCIENCE A floor plan of the Department of Computer Science is shown on the following pages. The areas shown include office space, research laboratories, rooms for computing equipment, the library, and seminar rooms - Now shown is the basement which houses electronics shop, a metal shop, a print shop and facilities for mass production of printed circuit boards . 22. MAP OF THE UNIVERSITY OF ILLINOIS A map of the University of Illinois Campus, showing the location of all the buildings, with identifying numbers and the immediate surrounding area is attached. -40- Z < - -I o a: - 8: o I UJ o CO Cfc UJ h- 0. o o u. o v> %*