@Brevista: Wenn Dir Aufgaben lösen Spass macht, da gibt es ja mittlerweise so einige Seiten mit sehr umfangreichen Sammlungen. Vom eher mathematiklastigen Project Euler über den Sphere Online Judge (SPOJ), Advent of Code, HP Codewars, deutschsprachigen Informatikwettbewerben für Schüler, Codechef, Reddit, …
Allgemeine Tutorials für ”bessere Programmierer” gibt es so eher nicht. Neben Grundlagentutorials gibt es welche für bestimmte Bibliotheken oder Themen, das lohnt aber eher wenn man diese Bibliotheken verwenden möchte, oder sich mit einem bestimmten Thema auseinander setzen möchte.
Ideen für Programme habe ich so einige, da geht es mir wie Zizibee, aber das sind Programme die *mich* interessieren. Andere finden die wahrscheinlich total überflüssig oder uninteressant.

Oft sind das auch Sachen die ich selbst brauche und wo ich nichts passendes finde, oder wo ich den Ehrgeiz habe das selbst zu implementieren. Da habe ich so eine Todo-Liste in meinem persönlichen Wiki die immer länger wird, und nur ganz selten mal einen Punkt kürzer. Da sind beispielsweise Spiele die ich mal auf dem Rechner umsetzen wollte, oder auch kleine Werkzeuge von denen ich mir irgendwann mal gewünscht hätte es würde sie geben.
Vielleicht wäre ja ein Spiel ein Projekt für Dich. Am besten ein Brett- oder Kartenspiel das Du magst. Man hat dann schon ein Regelwerk das man umsetzen kann, und damit auch ein klares Ziel was die Version 1.0 können muss.
Sich mit Werkzeugen auseinander setzen ist auch spannend und wichtig. Also beispielsweise verschiedene Editoren durchprobieren. Versionsverwaltungssoftware wie Git und/oder Mercurial sollte man können/kennen.
Techniken wie Unit-Tests und Dokumentation mit Sphinx erstellen. Das kannst Du auch nachträglich noch in Deinen bisherigen Programmen einbringen.