The underlying question behind the question is really about what CS students should be exposed to...
When I was a beginning CS student I was exposed to a number of different languages, each being an example of a different mindset: machine language, object-oriented, functional, logical.
I think that's important to learn not just about a programming language but about concepts. Especially in object-oriented programming there are quite a few concepts that you should have a grasp of to be a good programmer in any object-oriented language. And there are times that you could use lessons learned from functional or logical programming that you could apply also in OO programming.
Once you are proficient enough in one language, and having seen a few different languages, picking up another language is easy enough. (the exception being C++) Then the challenge becomes getting acquainted with the standard library.
Myself, I was somewhat self-taught before college. Started with Basic on the Commodore 64 and then 6510 assembly. Some basic on the Atari ST. 68000 assembly on the Amiga. Then C and C++ on PCs.
I would otherwise recommend learning Ruby or Python. Ruby is underappreciated.