mwolf@yale-com.UUCP (Anne G. Wolf) (09/20/83)
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
mark@cbosgd.UUCP (09/21/83)
One other tip - if you have a question you have no idea on, or have narrowed it down to 2 or 3 answers and have to randomly pick one, CHOOSE "B". If you go through a typical multiple choice test and sum up the various correct answers, you'll be amazed how "B" is the most common answer. The second most common is C, and the least common is E. (I can't remember if A or D is more common, but I'd guess A.) The reason for this is simple: put yourself in the place of the person writing the test question. You tend to write down the correct answer and then try to dream up reasonable wrong answers. You don't want to favor A, so you try to write down some others. But you can't bring yourself to put it off too long while you're trying to dream up more answers, so you settle for B or C. They could solve this by randomizing the answers, but this would mess up "E: none of the above" so I've never seen it done. There is a penalty for guessing, but it's 1/4 point for a wrong guess and you get 1 point for the right answer, so random guessing should have zero effect. Choosing B will probably have a slight positive effect. THIS IS NO SUBSTITUTE FOR KNOWING THE MATERIAL. It is best reserved for filling in blank spots before turning in the test.
jlw@ariel.UUCP (J.WOOD) (09/24/83)
What Mark says about the randomness or lack thereof in GREs and SATs etc is a lot of bunk. The tests are very carefully set up and screened for this. As credentials I will add that my wife is an employee of ETS, which under contract to the CEEB, produces all these tests. She has had assignments at times where she has had to pre-screen potential test questions. Not only does a screener have to find the correct answer, she also has to positively disprove all the other answers. The examples I am thinking of are for a test in logic. Joseph L. Wood, III AT&T Information Systems Laboratories, Holmdel (201) 834-3759 ariel!jlw