TL;DR In die Materie des Programmierens einzutauchen, fällt nicht gerade immer leicht. Getreu nach dem Motto “Viele Wege führen nach Rom” gibt es im Netz viele Projekte und Tutorials, um sich die Kunst des Programmierens anzueignen. Darüber hinaus existieren nahezu für jedes Problem eine Vielzahl unterschiedlicher Lösungsansätze. Als Neuling stellt sich da schnell die Frage – wo fange ich überhaupt an? Unser Praktikant Philip teilt die Erfahrungen seines ersten Projekts.

Globale Vernetzung, Big Data, Industrie 4.0, Social Media, Smart Home, durch die Digitalisierung wirkt sich in allen Lebensbereichen aus und führt dazu, dass wir nahezu ständig von Software umgeben sind. Um die Software zu gestalten benötigt es Fachkräfte, die genügend know-how besitzen. Deshalb ist es umso wichtiger, die Fachkräfte von morgen für die Software Entwicklung zu begeistern und ein Bewusstsein für die digitale Umgebung zu schaffen in der wir leben. Im Rahmen eines BOGY-Praktikums durften wir Philip, 16 Jahre alt, bei OMM begrüßen und ihn bei seinem ersten Software-Projekt begleiten. Dafür stellten wir ein Arduino Starter-Kit mit analogen und digitalen Sensoren und Komponenten bereit.

IMG_0425
“Ich fande Programmieren schon immer interessant, da es einer der besten Wege ist eigene Ideen zu realisieren und man dafür eine Menge logisches Denkvermögen braucht. Außerdem habe ich Spaß daran Fehler zu finden und sie zu beheben.”

“Die Tutorials haben ihm einen guten Überblick über die Möglichkeiten zur Verwendung des Arduino gegeben und der übersichtlich strukturierte Code war gut zu verstehen”, erzählt Philip. Nachdem er die Beispiele begriffen hatte, konnte er anfangen seine eigenen Ideen umzusetzen. Dazu gehörten ein Joystick mit dessen Hilfe man in der Lage war die Farbe einer LED-Lampe zu ändern, sowie einen Aufbau mit einem Ultraschallsensor zu entwickeln mit dem das Öffnen und Schließen eines Schranks erkannt und visualisiert werden kann.

Aller Anfang ist schwer

Nicht zu komplexe Tutorials für Einsteiger sind eine gute Starthilfe, um sich mit Code vertraut zu machen. Jedoch sei die Hilfe von einem Mitarbeiter gerade beim Verwenden der einzelnen Methoden und ihren Parametern oft notwendig gewesen. Gerade Fehlermeldungen richtig zu verstehen und so den Bezug zur eigentlichen Problemstelle im Code zu finden sei ihm am Anfang alleine schwer gefallen, berichtet er. Auch zeit basierte Abläufe korrekt zu erstellen sei ein schwieriger Punkt gewesen. Auf dem Display, das unter anderem auch Sekunden zählte sei “eine Sekunde plötzlich viel länger gewesen, als in Echtzeit”, sagt Philip. Das lag daran, dass der Code selbst auch eine gewisse Zeit benötigt, um ausgeführt und verarbeitet zu werden. Um eine Routine jede Sekunde auszuführen musste also folgendes implementiert werden:

Sich Informationen zum aktuellen Problem zu verschaffen ist besonders am Anfang nicht immer leicht. In einschlägigen Foren existieren zwar mit hoher Wahrscheinlichkeit schon Lösungsansätze, jedoch sei es ihm oft schwer gefallen das Problem in Worte zu fassen und die richtigen Schlagworte und Suchbegriffe für die Suche zu finden, berichtet Philip. Außerdem, sagt er, sei es schwer die verschiedenen Lösungswege gegeneinander abzuwägen, um den passendsten zu finden. Besonders dann, wenn es darum ging die eigene Idee in tatsächlichen Code zu verfassen wurde es kompliziert. Wenn der gedachte Lösungsweg einem selbst schlüssig erscheint, dann aber doch nicht zum gewünschten Ziel führt muss immer wieder das eigene logische Denken in Frage stellen. Nur so findet man die eigenen Fehler.

IMG_0427

 

Was sind gute Starthilfen?

  • Erfahrene Unterstützung Am besten verstehen konnte er, wenn ein Mitarbeiter ihn unterstützte und das Problem interaktiv diskutiert und gelöst wurde. Der Input von außen führe dazu, dass sich die benötigte Zeit stark verringere, um die einzelnen Codezeilen zu verstehen, erwähnt er. Probleme können so auf verständliche Weise erklärt und veranschaulicht werden, sodass ein “aha!”-Effekt entsteht. Es kann besser auf die Lösung hingeleitet werden ohne sie direkt aufzuzeigen, sodass der Lernende möglichst von alleine auf die nötigen Schritte kommt. Durch direktes Nachfragen kann darüber hinaus auf weitere unklare Punkte eingegangen und das Verständnis für die Abläufe im Programmcode nachhaltig erweitert werden.
  • Dokumentationen Um selbstständig arbeiten zu können, darf man sich nicht ständig auf Unterstützung verlassen, sondern muss auch lernen die vorhandenen Ressourcen effektiv zu nutzen und eigenständig Probleme zu lösen. Die Dokumentationen zu vielen Methoden sind im großen und ganzen übersichtlich dargestellt und verständlich. Sie seien eine gute Hilfe gewesen, um zu verstehen was genau geschieht, sagt Philip.
  • Stichworte/Suchbegriffe Die richtigen Schlagworte bei der Suche zu verwenden, führt zu besseren Suchergebnissen. Deshalb ist es wichtig die passenden Begriffe in Erfahrung zu bringen und diese zu verinnerlichen.
  • Ähnliche Tutorials Gerade für einfache Anwendungen gibt es oft analoge Beispiele anhand derer die eigene Struktur des Programmcodes und der Projekt-Aufbau verglichen werden können. Dadurch bekäme man einen guten Eindruck, ob etwas noch besser gemacht werden könne, betont Philip.

Fazit

Philip meint: “Ich kann mir gut vorstellen, dass ich bei Gelegenheit noch ein Praktikum absolvieren werde oder sogar einen Beruf dergleichen anstreben werde.”

Ihm habe das Praktikum sehr gut gefallen und er könne viele neue Informationen aus der Zeit mitnehmen, erzählt er. Am interessantesten seien die Phasen gewesen, in denen die eigene Idee entwickelt und diese in Code verfasst werden mussten. Durch den guten Support in Form von Erklärungen die er bekommen hat, sei es ihm gelungen alle seine Ideen zu verwirklichen und für jedes Problem sei eine Lösung geschaffen worden. Alles in allem wurde sein Interesse an der Software Entwicklung durch das Praktikum noch gesteigert und in Zukunft möchte er noch weitere Einblicke gewinnen.

Leave a Reply