A programming contest consist of several problems to solve, individually or as part of a team, using logic, math and algorithmic and reasoning skills. The solution to each problem must be implemented in a programming language and is judged by comparing it with the judges solution on several test cases to check whether it is correct or not.
Contests have problems spanning a wide variety of topics: data structures, game theory, greedy algorithms, dynamic programming, brute force, arithmetic, computational geometry, etc.
A Training Camp prepares the students to participate in programming contests. The most important of them, the ACM ICPC, is our main goal when we prepare the students of a Training Camp. Besides that, by learning to solve algorithmical, logical and mathematical problems, the contestants are very well prepared to face interviews at the top software companies in the industry, many of which are or have been sponsors of the Training Camp.
Yes, even though the training is very focused on the ACM ICPC Regional Contest, it prepares the students for any kind of programming contest.
We use C, C++, Java or Python, since those are the languages available at ICPC.
Besides the technical aspects, the Training Camp will have moments of recreation, and some time for the sponsors to give a presentation to all the participants.