Grochow's research has two main thrusts (with deep underlying relations beneath): 1. Interactions between theoretical computer science and mathematics (particularly algebraic geometry, representation theory, and group theory), and 2. Developing the theory of complex systems and complex networks, and applying this theory with collaborators in a variety of fields, such as ecology, evolutionary biology, economics, climate, and beyond.
keywords
theoretical computer science, computational complexity, algebraic computation, algebraic complexity, algebraic algorithms, representation theory, algebraic geometry, group theory, complex systems, complex networks, complex dynamics, network science, theory of complex systems
CSCI 3104  Algorithms
Primary Instructor

Spring 2018 / Spring 2019 / Spring 2020
Covers the fundamentals of algorithms and various algorithmic strategies, including time and space complexity, sorting algorithms, recurrence relations, divide and conquer algorithms, greedy algorithms, dynamic programming, linear programming, graph algorithms, problems in P and NP, and approximation algorithms. Same as CSPB 3104.
CSCI 4114  Practical Algorithmic Complexity
Primary Instructor

Fall 2019
When coming across an algorithmic problem, how do we think about how hard it is? Beyond just how much time or memory it takes, computational complexity offers a plethora of concepts for understanding this fundamental question. This leads to the appropriate choice of algorithm for the job, the development of new algorithms, and understanding the role of algorithmic complexity in natural settings such as biology and physics.
CSCI 5114  Practical Algorithmic Complexity
Primary Instructor

Fall 2019
When coming across an algorithmic problem, how do we think about how hard it is? Beyond just how much time or memory it takes, computational complexity offers a plethora of concepts for understanding this fundamental question. This leads to the appropriate choice of algorithm for the job, the development of new algorithms, and understanding the role of algorithmic complexity in natural settings such as biology and physics.