Check out my first novel, midnight's simulacra!
CS GRE: Difference between revisions
From dankwiki
No edit summary |
|||
Line 58: | Line 58: | ||
|colspan=2|'''Software engineering''' | |colspan=2|'''Software engineering''' | ||
|- | |- | ||
|Formal specifications and assertions | |Formal specifications and assertions | ||
*Berg, Boebert, Franta, Moher: ''[http://www.amazon.com/Methods-Verification-Specification-Prentice-Hall-Software/dp/0133288072/ Formal Methods of Program Verification and Specification]'' | |||
| | | | ||
|- | |- | ||
Line 70: | Line 71: | ||
|- | |- | ||
|[[Compiler Design|Compilers]], interpreters, and run-time systems | |[[Compiler Design|Compilers]], interpreters, and run-time systems | ||
*Muchnick: ''[http://www.amazon.com/Advanced-Compiler-Design-Implementation-Muchnick/dp/1558603204 Advanced Compiler Design and Implementation]'' | |||
*Allen, Kennedy: ''[http://www.amazon.com/Optimizing-Compilers-Modern-Architectures-Dependence-based/dp/1558602860 Optimizing Compilers for Modern Architectures]'' | |||
| | | | ||
|- | |- |
Revision as of 18:50, 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 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.
- 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 NP-Completeness. First edition, 26th printing.
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) | |
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. |