The GR dvanced Test in omputer Science* Richard H. usting University of Maryland Introduction The Graduate Record xamination, for many years an aid to graduate schools in the student admission and placement process, was augmented last year to include an advanced computer science test. ulminating a 4-year development effort, the new test was administered for the first time on October 16, 1976. esign of the overall scope and content of the test was carried out by a "ommittee of xaminers," appointed in 1972 by the GR oard.' eginning in 1977, the dvanced omputer Science Test will be annually updated by the ommittee of xaminers and administered five times per year as a regular part of the GR Program. Testing has been the major vehicle for the GR Program. Two types of examinations are offered: an aptitude test, consisting of two parts, verbal and quantitative; and advanced tests in 20 disciplines (now including computer science). These are administered on specified dates at GR test centers in the United States and other countries, and at other times and places by special arrangement. Score' reports are sent to the institutions designated by candidates taking the tests, and to the candidates themselves. Scores on the test are intended to indicate studehts' abilities and mastery of the subject matter emphasized in many undergraduate programs. Since past achievement is usually a good indicator of future performance, such scores can aid in predicting success in advanced study. standardized test also allows comparison of the performance of students from different institutions with different programs on a single measure of competence in the field. Test scores are intended for use pnly in conjunction with other measures of competence, such as prior academic grades, letters of recommendation, and previous experience, in evaluating students for graduate admission. They are not intended for use in other evaluations. evelopment of the test In determining the scope of the test, the committee considered tentative content specifications which had * fuller version of this paper appeared in the September 1977 issue of ommunications of the 4ss qciation for,7omputing Machinery, copyrighted by the M. ecember 1977 previously been sent to degree-granting departments. revised version (ppendix ) was agreed upon after lengthy discussion. Various factors influenced the choices made in the content specifications, the most significant of which are the following: (1) Since undergraduate computer science curricula still vary a great deal from one institution to the next, the content focuses on material which should be common to all or almost all such programs. (2) In the content specifications, and specifically in the examination questions themselves, an attempt was made to define the spectrum of computer science subject matter broadly rather than narrowly. (3) The committee's belief in the centrality of programming systems and methodology to the discipline of computer science is reflected in the emphasis given to this area in the content specifications. (4) The "omputer Systems" section of the specifications might well be more extensive were it not for the fact that other parts of the specifications contain aspects of this area (e.g., "Operating Systems" under "Programming Systems and Methodology"). (5) "Theory of omputation" is given a relatively small portion of the total at least in part because of the wide variation in approach to this area in undergraduate curricula. (6) The committee believes that any undergraduate curriculum in 'computer science should contain a significant component of computational mathematics. (7) The short shrift given to "Special Topics" reflects not a belief that they are of little importance, but rather the great variability in whether they are covered in undergraduate curricula. The committee expects that some of these topics will "graduate" into other portions of the specifications in future years. Test questions were solicited from a large number of computer scientists. Questions received and those questions supplied by the committee were reviewed. Questions were categorized, using the content specifications as a guide, and then identified according to approximate degree of difficulty. n experimental test consisting of 36 questions was prepared and was administered to 320 students in the 129
fall of 1975. The results were analyzed for effectiveness and reliability by the same statistical methods used on all advanced tests in other fields and were found to be satisfactory. The committee then selected questions ip proportions to match the content specifications and assembled two tests, one for October 1976 and the other for ecember 1976. Plans were made to solicit additional questions for the pril 1977 test and then for each subsequent test. Sample questions, similar to those in the tests, are given in ppendix. They are taken from the previously cited descriptive booklet on the dvanced Test in omputer Science, but the content distribution in this sample does not match the percentages given in ppendix. Summary The GR dvanced omputer Science Test will impact undergraduate programs in colleges and universities that offer baccalaureate degrees in computer science. It will also become a guideline, although not intended for that purpose, for course and curriculum development in institutions not now providing an undergraduate major in the field. onsequently, it is imperative that as many computer scientists as possible. contribute to the continuing development of the test, either by providing critical comments to the committee concerning the content specifications or by writing questions for the test. In addition, educationally oriented groups within professional societies are welcome to provide questions, comments, or suggestions for future committee members. lthough there are constraints on the amount of change which can occur from test to test, broad-based support and interest from concerned educators will ensure the development of the dvanced omputer Science Test in a way that is consistent with the growth of the discipline. U Reference 1. " escription of the dvanced omputer Science Test, 1976-77," GR, ducational Testing Service, Princeton, NJ 08540. ppendix -ontent Specifications for the GR dvanced omputer Science Test The items included in parentheses are intended to be examples of topics under the headings and not exhaustive lists. 130 I. Programming Systems and Methodology (40%). Programming Languages and Their Processors (evaluation of expressions, block structure, parameter passing and binding, control structures, assemblers, compilers, interpreters). Programming oncepts (iteration, recursion, modularity, abstraction, refinemeiit, verification, documentation). Propertips of lgorithms (time and space requirements of programs, especially of common processes such as sorting and searching; correctnppp of programs). ata Structures (linear data structures, list structures, strings, stacks, queues, trees). Operating Systems (scheduling, resource and storage allocation, interrupts, synchronization, addressing techniques, file structures, editors, batch/time sharing, networks/communications) II. omputer Systems (20%). Logic esign (switching algebra, combinattorial and sequential networks). Implementation of omputer rithmetic (codes, number representation, add/subtract/ multiply/divide). Processor Organization (instruction sets, registers, data and control flow, storage). System rchitecture (configurations of and communication among processors, memories, and I/O devices) III. Theory of omputation (15%). utomata Theory (sequential machines, transitions, regular expressions, Turing machines, nondeterministic finite automata). nalysis of lgorithms' (complexity of specific al qritms, exact/ asymptotic/lower bound4'apiis, anglysis of time/space complexity, cojf d"pess). Formal Languages (regular and context-free grnars/laqipges, simple properties such as ambiguity) pwiness or' IV. omputational Mathematics (20%). iscrete Structures (logic, sets, relations, functions, oolean algebra, linear algebra, graph theory, combinatorics). Numerical Mathematics (arithmetic, number representation, numpripl algorithms, error analyis, discrete proba1bkil elementary statistics) 4 -z; V. Special Topics (5%) (simulation and modeling,,ita management systems, information retrieval, artificial inteliligence) ppendix -Sample Questions for the dvanced Test in omputer Science The following questions are similar to those in the test. ecause of space limitations, however, it is not possible to include sufficient examples here to illustrate the full range of the actual test in terms of the abilities measured, the subject-matter areas tested, or the difficulty of the questions posed. n answer key appears at the end. Notation and conventions. In this test a reading knowledge of Fortran and lgol-like language is assumed. The following notational conventions are used unless otherwise indicated. 1. ll numbers are assumed to be written in decimal notation. 2. log x denotes log,0x. 3. lxj denotes the greatest integer that is less than or equal to x. 4. [xl denotes the least integer that is greater than or equal to x. OMPUTR
5. x, = O(fln)) denotes "x, has order O(f(n))" and means that lim n is finite. n f(n) 6. li denotes "there exists." Vdenotes "For all." =*denotes "implies." denotes "not." V denotes "inclusive or." it denotes "exclusive or." denotes "and"; also, juxtaposition of statements denotes "and," e.g., PQ denotes "P and Q." 7. If and denote sets, then U is the set of all elements that are in or in or in both, and - n is the set of all elements that are in both and. is the set of all elements not in that are in some specified universal set. 8. In a string expression: If a and b denote strings or sets of strings, then denotes a null string; ab denotes the concatenation of a and b; a+b denotes aub or {a,b} depending on context an denotes aa... a; and n factors a* denotes+ a + a2 + a3 +... 9. In a grammar, a-'-fp represents a production-in the grammar. a.f means P can be derived from a by the application of exactly one production. a means ( can be derived from a by the application of zero or more productions. 10. In a logic diagram, represents the logical N function represents the logical OR function ' represents the logical NN function >0 represents the logical NOT function o represents the logical NOR function 1 1. inary tree traversal is defined recursively as follows: preorder-visit the root, traverse the left subtree, traverse the right subtree inorder-traverse the left subtree, visit the root, traverse the right subtree postorder-traverse the left subtree, traverse the right subtree, visit the root irections. ach of the questions or incomplete statements below is followed by five suggested answers or completions. In each case, select the one answer which is the best of the choices offered and then blacken the corresponding space on the answer sheet. 1. Which of the following is true of interrupts? () They are generated when memory cycles are "stolen." () They are used in place of data channels. () They can indicate completion of an I/O operation. () They cannot be generated by arithmetic operations. () None of the above. Questions 2 and 3 are based on the following grammar. -R -xlx -I -yly m z ecember 1977 2. The nonterminal alphabet of the grammar is () {,,,,} () {,,,} () {,,,,,x,y,zj () {x,y,z} () {z} 3. Which of the following is NOT a sentence that is generated by the grammar? () xy () xxzy () xyz () xxxxy () xxx ecimal inary igit ncoding 0 11000 1 00011 2 00101 3 00110 4 01001 5 01010 6 01100 7 10001 8 10010 9 10100 4. The table above summarizes a coding scheme for representing the decimal digits 0-9. Which of the following statements about the code is true? () It is weighted. () It is error correcting. () It is cyclic. () It is excess-two. () None of the above 5. The following graph represents a finite state machine, where SO is the initial (start) state, S3 is the final state, the arcs represent state transitions, and each arc label indicates an input symbol and an output symbol. 0/0 I{0,1}/2 For example, if the machine is in state SO and the current input symbol is a 1, then the machine outputs the symbol 0 and enters state S,. Which of the following regular expressions describes the set of strings recognized by the finite state machine? () 10*1 () 10*1 () (0+1)* () 0*(0+1)*0* () 10*11* Questions 6 and 7 are based on the following information. certain computer represents floating-point numbers by means of a signed magnitude fractional mantissa and an 1/1 131
excess-16 base-4 exponent. The floating-point format is illustrated below. xponent Mantissa lllo101011 1011 11 111010101 6. The decimal value of the number shown above is () -0.0546875 () -0.5 () -2. () -3.5 () -14 7. Of the following, which best approximates the magnitude of the greatest number that can be represented in the floating-point format above? () 1018 () 3 X 103 () 4 X 109 () 4 X 1018 () 109 - *' 8. The function by the network above is () + F + F _ () ( + F)( + + F) - () ( + J( + F)( + + F) () ( + ) + F + F () ( + ) + F + F 9. Let f(x) = ifx = 1 then 0 else [x * f(x-1) + x2] The value of fl4) is () 53 () 29 () 50 () 100 () 148 Questions 10 and 11 are based on the following information. 132 random-access read/write semiconductor memory chip is organized into 128 words of 8 bits each. block diagram of the chip is shown below. T IN, HIP SLT RSS 128 WORS X 8 ITS ) WRIT NL T OUT 10. Ignoring power supply connections, the minimum number of pin connections per chip is () 23 () 25 () 26 () 138 () 146 11. larger memory of 4K words of 16 bits each (K' = 1024) may be obtained by connecting () 32 chips in a 16 X 2 array () 32 chips in a 32 X 1 array () 64 chips in a 32 X 2 array () 64 chips in a 8 X 8 array () 32 chips in no special configuration 12. The balanced ternary number system is a base-3 system in which the three digits are 0, 1, and -1 (which is written as 1). The balanced ternary equivalent of the decimal number 352/ is () 1111.01 () 1101.01 () 1101.11 () 1111.11 () 1101.11 13. Which of the following statements must be true? I. Lxj = rxl if and only if x is an integer. II. Lxj + 1 = rxl if and only if x is not an integer. III. Lxj [y] = rxl yj for all x, y. IV. -Lxj= r-xl for all x. () IV only () I and IV only () I, II, and III only () I, II, and IV only () I, II, III, and IV 14. If ={x,y,z} = {u,v,w,x}, and the universe is {s,t,u,v,w,x,y,z}, then (U)n(n) = () {u,v,w,x} () { I () {u,v,w,x,y,z} () {u,v,w} () {u,v,w,y,z} 15. The following assembly language program fragment was written for a single-address computer with one accumulator register. LO MULT STOR STOR MULT - STOR TI T2 T2 Ti z Which arithmetic expression is implemented by the fragment? () z8-t, (bc -a) -t2 () z-(a + bc)2 + bc () z- 2bc +a2 () z'-(a + bc) + bc () z-a+2bc Questions 16-18 are based on the following program fragment: () begin (2) fori = 1toN-1 do (3) forj = I + 1 tondo (4) if (i) < (j) then (5) begin (6) T = (J); (7) (J) =(I); (8) (I)-T; (9) end (10) end ssume that the program is syntactically correct, that all variables are integer mode, that N has a value greater than 1, and that is a one-dimensional array. OMPUTR
Upon entry to the program fragment above, the value of N is 6 and the values of (1). (6) are given by: (1) (2) (3) (4) (5) (6) -8 1 4 1 10 1-2 x3 I-7 22. In the following procedure integerprocedure P(X,Y); integer X,Y; value x; begin K-5; L-8; P-x + y 16. fter exit from the program fragment, the values of (1),..., (6), respectively, will be () 10,7,4,3,-2,-8 () 10, -8, 7, 4, 3, -2 () -8, -2,3, 4, 7, 10 () 4, -8, -2,10,3,7 () -2,3,4, 7, -8, 10 end X is called by value and Y is called by name. If the procedure were invoked by the following program fragment K- 0; Z-P(K,L), 17. What is the maximum number of times in terms of N that the block from line (5) through line (9) could be executed? () N2 () N log2 N () 1+2+3+...+N then the value Z would be set equal to () 5 () 8 () 13 () 0 () none of the above () )N(N2-1) () It cannot be determined on the basis of the information given. 18. If the order of statements (6), (7), (8) were changed to (6') (J) = (i) (7') T = (J); (8') (I) = T; then the result of the program would be () unchanged for all and N () independent of the values of () changed for all values of N () unchanged for some values of and N () unpredictable for some values of and N Key 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 19. If x, y are string variables,, are symbols, N(x,y) = P(x,y) Q(y), P(x,y) = yx, and Q(x) = x, then N(,) = () () () () () 20. xpressions in a certain language can be described in ackus-naur form (NF) as follows: <expression>:: = <term>i<expression>op1 <term> <term>:: = <item> <term> op, <item> <item>:: = <variable>j<number> This syntax is most appropriate when the order of evaluation is () from left to right always () from left to right, but op, takes precedence over op2 () from left to right, but Opz takes precedence over op () in any order, but op, takes precedence over OP2 () from right to left always 21. Of the following, which best approximates the ratio of the number of nonterminal nodes in the total number of nodes in a complete K-ary tree of depth N? ()-N () N-N- () K 1 () K-K () log,0. ecember 1977 Richard H. usting, chairman of the ommittee of xaminers that supervises the dvanced omputer Science Test, 'is an associate professor in the epartment of omputer Science at the University of Maryland. He is currently involved in the administration of the educational program of the department in addition to offering courses in the areas of file processing, data structures, and computers and society. His activities in computer science education include chairmanship of M's Special Interest Group in omputer Science ducation, a membership in M's urriculum ommittee in omputer Science, chairmanship of the ommittee of xaminers for the GR dvanced Test in omputer Science, and a membership in IP's ertification ouncil for the ertificate in omputer Programming xamination. usting holds a Ph in mathematics from the atholic University of merica, an MS in mathematics from St. Louis University, and a S in mathematics from Xavier University. 133