computer science: the science of problem-solving with computers, computational devices, and computational methods.

# Study Notes

We put together a repository with a detailed outline of topics in computer science as part of a CS study plan. We updated it with notes and code (links to this wiki, and to git repos).

That repository can be found here: https://git.charlesreid1.com/cs/study-plan

# Topics

## Computer Science Topics

List of topics, with links to notes on this wiki and code in git repos: https://git.charlesreid1.com/cs/study-plan/src/master/TODOSoftwareEngineering.md

List of topics:

• Data Structures
• Algorithms
• Mathematics
• Combinatorics
• Probability
• Number Theory
• Numerics
• Languages and APIs

### Data Structures

Polished summaries of information: Study Guides

Topics:

### Algorithms

Algorithms can be divided into categories:

Programming practice and writeups:

### Combinatorics and Probability

Outline of combinatorics content:

• Combinatorial structures - use ordinary generating functions
• Labelled structures - use exponential generating functions
• Combinatorial parameters - use multivariate generating functions

Basic Combinatorics:

Excellent textbook: http://algo.inria.fr/flajolet/Publications/book.pdf

### Graph Theory

Notes on graph theory:

Notes on data structures for graphs:

### Numerics

Numerics topics:

• Linear Algebra and linear solvers
• Solving Nonlinear Equations and root-finding
• Interpolation and extrapolation
• Integration and function evaluation
• Minimization and maximization, optimization
• Model-building

### 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 libraries

Infrastructure:

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

Math:

Algorithms:

Meta: