Competitive Programming is basically solving programs using algorithms and data structures.I have solved over 450 problems from last year on codechef.com. This is not my main EC but can I list it as my EC. By the way algorithms and data structures are not taught in high school (taught in undergrad - level course)
I have also taken part in many competitive programming competitions and won 2 of them in the past.
I would say that this is not considered an extracurricular. You can probably put the competitions into the accomplishments category but I would not mention codechef.com.
Yes it’s an extracurricular. You clearly spend a lot of time on it and care about coding. There isn’t one official way to define an EC. College admissions officers just want to know what you spend your time doing so they can get a more clear picture of the type of person you are.
Why in the world would this not be an EC? Yes, it is. You might put a brief (bulleted, very concise) explanation of what it is in your additional info section, unless you are writing about it in your essay.
I wouldn’t view the solving of algorithms alone as an extracurricular, but if you have recognized hackathon wins or something of the sort it would probably go in “Awards” instead of extracurriculars.
Colleges don’t really care which category you put it in as long as it is spelled out in the application somewhere. In fact, if you have a lot of closely related ECs, one approach to take is to create an EC called something like:
Programming, and put “see additional information” in the description.
Then in additional information have a header called “Programming”, and bullet out your activities and accomplishments. You can put your related awards there if you want to.
Colleges do read your full application. As long as the info is in there somewhere, they will see it.