Lerne Coding
Ideen, was ich programmieren soll?

Was soll ich programmieren?

Inhaltsverzeichnis
[[TABLE OF CONTENTS]]
access_timeGeschätzte Lesezeit ca. 4 Minuten

Wenn man am Anfang seiner Programmier-Laufbahn steht, kommen öfters die Fragen auf

  • Was soll ich eigentlich programmieren?
  • Was kann ich programmieren?

Man sucht nach Ideen für Programmier-Projekte mit einem hohen Learning. Es ist oftmals schwer, am Anfang das richtige Projekt zu finden, um Erfahrung und Ideen für neue Projekte zu bekommen.

Ein grundsätzlicher Denkanstoß: Sucht nach Problemen in eurem Umfeld und versucht sie programmatisch zu lösen. So finde ich oft neue Projekte, die ich umsetzen kann.

6 Programmier-Ideen bzw. Software Projekte, die ihr umsetzen könntet

Falls ihr keine Ideen habt, möchte ich euch hier 6 Software Projekte vorstellen, die ich bereits umgesetzt habe, um einfach etwas zu üben oder bestimmte Funktionen von Programmiersprachen zu testen. Die Projekte lassen sich eigentlich in jeder Programmiersprache umsetzen; zum Beispiel in Java, PHP, Python, Kotlin oder JavaScript. Allerdings gibt es Themenbereiche, die bestimmte Code-Sprachen oder Auszeichnungssprache voraussetzen.

1. Taschenrechner

Ihr könntet einen Taschenrechner programmieren. Das geht unter anderem in Python, aber auch in jeder anderen Programmiersprache. Nutzereingaben müssen von der Sprache angenommen und ausgewertet werden. Das sollte bei jeder Programmiersprache möglich sein. Im Beispiel habe ich das ganze mit Python und PyQT umgesetzt. Ich hatte das Projekt Primäre dazu geschrieben, um einmal mit QT zu arbeiten und darüber hinaus die Funktionalität von GUIs in Python zu testen, da ich selten GUIs in Python schreibe sondern meistens Terminal-Anwendungen schreibe. Natürlich könnt ihr den Taschenrechner auch als reine Terminal-Anwendung umsetzen.

Github Logofschuermeyer/CalculatorPyQt
7 2 1

Taschenrechner in Python mit PyQT

Taschenrechner Programmieren
Taschenrechner Programmieren

2. Spiel programmieren

Beim Programmieren eines Spiels kann man sehr gut verstehen, wie Programme im Allgemeinen funktionieren. Hier läuft so ziemlich alles über Schleifen (Loops), da ein Programm oft eine ständige Wiederholung von Abläufen ist. Als Beispiel habe ich euch mein Snake Game drangehangen. Das hab ich Primäre dazu programmiert, einfach aus Langeweile. Du solltest auch Sachen programmieren, nur um diese mal programmiert zu haben und die Logik zu verstehen. Es braucht nicht immer ein größeres Ziel.

Github Logofschuermeyer/PythonSnakeGame
2 0 2

Snake Game written with PyGame

3. Projekt Euler - Mathematische Aufgaben lösen

Projekt Euler ist eine Webseite mit aktuell 751 Problemen. Bei diesen handelt es sich um einfache mathematische Aufgaben bis hin zu schwereren. Die Webseite eignet sich vor allem, um in eine Programmiersprache einzusteigen und kurze Aufgaben dazu zu lösen. Projekt Euler Funktioniert in jeder Programmiersprache zum Beispiel in Python, PHP oder auch Java!

Zum Beispiel Euler 1: Finde alle Vielfachen von 3 und 5 zwischen 0 und 1000 und addiere diese. Das könnte in Python zum Beispiel so aussehen:

result = 0

for i in range(1, 1000):
    if i % 3 == 0 or i % 5 == 0:
        result += i

print(result)

Projekt Euler eignet sich vor allem auch, um performant programmieren zu lernen und somit kürzere Ausführungszeiten zu erhalten.

Project Euler Aufgaben

4. CMS programmieren

Eine CMS hat einige Herausforderungen zu bieten und eignet sich, um vertrauter mit einer Programmiersprache zu werden. Folgende Herausforderungen kannst du beim Programmieren eines CMS finden:

  • Datenbankabfragen zum Beispiel mit SQL
  • Login System
  • Passwort-wiederherstellen-Funktion
  • URL Routing
  • Editor erstellen zum Beispiel mit TinyMCE
  • Bilder speichern und abfragen (Media Manager)

Ein CMS kann ein sehr komplexes System werden und bietet einige Herausforderungen, die einem die Webentwicklung deutlich näher bringen können. Zu beachten ist, dass ein CMS im Browser dargestellt wird und somit Kenntnisse von HTML, CSS und JavaScript von Vorteil sind!

5. Formelrechner und Generatoren

Es gibt verschiedene Formeln um bestimmte Werte zu berechnen, zum Beispiel einen Widerstandsrechner oder einen Dateigrößenrechner. Das kann eine spannende Aufgabe sein. Oder ihr schreibt einen Generator, um ein bestimmtes Problem zu vereinfachen. Ein Beispiel dafür wäre der MailTo Generator. Damit kannst du einfach einen Mailto-Link generieren.

Welchen Generator oder Formelrechner könntet ihr schreiben?

  • robots.txt-Generator
  • Htacess-Generator
  • Video-Dateigrößen-Berechnung
  • Favicon-Generator
  • MailTo-Generator (Habe ich zum Beispiel hier umgesetzt)
  • Alles, was einen längeren Aufwand benötigt und sich an ein festes Schema hält, lässt sich automatisieren und vereinfachen. Sucht doch einmal nach Problemen in eurem Alltag. Wie wäre es zum Beispiel mit einem Trinkgeldrechner?

6. Passwort-Generator

Warum solltest du dir überhaupt einen Passwort-Generator programmieren? Der Vorteil ist, im Vergleich zu externen Webseiten die einen Passwort-Generator Anbieten, dass du dir sicher sein kannst, dass die Passwörter nicht gespeichert oder an Dritte weitergegeben werden. Die Gefahr ist sonst groß, dass deine Passwörter auf einer Liste landen.

Als Beispiel habe ich einen kleinen Passwort Generator in Python geschrieben, der einen neuen Befehl gcp in deinem Terminal verfügbar macht. Bisher hab ich dieses Skript aber nur für macOS getestet. Es kann für dich ein Ansatz für einen eigenen Passwort-Generator sein.

Einen weiteren Passwort-Generator in JavaScript geschrieben findest du hier: Passwort-Generator - Generiere eine Sicheres Passwort

Natürlich kannst du deinen Passwort Generator auch in Java oder PHP Schreiben, da sind dir keine Grenzen gesetzt!

Github Logofschuermeyer/password-generator
2 1 0

Password Generator written in Python

Fazit

Programmierprojekte und Programmierideen machen für mich aus, dass ich durch die Anwendung Neues lerne, oder mir ein bestimmtes Ziel setze, was ich durch die Programmierung bewältigen und somit Probleme lösen kann.

Bildquelle - Vielen Dank an die Ersteller:innen für dieses Bild
close