Classical orthogonal polynomials have widespread applications including in numerical integration, solving differential equations, and interpolation. Changing basis between classical orthogonal polynomials can affect the convergence, accuracy, and stability of solutions.We provide a general method for changing basis between any pair of classical orthogonal polynomials by using algebraic expressions called coefficient functions that evaluate to connection coefficients. The method builds directly on previous work on the change of basis groupoid. The scope has fifteen kinds of classical orthogonal polynomials including the classes of Jacobi, Gegenbauer and generalized Laguerre polynomials.The method involves the mappings to and from the monomials for these polynomial bases. Sixteen coefficient functions appear to be new for polynomials that do not have definite parity. We derive the remainder from seven sources in the literature. We give a complete summary of thirty coefficient functions.This enables change of basis to be defined algebraically and uniformly between any pair of classical orthogonal polynomial bases by using a vector dot product to compose two coefficient functions to give a third.A definition of Jacobi polynomials uses a basis of shifted monomials. We find a key new mapping between the monomials and Jacobi polynomials by using a general mapping between shifted monomials and monomials. It yields new mappings for the Chebyshev polynomials of the third and fourth kinds and their shifted versions.