Jump to content
Urch Forums

Advice needed for GRE CS prep - Test on April 14 , 2007


taham

Recommended Posts

Dear Friends,

 

 

I have registered for the GRE CS test to be held on April 14 2007.

This means i have about three months for preparation.

 

I have an undergraduate degree in Software Engineering ( CS ) ,which i took in what looks way back , in 2000.

 

I have worked in the industry for 6 years , in the fields of embedded systems design and development , as well as in software quality assurance.

 

Based on my profile and the time available for preparation, what would you advise on the best way to prepare for the test. Which books to follow , what tips and tricks can i exploit , what routine , i.e. number of hours of study each day , etc etc would you suggest.

 

This , as well as any other relevant advice is more than welcome .

 

thanks in advance, and regards

Taha

Link to comment
Share on other sites

Some of the advice in this forum has been:

 

- Study as much as you can since it is impossible to overprepare. This will likely be the hardest test you will ever take. It is not easy studying for this exam because it covers so many different topics.

 

- Don't obsess about any particular topic since the test covers a wide range of material.

 

- Start studying today since you cannot cram for this test. The amount of time you need to study each day depends on how well you currently do on the practice test in the GRE CS booklet.

 

- In order to help remember everything, create an outline.

 

- Solving problems is better preparation for the test than reading textbooks chapter-by-chapter.

 

My own advice is that procrastination is the greatest enemy, so it may help to feel a sense of urgency now if you don't feel a sense of urgency already. Pretend the test is just a few weeks away.

 

Regarding which books and materials to use, I would read the archives to see what others have suggested since this forum is relatively dead most of the time. The most popular suggestion other than the official practice booklet has been the Titanium Bits Study Guide, which includes sample problems with explanations and a recommended reading list.

Link to comment
Share on other sites

Calm,

 

Can you suggest the book for Digital Logic Design topic of the syllabus?

 

I have been going through the past posts in this forum. Got a hell lot of stuff. But which book do we use for Digital Logic Design?

 

There are two books by Hennessy-Patterson. The Quantitative approach one and the other titled "Computer Organisation and Design" ... Which one do we use??

 

Or do we use Stallings or Hayes ???

 

Can't make my mind here. Have read Hayes before ... Haven't been too impressed with it.

 

Any suggestions??

 

Ashish

Link to comment
Share on other sites

There are two books by Hennessy-Patterson. The Quantitative approach one and the other titled "Computer Organisation and Design" ... Which one do we use??
Though I have not read the computer architecture books you mentioned from the Titanium Bits reading list, the textbooks I have used for computer architecture were often less helpful than Wikipedia articles. So I don't think a textbook is necessary for computer architecture. I mostly use Wikipedia (see articles below), the Schaum's Outline of Computer Architecture, Titanium Bits, and online course materials (see links below).

 

If you do want to get a textbook on computer architecture, I would get the 2nd edition of Hennessy-Patterson's Computer Organization and Design: The Hardware/Software Interface though I have not read the book. The Hardware/Software interface textbook continues to be the most popular book on computer architecture and it's probably not worth paying extra for the latest, 3rd edition. I wouldn't get the Quantitative Approach book since that may not cover the vital areas as well as it is more intended for grad school.

 

For digital logic, a popular book is Contemporary Logic Design by Katz, et. al. You can read 2 sample chapters, one of which includes examples with K-maps. Personally, I don't have the book and use the Shaum's Outlines, Wikipedia, and Google instead.

 

Below is my latest collection of study links (check back for updates):

 

(Please let me know if you see any broken/invalid links or have suggestions.)

 

Sample Problems (MOST IMPORTANT!):

Official ETS Booklet for GRE CS (solutions by students at Yahoo GRECS group)

Titanium Bits (2006) (117 pages; 102 problems with detailed solutions)

Mock GRE CS (2007) (70 questions; automatic scoring with section-wise breakup; see javascript code if you want the answer key)

 

Study Outlines/Guides (valuable but inherently limited):

GRE CS Exam Study Guide (66 pages)

Hunter Thinks Study Guide (30 pages)

CS GRE Notes by Berkeley Students (41 pages)

