Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!yale-com!mwolf From: mwolf@yale-com.UUCP (Anne G. Wolf) Newsgroups: net.college,net.cse Subject: Re:Computer Science GREs Message-ID: <2058@yale-com.UUCP> Date: Tue, 20-Sep-83 13:17:56 EDT Article-I.D.: yale-com.2058 Posted: Tue Sep 20 13:17:56 1983 Date-Received: Wed, 21-Sep-83 00:44:39 EDT Lines: 125 Thank-you to everyone who advised me about how to prepare for the Computer Science advanced GREs. There were so many responses that I cannot thank you individually, but I really appreciate your help and good wishes. (I'll need all the help and luck I can get.) In answer to the many people who asked, I'm not sure where to apply. I'm still gathering information. Any information or opinions about PHD programs in Artificial Intelligence, Cognitive Science, Human Factors, or Information Science (or Computer Science programs which emphasize those fields) would be appreciated. I'll forward that information by mail on request. My own knowledge about the GRE is that it is better to take the advanced exam on a different day than the math/verbal/analytical exam. I practiced A LOT for the general GRE (I mean hundreds of problems,) and it helped. I present a summary of the computer GRE information here, I omit the sender's name for brevity. I apologize to anyone whose thoughts I have mangled by quoting them out of context. I have kept the complete letters including the sender's names, for those who request them by mail. 1) Don't prepare I don't believe it's worthwhile to try to prepare for the exam. The only preparation I did for the CSci GRE was my undergraduate studies at UC Berkeley. This turned out to be more than adequate. 2) Read the test-booklet sent to people who have registered for the exam. I didn't prepare for them at all except to answer the questions in the sample test booklet that the GRE people sent. The GRE test booklet for the computer science test was characteristic of the actual exams so it will help you decide what topics you need to brush up on. 3) Read other books If you didn't have them in courses, read everything by Dijkstra, Aho, Hopcroft, Ullmann, any permutation thereof, and any other theoretical things you can find. Reread your Knuth, your Aho and Ullman, and possibly a couple of Wirth's texts. Away you'll fly. 4)Test-taking strategies Keep in mind that all the questions are all multiple choice (GREs are graded by machine), so they can't ask you to write any programs or prove any theorems. I think the best way to prepare is to make sure you get plenty of sleep, get a good breakfast before the exam (When I took GREs they started fairly early in the morning) and don't be nervous. Warning: Be sure to read the questions and choices carefully. They are often set up so that if you simply react to the "key words", you choose the wrong alternative. Another thing that I should really emphasize is that you shouldn't spend more than about 5 minutes on any problem (your average has to be about 2 1/2) Answer what you know for sure, and then go back over the ones that you think you have a good answer for. I believe that the advanced tests count off for bad guesses. Play the odds game -- if you can eliminate 50% of the wrong answers, then pick one of the remaining answers. 5) Dry run The ACM self-evaluation procedures might be a good dry run. 6) Subjects to review Remember, they are trying to test you for a broad range of concepts, rather than finicky details (though the test does include a few questions where finicky details may be needed). You are expected to be familiar with basic concepts of the various areas of computer science, and basic techniques of programming, logic design, system design, etc. The actual test was pretty heavy on FSMs, grammars and machine representation of numbers. The language questions were pretty dopey - basically the "what does this program print out" sort of thing. Some terminology questions were simply impossible because we'd never been taught the stuff (there's no general CS course here for CS majors). ...compiler or analysis of algorithms classes [helped]. I have heard through people who took the exam that the theoretical side of cs was stressed- wierdo set theory, computability, turing machines, etc. General, formal theory of computation stuff. Not supposed to say anything about specific questions, but I will say this: it is *heavy* on *theory*... ...Don't forget your switching theory (as the various ways to construct flip-flops from gates and other sequential circuits), or funny binary codes (did you ever hear of any codes based on 9?) 1. Data Structures 2. Boolean Algebra 3. Computer Architecture 3. Language Theory 4. Complexity Theory 5. Some Graphics and Compiler stuff. One trick is that you should have in cashe memory all of the base 2 powers up to about 2^10. I.e. 2^8 = 256, 2^10 = 1024 etc.. and that 2^10 ~= 10^3. This is because you get asked questions like in the example book they give you with the floating point register. You know, approximately what is the largest number represented by this register. You will find an understanding of digital logic hardware (T flipflops, registers) helpful. A little of the basics from a compiler theory course (i.e. regular expressions), a little bit of circuit reading ("NAND? Let's see, is that the little curved arrow with the circle, or...?_"), and a lot of things that asked if you knew what it meant to work with floating-point systems, [simple] logic system, and several languages. The thing that I recall the best was that there was a lot of Formal Language theory on the exam I took (you know, type 0, 1, 2, 3 grammers, Finite state automata etc.) and at that time I was in the middle of a Language theory course so I had just learned all that stuff and knew it real well. I remember that there was also some digital design and some architecture questions