Codieren mit 5Code
In diesem Dokument lernen Sie die Grundlagen kennen, wie Sie mit 5Code Java-Code erstellen und bearbeiten.
-
Zunächst wird kurz der Unterschied zwischen Codieren und Programmieren geklärt.
-
Auch werden kurz die besonderen Eigenschaften von 5Code für Anfänger dargestellt.
-
Dann werden die Grundzüge der Codierung in 5Code erläutert und gleich interaktiv geübt.
Einstellungen zu Beginn
Damit 5Code Ihren Code auch compilieren und laufen lassen kann, muss es wissen, in
welchem Ordner (unter welchem Pfad) es den
Java-Compiler javac und die Virtuelle
Maschine java findet. Diese Programme werden dann im Hintergrund
von 5Code aufgerufen, wenn es nötig ist.
Das haben Sie beim ersten Start von 5Code schon erledigt, wenn Sie dem Begrüßungs-Dialog und der Anleitung gefolgt sind.
Außerdem:
Codieren vs. Programmieren
Unter Programmieren versteht man den kompletten Weg vom Problem zum Programm
-
L - Anforderungen Lesen
-
V - und Verstehen
-
Ü - Lösungen Überlegen
-
A - und Aufschreiben
-
C - und dann erst Codieren
Das Codieren betrifft nur den letzten Teil:
-
Die Umsetzung des Lösungskonzepts in Code in einer Programmiersprache
In der Vorlesung erlernen Sie alle diese Schritte des Programmierens. Anderes als übliche Entwicklungsumgebungen unterstützt Sie 5Code dabei in allen Schritten.
Diese 5 Schritte LVÜAC finden Sie auch unter jeder konkreten Aufgabe, bei der Sie eine Lösung Codieren sollen.
Spezielle Unterstützung von Programmier-Anfängern
5Code ist eine Erweiterung für Visual Studio Code (VSC) - ebenso wie der
umfangreiche Code-Editor für Java, den Sie in den ersten Schritten der Anleitung
ebenfalls installiert hatten.
Allerdings bietet 5Code besonders Programmier-Anfängern einige Features, die das Erlernen des Programmierens besonders unterstützen.
Insbesondere ist das die Integration der oben beschriebenen Schritte LVÜAC und der einfache Zugang zum Codieren:
-
Der Aufgabentext und die eigenen Lösungen sind immer zusammen verfügbar
Sie liegen im gleichen Projekt.
-
Zu jedem Lösungs Schritt LVÜAC kann es weitere, spezifische Hilfestellungen geben
So lernen Sie diese Schritte auch explizit kennen
-
Eigene Überlegungen und Lösungsideen können mit dem eigenen Code zusammen geschrieben werden
in ein und dem gleichen Dokument.
Damit haben Sie immer Aufgaben, Hinweise und Ihre eigenen Lösungen beieinander.
Wenn Sie später, im Laufe des ersten Semesters oder auch in den folgenden Semestern Ihre Lösungen noch einmal nachsehen möchten, oder wenn Sie sich auf die Prüfung vorbereiten, werden Sie sich freuen, dass Sie alles in einem Projekt gesammelt finden.
Code einfacher schreiben
Nun geht es konkret um das Codieren in 5Code d.h. um das Schreiben und Ausführen von Java-Code.
Code mit vielen noch unbekannten Anteilen
Als typische Programmier-Aufgabe geben Sie "Hello World" auf die Konsole aus. Dafür
schreiben Sie das Programm in einem Editor, compilieren es mit dem Programm
javac und lassen es mit mit dem Programm
java laufen.
Der Code dieses Programms sieht in Java typischerweise so aus:
void main() {
IO.println("Hello World");
}
Alles, was das Programm tut, ist "Hello World" auf die Konsole zu
schreiben. Das geschieht in der Zeile
IO.println("Hello World");
Seit Java 25 ist dies alles, was man für ein einfaches Programm benötigt. Später lernen wir noch weitere Strukturen, um umfangreichere Programme zu schreiben.
Bis zum Ende des Semesters haben Sie natürlich alle notwendigen Konzepte kennengelernt, und können jedes einzelne Wort bzw. Zeichen erklären.
Um sich dabei gerade als Anfänger*in auf die eigentliche Aufgabe konzentrieren zu können, hilft Ihnen 5Code, wie in den nächsten Abschnitten beschrieben wird.
Hinweise und Hilfestellung zu jedem Lösungs-Schritt LVÜAC
Wie Sie bereits kennengelernt haben, gibt es zu jeder Aufgabe Links zu den Phasen Lesen Verstehen Überlegen Aufschreiben Codieren unterhalb der Aufgabenstellung, um Hinweise zum jedem einzelnen Schritt zu bekommen.
Klicken Sie auf die unten stehenden Links Lesen Verstehen Überlegen Aufschreiben Codieren unterhalb der Aufgabenstellung, um Hinweise zum jedem einzelnen Schritt zu bekommen.
Dabei wird - natürlich - nicht immer die komplette Lösung vorgegeben. Sie sollen ja lernen, selber eine Lösung zu erarbeiten. Die Hinweise sollen Ihnen weiterhelfen, selber auf die Lösung zu kommen. Das klingt zunächst vielleicht gemein, aber nur so lernen Sie selber zu programmieren.
Nachdem Sie nun die vielfachen Möglichkeiten kennengelernt haben, in denen Sie in Hogwarts 5Code Hilfe bekommen können, gehen sie nun (endlich) daran, eine Lösung in Code zu schreiben.
Lösungs-Dokument mit vorbereitetem Code-Rahmen
Zur Lösung der Aufgabe, ist es sehr hilfreich, wenn Sie die einen Code-Rahmen vorbereitet bekommen. Genau das bietet 5Code:
-
5Code erzeugt ein passendes Lösungs-Dokument für jedes Aufgaben-Dokument
-
Das ist prinzipiell ein normales Java-File, mit dem Unterschied, dass es automatisch zum Aufgaben-Dokument generiert wird.
-
5Code ergänzt automatisch den oben beschriebenen Code-Rahmen
Sie schreiben nur noch die wesentlichen Zeilen
Jede Aufgabe, für die Sie Code als Lösung schreiben sollen, stellt Ihnen den oben beschriebenen Code-Rahmen zur Verfügung.
Beispiel-Aufgabe:
Schreiben Sie Code, der "Hello World" auf die Konsole ausgibt.
Klicken Sie dafür auf das Aufgaben-Icon in der Aufgabe.
-> Wenn Sie auf das Aufgaben-Icon klicken, wird ein neuer Tab geöffnet, der Code beinhaltet. Der sieht so aus:
Hier noch einmal mit ein paar Erläuterungen zu den einzelnen Bestandteilen:
In der Zeile 3 wurde automatisch als Kommentar die Überschrift eingefügt, unter der die Aufgabe im Text steht. So wissen Sie immer, welcher Code welche Aufgabe lösen soll. Zudem wird der Aufgabentitel in der folgenden Zeile auf die Konsole ausgegeben. So wissen Sie im ausgeführten Code immer, wo Sie sich befinden.
Außerdem gibt es im Kommentar einen Link zurück zur Aufgabe. Wenn Sie darauf klicken, springt der Cursor zurück zur Aufgabenstellung. So können Sie immer sehr leicht kontrollieren, ob Ihre Lösung auch die Aufgabe erfüllt.
Der Cursor steht in Zeile 5, die durch Umrandung hervorgehoben ist.
Hier
können Sie nun Ihren eigenen Lösungs-Code einfügen, der die Aufgabe
erfüllt.
Hinweise, wie der Lösungs-Code aussehen soll, finden Sie oben unter Überlegen.
Code im Lösungs-Dokument ausführen
Nachdem Sie den Code für die Lösung der Aufgabe geschrieben haben, sollen Sie ihn nun ausführen. Das tun Sie wie folgt:
-
Aktivieren Sie den Tab für das Lösungs-Dokument: Klicken Sie auf den Inhalt oder auf den Tab.
Dann wird die Cursor-Zeile hervorgehoben
-
Klicken Sie nun in der Toolbar oben am Tab auf das Run-Icon , das aussieht, wie ein Play-Button
Dann wird der Code im Codeblock kompiliert, d.h. der Code wird in eine Maschinen-lesbare Form übersetzt, und ausgeführt.
Das tun Sie nun:
Führen Sie den gerade geschriebenen Code aus.
Nun sollte etwas passieren. Im besten Fall das, was die Aufgabe verlangt :-), nämlich eine Ausgabe auf die Konsole.
Wo erscheint die Ausgabe?
Nun passiert etwas an einer anderen Stelle: Jede "Ausgabe" eines Programms taucht in der sogenannten Konsole auf.
Die 5Code-Konsole finden Sie am unteren Rand des Fensters. Mit der inzwischen dort dargestellten Ausgabe sieht die Konsole nun so aus:
-
Die grünen Zeilen sind Meldungen von 5Code, dass etwas passiert. In diesem Fall:
-
Der Code wird kompiliert ("01-Einführung v62 wird kompiliert...")
-
Erfolgsmeldung ("Kompilierung abgeschlossen")
-
Ausführung des Codes ("_04_Codieren_in_5Code wird gestartet...")
-
Erfolgreich beendet ("Anwendung erfolgreich ausgeführt")
-
-
In Schwarz wird die eigentliche Ausgabe Ihres Programms dargestellt ("Hello World")
Code ergänzen und wieder testen
Nun ergänzen Sie den Code, indem Sie eine weitere Ausgabe-Anweisung hinzufügen, am besten mit einem anderen Text, um die beiden Ausgaben auf der Konsole unterscheiden zu können.
Nun führen Sie den den ergänzten Code wieder aus.
Klicken Sie auf den "Play"-Button
-
Sehen Sie nach, was unten in der Konsole angezeigt wird. Das sieht z.B. so aus:
Wie Sie sehen, werden beide Ausgabe-Anweisungen hintereinander ausgeführt.
Zum Tab mit dem Lösungs-Code wechseln
Wenn Sie (versehentlich) den Tab mit Ihrem Lösungs-Code geschlossen haben, können Sie ihn auf zwei Arten wieder öffnen:
-
Sie klicken auf ein Aufgaben-Icon
im Text des Aufgaben-Dokuments.
-
Sie klicken auf das Icon
oben rechts in der Toolbar des Aufgaben-Dokuments.
In jedem Fall wird das Lösungs-Dokument geöffnet, das zu diesem Aufgaben-Dokument gehört, und der Cursor springt an die richtige Stelle.
Mit Fehlern umgehen
Beim Schreiben und Ändern von Code macht man immer wieder Fehler. Die kommen häufig
durch Verschreiben zustande, z.B.: "printn" statt
"println" oder das Vergessen der zweiten Anführungszeichen, z.B. bei
IO.println("huhu);
Das kann man nicht ganz verhindern, man kann und muss aber lernen, mit ihnen umzugehen und sie zu beheben.
Ergänzen sie nun absichtlich fehlerhaften Code,
Anzeige von Fehlern
(Klick auf den Play-Button).
Nun steht in der Konsole nicht "Hello World", wie oben, sondern roter Text mit Fehlermeldungen. In diesem Fall sieht die Ausgabe auf die Konsole z.B. so aus:
Im Code springt außerdem der Cursor automatisch zur fehlerhaften Zeile.
Mehrere Fehler -> nur 1 Fehler wird angezeigt
Es passiert nicht selten, dass ein Fehler im Code viele andere nach sich zieht. Diese lange Liste von Fehlern frustriert vor allem viele Anfänger*innen. Zudem verliert man sehr schnell die Übersicht, wo denn nun das eigentliche Problem liegt.
Daher zeigt Ihnen 5Code immer nur den ersten Fehler ausführlich.
Diesen sollten Sie dann verstehen, korrigieren und es dann noch einmal probieren:
Wenn Sie die weiteren Fehler sehen möchten, klicken Sie auf den > Pfeil in der oberen leiste ("1 / 2 Fehler"). Dann wird der nächste Fehler angezeigt.
Oder aber:
Fehlerbeschreibung verstehen
Die Beschreibung des Fehlers stammt vom Compiler - also von dem Programm, dass Ihren Java-Code analyisert und daraus ausführbaren Code erzeugt - und ist so ausführlich, wie es dem Compiler möglich ist.
Zu Beginn werden Sie ohne Vorkenntnisse nicht alles verstehen, wie der Compiler den Fehler beschreibt. Sie sollten sich aber in jedem Fall bemühen, die Fehlermeldung zu verstehen und nachfragen oder nachschlagen, was die Fehlermeldung bedeutet.
Häufig stehen dort z.B. gut verständliche Meldungen:
-
welcher Begriff ("Symbol") dem Compiler nicht bekannt ist (
cannot find symbol, Symbol nicht gefunden)-
oft bedeutet das, dass Sie sich schlicht verschrieben haben, wie im Beispiel oben
-
oder Sie haben die korrekte Groß- und Kleinschreibung nicht beachtet
-
-
dass eine offene oder geschlossene Klammer fehlt
die Rolle der verschiedenen Klammern lernen Sie später
-
dass ein Semikolon erwartet wurde (
';' expected, ';' erwartet)Spoiler: Ein Semikolon ";" schließt eine Anweisung ab.
-
... und darunter die Stelle in der Zeile, an der der Fehler gefunden wurde
-
^ <- das ist der Pfeil auf die fehlerhafte Stelle
-
Fehler korrigieren
Nun, da Sie die Stelle mit dem Fehler gefunden haben, korrigieren Sie den Fehler direkt im Code.
Tipp: Damit Sie später noch einmal diesen Fehler nachvollziehen können, und auch, um ihn im Praktikum zeigen und besprechen zu können, gehen Sie hier so vor:
-
Kopieren Sie am besten die fehlerhafte Zeile, um den Fehler zu behalten.
-
Fügen Sie in die Kopie // am Anfang ein. Damit ist diese Zeile "auskommentiert". Der Compiler sieht jeden Text in dieser Zeile als Kommentar an - und nicht als auszuführenden Code. Er wird für diese Zeile also auch keinen Fehler mehr melden.
Die Original-Zeile können Sie dann korrigieren.
Dann führen Sie den Code noch einmal aus.
Entweder haben Sie den Code korrigiert, und es wird in der Konsole "Hello World" ausgegeben, oder Sie haben einen neuen Fehler eingebaut - was nicht selten passiert. Korrigieren Sie so lange, bis Ihr Code läuft.
-
Denken Sie daran: Computer sind schnell - aber einfache Kreaturen:
Beim kleinsten Fehler im Code
-
tun sie nicht, was Sie gemeint haben,
-
sondern immer genau das, was Sie geschrieben haben.
Zusammenfassung
Damit haben Sie nun die ersten einfachen Schritte geschafft,
Code zu schreiben
Code auszuführen
Fehler zu erkennen
Fehler zu beheben
In den nächsten Schritten lernen Sie die Nutzung von weiteren Features von 5Code kennen.
Bearbeiten Sie dafür das nächste Dokument "5 Programmieren in 5Code"
Klicken Sie einfach auf den Link oder klicken Sie das Dokument in der Navigation links an.
------------------
Coding-Features, die erst noch im Verlaufe des Semesters freigeschaltet werden.
Um vor allem Anfängern nicht mit einer Flut von irgendwann einmal nützlichen Funktionen die Übersicht zu nehmen, stehen Ihnen nicht alle Coding-Features von Anfang an zur Verfügung. Sobald sie sinnvoll einsetzbar sind, sind sie aber für Sie da. Der Vollständigkeit halber werden Sie hier aber trotzdem beschrieben, damit Sie hier immer eine ausführliche Beschreibung finden.
Wie Sie die jeweiligen Features freischalten, wird im Kapitel "Features und 5Coins" erklärt.
Ausführliche Erklärungen zu Fehlermeldungen
Wenn Sie die Fehlermeldung nicht (ganz) verstehen, gibt es in manchen Fällen zusätzliche Erläuterungen zum Fehler - zusammen mit Vorschlägen, wie Sie den Fehler beseitigen können. Wenn Sie z.B. vergessen einen Anweisung mit einem Semicolon zu beenden, gibt es folgende Fehlermeldung:
Das Feature "Erklärung von Compiler (Fehler-) Ausgaben" fügt den oben gezeigten blauen Link ein. Wenn Sie auf den blauen Link klicken, bekommen Sie diese zusätzlichen Fehler-Erläuterungen in einem Dialog der dafür geöffnet wird:
Springen zur fehlerhaften Zeile
Es ist günstig, wenn Sie direkt von der Fehlermeldung in der Konsole zum Ort des Fehlers in Ihrem Code springen könnten. Sie brauchen dann nicht lange zu raten, wo der Fehler im Code aufgetreten ist (In unseren Beispiel gibt es nur eine Zeile, im Verlaufe des Praktikums kommen aber einige Dutzende oder sogar Hunderte Zeilen zusammen.).
Das Feature "Link zur fehlerhaften Code-Zeile" bietet Informationen, wo der Fehler aufgetreten ist:
Dass die Fehlerposition nun unterstrichen ist, weist darauf hin, dass sie ein Link ist. Wenn Sie darauf klicken springt der Cursor im Text an die Zeile mit dem Fehler:
---
Weiter geht es mit der Einführung in das Programmieren in 5Code - was mehr ist als "Codieren".