Wenn Sie einen Stift und Papper Art von Übungen möchten, würde ich mehr Design als Codierung empfehlen.
Eigentlich Codierung in Papier saugt und es lässt Sie fast nichts lernen.Die Arbeitsumgebung spielt eine Rolle, indem man einen Computer eintippt, kompiliert, sieht, welche Fehler man gemacht hat, Refactor hier und da verwenden, einfach nicht vergleichen mit dem, was man auf einem Stück Papier tun kann und so, was man auf einem tun kann Stück Papier, während eine interessante mentale Übung ist nicht praktikabel, wird es nicht verbessern Ihre Programmierkenntnisse so sehr.
Auf der anderen Seite können Sie die Architektur einer mittleren oder sogar komplexen Anwendung von Hand in einem Papier entwerfen. Tatsächlich tue ich normalerweise. Engineering-Tools (wie Enterprise Architect) sind nicht gut genug, um die guten Hand-zu-Hand-Diagramme zu ersetzen.
Gute Projekte könnten sein, wie würdest du eine Game Engine entwickeln? Klassen, Threads, Speicher, Physik, die Datenstrukturen, die alles enthalten und so weiter. Wie würden Sie eine Suchmaschine starten? Wie würden Sie ein Mustererkennungssystem entwerfen?
Ich finde diese Art von Problemen viel lohnender, dass jede Papiercodierung Sie tun können.