Difference between revisions of "CS GRE"
From dankwiki
Line 26:  Line 26:  
{ border="1" width="100%"  { border="1" width="100%"  
    
−  ! align="left" Area <small>  +  ! align="left" Area <small>''vocabulary listings follow each area in small, italicized text''</small> 
! References and Supplements  ! References and Supplements  
   
Revision as of 05:04, 5 August 2009
Anything above a 800 (it's on a 200990point scale) seems pretty good. It appears that quality singlevolume 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 dubiouslyformed; 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 GRElike problems from Christopher Scaffidi
<countdown time="10/10/2009 8:30 AM UTC0500"><D> days, <H> hours, <M> minutes, seconds until the 20091010 CS GRE</countdown>
Books I'm using for general preparation
 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, first printing, and online version.
 Computer Organization and Architecture
 John Hennessy and David Patterson, Computer Architecture: A Quantitative Approach. Second and fourth editions (first printing each).
 Stephen Ward and Robert Halstead, Computation Structures. First edition, first printing.
 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, first printing.
 Michael Garey and David Johnson, Computers and Intractability: A Guide to the Theory of NPCompleteness. First edition, 26th printing.
Further texts are listed in the applicable sections below.
Online courseware
 The Stanford Engineering Everywhere project at the Stanford School of Engineering
 MIT's OpenCourseware project at the Open Courseware Consortium
Subject Material
Outline taken from the ETS CS GRE page, 20090730 1500 UTC)
Area vocabulary listings follow each area in small, italicized text  References and Supplements 

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 runtime 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  
Highperformance architectures  
Pipelining superscalar and outoforder 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)  Divide+Conquer, Dynamic Programming and Greedy algorithm lectures from MIT's 6.046J 
Upper and lower bounds on the complexity of specific problems  
Computational complexity, including NPcompleteness  
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. 