You are not logged in. Please login at www.codechef.com to post your questions!

×

How to improve the competitive programming scenario in India

23
5

Hi CodeCheffers,

We want your feedback regarding how to improve the competitive programming scenario in India. The feedback is required for improving not also the levels of lower skilled/rated programmers, but also high rated programmers. In other words, how we can improve both the lower bound and upper bounds of the skills of programmers.

The purpose of taking this feedback is to identify the areas in which we can improve the competitive programming skill levels of people.

It will be great if you can share what sort of issues do you face, and what can be possibly done in order to address such issue/s. The suggestion can be hard to implement/could even be quite impractical/might require a heavy investment of resources like time and money, still, it'll be a good idea to at least know about them.

Please feel free to suggest your views about what can be possibly done in this regard. We will go through all the suggestions and find some concrete steps/tasks that can be possibly worked out. If the manner of your suggestion is public, then you can leave it as a comment here. If it is of personal nature, you can leave your feedback here .

Please contribute!!

Thanks,
Praveen

This question is marked "community wiki".

asked 26 Oct '17, 12:55

admin's gravatar image

0★admin ♦♦
19.8k350498541
accept rate: 36%

edited 26 Oct '17, 14:08

vijju123's gravatar image

5★vijju123 ♦♦
15.5k12066


40

