I have been to both cities and I can say that both are really really beautiful cities - but very different.
Heidelberg is a very popular and attractive city. The beautiful old town is situated in the valley of the Neckar river. Being one of the few cities that suffered hardly any damage during World War II, it is a pleasure to stroll through its narrow and picturesque streets. Every part of Heidelberg is easily accessible on foot. The lively main street is ideal for shopping. Heidelberg's castle is world famous and paying a visit is something one can not miss – the reward is an incredible sight. In Heidelberg I can highly recommend you the F+U Academy of Languages which was rated as excellent by its former students.
Cologne on the other hand hosts many galleries, museums and trade fairs, and also the Rhine and the Cathedral. The city also offers many shopping streets and has the highest concentration of pubs and taverns in Germany. Moreover it is situated in the mid-west of Germany so it is the perfect starting point to discover cities all over Germany. Many cities like Dortmund, Bonn or Düsseldorf are only about 1 hour away and even Hamburg is not too far away (approx. 3-4 hours). Here our top school is the Carl-Duisburg Centrum which is known for its high quality.