I am assuming you mean camp at the USNA-since we do swim meets and camp there. (Great camps!)
The only big hotel within walking distance of the Docks/Old Town Annapolis is the Marriott Waterfront, and the rates can be very expensive compared to what you pay to be up near Rt. 50.
There are several very cute B&Bs right there-one I remember walking by thinking about checking out was Gibsons Lodgings, which also has the advantage of having ample parking and literally backs up to the gate of the USNA.
Is your son staying with you, or in Bancroft hall? If he is staying with you, I definitely would look into a place as close to USNA as possible.
Also, parking around Docks/Old Town Annapolis can be almost impossible. Most spots are reserved for residents. There is a parking garage off Main street, but it can be tricky to spot.