Eva studiert Informatik: ein halbes Jahr in einer neuen Welt
Musik im Hintergrund und Programm im Vordergrund – so ähnlich schaut auch mein Laptop die meiste Zeit aus (Photo by Tracy Adams on Unsplash)

Eva studiert Informatik: ein halbes Jahr in einer neuen Welt

Eva-Maria Kienzl,

Beim obligatorischen „Hello World“-Programm habe ich vergangenen Oktober die ersten Zeilen Code meines Lebens geschrieben. Was seither geschah.

Fünf Zeilen und das Programm kann laufen: „Hello World“ ist der klassische Startpunkt einer Programmierausbildung – so auch bei uns. Das Miniprogramm gibt einfach nur die Worte „Hello World!“ aus. Das erste Mal erscheinen „aus dem Nichts“ Worte am eigenen Bildschirm. Das war schon beeindruckend. Aber gleichzeitig auch der erste Moment, in dem ich gedacht habe, dass ich mein Studium niemals schaffen werde. Knapp 20 Minuten hat es gedauert, bis das Programm erstmals funktioniert hat.

Jetzt ist es ein halbes Jahr später. Mit der Erkenntnis zur Bedeutung von geschwungenen Klammern und Strichpunkten geht das deutlich schneller. Ich brauche gestoppte 41 Sekunden vom Aufruf der Entwicklungsumgebung bis zur erfolgreichen Ausgabe. Die fünf Zeilen zu schreiben ist keine Aufgabe mehr – dafür stehe ich vor immer neuen Herausforderungen aka Programmierbeispielen. Und ja: Hin und wieder zweifle ich auch jetzt an meinem Wissen. Verzweifelt bin ich allerdings noch nie. Mit etwas Abstand, einer kleinen Hilfe aus dem Jahrgang oder Recherche auf der schier allwissenden Internetplattform Stack Overflow hat bisher alles funktioniert – auch wenn vieles viel Zeit gebraucht hat.

Sechs Monate. 25 Programme.

Um zu verstehen, welche Bestandteile ein ausführbares Programm braucht, dass eine Klasse in Java die Vorlage für Objekte ist und wann ein Objekt und wann eine Klasse angesprochen werden muss, braucht es Programmiererfahrung. Übungen sind der einzige Weg dorthin – und wir haben viele. Würde ich über alle berichten, wäre dieser Blogbeitrag sehr lange, deshalb drei Beispiele:

  • „Vier gewinnt oder eine Nacht für eine Gewinnabfrage“: Zwei verschachtelte for-Schleifen, eine while dazu und vier if-Abfragen – das ist meine Lösung auf die vermeintlich einfache Frage, ob eine Spielerin oder ein Spieler virtuell schon vier Steine zusammenhängend in das Spielbrett eingeworfen hat. Was man im Kleinen meist auf einen Blick sieht, muss man dem Computer genau erklären. Das Ganze braucht es übrigens vier Mal: für die vertikale, diagonale, horizontal aufsteigende und absteigende Möglichkeit. 110 Codezeilen hat alleine die Methode zur Gewinnabfrage – mein absoluter Rekordwert. Allerdings bin ich nie sparsam, was Code angeht. Auch bei der Laufzeit meiner Programme gibt es noch Verbesserungspotenzial – aber sie laufen. Und das ist vorläufig alles, was für mich zählt.
  • „Sortieralgorithmen oder viele Varianten, um für Ordnung zu sorgen“: Bubblesort, Mergesort, Insertionsort, Quicksort, … Es gibt viele Sortieralgorithmen – sehr viele. Bevor man ihn implementiert, muss man verstehen, was ein Algorithmus tut. Wie bei allem, was ein Computer macht, braucht auch ein Algorithmus strikte Regeln. Die ersten Beiträge bei einer Google-Suche oder im Facebook-Feed wirken zwar, als wären sie wie von Zauberhand und ohne erkennbare Systematik ausgewählt – das ist aber nicht so. Was relevanter ist als Anderes, entscheidet auch hier ein Algorithmus. Immer und immer wieder wird etwas bewertet, verglichen oder umsortiert. Und auch hier steht Code dahinter. Wir haben es uns „leicht“ gemacht und Zahlen auf zwei unterschiedliche Weisen sortiert. Auch eine alphabetische Ordnung kann hergestellt werden.
  • „Hashing oder meine aktuelle Challenge“: Seit fünf Tagen setze ich mich immer, wenn ich nach Hause komme, zu meinem Programm, probiere etwas aus (natürlich oft dasselbe – weil ich es vergessen habe oder ein Fünkchen Hoffnung besteht, dass es irgendwann plötzlich doch klappt) und erkenne, dass das an dem Tag nichts wird. Nächster Tag: selbes Spiel. Darum geht es beim Programm: Bei Hashing wird ein Schlüssel für jedes Element berechnet. Genau an die Stelle, die zum Schlüssel passt, wird das Element gespeichert. Der Vorteil: Man kann schnell auf die gespeicherten Werte zugreifen, weil man wieder nur den Schlüssel berechnen muss und dadurch gleich weiß, wo man suchen muss. Man kann das mit einem Karteikasten vergleichen. Mein Objekt-Array, in das gespeichert werden soll, ist biestig. Aber so ist das Programmieren: Man ärgert sich lange und fühlt sich mit dem Laptop eingesperrt im Verlies und, wenn alles funktioniert, ist man plötzlich die Code-Königin. Zumindest kurz. Dann geht das Spiel wieder von vorne los.

Bei den 25 Programmen sind nur die „wirklichen“ Java-Programmierbeispiele gezählt. Rundherum haben wir immer wieder andere Codeschnipsel geschrieben, mittels Bash mit dem Betriebssystem interagiert, mit SQL Datenbankabfragen getätigt oder eine Client-Server-Kommunikation bei Netzwerktechnologien implementiert. Von der Interaktion mit Computern bieten Lehrveranstaltungen wie ökonomische Grundlagen, Arbeitsrecht oder Englisch Abwechslung – aber nicht, ohne Verbindungen zu IT zu schaffen.

Aktuelles aus dem Studium

Keine Ahnung, ob man das wirklich so schreibt: Aber balankan ist definitiv eines der meist gehörten Wörter in meinem Lerngrüppchen. Statt dem Erledigen wichtiger Aufgaben wird in den Pausen an der FH JOANNEUM nämlich neuerdings Tischfußball gespielt. Irgendwie muss man den Kopf ja frei für die nächste Lehrveranstaltung bekommen. Das Wort, das fünf Minuten vor dem Ende fast jeder Lehrveranstaltung fällt und einer Duellaufforderung im Mittelalter ziemlich nahekommt, hat sich mit unserem Kärntner über die Pack geschlichen.

Gerade hat die vorlesungsfreie Zeit rund um Ostern begonnen. Nicht an der FH zu sein, bedeutet im Umkehrschluss allerdings leider nicht, dass nichts für das Studium zu tun ist. Aber ich war schon fleißig und habe dadurch nächste Woche vielleicht wirklich Urlaub. Auf alle Fälle geht es mit einer Freundin nach Kroatien. Und selbst, wenn bis dahin nicht alles erledigt ist, programmiert es sich am Meer sicherlich genauso gut wie in Graz – vielleicht sogar besser.

Tipp:

Mein Name ist Eva und ich studiere aktuell im zweiten Semester „Mobile Software Development“. Wie es mir bisher ergangen ist, kann man in den vorangegangenen Beiträgen meiner Blogreihe nachlesen.