Aaah.. the Subject Test (breaks down number of questions for each subject area; lists current/former GRE CS committee members)

 

Caution: The links below can distract you from solving practice problems, which is most important. Use the links below mostly as supplemental materials or references.

 

Free Sample Chapters:

Contemporary Logic Design by Katz (first 2 chapters)

Discrete Structures, Logic, & Computability (first 5 chapters)

Essentials of Computer Organization & Architecture (3 chapters)

Object-Oriented Data Structures Using Java (first 3 chapters)

C++ Plus Data Structures (3 chapters incl. binary search trees and linked lists)

"Purple dragon book" on Compilers - 2nd Edition (chapters 5-11 incl. a chapter on run-time environments; popular book)

 

ArsDigita University Courseware (videos, lecture notes, problem sets with solutions):

Theory of Computation (Excellent!)

Algorithms

Discrete Math

 

Free Online Textbooks:

Computer Organization and Design Fundamentals

Data Structures and Algorithms with Object-Oriented Design Patterns

in Java

http://www.freetechbooks.com/

http://freecomputerbooks.com/

http://en.wikipedia.org/wiki/Computer_science

http://en.wikibooks.org/wiki/Algorithms

http://en.wikibooks.org/wiki/Data_Structures

http://en.wikibooks.org/wiki/Discrete_mathematics

http://en.wikibooks.org/wiki/Operating_System_Design/Contents

http://en.wikibooks.org/wiki/Formal_Logic/Predicate_Logic

The Art of Computer Programming by Knuth (classic)

Concepts, Techniques, and Models of Computer Programming

A Practical Theory of Programming (2007)

 

MIT OpenCourseWare:

Introduction to Algorithms (lecture notes, videos, problem sets & exams with solutions)

Mathematics for Computer Science

Computation Structures

Theory of Computation (not very helpful; no lecture notes or solutions)

 

Lecture Notes:

Lecture Notes for "Foundations of Computer Science/C" by Ullman (Excellent!)

Short Introduction to Operating Systems

Algorithms - Lecture Notes (Princeton)

Introduction to CS (includes Theory of Computation)

Discrete Math in Computer Science

 

Lecture Notes by GRE CS Committee Members:

(As with textbooks and online courseware, these lecture notes include topics that are not relevant.)

Intro CS by Dr. Smith (Harvard): Lecture Notes Section Notes

Lecture Notes by Dr. Cytron

Lecture Notes by Dr. Grunwald

Lecture Notes by Dr. Cook

Lecture Notes on Algorithms by Dr. Ramachandran

 

Video Lectures (helpful mostly for non-CS students; not an efficient way to review old material):

Data Structures Video Lectures (includes some graph theory)

ArsDigita University - The most interesting CS video lectures in algorithms, automata, discrete math, etc.

MIT video & lecture notes on Algorithms

 

Easier Ways to Solve Problems:

Master Method: An Alternative Formulation

Detecting overflow & underflow

 

Microsoft Article:

Extensive Examination of Data Structures

 

Wikipedia on Computer Architecture:

http://en.wikipedia.org/wiki/Arithmetic_logic_unit

http://en.wikipedia.org/wiki/Two%27s_complement

http://en.wikipedia.org/wiki/CPU_design

http://en.wikipedia.org/wiki/Loop_unwinding

http://en.wikipedia.org/wiki/Out-of-order_execution

http://en.wikipedia.org/wiki/RISC

http://en.wikipedia.org/wiki/Addressing_mode

http://en.wikipedia.org/wiki/Instruction_set

http://en.wikipedia.org/wiki/Instruction_pipelining

http://en.wikipedia.org/wiki/Hazard_(computer_architecture)

http://en.wikipedia.org/wiki/Speedup

http://en.wikipedia.org/wiki/Amdahl's_Law

http://en.wikipedia.org/wiki/CPU_cache

http://en.wikipedia.org/wiki/Memory_management

http://en.wikipedia.org/wiki/Paging

http://en.wikipedia.org/wiki/Page_table

http://en.wikipedia.org/wiki/Page_size

http://en.wikipedia.org/wiki/Virtual_memory

