help me out in understanding the coding better
Read this first Getting Started with the Sport of Programming.
Read The C Programming Language by Kernighan and Ritchie. Start solving easy problems listed on various online programming communities like codechef, hackerearth, hackerrank, topcoder, codeforces, spoj etc.
Read the online tutorials on the various algorithms. Go for MIT OpenCourseWare on their website.
After this start with the easy problems first, then move to the harder ones.
Try alternate solutions for a problem.
Practice as much as you can.
Participate in the challenges which are organized by various online programming sites.
Choose a language first, explore that language, know the inbuilt functions.
Search for simple programming problems like:
Reversing a number
Checking whether number is prime or not
Sorting n numbers
Checking whether string or number is palindrome
Checking whether number is an Armstrong number
Rounding off a number
Pick any C ebook and you’ll find n number of such problems there… These are foundations for programming.
Once You have learnt how to code such programs, search for better algorithms to solve such problems,
Like read about multiple sorting algorithms like MERGE SORT, QUICK SORT, COUNTING SORT,etc , learn about algorithms associated with string, etc…
Start solving SPOJ and Codechef problems, remember one thing programming is all about obtaining a good logic to solve a problem and it will get better by practice.
Codeforces.com contests provide good math base problems
Try to attempt each contest regardless with an aim of gaining more ratings, your focus should be on gaining knowledge once you acquire knowledge then concentrate on ratings or rankings.
Read Editorials of problems, it provides knowledge about multiple approach towards problem solving, and try to implement them, discuss if you have some problems with those algorithms on forum.
Try to analyze codes of High Rated coders [ all those who stand in top 10 or more in that contest ], understand their approach of solving the problem. I feel this is really helpful.
Go through this thread: http://discuss.codechef.com/questions/48877/data-structures-and-algorithms
and start learning algorithms step by step, from easier to harder ones.
Start reading CLRS, it will be beneficial in long run…
You may also join free online courses provided by coursera.org or edx.org where you can find a lot of courses related to
programming in python
Maths and Probability Concepts
and these courses are best of novices…
Check out this course: https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
It is a self paced course with 9 problem sets (10 to 20 hours each) and 1 final project offered by Harvard University.
I found this course helpful but it is not currently available: https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-0#.VRBCI_nZaZI
This course teaches Python Programming from basics
Take out time enroll in these courses and start learning programming…
Just read this blog:
Welcome to Programming World!
Hope you enjoy here, do not get demoralized there will be many situations when you’ll not be able to solve problem, search for that problem on internet, ask doubts regarding those problems here, and then try to implement it.
Happy Coding Bro…
Practice, practice, yet more practice and you’ll improve.
There are no secrets like “solve this magic task and you’ll become pro” or “read this magic article and you’ll become pro”.
Simply imrove bit by bit - by participating in contests, solving problems, reading editorials and so on.
I came to know about online judge for the first time in 2012 Jan. That was because of IOPC (programming contest by IIT Kanpur). It was held on CodeChef then. I tried for about 10 hours but could not solve a single problem.
2012 March, I started to do CodeChef long contest. I spent 7 days to solve 3 simple problems. March 7th 2012 was the day when I decided not to take any contest till I am confident about making into top 50.
I only knew SPOJ and Codechef . Then, I started solving problems on SPOJ sorted easy to hard. I solved about 300 problems by July 2012. Practice was the only thing I did. I used to try a problem for 2-3 hours. If I don’t get it, I tried searching for solutions on forums. I read few tutorials on TopCoder, but I did not know that TopCoder also has algorithm problems.
I participated in following August’s long contest, I was lot better this time, I could solve 7 problems. Ended 35th in Global ranking. From then I became lazy. I did not do any practice. I only did long contest every month. So, August to November, I did nothing.
With this limited exposure to programming I went to participate in ACM ICPC Regionals, Amrita. I could solve 4 problems there at onsite. I then understood that knowing how to solve is not enough, it is the ability to think and code fast that is more important.
Jan 2013, I started solving TopCoder problems. I did like about 300 Div 1 250 Pointers. 500 pointers were Aliens. Dynamic Programming was my enemy. But solving 250 pointers fast was enough to become yellow on TopCoder. I also came to know about CodeForces in Jan. I even started doing some contests there. Following Feb to July, I did very little programming. I did not see much improvement in myself.
I read a line on quora : “You solve about 20 Div1 500 problems in one week on TopCoder, and they will seem easy then” - Pradeep George Mathias
That line changed me a lot. I decided to give a try. Thanks to PGM.
August 2013, I decided to overcome fear of DP and div1 500 problems. I started to do Div 1 500 pointers, I did them very seriously, I solved like about 50 problems in about 12 days, believe me I could not do a single problem on my own. At times I was frustrated, disappointed, and hopeless. But no matter how down I felt, I decided to carry on. By August end I solved about 180 500 pointers. I slowly started to think Dynamically By then I was able to solve 4 out of 5 problems. DP became my friend, a very close friend. Now I am quite comfortable with 500 pointers. But still keep screwing them in the contests.
I did not have any Math or programming background, and this made it difficult for me. So, to conclude: all that matters is sheer practice.
Programming is fun, programming is easy. My failure at IOPC 2012 made me start it. I thought, I will do well in IOPC 2013 and stop programming. That is how I started it. Very soon I started to like it, then I got addicted to it. I enjoy the feel that I get when I see “Accepted”. That awesome green color. My heart beat raises when ever I submit a solution. I get goosebumps. It was that fun that kept me going.
Don’t do it, Play it. Enjoy it, It is a fun game.
After 21 months, I am still deeply in love with it
This is a person named ANUDEEP Nekkanti… find more abt him on QUORA