LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN cop. 2. The person charging this material is re- sponsible for its return to the library from which it was withdrawn on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN 1 5 RET) OCT SEP L161 — O-1096 Digitized by the Internet Archive in 2013 http://archive.org/details/syllabusforlowle391niev no J9/ A <#? ^ Report No. 391 r* SYLLABUS FOR LOW LEVEL PERFORMANCE FOR THE QUALIFYING EXAMINATION IN COMPUTER SCIENCE Edited by J. Nievergelt April, 1970 THE LIBRARY OE THE NOV 9 1972 UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAI6N DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS The person charging this material is re- sponsible for its return to the library from which it was withdrawn on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN JAN 3 1973 1/ • FEB 6 1973 L161 — O-10')6 Department of Computer Science Report No. 391 SYLLABUS FOR LOW LEVEL PERFORMANCE FOR THE QUALIFYING EXAMINATION IN COMPUTER SCIENCE Edited by J. Nievergelt April, 1970 Department of Computer Science University of Illinois at Urbana -Champaign Urbana, Illinois, 6l801 blO. *t PREFACE The Qualifying Examination in Computer Science at the University of Illinois at Urbana-Champaign is divided into four areas: hardware, logic design, numerical analysis, and programming. In each area a low performance level and a high performance level are distinguished, the former being re- quired of all students, the latter only for a student who intends to spe- cialize in a given area. This syllabus describes the knowledge required for low level per- formance in each of these areas. It does not concern itself with the high performance level. The syllabus was prepared by the following committees. Hardware M. Faiman (Chairman) L. Abel W. J. Kubitz W. J. Poppelbaum S. R. Ray E. K. Bowdon (Chairman) B. H. McCormick Y. Muraoka S. Muroga J. E. Robertson Logic Design numerical Analysis Programming J. R. Phillips (Chairman) A. Bracha L. D. Fosdick D. B. Gillies P. Saylor H. G. Friedman (Chairman) L. D. Fosdick D. J. Kuck R. S. Northcote R. Trout Comments and suggestions concerning this syllabus will be appre- ciated. J. Nievergelt, Chairman Graduate Study Committee HARDWARE 1. BASIC ELECTRICITY AM) MAGNETISM Concepts of charge (atomic origin), potential, current, energy and power, electromagnetic field vectors (E, B, H, D); Ohm's law and exceptions; — > — * Kirchhoff's laws; flux of D and B; laws of Gauss, Coulomb, Ampere, Faraday; capacitance, inductance, transformers, filters; dielectric constant, per- meability (of ferromagnetics and ferrites); motion of charged particles in electric and magnetic fields. References Sears, F. W. Principles of Physics II: Electricity and Magnetism . Addison- Wesley, 19V7. Chapters 1-5, 7-9, 11- 16, 18. Harnwell, G. P. Principles of Electricity and Electromagnetism . McGraw- Hill, 19^9. Chapters 1-5, 9-21, 13. 2. SIMPLE DC CIRCUITS Idealized properties of diodes (off/on) and transistors (off/on, saturated, constant alpha); base input and emitter input transistor con- figurations; steady state analysis of circuits containing voltage/current sources, resistors, idealized diodes and transistors, and other elements of specified I-V characteristics. References Millman, J. and Taub, H. Pulse, Digital and Switching Waveforms . McGraw- Hill, 1965. Chapters 6, 7, 8- Delhom, L. Design and Application of Transistor Switching Circuits . McGraw- Hill, 1968. Chapters 1, k, 7, 10. 3. SIMPLE AC CIRCUITS Response of circuits containing capacitors and inductors to sine wave and step excitations; phase lag and lead; idealized ac properties of diodes (C, .„„) and transistors (C, .„„, C, n , f m ); concepts of rise/ fall v diff diff depl' T ' and delay times of commonly used diode and transistor configurations; simple feedback amplifiers. h. SIMPLE LOGIC CIRCUITS Representation of logic levels by voltages/ currents; diode logic (AM), OR); the transistor as an inverter (NOT, NAM), NOR); configurations and relative merits of commonly used logic circuits (DTL, TTL, ECL); RS flip-flops; Schmitt trigger, monostable and astable multivibrators. References for 3 and k Harris, Jo N. , et al. Digital Transistor Circuits . SEEC Vol. 6, Wiley, 1966. Chapters 1-7 . Millman, J. and Taub, H. Pulse, Digital and Switching Waveforms . McGraw- Hill, 1965. Chapters 9-11. Littauer, R. Pulse Electronics . McGraw-Hill, 1965. Chapters 1 and 2. 5- MEMORIES Basic magnetic and system properties of core, drum/disc/ tape mem- ories; relative merits and comparison with IC semiconductor memories; con- cepts of magnetic flux paths, domains and hysteresis, with application to information storage; 2D and 3D core memory arrangements. References Quartly, C. J. Square-Loop Ferrite Circuitry: Storage and Logic Techniques . Prentice-Hall, 1962. Chapters 1-4. Meyerhoff, A. J. (ed. ) Digital Applications of Magnetic Devices . Wiley, i960. Chapters 3-5, 23-25. 6. OTHER SEMICONDUCTOR DEVICES Terminal properties and circuit applications of zener diodes, junction and surface field effect transistors. (Candidates are not re- quired to memorize mathematical formulas. ) References Richman, P. Characteristics and Operation of MPS Field Effect Devices . McGraw-Hill, 1967. Chapter k. Millman, J. and Taub, H. Pulse, Digital, and Switching Waveforms . McGraw- Hill, 1965. Chapter 17. 7. SIMPLE DIODE AM) TRANSISTOR THEORY Concepts of energy bands in crystalline solids; electrons and holes; qualitative differences between metals, semiconductors and insula- tors; majority and minority carriers; mobility; drift and diffusion currents; qualitative behavior of pn junctions; the diode equation I = I s (exp(qV"/kT-l); form of Shockley equations for a transistor; origin of depletion layer ca- pacitance and diffusion capacitance; frequency dependence of current gain. References Warner, R. W. , et al. (ed) Integrated Circuits: Design Principles and Fabrication , McGraw-Hill, 1965* Chapters 1 and 2. Adler, R. B. , et al. Introduction to Semiconductor Physics . SEEC Vol. 1, Wiley, 196k. Chapters 1 and 2. Searle, C. L. , et al. Elementary Circuit Properties of Transistors . SEEC Vol. 3, Wiley, 1964. Chapters 1, 2, k, 7, 9. LOGIC DESIGN 1. BASIC NUMBER SYSTEMS Representation of numbers in different systems (binary, decimal, binary coded decimal, Gray code, etc. ) Conversion of bases and arithmetic in different bases. References McCluskey, E. J. , Jr. , Introduction to the Theory of Switching Circuits . McGraw-Hill, New York, 1965. Chapter 2. 2. BOOLEAN ALGEBRA Postulates and fundamental theorems » Canonical forms of Boolean functions Truth tables. Minimization techniques (Karnaugh maps, tabular methods, etc.). Synthesis of combinational networks. References Hohn, F. E., Applied Boolean Algebra . Macmillan, New York, 1958. Chapters 1-5. 3. BASIC LOGIC CIRCUITS Use of typical logic circuit sets (AND, OR, NOT; NAND; NOR). Use of storage elements (AC and DC flip-flops and magnetic cores). Design of adders, counters, storage registers and shift registers. References Ware, W. H. , Digital Computer Technology and Design . John Wiley and Sons, New York, 1963. Vol. II, Chapters 8-10. h. BASIC COMPUTER ORGANIZATION Organization of functional units including arithmetic, control, memory, and Input/ Output . Arithmetic Unit : Serial vs parallel arithmetic. Number repre- sentations and effects on structure. Subtraction by complementation. MPY by repeated addition. Restoring and non-restoring division. Floating- point arithmetic. Elementary speed-up techniques (carry bypass, carry lookahead, and carry completion. Control Unit : Synchronous vs asynchronous control. Timing pulse distribution and controlled delay techniques . Instruction decoding and sequencing techniques. Centralized vs decentralized control. Micropro- gramming and control point logic techniques. Interrupt sensing, priority, selection, recognition and processing. Memory Unit : Structure of random access memory, memory control, data buses, and address buses. Addressing and accessing methods including index registers, indirect addressing, and base registers* Parity checking. Input/ Output Unit : Relationship between input-output devices, main storage, auxiliary storage, buffers, data channels, and multiplexers. Serial vs parallel transmission. References Gschwind, H. W. Design of Digital Computers . Springer- Verlag, New York, 1967. Chapters 7-9. 5. ANALYSIS OF SEQUENTIAL CIRCUITS Different modes of sequential circuit operation (pulse and funda- mental). Flow table and state diagram representations. Clocked and non- clocked circuits. Flip-flops and feedback realizations. Race and hazard considerations. References McCluskey, E. J., Jr. Introduction to the Theory of Switching Circuits . McGraw-Hill, New York, 1965. Chapter 5. 6. REFERENCES FOR FURTHER READING Bartee, T. C, Lebow, I. L., and Reed, I. S. Theory and Design of Digital Systems . McGraw-Hill, New York, 1962, 324 pp. Very mathematical and somewhat out-of-date. An interesting ref- erence. Burroughs Corporation. Digital Computer Principles . McGraw-Hill, New York, 1962, 507 pp. Restricted scope (engineering oriented) and dated, but a good reference. Maley, G. A., and Earle, J. The Logic Design of Transistor Digital Computers . Prentice-Hall, Englewood Cliffs, N. J., 1963, 322 pp. An excellent introduction to elementary race and hazard consider- ations. Martin, J. Design of Real-Time Computer Systems . Prentice Hall, Englewood Cliffs, N. J., 1967, 629 pp. A general text covering many aspects of real-time data processing systems including design, applications, management, and operation. Phister, M. , Jr. Logical Design of Digital Computers . Wiley, New York, 1958, 408 pp. Somewhat dated. Relies heavily on sequential circuit theory and concentrates on serial, clocked machines. Richards, R. K. Arithmetic Operations in Digital Computers . D. Van Nostrand, Princeton, N. J., 1955, 397 pp. Somewhat dated but still a good reference for arithmetic. NUMERICAL ANALYSIS 1. SIMPLE ANALYSIS OF ROUNDOFF ERROR Mathematical and machine representation of numbers (binary, deci- mal, octal, and hexadecimal); fixed point and floating point representation of numbers. Roundoff error for fixed point and floating point addition, sub- traction, multiplication, and division. Roundoff error analysis for simple expressions involving combinations of the above operations with fixed or floating point numbers. Roundoff error analysis for simple operations in matrix algebra, in particular, analysis of rounding errors in forming the inner product usin£ a single length accumulator and again for a double length accumulator. The use of matrix norms and vector norms in error analysis of simple matrix operations such as addition of matrices, multiplication of matrices, and matrix times vector. Subordinate norms, compatible (consistent) norms, and condition numbers and their use in error analysis. The use of forward and backward error analysis. The role of ab- solute, relative, and inherent errors in error analysis. References Wilkinson, J. H. , Rounding Errors in Algebraic Processes . Prentice-Hall, Inc., 1963. Chapters 1 and 2. Knuth, D. E., The Art of Computer Programming , Vol. 2 , Seminumerical Algo - rithms . Addison-Wesley Publishing Co., 1969. Chapter k. Forsythe, G. and Moler, C. B. , Computer Solution of Linear Algebraic Systems . Prentice-Hall, Inc., 1967* Chapters 1, 8, and 20. 10 Moursund, D. G. and Duris, C. S., Elementary Theory and Application of Numerical Analysis . McGraw-Hill, 1967. Chapter 5. 2. APPROXIMATING THE ROOTS OF NONLINEAR EQUATIONS Functional iteration, that is, iterative methods of the form x. , = f(x.). Lipschitz continuity and the convergence of functional iter- ation The mean value theorem and Lipschitz continuity. The student should be able to determine from an inspection of the derivative of f whether the iterative method converges and determine the order of convergence. Newton's Method: Rate of convergence, geometric interpretation, and order of the Method. Convex and concave functions and how to locate an initial approximation to a root of such a function which will assure conver- gence of Newton's Method. References Henrici, P., Elements of Numerical Analysis . John Wiley, 1964. Chapter h. Moursund, D. G. , and Duris, C. S., Elementary Theory and Application of Numerical Analysis. McGraw-Hill, 1967* Chapter 1. Isaacson, E. , and Keller, H. , Analysis of Numerical Methods . John Wiley, 1966. Chapter 3- 3- QUADRATURE Newton-Cotes quadrature formulas: Derivation, understanding of the error formula for applications, and extension of the basic idea of interpolatory quadrature for the derivation of new formulas. Gauss quadrature formulas: Orthogonal polynomials and their re- lation to Gauss quadrature formulas; understanding of the underlying principle 11 for obtaining a quadrature formula of maximal degree by appropriate selection of the nodes of the polynomial interpolator approximating the integrand, and understanding of the error formula for applicationso Euler-Maclaurin sum formula: The student is not expected to mem- orize it or know how to derive it but he is expected to know how to apply it for the approximation of sums or integrals. Romberg quadrature: The connection of Romberg quadrature with the procedure known as Richardson's deferred approach to the limit (or Richardson's extrapolation) should be known. Given the fundamental recur- rence relations the student should know how to build up the array of esti- mates of the integral. References Moursund, David G. and Duris, Charles S., Elementary Theory and Application of Numerical Analysis . McGraw-Hill, 1967* Chapter 6. Krylov, V. I. , Approximate Calculation of Integrals . MacMillan, 1962. Chapters 5, 6, and "J. Carnahan, Brice, Luther, H. S., and Wilkes, James 0», Applied Numerical Methods . John Wiley, 1969* Chapter 2. h. NUMERICAL LINEAR ALGEBRA Gaussian elimination and its variants: The LU (or LDU) decompo- sition theorem and algorithm. Compact method of Crout. Partial and com- plete pivoting; its use, and its relation to error. Estimates on the number of operations required in the above methods. Norms of matrices and vectors, condition of a matrix and its role in finding the numerical solution of a system of equations (also see Part l). 12 References Fox, L. , An Introduction to Numerical Linear Algebra . Oxford University- Press, 1965. Chapters 2, 3, and k. Faddeeva, V. N. , Computational Methods of Linear Algebra . Dover Publications, 1959. Chapters 1 and 2. Forsythe, G., and Moler, C. B. , Computer Solution of Linear Algebraic Systems . Prentice-Hall, Inc., 1967.. Chapters 1, 2, 8, 9, 10, 11, 12, and 20. 5. APPROXIMATION OF FUNCTIONS Taylor's theorem with remainders. Use of orthogonal functions, expansion in orthogonal functions, evaluation of orthogonal functions. Fourier, Legendre and Chebyshev series. Polynomial interpolation: Unequal intervals Lagrange and Newton; equally spaced points Newton and Gauss formulas. Least squares fitting: Simple application of least squares fit- ting and an awareness of the difficulties in applying this method. Approximation in the Chebyshev (minimax) sense: Criterion of best approximation, economization and truncation, Chebyshev series. References Henrici, P., Elements of Numerical Analysis . John Wiley, 1964. Chapter 9. Isaacson, E., and Keller, H. , Analysis of Numerical Methods . John Wiley, 1966. Chapter 5. 13 6. REFERENCES FOR FURTHER READING Davis, P. J., Interpolation and Approximation . Blaisdell Publishing Co., 1963. Faddeev, D. K. , and Faddeeva, V. N. , Computational Methods of Linear Algebra . (Translated by R. C. Williams), W. H. Freeman Co., 1963. Forsythe, G. E. , "The Role of Numerical Analysis in an Undergraduate Pro- gram, " Amer. Math. Monthly . Vol. 66, No. 8, October 1959. Forsythe, G. E., "Solving a Quadratic Equation on a Computer," The Mathe - matical Sciences, Essays for COSRIMS . M. I.T. Press, 1969. Forsythe, G. E., "What to do Till the Computer Scientist Comes," Amer. Math . Monthly . Vol. 75, No. 5, May, 1968, pp. k^k-kGl. Henrici, P., Discrete Variable Methods in Ordinary Differential Equations , John Wiley, 1962. Householder, A. S., "Numerical Analysis," in Lectures on Modern Mathematics . Vol. 1, Ed. T. L. Saaty, John Wiley, 1963. Nievergelt, Jurg, "What is Numerical Analysis, " IEEE Student Journal . Septem- ber, 1966, pp. 26-32. Noble, B. , Applied Linear Algebra . Prentice-Hall, Inc., 1969* Parter, S. V., "Numerical Analysis in a Ph.D. Computer Science Program," CACM. Vol. 12, No. 12, December, 1969. Ralston, A., A First Course in Numerical Analysis . McGraw-Hill, New York, 1965. Stiefel, E. L., An Introduction to Numerical Mathematics . Academic Press, 1963. Wilkinson, J. H. , The Algebraic Eigenvalue Problem. Clarendon Press, 1965* 14 American Standards Association. "Proposed Standards for FORTRAN and Basic FORTRAN, " Comm. A. CM. , 7 (October, 1964), pp. 590-625- Appendixes to ASA FORTRANs. Comm. A. CM . (May, 1965) 287-288. Wegner, Peter, Programming Languages, Information Structures, and Machine Organization . McGraw-Hill, I968. Chapter 4. Bates, Frank, and Douglas, Mary L. , Programming Language/ One . Prentice-Hall, 1967. Sterling, T. D., and Pollack, S. V., Computing and Computer Science - A First Course with Pl/l . Macmillan, 1970. 2. COMPUTER ORGANIZATION The student should be familiar with typical instructions for computers of the stack, one-address, two-address, and three-address type. Given the instruction set for a typical computer, he should be able to write assembler language programs for it, and should be able to translate a program from a higher level language, such as FORTRAN, into assembler language for this machine. The student should understand: The use of index registers and in- direct addressing: Use of various types of branch instructions: Use and handling of interrupts. The student should know the properties of typical machine represen- tations of fixed point numbers, floating point numbers, characters, and instructions. References Gear, C. W. , Computer Organization and Programming . McGraw-Hill, 1969. Chapter 2. Wegner, Peter, Programming Languages, Information Structures, and Machine Organization. McGraw-Hill, 1968. Chapters 1.1-1. 7. 15 PROGRAMMING 0. GENERAL The emphasis in this examination will be less on the detailed knowledge of any one algorithm or technique than on the ability to compare a variety of such algorithms or techniques. For example, detailed knowledge of a specific machine hardware system will be of less value than more gen- eral knowledge of several machines. In short, the examination will test for breadth rather than depth of knowledge. It will not be based on any one particular machine. 1. EXPRESSION OF ALGORITHMS A higher level language, such as FORTRAN, ALGOL, or Pi/ I, should be understood sufficiently to allow writing a correct and reasonably effi- cient program in that language from a verbal description of the objectives and desired properties of an algorithm. The language to be used may be chosen by the student from among several alternatives. References McCracken, Daniel D., A Guide to FORTRAN IV Programming . Wiley, 1965. Bottenbruch, H., "Structure and Use of ALGOL 60, " J.A.C.M., 9 (April 196/2), pp. 161-221. Naur, Peter, et al., "Revised Report of the Algorithmic Language ALGOL 60, " Coram. A. CM., 6 (January, 1963) 1-17 • This report has been reprinted in several places. See, e.g., Rosen, Saul, ed., Programming Systems and Languages. McGraw-Hill, 1967, pp. 79-H8* 16 3. COMPILERS AND ASSEMBLERS The student should understand the "basic structure of an assembler, with emphasis on the properties of symbol tables, treatment and evaluation of expressions, and requirements of the object loader. Storage allocation techniques used in the compilation of programs should be known and under- stood, and the student should be able to discuss the relative merits of these techniques in term of storage requirements and memory references. He should understand the techniques of passing information to and from sub- programs. References Gear, C. W. , Computer Organization and Programming . McGraw-Hill, 19&9* Chapters 3> ^ 1, and 9« Bauer, F. L. , and Samelson, K. , "Sequential Formula Translation," Comm . A. CM . , 2 (February, i960), pp. 76-83. Reprinted in Rosen, Saul, ed., Programming Systems and Languages . McGraw-Hill, 1967, pp. 206-220. Rosen, S., et al., "PUFFT - The Purdue University Fast FORTRAN Translator," Comm. A. CM . , 8 (November, 1965), pp. 661-666, Reprinted in Rosen, Saul, ed., Programming Systems and Languages. McGraw-Hill, 1967> pp. 253-263. Wegner, Peter, Programming Languages, Information Structures, and Machine Organization . McGraw-Hill, 1968. Chapter 2. Barron, D. W. , Assemblers and Loaders . American Elsevier, 1969' h. SORTING The student should be able to analyze the relative merits of differ- ent sorting techniques in terms of data references, data moves, and storage requirements. 17 References Corom. A. CM. , 6 (May 1963). Entire issue. Gear, C. W. , Computer Organization and Programming . McGraw-Hill, 1969. Chapter 8. Friend, E. H. , "Sorting on Electronic Computer Systems," J. A. CM ., 3, (1956), pp. 134-168. 5. INPUT AM) OUTPUT The general characteristics, speeds, and capacities of modern input/ output devices should "be understood,, The student should be able to discuss and demonstrate the use of buffering techniques, flags, and interrupts for the handling of input/ output problems. He should be able to describe the properties of a basic input/output supervisor. References Gear, C. ¥. , Computer Organization and Programming . McGraw-Hill, 1969* Chapter 6. Mealy, George H. , "Operating Systems (Excerpts)". In Programming Systems and Languages, ed. by Saul Rosen. McGraw-Hill, 1967* PP« 516-524. 6. REFERENCES FOR FURTHER READING Consult the remaining chapters of the books cited above by Gear, Wegner, and Rosen. Hassitt, Anthony, Computer Programming and Computer Systems. Academic Press, 1967. Bonn, T. H., "Mass Storage: a Broad Review," Proc. of the I. E.E.E ., 5^ (December, 1966) 12:l86l-l870. 18 Gschwind, H. W. , Design of Digital Computers . Springer-Verlag, I967. Craver, "A Review of Electromechanical Mass Storage, " Datamation, 12, (July 7, 1966), pp. 22-28. Mais el, Herbert, Introduction to Electronic Digital Computers . McGraw-Hill, 1969. (FORTRAN, PL/l, System/360. ) us* > t «>= ■jfcpiijtjtwii