Zadania typu podobnego do tych na SPOJ'u rozwijają logiczne myślenie, ale nijak się mają do praktycznego wykorzystania języka- zawsze na początku ,,nauczyciele" programowania wpajają, że poprzez takie zadania staje się mistrzem programowania, ale jednak nijak się to trzyma prawdy- oczywiście w kwestii nauki podstawowej składniki języka takich jak pętle, instrukcje warunkowe itd. to ciekawe rozwiązanie, ale później jednak trzymanie się tego jest zgubą.
Proponuję zacząć naukę od stworzenia prostego bloga - opierającego się na podstawowym panelu administracyjnym z ograniczonymi funkcjami- z biegiem czasu będziesz mógł go ulepszać. Później możesz spróbować stworzyć jakiś mniejszy sklep internetowy itd. gdyż poprzez praktyczne projekty najwięcej się uczysz.