I study in Heidleberg, and yes it is a beautiful town, but that's about it. Tons of tourists and a lot of tourist traps (bad and expensive restaurants in the old town), I wouldn't want to go here as a tourist, although there are some nice spots and good restaurants, but not in the old town. I'd also prefer Trier and the Mosel region.
When you are already in the south, have you considered Lake Constance?