Actually, I have a year of real experience. The coolest project I worked on was emulation of a new ASIC design using FPGAs ans a big test board with a MIPS 4300 processor, some RAM, the ASIC, and other discrete parts. I wrote C code to test logic in the ASIC, such as CRC's, multiple DMA functions, data formatting/translation, communications (serial, parallel, etc), and more. I wrote and maintained LOTS of C code, with some ASM sprinkled here and there. If that is not practical experience, I don't know what is.
In school, I have learned Pascal, C, C++, and a little Java. We are picking up some SmallTalk in my OO class now. Learning a language is easy, though. You shouldn't have to take a class to learn new syntax. It is the paradigm that is the hard part. Learning how to design/think OO and procedural is what is important. With that, you can learn to use any programming language within a week.
On Windows:
If you are like Fenix, and worried about Windows, then stay away from CE. Most of us have extreme distaste for MS. Once you have an OS class, you will learn a lot about why Windows 95/98 is looked down upon by so many people. The NT kernel is nicer, but is definitely still a PC OS. You definitely get no/little windows programming experience, but that is how I like it. If you want to use MFC or Windows API, by all means go for CS, or maybe CIS. If you want to really make something, or learn how every little detail works, go for CE.