# CS GRE: Difference between revisions

From dankwiki

No edit summary |
|||

Line 28: | Line 28: | ||

** Databases | ** Databases | ||

** System analysis and development tools | ** System analysis and development tools | ||

===COMPUTER ORGANIZATION AND ARCHITECTURE — 15%=== | ===COMPUTER ORGANIZATION AND [[ARCHITECTURE]] — 15%=== | ||

* Digital logic design | * Digital logic design | ||

** Implementation of combinational and sequential circuits | ** Implementation of combinational and sequential circuits | ||

Line 48: | Line 48: | ||

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

** Parallel and distributed architectures | ** Parallel and distributed architectures | ||

===THEORY AND MATHEMATICAL BACKGROUND — 40%=== | ===THEORY AND MATHEMATICAL BACKGROUND — 40%=== | ||

* Algorithms and complexity | * Algorithms and complexity |

## Revision as of 12:25, 30 July 2009

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

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.