From charlesreid1

Line 51: Line 51:
* [[Algorithms/Sort]] - basic and advanced algorithms for sorting data
* [[Algorithms/Sort]] - basic and advanced algorithms for sorting data
* [[Algorithms/Search]] - search algorithms for searching and search-related data structures
* [[Algorithms/Search]] - search algorithms for searching and search-related data structures
* [[Algorithms/Combinatorics and Heuristics]] - solving problems involving finding permutations or searching large solution spaces
* [[Algorithms/Dynamic Programming]] - solving problems by breaking them down into sub-problems


* [[Algorithms/Strings]] - algorithms for operations on strings
* [[Algorithms/Strings]] - algorithms for operations on strings
* [[Algorithms/Data Structures]] - algorithmic analysis of data structures
* [[Algorithms/Data Structures]] - algorithmic analysis of data structures
* [[Algorithms/Graphs]] -  
* [[Algorithms/Graphs]] -  
* [[Algorithms/Optimization]] -


Programming practice and writeups:
Programming practice and writeups:

Revision as of 05:45, 17 July 2017

Computer Science: the science of computing. Or, the science of problem-solving with computers, computational devices, and computational methods.

Study Notes

See CS study plan repo for more detailed notes: https://charlesreid1.com:3000/cs/study-plan

Topics

Computer Science

Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODOSoftwareEngineering.md

CS list of topics:

Data Structures

Algorithms

Mathematics - Combinatorics and Probability

Mathematics - Number Theory

Mathematics - Numerics

Languages

Data Structures

Main Data Structures Page: Data Structures (see also: Template:DataStructuresFlag)

Polished summaries of information: Study Guides

Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODOSoftwareEngineering.md

Topics:

Algorithms

Algorithms

Algorithms can be divided into categories:


Programming practice and writeups:

Combinatorics and Probability

See https://github.com/rossant/awesome-math

Specifically, analytic combinatorics. http://algo.inria.fr/flajolet/Publications/book.pdf

Number Theory

Languages and Tools:

  • Java for number theory
  • Pari GP
  • Mathematica

Numerics

Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODONumerics.md

Numerics topics corresponding to particular chapters:

  • Linear solvers - linear algebra
  • Nonlinear solvers -root-finding
  • Interpolation and extrapolation
  • Integration and function evaluation

Languages and Tools

Languages:

  • Java
  • Python
  • Go (minimal)
  • C++ (minimal)
  • Scala (minimal)

Tool categories:

  • Built-in data structures (solid)
  • Extended data structures libraries (Pandas, Guava) and utility libraries (itertools, Apache Commons)
  • Numerical libraries (big numbers, factoring, exponents, root finding, linear solvers, nonlinear solvers)
  • Graph library

Infrastructure:

  • Testing infrastructure & best practices (JUnit)
  • Build tools (Bezel, Maven)

Study Resources

Math:

Some nice awesome lists:

Meta:

Programming tests:

Growth hacking:

Flags

Computer Science





See also:

Data Structures
































Algorithms







CS/OldPage