Check out my first novel, midnight's simulacra!
CS GRE
Anything above a 800 (it's on a 200-990-point scale) seems pretty good. 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))
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.
Books used to prepare
- Software Systems and Methodology
- Peter Van Roy and Seif Haridi, Concepts, Techniques, and Models of Computer Programming, 1st Edition
- Harold Abelson and Gerald Jay Sussman, Structure and Interpretation of Computer Programs, 2nd Edition
- Computer Organization and Architecture
- John Hennessy and David Patterson, Computer Architecture: A Quantitative Approach, 4th Edition
- Theory and Mathematical Background
- Thomas Cormen, Charles Leiserson and Ron Rivest, Introduction to Algorithms, 1st Edition
- Michael Sipser, Introduction to the Theory of Computation, 1st Edition