Think like a Programmer – neue Wege zur Problemlösung

Richard Reis hat auf Medium einen sehr intelligenten Artikel über Problemlösungen mit analytischer Denke geschrieben, den kann ich jedem, der auch nur ein bisschen Ahnung vom Codieren hat, wärmstens empfehlen:

https://medium.freecodecamp.org/how-to-think-like-a-programmer-lessons-in-problem-solving-d1d8bf1de7d2

Der Titel heißt auf Deutsch:

Wie man wie ein Programmierer denkt: Lektionen in Problemlösung

Als Motto des Beitrags hat er sich ein Zitat von Steve Jobs ausgesucht:

“Everyone in this country should learn to program a computer, because it teaches you to think.” — Steve Jobs

Frei übersetzt: „Jedermann sollte es lernen einen Computer zu programmieren, denn es lehrt einem das Denken“

Reis postuliert, dass einem die Programmierung eine neue Denke zur Problemlösung beibringt, und wendet diese Erkenntnisse auf Probleme des Alltags an.

1. Verstehen

Hier findet man mein Lieblingszitat von Richard Feynman:

“If you can’t explain something in simple terms, you don’t understand it.” — Richard Feynman

Wenn du etwas nicht in einfachen Begriffen erklären kannst, hast du es nicht verstanden. Amen!

2. Planen

Um einen guten Plan zu bekommen, sollte man die folgende Frage beantworten können:

„Wenn du einen Input X hast, was sind die notwendigen Schritte, um Output Y zu erreichen?“

3. Aufteilen

Dies ist der wichtigste Schritt. Breche alle Probleme auf möglichst einfache, kleine Sub-Probleme herunter und löse diese der Reihe nach. Wenn du alle Sub-Probleme gelöst hast, verknüpfe die Lösungen, und du hast das grosse Problem gelöst!

4. Festgefahren?

Wenn man hängenbleibt und nicht mehr weiterkommt mit der Problemlösung, einen Schritt zurück machen, tief durchatmen und nochmal von vorne anfangen. Das nennt man auch Debuggen:

“The art of debugging is figuring out what you really told your program to do rather than what you thought you told it to do.”” — Andrew Singer

Frei übersetzt: „Die Kunst des Debuggens ist es, herauszufinden was du deinem Programm gesagt hast, was es tun soll, und nicht was du denkst was du ihm gesagt hast.“

5. Üben

Der Mensch lernt nur durch Übung, und natürlich erlernt man die Programmierer-Denke auch nur durch ständiges Dranbleiben und indem man sich immer neuen Herausforderungen stellt. Das kann auch auf spielerische Art und Weise geschehen, Problemlösen kann man auch in Spielen lernen, wie in Schachproblemen, Sudoku, Monopoly, Video Games usw.

Eine besonders interessante Programmierer-Spielwiese findet man bei Coderbyte, THE #1 WEBSITE FOR CODING CHALLENGES & INTERVIEW PREP

Ich geh da jetzt mal hin und suche mir eine nette Challenge zu meinem Morgenkaffee aus!