How can a beginner learn programming?

What can a beginner do to master the art of programming??
If one knows the basics but does not possess the skills yet what must he do???


There are two only things to do:

Practice, practice, practice, and learn, learn learn.

There are a few sites which I believe are good places to start learning algorithmic programming.

1. USACO Training Pages:
2. TopCoder Tutorial:

The USACO Training Pages is probably the best place to learn. They give you a text on a topic, such as Graph Theory, DP, Greedy, etc., a few problems, and they grade your submission for a problem instantly.

I, personally, think the TopCoder tutorials are better than USACO’s tutorials, but the problems aren’t as good. That’s not to say that USACO’s tutorials are bad or TopCoder’s problems are bad. Both are excellent sources.

There’s also this article called The Art of Programming which could be useful:

Of course, CodeChef is also another good place to practice :smiley:
And so is SPOJ:

So all you do is learn from TopCoder, USACO, and the Art of Programming, and practice with USACO, CodeChef, and SPOJ

It takes a while, but you’ll get the hang of it :slight_smile:


Hello @iluvthee07,

There are no shortcuts… And as kullalok said there’s no substitute for practice :smiley:

The only thing I’d do different is that instead of exploring several websites, if you are beginning, stick with CodeChef practice problems and Cakewalk difficulty level problems from live contests… In a few months of some effort you will see that you can solve almost instantly the easiest problems from the live contests :slight_smile:

This will motivate you to explore practice section once again and try previously not solved but attempted problems… :smiley:

If you keep doing this, reading online articles/tutorials on a specific topic and get well trained with a language (as in, if you know some of the useful built-in structures offered by your language.) you will see improvements in no time!!

I wish you the best of luck,



you can start programming using Programming Pad

I also think instead of doing problems from so many sites,just stick to one and keep exploring…you will always find something new…Keep participating in contests…
Make your weaknesses your strengths…& your Strength your Nature…
and when you think you have got command over your programming skill then only I will suggest you to try others…
Of course,you can read Tutorials on other sites along…Also the book suggested by kullalok is of great use…

All The Best…


the beginer should try to self motivation to practice and learn programming…

1 Like

You should take interest that’s it :slight_smile:
Rest all will come along.

Than it will become addiction like (PC games , Anime , Tv shows , sports etc.) you will automatically
try to learn new stuffs if you got addicted…


Good programming skills aren’t that hard to achieve. Programming is the reflection of the way you want your things to be done. So in order to have good programming skills follow the steps.


Learn the Basics of Programming

  1. Learn Algorithm and Flowchart and practice designing a flowchart of as many problems as you see.

2)Get hold of a small book on the programming language you want to learn. Though the book is small it will help you to get the basics.

  1. With those basics you can start programming and keep learning.

  2. efore implementing, design it’s flowchart and optimize it. It will make your program work more efficiently and also be debugged shortly and easily.

  3. Read basics and overcome them. Learn about Variables, Control Structures, Arrays and their usages.

  4. After it. Lead your coding into a structure oriented and object oriented world.

  5. Learn about how to manage your software projects.

1 Like

i think you will get motivated by reading this mentioned link


There is no straight forward protocol to be followed to become an expert programmer. It depends on person to person, how motivated and dedicated you are, your current programming experience and your problem solving skills. Here are some general recommendations for a beginner programmer to start his programming journey.

  • Learn a programming language of your choice. For new programmers, I will recommend learning C programming language first. C is the mother of all modern programming language. If you master C language then learning any new programming language is not a big deal.
  • Start with solving some fundamental C programs like fibonacci numbers, palindrome check, prime number check etc.
  • Next learn some fundamental data structures like stack, queue, linked list, binary trees, graph etc.
  • Next learn some fundamental algorithms like sorting and searching algorithm, divide and conquer, greedy algorithms, dynamic programming etc.
  • Now, you are ready to solve some Easy/Beginner level programs in online coding websites like codechef, spoj, topcoder, codeforces stc.

You can start to learn programming a by a book PROGRAMMING IN ANSI C Balagurusamy.
Internet has many tutorial for C programming.
Such as :

1.Tutorial Point

2.C Programming




6.Learn C


You can seach google.Here u get many resource.
After learning C programming u can start problems solving in codechef, uva , uri, codeforces and other online judge.

Myself also had difficulty at the beginning… but now its easier to learn… I think these sites will be helpful…

C Programming