# CS GRE: Difference between revisions

From dankwiki

No edit summary |
|||

Line 7: | Line 7: | ||

==Books I'm using to prepare== | ==Books I'm using to prepare== | ||

* Software Systems and Methodology | * Software Systems and Methodology | ||

**Peter Van Roy and Seif Haridi, ''[http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695 Concepts, Techniques, and Models of Computer Programming | **Peter Van Roy and Seif Haridi, ''[http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695 Concepts, Techniques, and Models of Computer Programming]''. First edition, fourth printing. | ||

**Harold Abelson and Gerald Jay Sussman, ''[http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530 Structure and Interpretation of Computer Programs | **Harold Abelson and Gerald Jay Sussman, ''[http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530 Structure and Interpretation of Computer Programs]''. Second edition. | ||

* Computer Organization and Architecture | * Computer Organization and Architecture | ||

**John Hennessy and David Patterson, ''[http://www.amazon.com/Computer-Architecture-Quantitative-Approach-4th/dp/0123704901 Computer Architecture: A Quantitative Approach | **John Hennessy and David Patterson, ''[http://www.amazon.com/Computer-Architecture-Quantitative-Approach-4th/dp/0123704901 Computer Architecture: A Quantitative Approach]''. Fourth and Second editions. | ||

* Theory and Mathematical Background | * Theory and Mathematical Background | ||

**Thomas Cormen, Charles Leiserson and Ron Rivest, ''[http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937 Introduction to Algorithms | **Thomas Cormen, Charles Leiserson and Ron Rivest, ''[http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937 Introduction to Algorithms]''. First edition. | ||

**Michael Sipser, ''[http://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/053494728X Introduction to the Theory of Computation | **Michael Sipser, ''[http://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/053494728X Introduction to the Theory of Computation]''. First edition. | ||

**Michael Garey and David Johnson, ''[http://www.amazon.com/Computers-Intractability-NP-Completeness-Mathematical-Sciences/dp/0716710455 Computers and Intractability: A Guide to the Theory of NP-Completeness]'' | **Michael Garey and David Johnson, ''[http://www.amazon.com/Computers-Intractability-NP-Completeness-Mathematical-Sciences/dp/0716710455 Computers and Intractability: A Guide to the Theory of NP-Completeness]''. First edition, 26th printing. | ||

==Subject Material== | ==Subject Material== |

## Revision as of 18:08, 1 August 2009

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. - 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. |