Hallo Andreas,
Divide et impera! Teile und herrsche!
Zerlege das Projekt in viele kleine Teile, und löse jeden Teil für sich.
Und: je größer das Projekt, desto größer wird normalerweise das Verhältnis zwischen Planung und Code-Schreiberei.
Umgekehrt wird aber auch ein Schuh draus. Da Mauz doch das grundlegende Wissen, was "was Kontrollstrukturen, Arrays, Datentypen usw." betrifft hat, sollte er sich Aufgaben stellen, die er mit seinem bestehenden Wissen bereits lösen kann. Die größeren Module, die er sich dabei erarbeitet, kann er dann zu immer noch größeren zusammenfügen.
Also ich sehe immer zu, dass ich mich mit den selbstgestellten Aufgaben nicht überfordere, und dass ich einen tatsächlichen Nutzen aus der Lösung ziehe. Für mich ist da auch Sinnenfreude wichtig, deshalb fahr ich so auf die Themen Musik und Animation ab.
Wenn ich mir ohne jeden Bezug zur Praxis aus einem Lehrwerk einen Algorithmus reinziehe, wie ich das Kleinste gemeinsame Vielfache zweier Zahlen ermiteln kann, bringt mir das nichts und es bleibt dann auch nichts hängen. Wenn ich aber sehe, dass ich das brauche, um ein Spiel zu programmieren, lerne ich das in Null-Komma-Nichts.
Aber es gibt natürlich unterschiedliche Lernertypen, die sich selbst mit Unterschiedlichem belohnen würden. Manche kommen bei der Erlangung ihrer Ziele auch besser mit deduktiven, andere mit induktiven Methoden zurecht.
Gruß Gernot