Highly correlated configuration interaction (CI) wavefunctions going beyond the simple singles and doubles (CISD) model space can provide very reliable potential energy surfaces, describe electronic excited states, and yield benchmark energies and molecular properties for use in calibrating more approximate methods. Unfortunately, such wavefunctions are also notoriously difficult to evaluate due to their extreme computational demands. The dimension of a full CI procedure, which represents the exact solution of the electronic Schroedinger equation for a fixed one-particle basis set, grows factorially with the number of electrons and basis functions. For very large configuration spaces, the number of CI coupling coefficients becomes prohibitively large to store on disk; these coefficients must be evaluated as needed in a so-called direct CI procedure. Work done by several groups since 1980 has focused on using Slater determinants rather than spin (S2) eigenfunctions because coupling coefficients are easier to compute with the former. We review the fundamentals of the configuration interaction method and discuss various determinant-based CI algorithms. Additionally, we consider some applications of highly correlated CI methods.