Lerne einige allgemeine Problemlösungstechniken, die dir beim Programmieren helfen.
Wie der erste Artikel hier sagt, Problemlösen ist eine Metafähigkeit.
Oft ist nicht die Syntax oder Struktur einer Programmiersprache der schwierigste Teil beim Lösen einer Herausforderung. Schwierig ist eher herauszufinden, was du programmieren sollst oder wo du anfangen sollst.
Strategien und ein System zu entwickeln, mit denen du Probleme in programmierbare Schritte zerlegst, ist eine großartige Fähigkeit, die sich zu entwickeln lohnt.
Unten findest du einige Artikel, Videos und Bücher aus der Community, die dir helfen können, diese Superfähigkeit zu entwickeln.
- Free Code Camp bietet einen guten Überblicksartikel: How to Think Like a Programmer - Lessons in Problem-Solving.
- Jeremy Howard, Gründer von fast.ai, hat eine gute Zusammenfassung von G. Polya's Problem Solving Techniques.
-
G. Polya's How To Solve It (das vollständige Buch) wurde ursprünglich 1945 als Anleitung für knifflige Matheaufgaben geschrieben und ist bis heute hervorragender Rat für das Problemlösen im Allgemeinen.
- Kurtis Pykes schreibt für Towards Data Science und hat ein gutes praxisnahes Tutorial zum Problemlösen.
- V. Anton Sprauls Think Like a Programmer: An Introduction to Creative Problem Solving, erwähnt im Artikel von Free Code Camp, ist eine modernere und stärker auf das Programmieren ausgerichtete Variante derselben allgemeinen Methoden, die Polya für die Mathematik beschreibt.
-
Felienne Hermans konzentriert sich stärker darauf, wie Menschen die Kunst des Codens lernen und wie das mit dem Lernen im Allgemeinen zusammenhängt.
Von ihr stammt The Programmer's Brian, mit Strategien, um Code besser zu lesen, klarer über Code nachzudenken, besseren Code zu schreiben und eine bessere Zusammenarbeit rund um Code zu erreichen.
-
Algorithmic Thinking (Daniel Zingaro) von No Starch Press und How to think like a programmer (Paul Vickers) behandeln ebenfalls das Problemlösen beim Programmieren.
-
Computational Thinking: A beginner's guide to problem-solving and programming (Karl Beecher) und Computational Thinking for the Modern Problem-Solver (Riley and Hunt) bieten ebenfalls Strategien, um über Probleme nachzudenken und sie in programmierbare Lösungen zu zerlegen.
-
From Computing to Computational Thinking (Paul S. Wang) ist etwas allgemeiner und akademischer, bietet aber Problemlösungsstrategien und Strukturen, die über das Programmieren hinaus nützlich sind, und setzt keine Programmierkenntnisse voraus.
Einige dieser Bücher kannst du auch über die Bibliothek der Association of Computing Machinery (ACM) lesen.
Informationen zur (kostenpflichtigen) Mitgliedschaft findest du unter acm(dot)org.