Check out my first novel, midnight's simulacra!

CS GRE: Difference between revisions

From dankwiki
No edit summary
 
(76 intermediate revisions by the same user not shown)
Line 1: Line 1:
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?
Anything above a 800 (it's on a 200-~900-point (the top end changes from year to year, wtf) scale) seems pretty good. It appears that quality single-volume preparation materials cannot be had at any price. Perhaps one ought be written?
 
* '''We took the exam 2009-10-10. I don't see myself updating this page much further.''' ([[User:Dank|Dank]] 02:53, 12 November 2009 (UTC))
* [http://ftp.ets.org/pub/gre/CompSci.pdf ETS Practice Booklet (PDF)], from the [http://www.ets.org/portal/site/ets/menuitem.1488512ecfd5b8849a77b13bc3921509/?vgnextoid=e9952d3631df4010VgnVCM10000022f95190RCRD&vgnextchannel=6ef946f1674f4010VgnVCM10000022f95190RCRD Computer Science Exam] page
* [http://ftp.ets.org/pub/gre/CompSci.pdf ETS Practice Booklet (PDF)], from the [http://www.ets.org/portal/site/ets/menuitem.1488512ecfd5b8849a77b13bc3921509/?vgnextoid=e9952d3631df4010VgnVCM10000022f95190RCRD&vgnextchannel=6ef946f1674f4010VgnVCM10000022f95190RCRD 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 [[User:Dank|Dank]] 14:58, 30 July 2009 (UTC))
(This second link is pretty dubiously-formed; YMMV. Go to the GRE page, click on Subject Info details, click on Computer Science ''--[[User:Dank|Dank]] 14:58, 30 July 2009 (UTC)'')
* [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==
* [http://sites.google.com/site/titaniumbits/ 100 shareware CS GRE-like problems] from Christopher Scaffidi
This was taken from the ETS CS GRE page, 2009-07-30 1500 UTC.
==Books we're using for general preparation==
===SOFTWARE SYSTEMS AND METHODOLOGY — 40%===
* Software Systems and Methodology
* Data organization
**'''CTMCP''': Peter Van Roy and Seif Haridi, ''[http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695 Concepts, Techniques, and Models of Computer Programming]''. First edition, fourth printing.
** Data types
**'''SICP''': Harold Abelson and Gerald Jay Sussman, ''[http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530 Structure and Interpretation of Computer Programs]''. Second edition, first printing, and [http://mitpress.mit.edu/sicp/full-text/book/book.html online version].
** Data structures and implementation techniques
* Computer Organization and Architecture
* Program control and structure
**'''H&P2, H&P4''': John Hennessy and David Patterson, ''[http://www.amazon.com/Computer-Architecture-Quantitative-Approach-4th/dp/0123704901 Computer Architecture: A Quantitative Approach]''. Second and fourth editions (first printing each).
** Iteration and recursion
**'''WARD''': Stephen Ward and Robert Halstead, ''[http://www.amazon.com/Computation-Structures-Electrical-Engineering-Computer/dp/0262231395 Computation Structures]''. First edition, first printing.
** Procedures, functions, methods, and exception handlers
* Theory and Mathematical Background
** Concurrency, communication, and synchronization
**'''CLR''': Thomas Cormen, Charles Leiserson and Ron Rivest, ''[http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937 Introduction to Algorithms]''. First edition, 19th printing.
* Programming languages and notation
**'''SIPSER''': Michael Sipser, ''[http://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/053494728X Introduction to the Theory of Computation]''. First edition, first printing.
** Constructs for data organization and program control
**'''KNUTH2''': Donald Knuth, ''[http://www.amazon.com/gp/product/0201896842 The Art of Computer Programming, Vol. 2: Seminumerical Algorithms]''. Third edition, first printing.
** Scope, binding, and parameter passing
Further texts are listed in the applicable sections below.
** 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|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%===
==Online courseware==
* Algorithms and complexity
* The [http://see.stanford.edu/ Stanford Engineering Everywhere] project at the Stanford School of Engineering
** Exact and asymptotic analysis of specific algorithms
* MIT's [http://ocw.mit.edu/OcwWeb/web/home/home/index.htm OpenCourseware] project at the Open Courseware Consortium
** 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.


==Books used to prepare==
==Subject Material==
* Software Systems and Methodology
Outline taken from the ETS CS GRE page (2009-07-30 1500 UTC)
**Peter Van Roy and Seif Haridi, ''[http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695 Concepts, Techniques, and Models of Computer Programming, 1st Edition]''
{| border="1" width="100%"
**Harold Abelson and Gerald Jay Sussman, ''[http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530 Structure and Interpretation of Computer Programs, 2nd Edition]''
|-
* Computer Organization and Architecture
! align="left"|<small>''Area vocabulary listings follow each area in small, italicized, bolded text''</small>
**John Hennessy and David Patterson, ''[http://www.amazon.com/Computer-Architecture-Quantitative-Approach-4th/dp/0123704901 Computer Architecture: A Quantitative Approach, 4th Edition]''
! References and Supplements
* Theory and Mathematical Backgrouns
|-
**Thomas Cormen, Charles Leiserson and Ron Rivest, ''[http://www.amazon.com/Introduction-Algorithms-Second-Thomas-Cormen/dp/0262032937 Introduction to Algorithms, 1st Edition]''
|colspan=2|'''SOFTWARE SYSTEMS AND METHODOLOGY - 40%'''
|-
|colspan=2|'''Data Organization'''
|-
| Data types
|
|-
| Data structures and implementation techniques
|
|-
|colspan=2|'''Program control and structure'''
|-
|Iteration and recursion
|
|-
|Procedures, functions, methods, and exception handlers
|
|-
|Concurrency, communication, and synchronization
|
|-
|colspan=2|'''[[Programming Language Theory|Programming languages]] and notation'''
|-
|Constructs for data organization and program control
|
|-
|Scope, binding, and parameter passing
|
|-
|Expression evaluation
|
|-
|colspan=2|'''Software engineering'''
|-
|Formal specifications and assertions
*Dijkstra: ''[http://www.amazon.com/Discipline-Programming-Prentice-Hall-Automatic-Computation/dp/013215871X A Discipline of Programming]''
|
|-
|Verification techniques
*Berg, Boebert, Franta, Moher: ''[http://www.amazon.com/Methods-Verification-Specification-Prentice-Hall-Software/dp/0133288072/ Formal Methods of Program Verification and Specification]''
|
|-
|Software development models, patterns, and tools
|
|-
|colspan=2|'''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]''
|
|-
|Operating systems, including resource management and protection/security
|
|-
|Networking, Internet, and distributed systems
*Leon-Garcia, Widjaja: ''[http://www.amazon.com/Communication-Networks-Alberto-Leon-Garcia/dp/007246352X Communication Networks]''
|
|-
|Databases
|
|-
|System analysis and development tools
|
|-
|-
|colspan=2|'''COMPUTER ORGANIZATION AND [[Architecture|ARCHITECTURE]] - 15%'''
|-
|colspan=2| '''Digital logic design'''
|-
| Implementation of combinational and sequential circuits
|
|-
| Optimization and analysis
|
|-
|colspan=2| '''Processors and control units'''
|-
| Instruction sets <small>'''''general- vs special-purpose registers, condition word, load-store vs register-memory architectures, addressing alignment, register vs immediate vs displacement vs indexed etc addressing, instruction sizes, control flow instructions, opcode expansion, reduced vs complex sets'''''</small>
| '''H&P4''' 1.3, Appx B, Appx J
|-
| Computer arithmetic and number representation <small>'''''signed magnitude, one's complement, signed zeros, two's complement, binary coded decimal, IEEE 754, biased representation, denormalization, positive and negative infinity, NaN, nearest rounding, directed rounding, overflow, underflow, carry indicator, arbitrary precision'''''</small>
| '''H&P4''' Appx I
|-
| Register and ALU organization
| '''H&P4''' Appx F (Vector processors)
|-
| Data paths and control sequencing
|
|-
|colspan=2| '''[[Architecture#Memory_Hierarchies|Memories and their hierarchies]]'''
|-
| Performance, implementation, and management
|
|-
| Cache, main, and secondary storage
| '''H&P4''' Chapter 5.2, Appx C.1-3
|-
| Virtual memory, paging, and segmentation
| '''H&P4''' Chapter 5, Appx C.4
|-
|colspan=2| '''Networking and communications'''
|-
| Interconnect structures (e.g., buses, switches, routers)
| '''H&P4''' Appx E
|-
| I/O systems and protocols
| '''H&P4''' Chapter 6
|-
| Synchronization
|
|-
|colspan=2| '''High-performance architectures'''
|-
| Pipelining superscalar and out-of-order execution processors
| '''H&P4''' Appx A
|-
| Parallel and distributed architectures
|'''H&P4''' Chapter 4
|-
|colspan=2|'''[[Theory|THEORY]] AND MATHEMATICAL BACKGROUND - 40%'''
|-
|colspan=2| '''Algorithms and complexity'''
|-
| Exact and asymptotic analysis of specific algorithms <small>'''''Big-O (<math>O(f())</math>), Big-Theta (<math>\Theta(f())</math>), Big-Omega (<math>\Omega(f())</math>), Little-O (<math>o(f()))</math>), Little-Omega (<math>\omega(f())</math>)'''''</small>
| [http://academicearth.org/lectures/asymptotic-notation-and-recurrences Asymptotic Notation and Recurrences]  lecture from MIT's [http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/CourseHome/index.htm 6.046J]
|-
| Algorithmic design techniques (e.g. greedy, dynamic programming, divide and conquer)
| [http://academicearth.org/lectures/divide-and-conquer- Divide+Conquer], [http://academicearth.org/lectures/dynamic-programming-leiserson Dynamic Programming] and [http://academicearth.org/lectures/greedy-algorithms-and-graphs Greedy algorithm] 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
|
|-
| Computational complexity, including NP-completeness
* Garey and Johnson, ''[http://www.amazon.com/Computers-Intractability-NP-Completeness-Mathematical-Sciences/dp/0716710455 Computers and Intractability: A Guide to the Theory of NP-Completeness]''
| '''SIPSER''' 7, 8
|-
|colspan=2| '''[[Automata]] and [[Theory#Formal_Languages|language theory]]'''
|-
| Models of computation (finite automata, Turing machines)
* Hopcroft and Ullman, ''[http://www.amazon.com/Introduction-Automata-Theory-Languages-Computation/dp/0201441241 Introduction to Automata Theory, Languages and Computation]''
| '''SIPSER''' 1, 3
|-
| Formal languages and grammars (regular and context free)
* Gurari, ''[http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk.html An Introduction to the Theory of Computation]''
| '''SIPSER''' 2
|-
| Decidability
| '''SIPSER''' 4, 5, 6.2, 6.3
|-
|colspan=2| '''Discrete structures'''
|-
| Mathematical logic
|
|-
| Elementary combinatorics and graph theory <small>'''''connected, connectivity, directed (digraph), eccentricity, circumference, acyclic, path, weighted, subgraph, expander, hypergraph, multigraph, tournament, complete (<math>K_n</math>), scorpion, set cover, vertex cover'''''</small>
|
|-
| Discrete probability, recurrence relations, and number theory
|
|-
|colspan=2|'''OTHER TOPICS - 5%''' "Example areas include..."
|-
|Numerical analysis
|
|-
|Artificial intelligence
|
|-
|Computer graphics
|
|-
|Cryptography
|
|-
|Security
|
|-
|...and social issues.
|
|-
|}
[[Category: CS GRE Prep]]

Latest revision as of 18:34, 29 January 2013

Anything above a 800 (it's on a 200-~900-point (the top end changes from year to year, wtf) 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))

Books we're using for general preparation

Further texts are listed in the applicable sections below.

Online courseware

Subject Material

Outline taken from the ETS CS GRE page (2009-07-30 1500 UTC)

Area vocabulary listings follow each area in small, italicized, bolded 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 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 general- vs special-purpose registers, condition word, load-store vs register-memory architectures, addressing alignment, register vs immediate vs displacement vs indexed etc addressing, instruction sizes, control flow instructions, opcode expansion, reduced vs complex sets H&P4 1.3, Appx B, Appx J
Computer arithmetic and number representation signed magnitude, one's complement, signed zeros, two's complement, binary coded decimal, IEEE 754, biased representation, denormalization, positive and negative infinity, NaN, nearest rounding, directed rounding, overflow, underflow, carry indicator, arbitrary precision H&P4 Appx I
Register and ALU organization H&P4 Appx F (Vector processors)
Data paths and control sequencing
Memories and their hierarchies
Performance, implementation, and management
Cache, main, and secondary storage H&P4 Chapter 5.2, Appx C.1-3
Virtual memory, paging, and segmentation H&P4 Chapter 5, Appx C.4
Networking and communications
Interconnect structures (e.g., buses, switches, routers) H&P4 Appx E
I/O systems and protocols H&P4 Chapter 6
Synchronization
High-performance architectures
Pipelining superscalar and out-of-order execution processors H&P4 Appx A
Parallel and distributed architectures H&P4 Chapter 4
THEORY AND MATHEMATICAL BACKGROUND - 40%
Algorithms and complexity
Exact and asymptotic analysis of specific algorithms Big-O (<math>O(f())</math>), Big-Theta (<math>\Theta(f())</math>), Big-Omega (<math>\Omega(f())</math>), Little-O (<math>o(f()))</math>), Little-Omega (<math>\omega(f())</math>) Asymptotic Notation and Recurrences lecture from MIT's 6.046J
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 NP-completeness SIPSER 7, 8
Automata and language theory
Models of computation (finite automata, Turing machines) SIPSER 1, 3
Formal languages and grammars (regular and context free) SIPSER 2
Decidability SIPSER 4, 5, 6.2, 6.3
Discrete structures
Mathematical logic
Elementary combinatorics and graph theory connected, connectivity, directed (digraph), eccentricity, circumference, acyclic, path, weighted, subgraph, expander, hypergraph, multigraph, tournament, complete (<math>K_n</math>), scorpion, set cover, vertex cover
Discrete probability, recurrence relations, and number theory
OTHER TOPICS - 5% "Example areas include..."
Numerical analysis
Artificial intelligence
Computer graphics
Cryptography
Security
...and social issues.