http://en.wikipedia.org/wiki/Category:Virtual_memory

http://en.wikipedia.org/wiki/Page_replacement_algorithm

http://en.wikipedia.org/wiki/Segmentation_%28memory%29

http://en.wikipedia.org/wiki/Fragmentation_%28computer%29

http://en.wikipedia.org/wiki/Disk_storage

 

Wikipedia on Operating Systems:

http://en.wikipedia.org/wiki/Process_%28computing%29

http://en.wikipedia.org/wiki/Process_states

http://en.wikipedia.org/wiki/Task_%28computers%29

http://en.wikipedia.org/wiki/Thread_%28computer_science%29

http://en.wikipedia.org/wiki/Multithreading

http://en.wikipedia.org/wiki/Context_switch

http://en.wikipedia.org/wiki/Deadlock

http://en.wikipedia.org/wiki/Thrash_%28computer_science%29

http://en.wikipedia.org/wiki/Mutual_exclusion

http://en.wikipedia.org/wiki/Monitor_%28synchronization%29

 

Wikipedia on Digital Design:

http://en.wikipedia.org/wiki/Boolean_algebra

http://en.wikipedia.org/wiki/De_Morgan%27s_laws

http://en.wikipedia.org/wiki/Minterms

http://en.wikipedia.org/wiki/Karnaugh_map

http://en.wikipedia.org/wiki/Flip-flop_(electronics)

 

Wikipedia on Discrete Math:

http://en.wikipedia.org/wiki/First-order_logic

http://en.wikipedia.org/wiki/Infix_notation

http://en.wikipedia.org/wiki/Polish_notation

http://en.wikipedia.org/wiki/Reverse_Polish_notation

http://en.wikipedia.org/wiki/Reflexive_relation

http://en.wikipedia.org/wiki/Symmetric_relation

http://en.wikipedia.org/wiki/Transitive_relation

http://en.wikipedia.org/wiki/Graph_theory

http://en.wikipedia.org/wiki/Hamiltonian_path

http://en.wikipedia.org/wiki/Eulerian_path

http://en.wikipedia.org/wiki/List_of_algorithms#Graph_algorithms

http://en.wikipedia.org/wiki/Category:Graph_theory

http://en.wikipedia.org/wiki/Combinatorics

http://en.wikipedia.org/wiki/Binomial_coefficient

http://en.wikipedia.org/wiki/Binary_tree

http://en.wikipedia.org/wiki/Minimum_spanning_tree

http://en.wikipedia.org/wiki/Tree_traversal

http://en.wikipedia.org/wiki/Depth-first_search

http://en.wikipedia.org/wiki/Breadth-first_search

http://en.wikipedia.org/wiki/Maximum_flow_problem

http://en.wikipedia.org/wiki/Hamming_distance

http://en.wikipedia.org/wiki/Shortest_path_problem

http://en.wikipedia.org/wiki/Traveling_salesman_problem

http://en.wikipedia.org/wiki/Boolean_satisfiability_problem

http://en.wikipedia.org/wiki/Graph_coloring

http://en.wikipedia.org/wiki/Clique_problem

 

Wikipedia on Theory of Computation:

http://en.wikipedia.org/wiki/Formal_language_theory

http://en.wikipedia.org/wiki/Category:Formal_languages

http://en.wikipedia.org/wiki/Automata_theory

http://en.wikipedia.org/wiki/Computability_theory_%28computer_science%29

http://en.wikipedia.org/wiki/Kleene_star

http://en.wikipedia.org/wiki/Finite_state_machine

http://en.wikipedia.org/wiki/Regular_language

http://en.wikipedia.org/wiki/Regular_grammar

http://en.wikipedia.org/wiki/Deterministic_finite_state_machine

http://en.wikipedia.org/wiki/Pushdown_automaton

http://en.wikipedia.org/wiki/Context-free_language

http://en.wikipedia.org/wiki/Context-free_grammar

http://en.wikipedia.org/wiki/Context-sensitive_language

http://en.wikipedia.org/wiki/Top-down_parsing

http://en.wikipedia.org/wiki/Bottom-up_parsing

