Contents

Volumes

Beginner's Problems these tasks are recommended for those who only started learning and want exercises on implementation - they usually do not require inventing tricky algorithm or applying special knowledge
Simple Mathematics programming exercises slightly related to math - they may help you in learning basics of cryptography, financial calculations etc
Geometry Basics here are problems about geometry in 2D euclidean space (i.e. plane) - only basic understanding of the topic is required since the goal is to help learning popular geometry-related algorithms
Simple Puzzles here are problems for which you are supposed to spend some time scratching your head, before you can solve and implement them - they usually have no step-by-step explanation to avoid spoiling the joy of solving :)
String Tricks exercises about basic operations on strings and some more advanced algorithms of text-processing
Game Logic here we collect general tasks arising while programming simple and advanced games - hope they may inspire you to write some funny applications
Graph Algorithms among the lot of programming problems on graphs we select some simplest or most general to give the idea of what it looks like, i.e. to introduce these data structures to you
Physics and Modelling as many games and scientific researches require precise modelling of certain processes we include few such problems along with explanations how to approach them
Popular Algorithms these are about implementation of popular algorithms, ranging from some special data structures to cryptography and compression
Advanced Math it is wise to try this if you have found "Simple Math" exercises too simple :)
Challenges problems of special kind - they could be solved better or worse and you gain more or less extra points depending on this
Interactive Problems another special kind of problems - you are to "play a game" against the remote server and win it in order to score the points
Brainfuck Puzzles these exercises should be solved in Brainfuck language - regard them as programmer's toys rather than serious problems (though they may require you to spend significant time)
Intel 4004 Assembly these exercises should be solved in specific Assembly language (we start with asm for Intel 4004 cpu) - the goal is to introduce such a low-level programming and certain specific algorithms to you