A novel development is given of the theory of Gaussian quadrature, using only elementary linear algebra, and not relying on the theory of orthogonal polynomials. A method is given for computing the nodes and weights that is manifestly independent of choice of basis in the space of polynomials. This method can be extended to compute nodes and weights for Gaussian quadrature on the unit circle and Gauss type quadrature rules with some fixed nodes.