Gehirn training für Programmierer?

4 Antworten

Ich merke oft, dass Programmierer Probleme damit haben, hexadezimale Werte auf Anhieb in Bitmuster übersetzen zu können, obwohl das unglaublich praktisch ist, und oft benötigt wird.

Wenn man also 0x6D sieht, dann sollte man ohne zu überlegen sagen können, dass es sich um 0b01101101 handelt.

Dazu muss man nur 16 verschiedene Nibble auswendig lernen, und da die Nibble 0x0 (0b0000), 0x1 (0b0001) und 0xF (0b1111) sowieso schon jeder auf Anhieb kann, muss man also nur noch 13 verbleibende auswendig lernen.

Als kleine 5-Minuten Übung würde ich mir dafür sowieso selbst ein kleines Programm in der Sprache meiner Wahl schreiben (egal ob Konsole, GUI oder Web). Wenn du dann damit eine viertel bis halbe Stunde übst, und das vielleicht zwei bis drei Tage wiederholst, vergisst du nie wieder die Nibble-Werte und die kommen dann auch - wenn benötigt - wie aus der Pistole geschossen.

Außerdem könntest du das kleine Einmaleins in Hexadezimal lernen, sodass du nicht immer vorher im Kopf in Dezimal umrechnen musst. Auch dafür kannst / solltest du dir eine eigene kleine Lernsoftware bauen.

Darüber hinaus gibt es noch mehr Dinge, aber vor allem die Hexnibble- in Binärnibble-Umrechnung halte ich langfristig für notwendig.

Die meisten Apps können maximal Gedächtnisleistung trainieren oder vielleicht einfachste Logikprinzipien.

Um komplexe abstrakte Probleme analysieren und lösen zu lernen, muß man genau dieses tun, abstrakte komplexe Probleme lösen.

Man kann natürlich mit nicht ganz so schwierigen und kleineren PRoblemen anfangen, aber es ändert nichts daran, daß im Prinzip nur jede MEnge Übung hilft.

GamesSchlachtLP 
Fragesteller
 12.03.2018, 01:00

Danke für die gute Antwort :)

0
KarlRanseierIII  12.03.2018, 01:20
@GamesSchlachtLP

Es hilft z.B. auch sich Algorithmen zu (schwereren) Problemen anzuschauen und nachzuvollziehen, weil Du parallel verstehen mußt, warum sie funktionieren.

Egal, ob nun einfache Sortieralgorithmen oder z.B. schwerere Algorithmen auf Graphen. Idealerweise immer im Pseudocode, damit keine unnötige Energie in irgend einer Sprachsyntax verpufft.

Das gleiche z.B. für Datenstrukturen, wie sehen sie aus, wie funktionieren sie, welche Operationen gibt es, zu welchen Kosten - Warum die Kosten, wie sieht also die Implementierung aus -> implementieren.

Und sich dann eben auch Übungsaufgaben suchen und sich diesen stellen.

Es gibt so viele klassische und schöne Probleme, mit denen man üben kann.

5

Moin,

fange mit Algorithmen & Datenstrukturen, theoretischer Informatik & Co. an; die Mathematisierung von IT-Problemen hilft bei der Lösung. Zumindest mir stellten sich anfangs häufig die Fragen, wie warum ist ein Algorithmus vollständig, z.B. der Warshall-Floyd-Algo? Oder wie funktioniert die Rekursion beim Hanoi-Algo? Dann: Wenn man in Mathe sich mit Folgen, Kalkülen, Logik etc. beschäftigt, ist man in meinen Augen auch nicht mehr so weit von informationstechnischen Problemlösungen.

Sofern Du in Java programmierst, gibt es ein Buch für Algorithmen und Datenstrutkuren, Sedgewick / Wayne für doch recht ordentliche 70 €, bei C/C++ fällt mir Kaiser/Guddat für 40 € ein, letzteres Buch geht aber insgesamt in die Sprache hinein und wechselt nur teilweise in Algorithmen, Permutation/Kombinatorik, Graphen-Theorie etc., mitunter harte Kost. Für theoretische Informatik gibt es ein Buch von Dirk Hoffmann für 40 €, nicht einfach. Alles Hochschulliteratur, wenn ich mich nicht irre, und daher nicht billig. Natürlich gibt es noch viel andere Literatur dazu.

Und natürlich selber programmieren. Ich habe früher z.B. ein Dame-Programm geschrieben, die dafür notwendige Baumstruktur (wenn der Rechner am Zug war) habe ich über einen sich variierenden String (in QuickBasic :-) abgebildet. Mit Sicherheit eine wenig effiziente Lösung, jedoch hat das in jungen Jahren das Gehirn gut trainiert. Inzwischen versuche ich die Baumstruktur für ein Schachprogramm in C++, auch das ist für mich eine Herausforderung.

Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich
KarlRanseierIII  12.03.2018, 10:34

Wo ich Warshall-Floyd lese:

Bellman-Ford und dessen 'verteilte' Ausführung auf den Knoten eines Netzes fürs Distanzvektorrouting (RIP) ist auch eine gute Übung, da knobelt man schon mal einige Minuten dran.

2
GamesSchlachtLP 
Fragesteller
 14.03.2018, 23:31

Hey danke für die super hilfreiche Antwort. 💪 Ich bin selber erst 17Jahre habe aber schon einige Jahre Programmier Praxis gesammelt. Und möchte halt gerne mein Potenzial voll ausschöpfen 😊 Danke nochmal und gutes gelingen für das Schachprogramm in C++ :)

1

Größere Projekte zu realisieren ist eigentlich das beste Gehirntraining. Nach einigen Jahren lernt man, nicht nur im "klein-klein" zu denken, sondern auch die größeren Zusammenhänge sinnvoll zu erkennend und sinnfällig zu strukturieren.

GamesSchlachtLP 
Fragesteller
 12.03.2018, 00:59

Ja das stimmt wohl :)

0