Ok so lets first divide the people doing CP in India in broadly two categories :
College Students
School Students (Very Few at present)
Lets me talk about college students which form the majority of the class of people doing CP in India. Let me tabulate the possible incentives for a college student to do CP.They are as follows :
Getting a job at google,facebook,amazon etc. and other prestigious companies: However abstract it may seem it is one of the biggest reasons for most college students to do CP. So naturally when it is your biggest reason you only aim at getting an internship/job offer which you might/might not get in your 3rd or 4th year and after that they tend to loose interest from CP. So this incentive is not enough to raise your level after a certain point.
Very few onsite competitions (ICPC/Snackdown/TCO etc. and related onsite competitions) : Ok so this is also an incentive for college students in India to do CP and aim for ICPC(let us take ICPC first) but most of them only target reaching the regionals and not ahead of that plus those who target reaching world finals also only target reaching thereâŚperforming there and getting a good rank is something which nobody thinks about.Plus ICPC happens only once an year and hence its excitement is at max for about 30-40 days before the online round(for majority of participants) .Plus the other onsite competetions (There are very few) and they also tend to invite only a very few Indian teams (like in Snackdown very few indian teams are invited for onsites). Beleive it or not but it is a very significant reason- Very few onsite competitions. So the frequency of onsite competitions should be increased by a significant amount and also it will help in spreading the awareness about the essence of CP. Maybe some other onsites may be introduced.
Yep; that describes my subjective point of view - on one hand, I may be wrong about some stuff on that list; on the other hand - I already understand that I even missed a few more points there; and since I got several people messaging me with âYou just wrote down what everybody had in mind but didnât want to sayâ I believe I got it mostly correct.
I think training is the key word here, and training not just for ICPC but also for science Olympiads. I guess some of the high rated programmers are medallist in some science Olympiads. I read some blogs on CodeForces where some people mentioned that transitioning to CP(competitive programming) after preparing for math Olympiad for several years was easy.
I dont want every school going student to participate in CP(as the curriculum is very bulky in india) but they all can at least have a strong foundation in maths before trying CP, and they can have it by preparing for Olympiads.
Yes, it seems that one reason is that strong math background itself is really, really helpful in CP, and other reason is that having general experience with spending a lot of time on preparation to competition (it may be some other discipline, not even math) often leads to having better self-discipline and being more hardworking during training for CP.
There are very less 7 starer people from india on codechef(i guess 5), we need to increase that rapidly . I mean imagine the situation we have almost 100 people who are 7 starer.There would be a cut throat competition.And in that case even our 7 starer people will try to become better and better.And ultimately coding culture will evolve.So, now the thing comes to ,how
We will make more 7 starer .I am 4 starer and i know the topics which i have to learn like dp ,game theory etc but i am not able to learn them .i have tried to ,but still i was not able to learn .So,what i want is you guys teach us something like a topic and give us a question related on it with 2 or 3 days time , and slowly we all would become better.Also ICPC contest is a team contest and it would be superb if we could have a contest monthly or 2 team contest in a month .And i can guarantee you team contest will have max participation.
Thanks for adressing the issue.
Well, 7 stars arent manufactured somewhere that we can increase that rapidly lol XD
In a cut throat competition, yes your point stands that 7 star people will work hard. But I think thats it . It may not be the best/most-efficient step for helping to 5 and 6 stars to be 7 stars.
Regarding latter half of your answer,I will say it illustrates the fault in thinking of majority of coders. Let me ask-
âWHY ARE YOU WAITING TO BE SPOONFED?â Internet,resources,everything is at your hand! Look, we can provide the spark to set the fire, after that its on you. We cannot,and SHOULD not, spoonfeed
@o_0 , think a little more on your suggestion. There are many downsides of it as well, and it further promotes the issue of âLosing motivation.â And as I said, I dont see it affecting bulk in any way. We have to take steps so that more people are well versed with CP, there are more good coders from country- for this we need something which affects the bulk. I hope my point came across clearly, thanks!
@taran_1407-Blaming the education system that much isnt correct, and not productive in my opinion (since we cannot do anything about that). They feel schools should focus of development side of CS (teaching things like Word, Excel in detail for future use, focusing on principle of OOPS in programming etc) and are not wrong in holding those views either. They are just different from ours.
Ultimately the main factors are awarenesss and incentive. If you didnt know arrays till class 12th,then we should treat it as awareness issue than education system. They cant include everything in syllabus
From @lebron 's answer, I think one of the major difference is interaction of people with top coders, and frequency of camps. While I dont know exact number of camps held per year, I can definitely say that they arent much in frequency- and if they are- then again, awareness issue is grave here.
Basically increasing rewards. Yes, the points you said are valid.Not sure to what degree they are implementable, but the concerns are worth addressing.
On site competitions face some issues. Like, proper arrangements for venue, some candidates not coming due to high travelling costs etc.
And we cant say âThere arent enough contests heldâ as well. Join enough number of sites, theres a contest going on at one site or other 85% of time.
The issue boils down to, again, we can only spoonfeed you that much. After that if you lose motivation, or loce incentive, then we cannot do much about it.
Like, in your argument- why are you favoring onsite contest over online ones? One contest or other keeps happening, but not many will participate diligently. Thats the problem. We can provide spark for fire, but thats it.
@lebron okay I may have exaggerated but I only said this because thatâs what I heard from other top coders. But still the amount of awareness and enthusiasm about CP in Russia is much greater than in India.
Onsite contests tend to boost motivation much more. Also for a lot of onsite competitions there are usually sponsors covering travel expenses for finalists (at least up to some extend) - so if you manage to organize it this way, it should be really nice.
And regarding reasons for better motivation - well-organized onsite competition is a way to spend time nice, to meet new people etc., there are lots of small pros on this side. Like, what sounds better - âI did CodeChef contest with tourist! And 5 thousand other guysâŚâ or âI was at SnackDown, and I saw tourist himself thereâ? In countries like Russia top contestants are active part of community, so itâs not a big deal meeting/talking to tourist or Petr etc. even when you are not so strong.
Yeah, it probably was an awareness issue, but donât you think that the awareness issue is the major roadblock for CP in India? I donât blame education system at all, but want to convey that the very idea to improve the lower bound of competitive programming would be to create awareness. Maybe holding quaterly contests with prizes, recognition can do the trick. If education system doesnât include CP, then we have to attract people to CP. No oneâs gonna wake up by himself and start doing coding.
Yes, I agree with those points. Interaction is bound to have a good effect. Yes, sponsered ones should be feasible for codechef as well. Lets see, I think they can do something in this field.
Yes thats why I explicitly mentioned onsites. There is a way big difference between an online and an onsite in terms of incentive to participate. Plus there are a lot of onsites happening (agreed) but almost all of them are restricted to participation only from that particular instituion.If they are sponsored well and conducted at some good level then it is bound to become popular and will definitely be a boost for all the coders.
Maybe Codechef can coordinate with some of the colleges to make their annual coding contest a national(or state) affair.It will result in bringing all the good coders of that region under one roof and will really be a good incentive for all the coders out there.
Being a college student(I am from NSIT btw) and having organised the annual coding contest of my college I feel the enthusiasm with which the people come for onsite is way greater than that for an online contest (For ex the coding contest of our college was scheduled for 9AM and yet all the good coders of college came to participate.Instead had it been a codeforces div2 or cookoff not these many people would have given that).But again most of the participants were from the instituion itself.