what are the different applications of group theory in CS? What are some applications of abstract algebra in computer science an undergraduate could begin exploring after a first course?
Gallian's text goes into Hamming distance, coding theory, etc., I vaguely recall seeing discussions of abstract algebra in theory of computation / automata theory but what else? I'm not familiar with any applications past this.
Bonus: What are some textbooks / resources that one could learn about said applications?

The theory of Grobner Basis is a way to solve simultaneous multivariable polynomial equations.  The key component underlying this is something called Buchberger's Algorithm (which given an ideal $I$ of some ring $R = k[x_1,\dots,x_n]$) computes the Grobner basis, an especially nice way to represent the ideal that makes it MUCH easier to answer certain questions about it).
The algorithm is interesting in that naively it's not clear that it terminates.  Fortunately, by working with something called a monomial order we can guarantee that at each iteration of the algorithim we get "closer" to a solution, so it must terminate.
