A good answer depends a lot on your personal and professional goals. Some possibilities:

- Do a startup.

- Work in industry.

- Become an academic in CS.

- Become a more well-rounded person.

While there can be some classes that meet more than one of these goals, I strongly suggest that you figure out your goal and work from there.

Some possible classes:

- Business courses. Economics, finance, and business/contract law are often good ones. Some marketing courses can be good as well -- it really depends on the school. I personally enjoyed a class about risk management (e.g., insurance).

- Anything that develops soft skills like writing or speaking. When picking a subject, I suggest trying to avoid some of the "warm and fuzzy" classes -- you will rarely get quality feedback, and "success" is defined as how well you toe the party line. Someone else suggested creative writing, and I suggest that this can be a hit or miss depending on your classmates and your instructor. Look for classes that will provide you with fundamental structure and constructive feedback (e.g., what you did well, what they have questions about, what needs work).

- Related to the above, make sure you know how to use Excel and PowerPoint well. Excel can be a really powerful tool for non-programmers, and it can serve as a functional gateway of trust between a programmer and non-technical people. For PowerPoint, try to learn how to make clean presentations (not a lot of text, don't read what is on the slide, not a lot of gimmicks) and how to present them well.

- Fine arts. These classes absolutely blew my mind, and they really changed the way I perceived the world. Make sure you choose a good professor -- the good ones are really good, but the bad ones can be really bad. Don't be intimidated if you find people who have been doing the art you take for years.

- Art history might serve as a light version of "fine arts", but make sure you take it seriously. It is often an easy class taken by lazy students, so the standard to get an A might not be very high. That said, there is a great deal amazing content above and beyond the basics of memorizing certain eras and certain artworks.

- Consider joining an improv group, even if you think you will be bad at it. The skills you learn are invaluable: team work, public speaking, coping with failure, appreciating success, etc.

- History, especially economic history. History really does repeat itself, and this is especially true in economics. Classes like this make it easier to reflect on what is going on today.

- I personally enjoy anything related to cognitive development.

- Lastly, I suggest reading Undergraduation from 'pg (http://www.paulgraham.com/college.html). An excerpt:

"The social sciences are also fairly bogus, because they're so much influenced by intellectual fashions. If a physicist met a colleague from 100 years ago, he could teach him some new things; if a psychologist met a colleague from 100 years ago, they'd just get into an ideological argument. Yes, of course, you'll learn something by taking a psychology class. The point is, you'll learn more by taking a class in another department.

"The worthwhile departments, in my opinion, are math, the hard sciences, engineering, history (especially economic and social history, and the history of science), architecture, and the classics. A survey course in art history may be worthwhile. Modern literature is important, but the way to learn about it is just to read. I don't know enough about music to say.

"You can skip the social sciences, philosophy, and the various departments created recently in response to political pressures. Many of these fields talk about important problems, certainly. But the way they talk about them is useless. For example, philosophy talks, among other things, about our obligations to one another; but you can learn more about this from a wise grandmother or E. B. White than from an academic philosopher."

Best of luck!