I myself participate in the ACM ICPC contests and they're a great way to get coding experience under pressure, as well as work with some upperclassmen and pick up skills from them. A lot of what you need to know are algorithms and data structures associated with those algorithms. Perl seems to be a good language for working with
abstract structures. Yay for references.