Lesen.
Nein, wirklich, lies.
Lesen Sie alles über Algorithmen und Design, was Sie finden können. Es gibt phänomenale Bücher da draußen. Die Sedgewick-Algorithmusbücher sind gut. Das Algorithm Design Manual von Skiena ist ebenfalls gut. Zusammen folgen mir diese Bücher auf jedem Regal bei jedem Job, zu dem ich gehe, zusammen mit The Mythical Man-Month.
Dann frag.
Sprechen Sie mit Menschen, die Sie respektieren. Fragen Sie sie, welche Entscheidungspunkte sie hatten und warum sie die Entscheidungen getroffen haben, die sie getroffen haben. Die Guten werden dir immer sagen können: "Ich habe X gewählt, weil es in dieser Hinsicht besser ist als A, B. Ich hätte mit C gehen können, aber ich dachte, das wäre eine bessere Wahl."
Als nächstes tun.
Sachen bauen. Baue Dinge, die du niemals benutzen wirst. Bauen Sie Dinge, die Sie nie brauchen werden. Schreiben Sie ein Programm, das ein Sudoku-Rätsel löst. Jetzt mach es nochmal. Und wieder. Baue es auf 5 verschiedene Arten. Erstellen Sie ein Programm, das Sudoku-Rätsel generiert, und geben Sie es an die Löser weiter. Finden Sie den schnellsten Löser. Und dann...
Finde heraus warum.
Das "Was" ist fast nie wichtig. Ich meine, ja, es ist entscheidend für die Fertigstellung des Projekts, aber am Ende, wenn Sie das "Was" kennen, ohne das "Warum" zu kennen, dann können Sie es genauso gut nie tun. Sie haben einen Stichpunkt in Ihrem Lebenslauf. Hol dir einen Keks und gratuliere dir. Das "Warum" ist so viel wichtiger als das "Was".
Und für die Aufzeichnung war Sudoku ein Beispiel. Ich habe viel Freizeit damit verbracht, diese Übung mit einer Menge logischer Rätsel auf Kongregate zu machen, und dabei viel gelernt.
http://www.amazon.com/Bundle-Algorithms-Parts-1-5-Fundamentals/dp/020172684X/
http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/
http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/