Which of these extra-curricular studies would benefit a CS student the most?
Algorithms
Advanced OS programming
Image processing
Computer graphics
Open source development
Practicing on TopCoder or Codechef
Something else?
I realize the decision can be influenced by a number of factors, such as personal preference, what's currently hot in the jobs market, and what is likely to be in demand more in the future, however I would like to ask more experienced programmers which one(s) of these would be most beneficial to learn alongside all the required CS academics.