http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form

http://en.wikipedia.org/wiki/Ambiguous_grammar

http://en.wikipedia.org/wiki/Recursive_language

http://en.wikipedia.org/wiki/Recursively_enumerable_language

http://en.wikipedia.org/wiki/Complexity_classes_P_and_NP

http://en.wikipedia.org/wiki/NP-complete

http://en.wikipedia.org/wiki/Turing_machine

 

Wikipedia on Data Structures & Algorithms:

http://en.wikipedia.org/wiki/List_of_data_structures

http://en.wikipedia.org/wiki/Heap_%28data_structure%29

http://en.wikipedia.org/wiki/Stack_(data_structure)

http://en.wikipedia.org/wiki/Queue_%28data_structure%29

http://en.wikipedia.org/wiki/Binary_search_tree

http://en.wikipedia.org/wiki/B-tree

http://en.wikipedia.org/wiki/Self-balancing_binary_search_tree

http://en.wikipedia.org/wiki/Array

http://en.wikipedia.org/wiki/Linked_list

http://en.wikipedia.org/wiki/Big_O_notation

http://en.wikipedia.org/wiki/Sorting_algorithms

http://en.wikipedia.org/wiki/Comparison_sort

http://en.wikipedia.org/wiki/Insertion_sort

http://en.wikipedia.org/wiki/Mergesort

http://en.wikipedia.org/wiki/Quicksort

http://en.wikipedia.org/wiki/Heapsort

http://en.wikipedia.org/wiki/Selection_algorithm

http://en.wikipedia.org/wiki/Greedy_algorithm

http://en.wikipedia.org/wiki/Dynamic_programming

 

Wikipedia on Networking/Internet:

http://en.wikipedia.org/wiki/Internet_Protocol

http://en.wikipedia.org/wiki/Internet_protocol_suite

http://en.wikipedia.org/wiki/Transmission_Control_Protocol

http://en.wikipedia.org/wiki/User_Datagram_Protocol

http://en.wikipedia.org/wiki/Packet_switched

http://en.wikipedia.org/wiki/Circuit_switching

http://en.wikipedia.org/wiki/Address_Resolution_Protocol

http://en.wikipedia.org/wiki/Routing

http://en.wikipedia.org/wiki/Ethernet

http://en.wikipedia.org/wiki/Category_5_cable

http://en.wikipedia.org/wiki/VPN

http://en.wikipedia.org/wiki/Subnetwork

http://en.wikipedia.org/wiki/Public-key_cryptography

http://en.wikipedia.org/wiki/Latency_vs_Bandwidth

http://en.wikipedia.org/wiki/Throughput

 

Wikipedia on Programming Language Theory:

http://en.wikipedia.org/wiki/Programming_language

http://en.wikipedia.org/wiki/Category:Programming_constructs

http://en.wikipedia.org/wiki/Compilers:_Principles,_Techniques_and_Tools

http://en.wikipedia.org/wiki/Compiler

http://en.wikipedia.org/wiki/Lexical_analysis

http://en.wikipedia.org/wiki/Syntax_analysis

http://en.wikipedia.org/wiki/Parsing

http://en.wikipedia.org/wiki/Symbol_table

http://en.wikipedia.org/wiki/Type_checking

http://en.wikipedia.org/wiki/Type_system

http://en.wikipedia.org/wiki/Run-time_environment

http://en.wikipedia.org/wiki/Backus-Naur_form

http://en.wikipedia.org/wiki/Call_stack

http://en.wikipedia.org/wiki/Scope_(programming)

http://en.wikipedia.org/wiki/Evaluation_strategy

http://en.wikipedia.org/wiki/Pointer

http://en.wikipedia.org/wiki/Recursion_%28computer_science

http://en.wikipedia.org/wiki/Semaphore_%28programming%29

http://en.wikipedia.org/wiki/Busy_waiting

http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)

http://en.wikipedia.org/wiki/Object-oriented_programming

http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming

http://en.wikipedia.org/wiki/Virtual_function_table

 

Wikipedia on Software Engineering:

http://en.wikipedia.org/wiki/Design_Patterns

