Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added a post on competitive programming #81

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

pushkar-12
Copy link

No description provided.


So if you are having a tool in your bag, learn to use it to the best of its ability. You ought to know what all your language can provide, like C++ has an amazing set of tools specifically built for implementation of various data structures and algorithms i.e. the 'Standard Template Library' while you'll have to waste a great deal of time implementing such stuff in C language from the very scratch.

[Follow this link to know more about STL](https://www.tutorialspoint.com/cplusplus/cpp_stl_tutorial.htm)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I request you not to display those benefits of Java that are not useful in competitive programming.

And link this STL tutorial instead
https://www.topcoder.com/community/data-science/data-science-tutorials/power-up-c-with-the-standard-template-library-part-1/

@@ -0,0 +1,123 @@
---
layout: post
title: "Competitive Coding: From Novice to Expert"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is only a novice post. Please change the title.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not talking about a particular topic in the post (like posts by others) that you can judge it as "novice" or "expert"...the post just brings out differences between a novice and an expert competitive coder.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the post just brings out differences between a novice and an expert competitive coder

Please back your claim.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the post just clarifies what habits should be avoided by a noob in order to become essentially competitive some day...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the post just clarifies what habits should be avoided by a noob in order to become essentially competitive some day...

Hence it's novice.

For more rigorous description see ref: stages of skill acquisition

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel the title is misleading.
You should link other competitive programming blogs.
Such as
https://www.hackerearth.com/practice/notes/getting-started-with-the-sport-of-programming/
By Triveni Mahatha ,IIT Kanpur

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow!! ref: stages of skill acquisition .........the title would trouble you so much....anyways changed it..

### Come out of your comfort zone
Most of the novice or the mediocre coders tend to develop a comfort zone for themselves meaning by which they often start loving to solve problems of a particular category while almost always skip the ones belonging to a different category. This will lead them nowhere. It's always advisable to improve upon something you are not good at, becoming somewhat better at something you were already good at is not going to help you in the long run. What this habit will entail is the possibility of you having to search for questions that suit you in a random problem set shot at you and much to your horror there might not be any!!


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why 2 extra lines? Try to keep it uniform.

fac = fac.multiply(BigInteger.valueOf(i)); // it is in the library!
System.out.println(fac);
} }
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please indent the code!


**Codechef-Snackdown**
CodeChef SnackDown is an annual multi-round global programming tournament conducted by CodeChef. It aims to pit the best programming minds from across the globe against each other for the ultimate title of “SnackDown Champions”. It was conceived on the model of ICPC in its first edition in the year 2010 and catered to university students in India.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about google code jam?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I avoided mentioning google codejam as it is not as targetable as the others mentioned in the post for many reasons....but since you brought it up...i have added it..

### Choose a suitable language and know your language well enough

Though there are plenty of options to choose from when it comes to choosing a language for development tasks, the truth is there are not many when you got to choose one for competitive programming. It's either C/C++ or JAVA. That's it. You need to go with one or the other. More than three-fourths of the coders use C/C++ so is advisable to go with it and try to use other languages python/JAVA only when a specific question demands it. Like 'Very Easy' type problems can be quickly coded in python so many experienced coders resort to python to make a quick submission for such problems in short contests. Never stick to a particular language like JAVA just for the sake you have been doing all your stuff in it from your school days and now are hating to switch to a different language. JAVA will certainly give you a hard time coding solutions because it's syntax is lengthier and that is enough to set your mood off.
But JAVA too has lots of things to boast off as well. Even though it is slower, Java has powerful built-in libraries and APIs such as BigInteger/BigDecimal, GregorianCalendar, Regex, etc.Java programs are easier to debug with the virtual machine’s ability to provide a stack trace when it crashes (as opposed to core dumps or segmentation faults in C/C++).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GregorianCalendar, Regex have no use in Competitive Programming. Also you can track C/C++ if you know gdb :)

There are many online platforms on the internet that have been specifically built for competitive programming. They let us compete,practise and learn. Though there are many platforms one could try yet some are more popular than others-

**Codechef**-
CodeChef is a non-profit educational initiative of Directi.It is a global competitive programming platform which supports over 50 programming languages and has a large community of programmers that helps students and professionals test and improve their coding skills.
Copy link
Contributor

@parvmor parvmor Aug 16, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a space after Directi.. Check for similar errors elsewhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants