Zu dumm zum programmieren?

3 Antworten

Das Bauen eigener Algorithmen / Lösungswege erfordert etwas Umstellung im Denken und letzten Endes auch Übung. Du solltest ein Problem (bzw. dein Ziel) kurz beschreiben und dann in einzelne Teilprobleme zerlegen. Jedes Teilproblem kann wiederum in weitere Teilprobleme aufgeteilt werden, bis es als einfach genug lösbar erscheint. Die verschiedenen Teillösungen kann man dann wiederum wieder zusammenbauen.

Ich würde dir empfehlen, für den Anfang kleine Übungen / Projekte zu suchen. Bevor du Python-Code schreibst, wäre es ratsam, einen Plan aufzustellen, in dem du beschreibst, was dein Ziel ist, welche Anforderungen das Ziel umfasst und in welche Teilkomponenten sowie -probleme es sich aufgliedern lässt. Für die Beschreibung von konkreten Anwendungsfällen bzw. Lösung für Abläufe eignen sich Programmablaufpläne oder Struktogramme (zur Orientierung, eine korrekte Einhaltung der Form ist für solche Diagramme nicht wichtig). Für die Beschreibung eines objektorientierten System wäre ein Objekt- oder Klassendiagramm ein guter Anfang.

Ein paar Übungsaufgaben, die ich dem Zusammenhang oft empfehle:

  • Quersummenberechnung für dreistellige Zahlen (versuche mehr als nur einen Lösungsweg zu finden)
  • eigene Implementation bestimmter String-Methoden (substringindexOflastIndexOftrim, ...)
  • Ver-/Entschlüsselung von Nutzereingaben via Caesar-Chiffre, Vigenère-Chiffre oder ROT13
  • Eigenimplementation von Sortierfunktionen (Bubblesort, Insertionsort, Selectionsort, Quicksort)
  • Rekursive Funktionen (Wort umdrehen, Berechnung einer Zahl aus der Fibonacci-Reihe, Palindrom-Prüfer, Pascalsches Dreieck)
  • Datenstrukturen selbst implementieren (Liste, Stack, Queue, AVL Tree, Graph), ohne Zuhilfenahme einer Liste
  • Binäre Suche über deine Tree-Implementation
  • Traversion über deine Tree-Implementation

Des Weiteren eignen sich oft kleinere Spiele als Übung:

  • Pong
  • Breakout
  • Conways Game Of Life
  • Snake
  • Space Invaders
  • Pacman
  • Super Mario
  • Peg Solitaire
  • Ein einfaches Kartenspiel wie Mau-Mau, Uno oder Black Jack
  • Schiffe versenken
  • Türme von Hanoi
  • Brettspiele wie Mensch ärgere dich nicht, Dame oder Mühle
  • Tic-Tac-Toe mit Negamax-KI
  • Schach mit Minimax-KI

Nach Möglichkeit (z.B. bei Kartenspielen oder Schiffe versenken) würde ich hierbei erst einmal auf eine GUI-Implementation verzichten, da die tendentiell auch eher vom eigentlichen Kern ablenkt. Eine Konsolenanwendung genügt völlig. Ansonsten sind Processing.py oder Pygame als Hilfe gut geeignet.

Informiere dich erst über den Sachverhalt (Ablauf/Regeln, z.B. via Wikipedia), aber versuche bei jedem der genannten Punkte mindestens einen eigenen Lösungsweg zu finden. Anschließend kannst du mit fremden Lösungen vergleichen. Vielleicht machen sie etwas besser als du (oder andersherum).

Möglich ja aber ich denke nicht das du es bist.

Da hier schon viel geschrieben wurde, halte ich mich kurz: Du schaffst das!! Gebe nicht auf && nutze das Lieblingstool eines jeden Programmierers: „Google“ <— oder andere Suchmaschinen ;=>

Woher ich das weiß:Hobby – Ich beschäftige mich gerne mit der Informatik 😉