Check out my first novel, midnight's simulacra!

CS GRE: Difference between revisions

From dankwiki
Line 153: Line 153:
|-
|-
| Algorithmic design techniques (e.g. greedy, dynamic programming, divide and conquer)
| Algorithmic design techniques (e.g. greedy, dynamic programming, divide and conquer)
| [http://academicearth.org/lectures/dynamic-programming-leiserson Dynamic Programming lecture] from MIT's [http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/CourseHome/index.htm 6.046J]
| [http://academicearth.org/lectures/dynamic-programming-leiserson Dynamic Programming] and [[http://academicearth.org/lectures/greedy-algorithms-and-graphs Greedy algorithms] lectures from MIT's [http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/CourseHome/index.htm 6.046J]
|-
|-
| Upper and lower bounds on the complexity of specific problems
| Upper and lower bounds on the complexity of specific problems

Revision as of 07:31, 5 August 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?

(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))

<countdown time="10/10/2009 8:30 AM UTC-0500"><D> days, <H> hours, <M> minutes, seconds until the 2009-10-10 CS GRE</countdown>

Books I'm using for general preparation

Further texts are listed in the applicable sections below.

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) Dynamic Programming and [Greedy algorithms lectures from MIT's 6.046J
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.