I recommend a site here to slake your thirst.
Are you someone well-versed in programming, looking for questions those might elicit the logical thinking in you? Or are you someone who knows little about programming but still fascinated about teaching computer step by step the ways you want it to work and making things done?
I had been one when I completed my college project using MATLAB. It is really something to find yourself being able to solve tough problems with proper coding and execution. And it takes a lot of precision and thinking.
I am not writing this in order for you to find a place to learn some language. If you want to learn C, C++, or Java, or any other language at that, this post won’t help you. On the other hand, if you know any computer language sparingly enough, and interested in using computer programming in effective ways to solve problems, you are welcome here.
The site that provides you with innumerable problems to solve, just for the fun of it, is Project Euler.
There are many websites available in this regard, like TopCoder, Programming Praxis, etc. However, Project Euler stands different in particularly two regards.
1. It does not aim at making business with your interest in solving problems. You do not get anything once you solve a problem, neither do they. It lets you to gauge your own skill in programming.
2. It does not confine itself for the usage of a particular programming language. It just provides you with the problems to solve and leave you all by yourself. Your platform does not matter.
You need not be a great programmer with all the knowledge about all computer languages. The basic need for you to use this website is that you should have known about console programming in any one language. I was using Matlab, which has nothing to do with professional computer programming, when I first started solving problems there. Now I use C#. But you can use Java, C, C++ or any platform that might help you to program.
Solutions are given to the problems, but they are only made available to you once you solve the problem by you(Unless you typed the question in google search and found the answer, which is of no use at all!!). They are given you only to compare your algorithm with the people who solved it before.
In addition, the complexity of problems vary. It could gauged by the number of people who solved the problem that is given alongside every problem. So, if minimal people have solved the problem for which you found a solution, you are a better programmer. There are awards and recognition too in the site to encourage you to do more.
If you are interested in Project Euler, click here to sign up in the website.
I hope you get a wonderful time as a programmer!!