http://en.wikipedia.org/wiki/Singleton_pattern

http://en.wikipedia.org/wiki/Model-view-controller

http://en.wikipedia.org/wiki/Black_box_testing

http://en.wikipedia.org/wiki/Boundary_value_analysis

 

Practice problems:

http://www.www.urch.com/forums/gre-computer-science/7750-driller-theory.html

http://www.www.urch.com/forums/gre-computer-science/7799-confidence-booster-103-a.html

http://www.www.urch.com/forums/gre-computer-science/7797-confidence-booster-102-a.html

http://www.www.urch.com/forums/gre-computer-science/7751-driller-mathematics.html

http://www.www.urch.com/forums/gre-computer-science/7747-driller-hardware.html

http://www.www.urch.com/forums/gre-computer-science/7794-driller-pipelining-ilp.html

http://www.www.urch.com/forums/gre-computer-science/7631-run-time.html

http://www.www.urch.com/forums/gre-computer-science/7685-one-more-runtime.html

http://www.www.urch.com/forums/gre-computer-science/7848-recurrence.html

http://www.www.urch.com/forums/gre-computer-science/7644-recurrence.html

http://www.www.urch.com/forums/gre-computer-science/7684-more-recursions-popular-albas-demand.html

http://www.www.urch.com/forums/gre-computer-science/8095-stuff-recurrences-graphs.html

http://www.www.urch.com/forums/gre-computer-science/8365-recurrence-relation.html

http://www.www.urch.com/forums/gre-computer-science/7181-bound-polynomial.html

http://www.www.urch.com/forums/gre-computer-science/7618-parameter-passing.html

http://www.www.urch.com/forums/gre-computer-science/7688-static-dynamic-scope.html

http://www.www.urch.com/forums/gre-computer-science/8370-driller-software-systems-doubts.html

 

:2cents: Manage Your Time Wisely: The best advice is to first do the problems in the ETS practice booklet and the Titanium Bits Study Guide before spending much time with textbooks. Doing these problems first will also give you a better idea of what is important for the exam and what is not. You don't need textbooks to answer the sample problems since computer science knowledge is widely available on the Internet and people can always help you out on this forum.

Link to comment
Share on other sites

Yeah Calm,

 

Everyone has been stressing the importance of practice ... I will take up your advice and look up the practice questions.

 

