Willkommen im Schnupperkurs. In zehn Lektionen schreiben Sie Ihre ersten Programme in C# und am Ende ein kleines Notizbuch, das auf der Konsole läuft und Ihre Notizen in einer Datei aufbewahrt. Sie brauchen dafür keine Vorkenntnisse, nur einen Rechner, auf dem Sie Software installieren dürfen, oder ein kostenloses GitHub-Konto für die Variante im Browser.
Der Titel verspricht zehn Stunden. Das ist ungefähr die Zeit zum Lesen und Abtippen. Mit den Übungen planen Sie besser gut zwölf Stunden ein, verteilt auf so viele Tage, wie Ihnen passt. Die Minutenangaben bei jeder Lektion sind Richtwerte. Notieren Sie sich ruhig, wie lange Sie wirklich gebraucht haben: Daran sehen Sie später selbst, wie schnell Sie dazulernen.
Diese erste Lektion kommt ohne Installation aus. Sie klärt, was ein Programm überhaupt ist.
Ein Programm ist eine sehr genaue Anleitung
Stellen Sie sich einen Helfer vor, der unglaublich schnell ist, nie müde wird und jede Anweisung genau so ausführt, wie sie dasteht. Er denkt aber nicht mit. Sagen Sie ihm „Koch Wasser“, fragt er nicht nach, wie viel, in welchem Topf und wann er aufhören soll. Er bleibt stehen, oder er tut etwas, das Sie so nie gemeint haben.
Ein Computer ist dieser Helfer. Ein Programm ist die Anleitung für ihn: eine Folge von Anweisungen, die er der Reihe nach ausführt. Programmieren heißt deshalb vor allem, genau zu denken: Was soll passieren, in welcher Reihenfolge, und was geschieht in den Fällen, an die man zuerst nicht denkt?
Fast jedes Programm macht drei Dinge:
- Es nimmt etwas entgegen, eine Eingabe: einen Tastendruck, einen Text, eine Datei.
- Es verarbeitet die Eingabe: rechnet, vergleicht, sortiert, sucht.
- Es gibt ein Ergebnis aus, die Ausgabe: einen Text auf dem Bildschirm, eine gespeicherte Datei, eine Nachricht.
Ein Taschenrechner nimmt Zahlen entgegen, rechnet und zeigt das Ergebnis. Eine Navigations-App nimmt Ihr Ziel entgegen, sucht einen Weg und zeigt ihn auf der Karte. Ihr Notizbuch am Ende dieses Kurses nimmt Notizen entgegen, sortiert sie in eine Liste und zeigt sie wieder an.
Vom Text zum laufenden Programm
Programme schreibt man als Text in einer Programmiersprache. Dieser Text heißt Quelltext oder kurz Code. Er ist für Menschen lesbar, aber der Prozessor Ihres Rechners versteht ihn nicht direkt. Dazwischen steht ein Übersetzer, der Compiler. Er prüft Ihren Quelltext auf Fehler und übersetzt ihn in eine Form, die der Rechner ausführen kann.
In diesem Kurs ist die Sprache C# (gesprochen „C Sharp“). C# gehört zu .NET, einer kostenlosen Plattform von Microsoft, die unter Windows, macOS und Linux läuft. Zu .NET gehören:
- der Compiler für C#,
- das Werkzeug
dotnet, mit dem Sie Programme übersetzen und starten, - eine große Sammlung fertiger Bausteine, zum Beispiel für die Ausgabe von Text oder das Lesen von Dateien.
Seit Version 10 von .NET genügt für ein kleines Programm eine einzige Datei. Sie schreiben den Quelltext in eine Datei, die auf .cs
endet, und starten sie mit einem Befehl:
dotnet run hallo.cs
Dieser eine Befehl ruft den Compiler auf und startet danach das fertige Programm. Wie Sie das einrichten, zeigt die nächste Lektion.
Ein erster Blick auf ein C#-Programm
Lesen Sie das folgende Programm einmal in Ruhe. Sie müssen es noch nicht starten und nicht jedes Zeichen verstehen.
// erster-blick.cs
Console.WriteLine("Wie heißen Sie?");
string name = Console.ReadLine() ?? "";
Console.WriteLine($"Schön, dass Sie da sind, {name}!");
Zeile für Zeile, in Alltagssprache:
// erster-blick.csist ein Kommentar. Alles hinter//überliest der Compiler. In diesem Kurs nennt die erste Zeile jedes Beispiels den Dateinamen, unter dem Sie es speichern.Console.WriteLine("Wie heißen Sie?");schreibt die Frage auf den Bildschirm.Consolesteht für das Textfenster, in dem das Programm läuft,WriteLinefür „schreibe eine Zeile“.string name = Console.ReadLine() ?? "";wartet, bis Sie etwas tippen und Enter drücken, und legt den Text in einer Ablage mit dem Namennameab. Was?? ""bedeutet, erfahren Sie in Lektion 4.- Die letzte Zeile schreibt einen Satz, in den der gespeicherte Name eingesetzt wird.
Das ist schon ein vollständiges Programm mit Eingabe, Verarbeitung und Ausgabe, wenn auch einem sehr kleinen.
Fehler gehören dazu
Beim Programmieren machen alle Fehler, auch nach zwanzig Jahren im Beruf. Ein vergessenes Semikolon, ein Tippfehler im Namen, ein Gedankenfehler in der Reihenfolge. Der Compiler meldet viele dieser Fehler, bevor Ihr Programm überhaupt startet, und sagt Ihnen, in welcher Zeile er hängen geblieben ist. Diese Meldungen sind Hinweise, keine Noten. Sie lernen in Lektion 3, sie zu lesen.
Ein großer Teil der Arbeit besteht übrigens nicht aus Tippen, sondern aus Lesen, Nachdenken und Ausprobieren. Wenn Sie merken, dass Ihnen genau das Freude macht, ist das ein gutes Zeichen.
So arbeiten Sie mit diesem Kurs
Jede Lektion hat denselben Aufbau:
- Ziele am Anfang, damit Sie wissen, worauf es ankommt.
- Erklärungen in kleinen Schritten mit Code, den Sie selbst ausführen. Tippen Sie die Beispiele ab, statt sie zu kopieren. Ihre Finger lernen mit, und Sie bemerken die Kleinigkeiten, auf die es ankommt.
- Übungen. Unter jeder Übung steht eine Lösung, die erst aufklappt, wenn Sie darauf klicken. Versuchen Sie es zuerst selbst, ruhig zehn oder fünfzehn Minuten lang. Eine eigene Lösung, die anders aussieht als unsere, kann genauso richtig sein, wenn sie das Verlangte tut.
- Was Sie jetzt können: eine kurze Liste zum Abhaken.
- Weiterlesen: Links zu Microsoft Learn, der kostenlosen Lernplattform von Microsoft. Die Seiten sind oft auf Englisch, viele gibt es auch in einer deutschen Übersetzung.
Am Ende steht ein Selbsttest mit Auswertung. Sie werten ihn selbst aus. Wir sehen Ihre Antworten nicht, es gibt nichts abzuschicken, und Sie bekommen keine Note von uns. Der Test ist für Sie: Er zeigt Ihnen, was sitzt und was Sie noch einmal lesen sollten.
Übung 1
Schreiben Sie auf Papier oder in eine Textdatei eine Anleitung für den wörtlichen Helfer von oben. Er bekommt eine Liste von Zahlen, zum Beispiel 4, 17, 9, 23, 8, und soll Ihnen die größte nennen. Er kann sich eine Zahl merken, zwei Zahlen vergleichen und die Liste Zahl für Zahl durchgehen, mehr nicht.
Prüfen Sie Ihre Anleitung danach selbst: Funktioniert sie auch, wenn die größte Zahl ganz vorne steht? Wenn alle Zahlen gleich sind? Wenn die Liste leer ist?
Lösung 1
Eine mögliche Anleitung:
- Wenn die Liste leer ist, sage „Es gibt keine größte Zahl“ und höre auf.
- Merke dir die erste Zahl der Liste als „bisher größte“.
- Gehe die übrigen Zahlen der Reihe nach durch. Ist eine Zahl größer als die bisher größte, merke dir stattdessen diese.
- Wenn du am Ende der Liste bist, nenne die gemerkte Zahl.
Bei 4, 17, 9, 23, 8 merkt sich der Helfer nacheinander 4, dann 17, dann 23 und nennt 23. Steht die größte Zahl vorne, bleibt er bei der ersten. Sind alle gleich, nennt er diese Zahl. Schritt 1 ist der Fall, den die meisten zuerst vergessen. Genau solche Fälle machen den Unterschied zwischen einem Programm, das meistens funktioniert, und einem, das immer funktioniert.
Diese Anleitung ist bereits ein Algorithmus: ein genau beschriebener Weg zu einem Ergebnis. In Lektion 7 schreiben Sie ihn in C#.
Übung 2
Sehen Sie sich erster-blick.cs noch einmal an. Was steht auf dem Bildschirm, wenn Sie bei der Frage Ada eingeben? Und was, wenn
Sie gar nichts eingeben und gleich Enter drücken?
Lösung 2
Mit der Eingabe Ada sieht das so aus (die zweite Zeile ist Ihre Eingabe):
Wie heißen Sie?
Ada
Schön, dass Sie da sind, Ada!
Ohne Eingabe bleibt der Name leer, und das Programm schreibt Schön, dass Sie da sind, !. Es tut genau das, was dasteht, und merkt
nicht, dass etwas fehlt. Wie ein Programm auf so etwas reagieren kann, lernen Sie in Lektion 5.
Was Sie jetzt können
- Sie können in eigenen Worten sagen, was ein Programm ist: eine genaue Anleitung mit Eingabe, Verarbeitung und Ausgabe.
- Sie wissen, dass der Compiler Quelltext prüft und übersetzt und dass .NET Compiler, Werkzeug und Bausteine mitbringt.
- Sie haben ein erstes C#-Programm gelesen und vorhergesagt, was es tut.
- Sie wissen, wie Sie mit Übungen, Lösungen und dem Selbsttest arbeiten.
Weiterlesen
- A tour of the C# language auf Microsoft Learn: ein Überblick über die Sprache. Lesen Sie ihn quer, Details kommen später.
- Introduction to .NET: was zur Plattform gehört und wofür man sie einsetzt.