# CS GRE

From dankwiki

Anything above a 800 (it's on a 200-990-point scale) seems pretty good (I've heard the stat that 8% of takers get a perfect score). It appears that quality single-volume preparation materials cannot be had at any price. Perhaps one ought be written?

- ETS Practice Booklet (PDF), from the Computer Science Exam page

(This second link is pretty dubiously-formed; YMMV. Go to the GRE page, click on Subject Info details, click on Computer Science Dank 14:58, 30 July 2009 (UTC))

- UCB notes from 2001
- GT notes from 2006
- 100 shareware CS GRE-like problems from Christopher Scaffidi

## Books I'm using to prepare

- Software Systems and Methodology
- Peter Van Roy and Seif Haridi,
*Concepts, Techniques, and Models of Computer Programming*. First edition, fourth printing. - Harold Abelson and Gerald Jay Sussman,
*Structure and Interpretation of Computer Programs*. Second edition.

- Peter Van Roy and Seif Haridi,
- Computer Organization and Architecture
- John Hennessy and David Patterson,
*Computer Architecture: A Quantitative Approach*. Fourth and Second editions.

- John Hennessy and David Patterson,
- Theory and Mathematical Background
- Thomas Cormen, Charles Leiserson and Ron Rivest,
*Introduction to Algorithms*. First edition, 19th printing. - Michael Sipser,
*Introduction to the Theory of Computation*. First edition. - Michael Garey and David Johnson,
*Computers and Intractability: A Guide to the Theory of NP-Completeness*. First edition, 26th printing.

- Thomas Cormen, Charles Leiserson and Ron Rivest,

## Subject Material

Area (outline taken from the ETS CS GRE page, 2009-07-30 1500 UTC) | References |
---|---|

SOFTWARE SYSTEMS AND METHODOLOGY - 40%
| |

Data Organization
| |

Data types | |

Data structures and implementation techniques | |

Program control and structure
| |

Iteration and recursion | |

Procedures, functions, methods, and exception handlers | |

Concurrency, communication, and synchronization | |

Programming languages and notation
| |

Constructs for data organization and program control | |

Scope, binding, and parameter passing | |

Expression evaluation | |

Software engineering
| |

Formal specifications and assertions | |

Verification techniques | |

Software development models, patterns, and tools | |

Systems
| |

Compilers, interpreters, and run-time systems | |

Operating systems, including resource management and protection/security | |

Networking, Internet, and distributed systems | |

Databases | |

System analysis and development tools | |

COMPUTER ORGANIZATION AND ARCHITECTURE - 15%
| |

Digital logic design
| |

Implementation of combinational and sequential circuits | |

Optimization and analysis | |

Processors and control units
| |

Instruction sets | |

Computer arithmetic and number representation | |

Register and ALU organization | |

Data paths and control sequencing | |

Memories and their hierarchies
| |

Performance, implementation, and management | |

Cache, main, and secondary storage | |

Virtual memory, paging, and segmentation | |

Networking and communications
| |

Interconnect structures (e.g., buses, switches, routers) | |

I/O systems and protocols | |

Synchronization | |

High-performance architectures
| |

Pipelining superscalar and out-of-order execution processors | |

Parallel and distributed architectures | |

THEORY AND MATHEMATICAL BACKGROUND - 40%
| |

Algorithms and complexity
| |

Exact and asymptotic analysis of specific algorithms | |

Algorithmic design techniques (e.g. greedy, dynamic programming, divide and conquer) | |

Upper and lower bounds on the complexity of specific problems | |

Computational complexity, including NP-completeness | |

Automata and language theory
| |

Models of computation (finite automata, Turing machines) | |

Formal languages and grammars (regular and context free) | |

Decidability | |

Discrete structures
| |

Mathematical logic | |

Elementary combinatorics and graph theory | |

Discrete probability, recurrence relations, and number theory | |

OTHER TOPICS - 5% "Example areas include..."
| |

Numerical analysis | |

Artificial intelligence | |

Computer graphics | |

Cryptography | |

Security | |

...and social issues. |