• Contact Info
Publications in VIVO
 

Grochow, Joshua Abraham

Associate Professor

Positions

Research Areas research areas

Research

research overview

  • 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

Publications

selected publications

Teaching

courses taught

  • CSCI 3104 - Algorithms
    Primary Instructor - Spring 2018 / Spring 2019 / Spring 2020 / Fall 2021 / Fall 2022
    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 / Fall 2020 / Fall 2022
    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. Same as CSCI 5114.
  • CSCI 4950 - Senior Thesis
    Primary Instructor - Fall 2018 / Spring 2019 / Fall 2021 / Spring 2022 / Fall 2022 / Spring 2023
    Provides an opportunity for senior computer science majors to conduct exploratory research in computer science as an option for the capstone requirement. Department enforced prerequisites: 35 hours of Computer Science coursework including Foundation courses, Upper-Division writing, CS GPA 3.0. Department consent required, contact academic advisor for details. May be repeated up to 8 total credit hours.
  • CSCI 5114 - Practical Algorithmic Complexity
    Primary Instructor - Fall 2019 / Fall 2020 / Fall 2022
    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. Same as CSCI 4114.
  • CSCI 6114 - Computational Complexity Theory
    Primary Instructor - Fall 2021 / Fall 2023
    Covers standard complexity classes including: time-bounded, space-bounded, nondeterministic, randomized, quantum, parallel, counting, and nonuniform classes. Covers standard relationships between these complexity classes, as well as landmark results in complexity theory. Additional topics may be covered depending on time and interest. Recommended corequisite: CSCI 5444.
  • CSCI 7000 - Current Topics in Computer Science
    Primary Instructor - Fall 2020 / Fall 2023
    Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 18 total credit hours.

Background

International Activities

Other Profiles