I have found over the years that one of the most valuable skills you can cultivate is being able to read people to figure out what they really want. Through your whole career, and especially earlier in your career, people are going to ask things of you. Senior people are going to give you tasks and assignments, clients and customers are going to give you problems to solve, etc. It is a tremendously valuable skill to be able to talk to people and figure out what is really being asked of you and what the other person really wants and needs. When you can get in the other person's head and figure out what they need, you will: 1) make fewer mistakes; 2) waste less time on tangets; 3) be able to anticipate problems; 4) inspire confidence by asking the right questions; and 5) deliver exactly what is needed, no more and no less.
I'm not really sure if you can take a class that will teach you this skill. Socializing at parties is actually a great way to work on this skill--try to meet new people and see how quickly you can figure out where they're coming from. Working on group projects is also a great way to build this skill. As a freshman or sophomore you'll usually be the one getting assignments and as a junior or senior you'll be handing them out, and when you see both sides of the coin in a similar setting you can really develop an appreciation for what good communication looks like.