This work develops the geometry and dynamics of mechanical systems with nonholonomic constraints and symmetry from the perspective of Lagrangian mechanics and with a view to control theoretical applications. The basic methodology is that of geometric mechanics applied to the formulation of Lagrange d'Alembert, generalizing the use of connections and momentum maps associated with a given symmetry group to this case. We begin by formulating the mechanics of nonholonomic systems using an Ehresmann connection to model the constraints, and show how the curvature of this connection enters into Lagrange's equations. Unlike the situation with standard configuration space constraints, the presence of symmetries in the nonholonomic case may or may not lead to conservation laws. However, the momentum map determined by the symmetry group still satisfies a useful differential equation that decouples from the group variables. This momentum equation, which plays an important role in control problems, involves parallel transport operators and is computed explicitly in coordinates. An alternative description using a ``body reference frame'' relates part of the momentum equation to the components of the Euler-Poincar\'{e} equations along those symmetry directions consistent with the constraints. One of the purposes of this paper is to derive this evolution equation for the momentum and to distinguish geometrically and mechanically the cases where it is conserved and those where it is not. An example of the former is a ball or vertical disk rolling on a flat plane and an example of the latter is the snakeboard, a modified version of the skateboard which uses momentum coupling for locomotion generation. We construct a synthesis of the mechanical connection and the Ehresmann connection defining the constraints, obtaining an important new object we call the nonholonomic connection. When the nonholonomic connection is a principal connection for the given symmetry group, we show how to perform Lagrangian reduction in the presence of nonholonomic constraints, generalizing previous results which only held in special cases. Several detailed examples are given to illustrate the theory. September 1994 Revised, March 1995 Revised, June 1995