The thing is that I graduated in 2004. Its been a long time since I have seen this stuff .....:(

 

BTW, thanks a lot for the links, man ... Appreciate that ...:tup:

Ashish

Link to comment
Share on other sites

1. Take a sample test. No matter how hard it seems finish it.

2. Take 2 days to analyze the questions from the taken practice exam. Try to understand what they like to ask and your strengths and weaknesses.

3. Read from undergrad CS books. I don't think there are better preparation materials than those books. But you have to understand where you have to concentrate and where you can just skim through.

4. Use this forum to get materials like practice tests and suggestions.

Link to comment
Share on other sites

1. Take a sample test. No matter how hard it seems finish it.

2. Take 2 days to analyze the questions from the taken practice exam. Try to understand what they like to ask and your strengths and weaknesses.

3. Read from undergrad CS books. I don't think there are better preparation materials than those books. But you have to understand where you have to concentrate and where you can just skim through.

4. Use this forum to get materials like practice tests and suggestions.

 

Totally agree, especially since you scored so well on the exam.

 

For some things, Wikipedia articles and the archives of this forum provide better explanations than my textbooks. However, for subjects like automata and graph theory, I rely heavily on textbooks in addition to lecture notes, problem sets, and other online course materials. The textbooks I own that I appreciate the most are:

 

- Discrete Math by Rosen (provides answers to half of the exercises; a solutions manual is also available)

- Algorithms by Cormen, et. al. (does not provide answers to exercises but is the most popular book on algorithms)

- Introduction to the Theory of Computation by Sipser

- Programming Language Pragmatics by Scott

 

BTW, most of these books or descent substitutes may be available at university libraries.

Link to comment
Share on other sites

Yeah Calm,

 

Everyone has been stressing the importance of practice ... I will take up your advice and look up the practice questions.

 

The thing is that I graduated in 2004. Its been a long time since I have seen this stuff .....:(

 

BTW, thanks a lot for the links, man ... Appreciate that ...:tup:

Ashish

 

My advice is to go over several of the guides (like Titanium Bits), solve all GRE practice booklets and past exams in existence - you should have no problem finding them (I would put my archive, but this forum seems pretty tight on copyright issues, which I could care less about, but since I'm a guest here... but I digress.)

 

Anyway, when you solve the practice booklets and the past exams, refresh your memory on everything you don't understand or remember. If you had good education, this should be enough. E.g., I completed the B.Sc. in 2000, so your 2004 is pretty fresh. :)

Link to comment
Share on other sites

If you had good education, this should be enough.
This is a great point. Consider the non-CS background people that have to start almost from scratch.

 

My advice is to go over several of the guides (like Titanium Bits), solve all GRE practice booklets and past exams in existence...
Borat, since you only scored a 98% on the GRE CS, are you sure about this? :)
Link to comment
Share on other sites

This is a great point. Consider the non-CS background people that have to start almost from scratch.

 

:)

 

Trust me man, I feel as if I am starting all over again ..... :D

 

And Borat ... That is one hell of a score, Sir ... Hats off ....:tup:

 

To tell u the truth, it's gonna be pretty embarrasing for me to take that test, Pavel ... But better flunk here than in AGRE, right??

 

Borat, could you please mail me that archive of yours ... Would really appreciate it ... My mail id is Ashish.Misra@capgemini.com

 

Ashish.

Link to comment
Share on other sites

BTW, most textbooks I have seen don't have great exercises, and, if they do, an answer key is not provided. That's another reason I seek out online course materials, e.g. solutions to textbook exercises and professor-designed exercises with solutions. (It's often easy to find solutions to textbook exercises by typing part of the question into Google.)
Link to comment
Share on other sites

About the Intro to Algorithms MIT press (Corman et al), don't you guys think there is hefty amount of detail to churn through. For instance, I picked up the max flow chapter, and it goes on rattling about different methods in existence for solving the problem. So my query is how much detail to tend to?
Link to comment
Share on other sites

I picked up the max flow chapter, and it goes on rattling about different methods in existence for solving the problem
Yeah, that chapter is a waste of time, especially since Titanium Bits gives a great, illustrated, one-page explanation on how to solve such a problem.

 

So, yes, Cormen's Algorithms, like all big textbooks, is a mixed blessing and often a curse. Use it mostly as a reference as needed when doing practice problems or you will go CRAZY

 

:crazy:

Link to comment
Share on other sites

Borat, since you only scored a 98% on the GRE CS, are you sure about this? :)

 

Well, to tell the truth, I only worked out some of the past exams, not all of them. But solving them all surely can't hurt! :D

 

Anyway, if anyone else is interested in past exams, I took them from the Files section in grecs Yahoo group.

Link to comment
Share on other sites

  • 7 months later...

For those who see this thread later on, it's worth repeating the advice of Borat, who scored 98% on the GRE CS last year:

 

My advice is to go over several of the guides (like Titanium Bits), solve all GRE practice booklets and past exams in existence - you should have no problem finding them (I would put my archive, but this forum seems pretty tight on copyright issues, which I could care less about, but since I'm a guest here... but I digress.)

 

Anyway, when you solve the practice booklets and the past exams, refresh your memory on everything you don't understand or remember. If you had good education, this should be enough. E.g., I completed the B.Sc. in 2000, so your 2004 is pretty fresh. :)

 

Well, to tell the truth, I only worked out some of the past exams, not all of them. But solving them all surely can't hurt! :D

 

Anyway, if anyone else is interested in past exams, I took them from the Files section in grecs Yahoo group.

 

The only other poster who seems to have scored nearly as well was Nonevent, who scored 97% on the GRE CS and is the person who wrote the Titanium Bits study guide. (For the last few years, he has

been a PhD student at CMU.)

Link to comment
Share on other sites

  • 6 months later...
  • 3 weeks later...
  • 2 months later...
  • 1 month later...
  • 4 months later...
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...