# CS GRE: Difference between revisions

From dankwiki

No edit summary |
mNo edit summary |
||

Line 4: | Line 4: | ||

* [http://hkn.eecs.berkeley.edu/student/csgrereviewnotes.shtml UCB notes] from 2001 | * [http://hkn.eecs.berkeley.edu/student/csgrereviewnotes.shtml UCB notes] from 2001 | ||

* [http://www.cc.gatech.edu/~howardz/micellaneous/gre_cs_sub/ GT notes] from 2006 | * [http://www.cc.gatech.edu/~howardz/micellaneous/gre_cs_sub/ GT notes] from 2006 | ||

==Subject Material== | |||

This was taken from the ETS CS GRE page, 2009-07-30 1500 UTC. | |||

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

## Revision as of 15:03, 30 July 2009

Anything above a 800 (it's on a 900-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

This was taken from the ETS CS GRE page, 2009-07-30 1500 UTC.

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