For improving the scenario you need to know why is India behind in this aspect of computer science.

  • Lack of awareness- Very little school children know about CP. Courses like ICSE, ISC focus more on Object Oriented Programming with languages like JAVA etc. It is also another side of CS and we cannot do anything about this. Whats sad is that, most of students believe that "computer does stuff infinitely fast" and have no knowledge about time complexities, or any other fundamental basics of CP. I assume that codechef is already trying to tackle this issue.
  • Extremely bulky academics- This applies for school as well as college students. In school, class 10th has boards (and at least 10 subjects whose exams he has to give). In class 11th and 12th, theres JEE. Again, extremely heavy academics. Further, the fact is that if someone screws up entrance exams like JEE, he wont get CS. We live in a country where knowing molecular structure of Benzene determines if you will get to study CS in college or not. In college, you cannot take many extra curriculars without risking your grades. Harsh truth :( . I dont think we can do anything about system as of now.
  • Time consuming nature of CP- CP requires dedication and time to excel. Just the mere satisfaction of solving a problem wont attract many people here. Its good that regular contests and prizes take care of this aspect, we can explore more here. If a little more fraction of users can be given rewards, even if extremely minor, it will exponentially increase motivation.
  • Solution for above: In long contest, one of the early things I came across was "Are laddus given to Top 300 people by formula "Laddus=320-rank". I suggest that, each long, Top 100/150/200/300 (any suitable number) users be given 10/15/20/25 (any suitable number) laddus. Even if its not much, the fact that he "earned" something with his CP skills will strive many people to improve and consistently do better. This will further increase participation (and popularity) of CodeChef as well.
  • A HUGE list of topics to cover- "Where to start?" has got many,many people stranded is what I know from the mails I get. Initiatives like "A problem a day" and "An algorithm a week" should be taken by facebook and twitter pages. Links to blogs and video resources will help coders in making and successfully achieving a daily goal of doing something productive. (Thanks to one of my friend @saisurya027 because of whom this came to my mind while going through CodeChef's FB and twitter pages :) ) Because, do you know whats better than memes? Yeah, MEMES + THINGS TO BOAST MY CP SKILLS <3 . I am already trying to co-ordinate in this aspect with one of the admins. :)
link

answered 26 Oct '17, 14:22

vijju123's gravatar image

5★vijju123 ♦♦
15.5k12066
accept rate: 18%

edited 26 Oct '17, 14:25

9

I think point 2 is the most important. There is absolutely no incentive for school students to study computer science. Even if a student wants to enter a technical stream and even if that stream is CS, only his knowledge of physics, chemistry and maths is used to judge his capabilities.

(26 Oct '17, 15:15) meooow ♦6★
1

Yes, it is the BIGGEST hindrance, yet we cannot do anything about it :( . Of course, some admissions are offered on basis of excellent performance in CP (Like direct admission in IIIT-H if you get _ in IOI or perhaps something like that?) but those options are very limited, and risky. Any parent would want his child to study PCM for a secure future.

And I think I didnt even got to the fact that how "placement" is sometimes the only reason one starts CP in college- we need to work on how user can appreciate it.

(26 Oct '17, 17:54) vijju123 ♦♦5★
3

I vote for the appropriate fraction of laddus idea depending on the rank obtained in a contest. The current policy of cash rewards to top 3 performers may stay. But I support the idea of distributing appropriate laddus to remaining top performers or T-shirts, and it would be motivating as it will give a feeling of earning something.

(29 Oct '17, 16:42) utkalsinha6★
32

I'll write an answer as a person who have never been to India, so it may be that my perception is completely wrong (I'm definitely going into some kind of guessing in a few places) - sorry in advance.

One thing which has been pointed in other answers already is coverage. I believe there are quite a lot of people who may find problem solving interesting and enjoyable, yet they are not aware of it. I am from Ukraine, and I discovered competitive programming in 10th grade because of folks from ICPC team Scorpions which represented Lviv National University at ICPC 2008 and got gold there. These guys were doing their best to promote this activity, and they just gave some promo speech about it at some local olympiad (I'm not even sure if it was informatics or not), showing how cool it is and giving link to local online judge.

Still my first motivation was to simply get diploma at national competition because back then prize place at national competition in any discipline guaranteed university enrollment :)

Making people know about it while they are still in school is a good idea; generally you don't really need to have competitive programming as a school subject on national level - it is not like that in Ukraine, Russia etc. :) But having something related in some specialized schools is a good idea.

Generally you need some way to reach out children to show them what competitive programming is and why it may be cool - even cheap trash like "it's a way to get job at Google" may work, but I'd prefer being more honest on it and putting different priorities there :) So these who find it interesting will give it a try, and they'll enter university with better background and enough time to reach higher levels.

Having some training groups / classes / volountary courses at least at schools with stronger students should also help to both increase coverage and find those who are interested and can do well.

I don't know how many people in India are doing competitive programming at any serious level. I believe that doing it actively for 4 years should be quite enough to reach red ratings starting from scratch, so India not having many red contestants may be not about starting late (which may be the case for not having elite level contestants) but about not having many people doing it actively. I know how training of the team who won ICPC Finals this year looked like - that's about having 3-4 team contests per week plus multiple training camps for several years, and then increasing intensity to basically having a training each day (with some exceptions) for last half a year before finals. In case there are teams in India who do 200+ team contests per year plus upsolving plus individual practice for several years in a row, and they can't reach some decent level - I don't know what's wrong and how to help them, because I really believe that intense practice should give results even if it is done not so properly.

These "where to start" and "in which order to learn stuff" things don't make much sense to me - at least on the upper part of the scale. There are always some exceptions, but I personally wouldn't expect much from people who aren't even able to use Google. I mean - show them what competitive programming is, show them how Google works, and that's enough. Developing community may matter a lot though. For a lot of people having somebody to discuss stuff with / to compete against is helpful or motivating. In Russia strong teams nowadays are attending at least 4-5 training camps per year (often even more). When I moved to Russia for a year to participate in ICPC over a course of 10 months I participated in 5 training camps - as far as I remember :) I tried to recall it now, and these 5 are only camps which I recall, but I'm not even sure that there were no other camps in between :) I don't know how many training camps are there in India, but probably it is not like that.

Giving more motivation by increasing number of ways to get prizes, number of different contests/camps etc. should work. Also, emphasizing some stuff during promotion may matter. People believe that in tier-3 college they have no chance? OK, pick a few guys from such colleges who reached good results and use them as an example. I bet if you'll take some guy from company like Google, who finished tier-3 university and he'll visit some "not-so-good" college and tell his story - some people may get interested or even motivated.

Imagine this story: "I finished university X - just like your, it's not so well-known. It's not like one of these top universities where you have 10 big companies coming for placements - nobody knew about mine, and I'd probably have hard time getting noticed by Google or Microsoft. During my time there I started doing competitive programming, and I got rather well in it. It turned out to be interesting, thrilling experience; after I got decent rank in GCJ competition, Google contacted me and asked if I'm interested in internship/full-time job. I send them my CV and they scheduled interview. Tasks which I was solving during my CP years were somewhat similar to some of the tasks you have to do during interviews, so it was making things easier to me. Also, during my university years I attended several international competitions, including ICPC World Finals where you have to compete against best contestants from all over the world, and I met a lot of smart, interesting people there. Now if you want to give it a try - check sites like A and B, and maybe you'll also enjoy it; Internet contains everything you need for preparation, so don't worry about guys from top colleges having better lecturers. Just check it - maybe you'll find it boring or complicated, but there is also a chance that you'll enjoy it and turn it into way to get noticed by big companies, meet a lot of interesting people and learn a lot of interesting things." You know, I think sometimes such stories may work.

link

answered 28 Oct '17, 01:09

lebron's gravatar image

7★lebron
3.3k317
accept rate: 24%

edited 28 Oct '17, 01:20

2

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.

(28 Oct '17, 11:46) skyhavoc4★
2

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.

(28 Oct '17, 12:08) lebron7★

As you mentioned about serious training camps....these are very few in India(I can hardly recall only the codechef training camp which happens in june).I also believe there should me more and frequently.Also as you mentioned....the incentive by naming company is also not the solution according to me.

(29 Oct '17, 16:53) abx_21094★
1

Let me take up a person X. He is in college(assume 2nd or 3rd year) and he is doing competitive for about an year and has become quite good at it.Let some of his friends are in the development side and are winning hackathons every single week(yes they happen this frequently).So What is gonna happen next? He is bound to loose motivation because the competitive guy is not winning anything that significant so frequently.This happens with many people(I have seen many).

(29 Oct '17, 16:57) abx_21094★
1

I don't know; I'm not sure if we have so many hackathons here in Ukraine. Here it would be more like "you can start working and making money from around 2nd year of your studies; why would you decide to spend your free time on CP instead?".

(29 Oct '17, 19:37) lebron7★

Damn! That sounds kind of cool to be honest!

(29 Oct '17, 19:43) vijju123 ♦♦5★

I wonder why none from MIT participates in CP? Or, am I missing some best programmers from MIT actually participating in contests that I am not aware of? Or, they are on other platforms instead of CC?

(29 Oct '17, 23:40) utkalsinha6★
showing 5 of 7 show all

We always see that in almost every programming contest Russians are among the top in the rank list. This is because competitive programming is an integral part of their education system right from an early age. That's not the case in India. In my case I came to know about competitive programming in my college and I liked it very much. But I feel like if I'd have known about it in my 8th or 9th standard in my school I would have built a great foundation. My school didn't have any competitive programming society or something barely related to it. So I was completely unaware about competitive programming. So, to sum it up we should make competitive programming a part of school system in India.

link

answered 26 Oct '17, 13:59

underdog_eagle's gravatar image

4★underdog_eagle
1618
accept rate: 0%

6

You are greatly exaggerating it when you say that it is "integral part of education system" in Russia.

Most of children don't face it at all during their school years, except of those who attend one of the very few specialized schools which put it into their course (and to me it feels like there are maybe 10 such schools over whole country), or they are doing it on their own.

I'm from Ukraine, and situation here is generally similar. I didn't know about competitive programming almost till the end of 10th grade - so I discovered it a bit over a year before finishing school.

(28 Oct '17, 00:07) lebron7★
1

And in my case the reason was not education system, but huge effort on popularization of this activity by guys from the university which I later enrolled - they were ICPC Gold medalists a year before that and they did their best to promote competitive programming.

(28 Oct '17, 00:08) lebron7★

Mate, it's still better than India. I got to know about arrays at the end of 12th grade!!. I still wish i had got to know about competitive programming earlier.

(28 Oct '17, 00:13) taran_14076★

@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

(28 Oct '17, 14:35) vijju123 ♦♦5★

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.

(28 Oct '17, 14:37) vijju123 ♦♦5★

@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.

(28 Oct '17, 19:06) underdog_eagle4★
2

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.

The way is to induce people to code :)

(28 Oct '17, 19:25) taran_14076★
showing 5 of 7 show all

Start with not putting all math problems in important contests like ICPC Preliminaries! Why? Because its a programming contest, not a math contest. :)

link

answered 06 Nov '17, 01:17

shubhiks's gravatar image

4★shubhiks
732312
accept rate: 0%

1

I REALLY agree with this. While its OK to have 1-2 math Q, but HOLY FUCK WHAT WAS IT HERE? NO DP? NO GRAPH?

If some JEE math is what you are sorting teams for selections, then honestly you cant complain when they fail at dp and graph Q.

Last year 7Q, 1 Q from each important topic was a good system honestly.

(06 Nov '17, 01:20) vijju123 ♦♦5★

It is not there in the grassroots of our education system , that is the main cause of failure, possible awareness is not there. Without looking far , i can give you my example , i came to know about coding and all in 1st year , which is late as compared to other countries where they start from primary levels , moreover there is CS in primary education , and more emphasis is given on how to bring marks rather then applications and such competitiveness with others.

And when you come to the low level programmers , i should not term them as that , probably one of the biggest issue is if you solve 2 out of 5 problems , users do not have the proper guide to look back and say "lets know how to do the rest 3" , the resources are far too minimal in this case, and moreover i do not think every college or a school has a senior who has done all the 5. And the editorials , be it codeforces or here at codechef are too concise to understand if a beginner fails to solve a problem , i hope a better solution is when someone explains it , if you can create video editorials , then the development will be at a far rapid speed , as someone explaining is more preferable and most of them understand , a 2 liner editorial , from a 6 or 7 is only suited to them who could not solve it by just a minimal margin. For someone who is trying to be big , its tough for him to make that transition from low to high , there is a huge gap between low and high in India , whereas in other countries , there is just a gap of speed , people are able to solve most problems , but here in India both the problem exists.

That was my view, and more awareness should be created at primary levels, that will help more people to get in to such zones.

link

answered 26 Oct '17, 16:30

striverlearner's gravatar image

3★striverlearner
46910
accept rate: 0%

Hi, My answer is going to be quite long, so please hold up.

How to improve CP in India (both in terms of lower and upper bound) ? The answer to this question lies in the question : Why should one do competitive programming ? What are the profits ?

Is it learning only ? If it is only learning then why make it "Competitive" ? Why should a person submitting a solution by knowing and implementing the same algorithm be ranked after a person who just submitted 5 minutes before him ? How does this competitive nature improve the quality of education ?

So I guess it isn't just learning , it's also about winning and losing . Okay , even if it is so , What are we wining or losing for ? There are thousands of candidates for ACM ICPC every year from India , Out of which , few of students get selected to represent their Universities in World Finals. It is a plus point, to get yourself recruited. But what about the other candidates . Ohh yes, they have gained some good knowledge about algorithms , problem solving and teamwork .

But are they even ever asked ? Would these companies who look for "problem solving" capabilities visit their campus . No, I m not talking about IITs, NITs or BITs , all other colleges except these ? Few service based companies visit our campus and they hardly care , because they come to recruit mere mechanics than engineers. My point is that why should one do CP when there isnt a fair chance for employment. Take the case of Directi . As I knew , Directi only visits IITs, but from this year onwards , all of us will be getting the fair chance to get ourselves interviewed by Directi through Codechef CCDSAP certification Program . And I thank all of you for this.

MY point : "Give people the reason to do CP . "

Moreover the success rate of CP from a Tier-3 college is so low that it doesn't even interests student. There are 5-star and 6-star rated coders from Tier-3 colleges and they don't even get interviewed by the companies who look for "problem solving capabilities" .

My advice : Please include more companies for CCDSAP certification program so that each year 300-500 students get recruited through this. This will give motivation to students who are in college . And I do believe that Motivation is the Key . Many good coders start during their first years but leave saying "there aren't much opportunities for me.". Trust me, for a Tier-3 student, doing CP by learning programming in 1st year takes a lot of his time. At the end he becomes good with problem solving and algorithms. He needs a platform . ( HackerEarth isn't one , most of the companies on HE are looking for candidates with experience. and even if few companies give open challenges, there is this whole community looking to grab this one opportunity (the same students who got recruited bcoz of ACM ICPC gets recruited again :) ...) and at the end the strive for learning becomes the source of depression. )

Please Don't get me wrong I just wanted to say that, If you believe that CP is the key to increase the potential of a Software Engg/Dev , then why so less are recruited through these open challenges (while more recruitments are done through other channels )?

link

answered 28 Oct '17, 00:09

rohan_bose95's gravatar image

5★rohan_bose95
60215
accept rate: 8%

Basically increasing rewards. Yes, the points you said are valid.Not sure to what degree they are implementable, but the concerns are worth addressing.

(28 Oct '17, 14:41) vijju123 ♦♦5★

Ha Ha. Just Include Competitive coding in syllabus of IIT-JEE and you will find out thousands of red coders.

link

answered 06 Nov '17, 18:23

swamicoder's gravatar image

4★swamicoder
2347
accept rate: 10%

Well everyone talking about colleges. I'm a class 10 Indian school student speaking here in a student's perspective. Main problems I face:

  • Board exams & Academics.

  • No environment or ecosystem.

  • Parents and Society discouragement.

1.Academics: I had never heard a word related to "Computer" in our curriculum. My friends and I were busy loading paragraphs to our brains literally to dump on the answer sheet. Our outdated education system takes computer science admissions through the marks scored in physics and chemistry! But not with the skill, interest or passion whatever it maybe. So, students basically doesn't know anything about programming until they enter engineering college.

We have class 10 board exams, class 11 (in some states) and class 12 board exams. And there is another big brother so called IIT-JEE for which most of the Indian students sacrifice everything. Basically, no student practices coding at the risk of academics.

No time to code.For example, I'm out of my home from 7AM to 8PM everyday for various things like studyhours, coaching centers,exams etc.

No coding environment: I used to stay late nights due to bugs. My parent scold. There is no one to learn with. It is so better if we have a team of coders. Internet or Google is the only way to discuss about a specific problem or solution. No one in my surroundings know about programming. They ask me questions like why I am wasting time with laptop instead of studying. Almost everyone of my friends want to join CS but they don't know why. usual conversations between me and my friends goes like this:

Me: Hey! what do you want to do in your life?

Friend: I will become a software engineer.(my friends actually doesn't know what software engineer does.)

Me: But why?

Friend: It's pretty easy than other jobs. We can sit in an air conditioned room entire the day in front of a computer and we can also earn crores.(Sundar pichai and satya nadella effect!)

Me: Are you really interested in programming?

Friend: Yeah! My father bought me a PC when I was a kid. I used to play games with it. And now I can operate computers and android devices so easily.

Me: My dear friend, There are things beyond operating computers,mobiles and playing games.

Parents & society: My parents say "You should work in a computer repair shop after completing your class 10 exams. That is what you will do if you waste time with laptop" A few months before I drove a hard bargain with my parents to buy me a laptop and they did. Then family members and friends of my parents used to ask some senseless questions to my parents like "He is in class 10. So, he should study hard. why did you buy him a laptop? you are wasting his future." At some point in my life I used to have thoughts like, "Why am I coding if everyone is opposing?" "I should stop coding and start studying so that my parents will be happy". The opposing force you get if you do things out of the rat race is unbearable. So, Instead of thinking out of the box, I should go with the rat race and study to score good marks in Physics and chemistry in order to get in to a good college for Computer science undergraduate degree.

I can do anything I want but badly I have to follow the mad INDIAN EDUCATION SYSTEM RAT RACE


Thanking you, The frustrated Indian school student juggling with coding and academics.

link

answered 29 Oct '17, 22:22

phanindra02's gravatar image

1★phanindra02
321
accept rate: 0%

I agree with that PoV that PCM decide way too much and beyond what they should. Maths is ok, but physics and chem for CS sound really weird.

Your parents arent wrong, they just want you to get a good engineering college- where you can get CS and pursue it. Because well, its a more fool-proof path.

(29 Oct '17, 23:44) vijju123 ♦♦5★
  • Competitiors from Russia, China excel in Competitive Programming because of their strong mathematical background right from the school days. And in India, people are mostly preparing for JEE and learning all the maths stuff during this time which is also not enough for CP.

  • Most students start CP after getting into college after the first or second semester.

  • Even if a student starts CP in school, he/she has the parental and peer pressure of preparing for JEE. There are not many colleges which admit students on the basis of programming skills.

  • When students think they are not improving, they get demotivated and start doing some projects etc and leave it.

  • Some people which continue doing CP are only doing it for high paying job and don't enjoy it. These people then complain that they are not improving even when they are trying hard.

So only a few people remain who continue,enjoy and have achieved success in CP.

link

answered 29 Oct '17, 23:50

saurabh119's gravatar image

4★saurabh119
823
accept rate: 0%

One thing I would like to request codechef is to hold events like Indian Programming Camp multiple times in a year. Instead of having one camp in a year , we can have 2-3 of them in the summer breaks and 1-2 in winter breaks with additional constraint that one person can participate only once in a year.

In the current scenario , IPC only benefits those who are already well versed with cp. It will be a great help if relatively weaker people can be selected for the camp. I whole heartedly wanted to be in the camp but sadly I knew that I will not be able to make it. If more people become good in this sport , it will surely shoot up its popularity.

I seriously hope that I will be eligible next year .

link

answered 26 Oct '17, 21:12

trashmaster's gravatar image

2★trashmaster
98619
accept rate: 12%

Most of my friends are in 3 tier engineering college they don't know anything about competitive programming. Becuase there is no environment of it so they completely neglect it, even I came to know about competitive programming in my college during my first year. I wish i would have started it earlier. And one more thing Our engineering syllabus is very much complex we are studying economics,physics and all sorts of rubbish subjects which doesn't hold any value in an engineer's life. And if we are losing with our grades then we will not be allowed to sit for our campus placement due to this thing i am forced to focus more on academics than on competitive programming .

link

answered 26 Oct '17, 23:52

himanshu98's gravatar image

3★himanshu98
271
accept rate: 0%

Lack of awareness, no proper guidance and if their very first solution gets wrong answer people tend to get demotivated and decide not to do it further. Keeping all above fact in mind there should be one more program to guide new users how to progress in competitive like we have launched for data structure. This is my point of view towards your question and in the beginning i had faced same problems though i am still a beginner.

link

answered 26 Oct '17, 20:35

rishu_yadav's gravatar image

2★rishu_yadav
11
accept rate: 0%

@admin If you want to improve the level of all coders then you need them to compete with the best coders in the world and for that treat every coder as equal, don't give more rewards to Indians even if they are getting poor ranks, set a lower bound. Like codeforces is a russian oj but it doesn't give extra privileges to Russian coders.

link

answered 27 Oct '17, 19:52

o__0's gravatar image

3★o__0
1335
accept rate: 0%

Rewards are only given to Top 10/20 coders. I fail to see how removing reward for those top people going to "motivate" the other thousands of coders behind them.

(27 Oct '17, 21:15) vijju123 ♦♦5★

@vijju123 I clearly emphasized on giving equal privileges to coders of all countries, so as to attract best coders to increase competition, and those 10-20 coders most of the times goes upto rank 80-100, and indian users coming in top-10 in codechef will not even come in top-50 if the good coders start competing at codechef as you can see from codeforces standings of any competition, none of them makes in the top-50.

(28 Oct '17, 01:28) o__03★
3

As a person from outside India I can say that what you pointed out isn't among important reasons why a lot of strong contestants from outside India don't participate in CodeChef contests.

(28 Oct '17, 01:43) lebron7★
2

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.

(28 Oct '17, 11:16) lebron7★

@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! :)

(28 Oct '17, 14:26) vijju123 ♦♦5★
showing 5 of 6 show all

Ok so lets first divide the people doing CP in India in broadly two categories :

  1. College Students
  2. 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 :

  1. 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.

  2. 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.

link

answered 28 Oct '17, 02:46

abx_2109's gravatar image

4★abx_2109
275111
accept rate: 0%

edited 28 Oct '17, 02:51

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.

(28 Oct '17, 14:45) vijju123 ♦♦5★
4

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.

(28 Oct '17, 19:08) lebron7★
3

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.

(28 Oct '17, 19:10) lebron7★

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.

(28 Oct '17, 19:29) vijju123 ♦♦5★

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.

(29 Oct '17, 02:23) abx_21094★

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.

(29 Oct '17, 02:24) abx_21094★

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.

(29 Oct '17, 02:40) abx_21094★
showing 5 of 7 show all

nice initiative @admin ♦♦ .

link

answered 26 Oct '17, 13:35

parth191's gravatar image

1★parth191
7061316
accept rate: 4%

5

Your response is a comment. Please put it under admins post's comment section.

(29 Oct '17, 16:44) utkalsinha6★

My problem is from where to start ???and which topics to learn in what order???and sometimes if my solution is not accepted it is frustrating and loses motivation for cp!!

link

answered 27 Oct '17, 07:34

parth191's gravatar image

1★parth191
7061316
accept rate: 4%

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.

link

answered 28 Oct '17, 13:03

aadeshrathore's gravatar image

4★aadeshrathore
313
accept rate: 0%

edited 28 Oct '17, 13:06

1

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

(28 Oct '17, 14:23) vijju123 ♦♦5★

what about team contest?

(29 Oct '17, 12:34) aadeshrathore4★

And i don't believe in spoonfeeding. I thought that might be a helpful idea.After all it was just a feedback.

(29 Oct '17, 12:38) aadeshrathore4★

Yes, the team contest suggestion is good.

Look, basically what happens is, when you give feedback out of which the other person can only derive "He needs spoonfeeding, thats the problem," then frankly he wont do anything about it. He cannot spoon feed, and even if he can, he ought not to. Like, you said 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 , if you think from codechef's perspective, it is tough,time-consuming and well, such things are usually done by people to earn money.

(29 Oct '17, 13:53) vijju123 ♦♦5★
1

I mean, it comes across as you dont want to do anything by yourself, we should teach you, then give you problem, solution and help you debug and do everything else and only then you will do it. That sounds really bad.

(29 Oct '17, 13:54) vijju123 ♦♦5★

For such low numbers of red coders in India (the second most populous country in the world), I think the reason is lack of awareness (especially in the early stages when we are in schools or colleges).

I have also met some great software developers who aren't into CP, and when I asked them about it, most of the responses I hear are like - "It's fun, I did participate a couple of times but I am not creating or innovating a new product using CP".

(29 Oct '17, 17:04) utkalsinha6★

Majority of developers outside India don't have competitive programming experience either. And the description you provided sounds correct to me.

(29 Oct '17, 19:52) lebron7★
showing 5 of 7 show all

In India people do competitive programming just to get a good job nothing else. To improve the scenario first we have to change the mentality of the people. If people do competitive programming for knowledge not for good job than their is a chance of improving competitive programming scenario in India.

link

answered 29 Oct '17, 21:55

codex0196's gravatar image

2★codex0196
3579
accept rate: 16%

1

The real question is "How?"

(29 Oct '17, 22:46) vijju123 ♦♦5★

Can someone from outside india share how their COACH is helping them in the ICPC preparation.

link

answered 01 Nov '17, 14:46

skyhavoc's gravatar image

4★skyhavoc
1616
accept rate: 0%

3

Your post is suitable for a new discussion thread rather than posting it here in the answers section as a new question. I guess to improve coding scenario in India, we first need to learn "how to keep things organized." This life lesson would reflect in our codes as well. Hence, would lead to low bugs code, and therefore higher will be the probability of getting ACs.

(01 Nov '17, 14:54) utkalsinha6★

Apart from all the points that have already been mentioned, I personally feel that the Seats of CS in top colleges should be separated from normal engineering and have a separate Exam, or may be selection through IOI performances. This would definitely Boost CP along with removing the burdens of Rest subjects. Being from CS in IIT i personally feel that i have wasted years of my life behind the prep of JEE where i no longer need any physics and chemistry. If all i want to do is CS, there should be separate track for that... as we have for any other stream. I started CP only in second Semester in my college, and now am in third. I just wish that somebody would have just mentioned me about this in school. I feel that as long as CS is compared with Other engineerings and is done for 'good placements' in India, Nothing changes.

link

answered 02 Nov '17, 17:45

acraider's gravatar image

6★acraider
0
accept rate: 0%

1

While I agree with your point on separate track for CS, codechef cannot help it I guess. Its our education system- so I really dont know.

All seats decided by CP doesnt seem that great, I got many developer friends- they cant do even easy Q of CP because they dont like it altogether, but in world of development they are awesome.

(02 Nov '17, 18:31) vijju123 ♦♦5★

When I finished grade 10 in 2014, I had no knowledge whatsoever about programming let alone Competitive programming. I was studying the Maharashtra SSC board syllabus. There was literally nothing about programming in the syllabus. That should change. Coding should be taught in secondary school as an elective atleast and exposure to competitive programming should be offered to interested students grade 9 onwards. Maths skills relevant to programming should also be taught to interested students and finally the school must educate the parents of this competitive programming arena through seminars.

P.S. I was introduced to programming in grade 11(junior college).

link

answered 05 Nov '17, 15:49

adichopss's gravatar image

1★adichopss
1
accept rate: 0%

I would like to through light on some issue

  1. Lack of awareness: I have seen many students don't know about competitive programming. Every college should aware student about competitive programming. They may host college contest on regular bases like 2 times in a month, to understand student how fun is programming is.
  2. Tutorials: Tutorials on basic topic should be provided to student. So, student can learn easily. As i seen the basic problem student faces that they dont know how to code in Competitive programming. So proper tutorial is provided for that.
  3. Time consuming: As for beginners there are some problems which are very complicated and difficult to understand and sometimes difficult to implement. It consumes too much time.

At end i would like to say Competitive programming scenario can only be improved by providing awareness and to let them know that way they know how much fun to code is.

link

answered 09 Nov '17, 20:35

rishabh1322's gravatar image

3★rishabh1322
252
accept rate: 0%

Hello, Instead of thinking of how to improve, why not think of why it is not in being practiced by many people(students) in India. I am a student and I have very few people in my college who really like to code. There are several reasons:

  1. First thing is, our education system do not bother whether we actually learn coding. What matters is, completing syllabus on time. In the end students take courses outside just to land a job.
  2. There is no coding environment, our theoretical knowledge is seen instead of practical knowledge. Most of the students just by heart the programs to pass the exams.
  3. There are very few events which promote CP, many beginners give CP when they cannot solve complex problems in few available competitions online.
  4. Many of people do not learn CP because they think the companies hiring them will train them anyway so why wasting time on learning on their own.
  5. There is no proper guidance for CP. Even I am struggling learning it on my own. There are very few institutions which have qualified Professors who can guide on CP.

These are common problems I found while networking with many people around my city in events and hackathons.

So if there can be some platform for beginners to start CP from beginning where they can get proper guidance, it will create interest in them. The platform may be just a small club or community.

Or if everyone can decide to guide few people(friends), more people will join automatically. I have my own team, which started with 2 members and it has now grown up to 20+ members in few months, and we are learning CP on our own.

link

answered 16 Nov '17, 22:40

sanjits's gravatar image

2★sanjits
111
accept rate: 0%

-1

I got to know about coding stuff when i was in engineering 2nd year and didn't like it coz i couldn't understand many concepts and so left it within a year.I have read many codes from different users for different problems and also been active in community grups for learning.But couldn"t learn much. From past 2 years i have dedicated my time for coding and but i m still 1 star..rather than growth i had down fall from 3 star -> 1 star..I don't know what to read or study extra to reach atlst 5 star..Can any1 guide me what actually is required to solve atlst 5 problems in codechef long challenge.As i read about @ 7_star lebron guy,he made it to this far.please guide me what to learn so that i can solve more problems.I tried asking above 5 star guyies and they seems cocky and don"t wanna help coz they think if they had put effort to reach higher rank why teach other,let them struggle and suffer..(I have contacted @murugurelinout (codechef users) and no help from him) @lebron : if u can help now it wud be great else i will quit coding coz for me their is no growth as compared to others.

link

answered 01 Nov '17, 06:27

ruhul1995's gravatar image

1★ruhul1995
6717
accept rate: 6%

edited 01 Nov '17, 06:34

1

Seeing your post and attitude, I have no doubt they turned you down. Please, being genuinely humble and polite doesn't do harm.

PS: Competitive coding is asked in placement of majority of companies. Good luck leaving it :)

(01 Nov '17, 12:49) vijju123 ♦♦5★

I wonder why would 2 years isn't enough for at least 2-star. Maybe you are quitting a lot of problems. Maybe the moment you get a WA on your first submission you quit that problem. In that case, even 10 years wouldn't be enough. For beginners on CP, the first thing to focus on before going for DS or algo is "understanding" these judges "expects" "formatted" input and formatted "output".

(You can ping me if you have any doubts. But please don't ping me for live contest problems as that will be cheating rather than helping).

(01 Nov '17, 14:24) utkalsinha6★
4

You want some advice from me? Start practicing if you want to improve, what else can I say. From your profiles that I see - you solved something like 150 cakewalk tasks here at CodeChef and 100 cakewalk tasks at HackerEarth. I wouldn't expect serious improvement having that little amount of practice over 2 years.

(02 Nov '17, 00:30) lebron7★

Mate, feel free to contact me. @ruhul1995

If you wanna quit, quit now. No one's gonna stop you from that. That would be completely your choice. Don't come back when a major Company turned you down in front of a lower qualified guy who can code better than you.

But if you wanna code, You'll have to put a serious effort into it, as everyone has to. Help needed, ask me anytime. Years spent is just a number irrelevant to coding skills (atleast till 5-star or 6-star, after that, experience gives you an edge, :) ).

PS: I started coding an year back, joined Codechef this June.

(02 Nov '17, 00:54) taran_14076★

Thank you for your concern and advice. I get it ,the more we are sticking to it the better we get it.."Thats the trick to the learning , rapid development and success.

(03 Nov '17, 11:29) ruhul19951★
toggle preview
Preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported
  • mathemetical formulas in Latex between $ symbol

Question tags:

×966
×372
×31

question asked: 26 Oct '17, 12:55

question was seen: 6,604 times

last updated: 16 Nov '17, 22:40