Looking for small liberal arts college recommendations

Some updates in terms of my list. Bates is off; they do not offer CS. Amherst, Williams and Middlebury are on. Actually, here is the list now (also in order of preference):
Colby
Amherst
Williams
Hamilton
Bowdoin
Middlebury

Franklin and Marshall
Lafayette
Johns Hopkins
Haverford
Dickinson
U of Rochester
Union (only school I have visited)
Swarthmore
Bucknell
St. Lawrence

Conn College
Gettysburg
Denison
Wooster

Fallbacks:
University of Richmond
University of Vermont

Schools to consider if something goes wrong with soccer:
University of Richmond
Wake Forest?

Removed: Bates (no CS), Babson (weak CS), Kenyon (no CS)