What is CP
CP is short for Competitive Programming. Unlike software engineering, in CP, we need to implement certain algorithms and data structures within the given time, in order to solve some particular problems which may not have practical meanings.
Why do CP
Every one has their own reason for participating in CP. Personally, I think CP is a "thinking gymnastics".
How to do CP
There are a lot of online CP platforms, like Codeforces, AtCoder, USACO, Leetcode, Luogu, etc. There are also many platforms offering online judge, which can be used for practice, for example, POJ, HDOJ, Kattis, UVA, SPOJ,LibreOJ, etc.