I finished my UG last year from India, but participated in several OPC's( Online prog contests) winning a few. I also represented my Univ in IBM-ICPC(Inter collegiate prog contest).. all of these were wonderful experiences.Trying out such problems really helps ... and increases your understanding of algorithm complexity and related literature... Google Summer of code during the last year of Univ was also fun.. albeit a different kind of experience...nonetheless taught me a lot. Both me,and my teammate during these code contests who was also a high performer in TC and currently work at different startups. I genuinely believe these experiences definitely made us better hackers.