I would concentrate more on language breadth (learn a lot of them).
If you already have a grasp on C languages, try some non-C languages that do things very differently.
Namely, functional and dynamic languages. You've already covered procedural and OO (Java).
Outside of languages, more than likely you haven't learned OO concepts very well yet. Not your fault, colleges are notorious for teaching bad OO practices (I've only been proven wrong on this once). Design Patterns are another good topic to investigate.