This resource is created to provide short programming problems for all who wants learn programming and improve their programming skills, but who could not easily find enough tasks for practice.
Our main intention is to increase a number of happy citizens in the wonderful Land of Computer Programming.
Besides simple educative problems on programming basics itself, we are going to gather also problems which show how programming is used in math, physics, electronics, music etc.
The idea itself was inspired by ProjectEuler brilliant collection of math-related programming problems.
Go to Main page. Here is the button "Login with Facebook". Click it - popup window with Facebook own login form (notice url!) will appear. Enter your Facebook credentials. You will be signed into Facebook account and Facebook will send us your name and id number (not password or any secret data) so that we can identify you.
You will need Facebook account - if you have not, simply register in Facebook - this will not take much time.
Why we use Facebook login mechanism - this allows many people not to remember another-one-forty-eight-login-password-pair and this allows us not to remember them too and not to worry about password remind mechanisms and other matters.
Simply click Tasks at the top menu. You will see the list of tasks here. Choose any task and click its name to move on its page.
Note that some tasks require some others to be solved before them.
To solve the task, you will need to perform some calculations on input data given below problem statement and enter your answer into dedicated field. Since usually such calculations will require to write and execute a kind of programm (in any computer language you want), you will be asked to enter program source also. After your answer and source code are both entered, you can submit them.
Note also, that tasks are arranged into volumes and you can switch between them (clicking dedicated link at the title above task list). We are going to arrange tasks by difficulty and by applications (i.e. beginners tasks, physics tasks etc.)
Determining who is the best problem solver is (at least currently) pretty straightforward. Ones who solved more tasks are better. If two people solved the same number of tasks, the number of failed attempts is accounted (the more the worse).
Yes, for most task "input data" are random, so each time you open the task you will see another set of test-cases (and your program shoud give another result).
Program sources which you submit with the task are not checked at least automatically. This allows us to simplify checking system - and allows you to write in any language you like and with any input/output format you prefer.
Saving solution is important for you - since you will find that one task may require reusing code from other, previously solved - and you can always visit your solved tasks and fetch code from here.
There are two obvious drawbacks:
store his solution in the internet and other will reuse this solution - even automatic checker will not help - at the same time cheating will not give you much experience;
given input data, but fail on some special cases) - however, preparing tasks become easier and we hope that we will instead provide you more tasks spending the same amount of efforts.
Anyway, checking could be done manually (and perhaps later we will add ability to review your solutions by your fellows) - if manual check will find cheating or absent solutions, user points could be decreased in some way.