Есть замечательный ресурс с задачами
acm.timus.ru - это формат спортивного программирования, в котором нет задач на UI, но задачи на "подумать" и алгоритмы.
Из плюсов:
* автоматическая проверка решений;
* можно сравнить производительность своих и чужих решений;
* поддерживается с десяток популярных языков программирования (Python в их числе).