algebraic topology applied mathematics automated theorem proving computation computational complexity theory computational linguistics computational science computer simulation cryptography discrete mathematics factorization mathematical logic mathematical proof mathematics mathematics of computation national science foundation natural language number theory numerical analysis numerical linear algebra probability symbolic computation theoretical computer science theory of computation uncertainty