I won't recommend he freelance. I've fixed (and seen) too many n00b ****ups. Usually to do with people not willing to spend the money on a decent application (or they do) and get **** in return that can't grow with their business.
Having said that. If I were you I'd do the course and waste your time. At least you'll get some boring dude talking infront of the class pretending to know **** and "teach" you the basics.
I'd, however, try and get an entry level job somewhere to do with programming. But it helps to know a bit from a byte etc
I'd say M$ technology is the best bet going forward, easy to learn and understand and then spread out to different technologies. c# etc
However, If I were you I'd do LAMP (go look it up) but if you're a programmer it doesn't really matter in WHAT language you program in, most decent "worth their salt" programmers can pick up a language and run with it.
Enjoy your student life while you have it dude