Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Dieses Buch enthält die Begleitunterlagen zum kostenlosen Onlinekurs Programmieren mit Java. Die sechs aufeinander aufbauenden Module wurden an der ETH Zürich entwickelt und behandeln die wichtigsten Basiskonzepte der Programmierung in einer höheren Programmiersprache. Die Lernenden schreiben, angeleitet durch ein elektronisches Tutorial, eigenständig 20 Programme mit steigendem Realitätsbezug und Schwierigkeitsgrad. Dieser 2018 mit dem KITE-Award ausgezeichnete Kurs ist geeignet für die Programmiereinführung an Gymnasien, Berufsschulen Fachhochschulen sowie für Studierende aller Fächer auf Universitätsstufe. Es werden keine Vorkenntnisse vorausgesetzt.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 74
Veröffentlichungsjahr: 2018
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Wie soll dieses Buch verwendet werden?
0 Programme erstellen in Java
Theorieteil
0.1 Modulübersicht
0.2 Schreiben von Computerprogrammen
0.2.1 Computerprogramme bestehen aus Daten und Instruktionen
0.2.2 Programme müssen übersetzt werden
0.3 Anweisung
0.4 Kommentare
1 Variablen und Datentypen
Theorieteil
1.1 Modulübersicht
1.2 Darstellen von Zahlen und Zeichen im Computer
1.2.1 Binäres System
1.2.2 Darstellung von Zahlen im binären System
1.2.3 Darstellung von Zeichen im binären System
1.3 Datentypen
1.4 Variablen und Konstanten
1.4.1 Deklaration
1.4.2 Initialisierung und Wertzuweisung
1.4.3 Konstanten
1.5 Operatoren und Ausdrücke
1.5.1 Operatoren (Teil I)
1.5.2 Ausdrücke
1.5.3 Weitere Arithmetische Operatoren
1.6 Der Datentyp String
1.7 Ein- und Ausgabe von Daten
1.7.1 Ausgabe in die Konsole
1.7.2 Eingabe über die Tastatur
Selbstständiger Teil
1.8 Bremsweg-Berechnung
1.8.1 Einführung
1.8.2 Aufgabenstellung und Programmanforderungen
1.9 Zinseszins-Berechnung
1.9.1 Einführung
1.9.2 Aufgabenstellung und Programmanforderungen
1.9.3 Erweiterung
1.10 Geldautomat
1.10.1 Einführung
1.10.2 Aufgabenstellung
1.10.3 Zwischenschritte
1.10.4 Erweiterungen
2 Kontrollstrukturen und Logik
Theorieteil
2.1 Modulübersicht
2.1.1 Anweisungen und Blöcke
2.2 Operatoren (Teil II)
2.2.1 Relationale Operatoren
2.2.2 Logische Operatoren
2.3 Verzweigungen
2.3.1 Einseitige Verzweigung: bedingte Programmausführung
2.3.2 Zweiseitige Verzweigung
2.3.3 Mehrstufige Verzweigungen
2.3.4 Fallauswahl (Switch)
2.4 Schleifen (Loops)
2.4.1 for-Schleife
2.4.2 while-Schleife
2.4.3 do-while Schleife
2.4.4 Geschachtelte Schleifen
Selbstständiger Teil
2.5 Notendurchschnitt
2.5.1 Aufgabenstellung
2.5.2 Programmanforderungen
2.5.3 Zwischenschritte
2.6 Zinseszins mit Schleifen
2.6.1 Einführung
2.6.2 Aufgabenstellung und Programmanforderungen
2.6.3 Zwischenschritte
2.7 Zahlen raten
2.7.1 Aufgabenstellung
2.7.2 Programmanforderungen
2.7.3 Zwischenschritte
2.7.4 Erweiterungen
2.8 Pokern
2.8.1 Einführung
2.8.2 Ausgangssituation und Programmanforderungen
2.8.3 Zwischenschritte
2.8.4 Erweiterungen
3 Arrays
Theorieteil
3.1 Modulübersicht
3.2 Eindimensionale Arrays
3.2.1 Arrays deklarieren
3.2.2 Arrays erzeugen
3.2.3 Arrays initialisieren
3.2.4 Auf Array-Elemente zugreifen
3.2.5 Array-Durchlauf mit Schleifen
3.2.6 Länge eines Arrays bestimmen
3.3 Zwei- und mehrdimensionale Arrays
3.3.1 Initialisieren und Erzeugen eines zweidimensionalen Arrays
3.3.2 Werte ins zweidimensionale Array ein- und auslesen
3.3.3 Mehrdimensionale Arrays
3.4 Zeichenketten (Strings) als Arrays
Selbstständiger Teil
3.5 Bowling
3.5.1 Einführung
3.5.2 Aufgabenstellung
3.5.3 Zwischenschritte
3.5.4 Erweiterungen
3.6 Tic Tac Toe
3.6.1 Einführung
3.6.2 Aufgabenstellung
3.6.3 Zwischenschritte
3.6.4 Erweiterungen
3.7 Such- und Sortieralgorithmen
3.7.1 Einführung
3.7.2 Suchalgorithmen
3.7.3 Erweiterungen
3.7.4 Sortieralgorithmen
4 Methoden und Funktionen
Theorieteil
4.1 Modulübersicht
4.2 Methoden
4.2.1 Methoden ohne Rückgabewert (Prozeduren)
4.2.2 Methoden mit Rückgabewert (Funktionen)
4.2.3 Methoden mit Parametern
4.3 Methoden aus der Klasse Math
4.4 Überladen von Methoden
4.5 Gültigkeitsbereiche von Variablen
4.6 Rekursion
4.6.1 Beispiel 1: Fakultät
4.6.2 Beispiel 2: Fibonacci
4.7 Fehlerbehandlung mit Exceptions
4.7.1 Werfen einer Exception
Selbstständiger Teil
4.8 Erweiterungen Pandemie-Simulation
4.8.1 Einführung
4.8.2 Setzen der Startbedingungen
4.8.3 Erweiterungen
5 Objekte
Theorieteil
5.1 Modulübersicht
5.2 Klassen und Objekte
5.2.1 Klassen
5.2.2 Objektvariablen und Methoden
5.2.3 Erstellen von Objekten unter Verwendung einer Klasse
Selbstständiger Teil
5.3 Hotel-Verwaltung
5.3.1 Aufgabenstellung
5.3.2 Zwischenschritte
5.3.3 Erweiterungen
Das vorliegende Buch enthält alle Begleitunterlagen zum Onlinekurs Programmiergrundlagen mit Java. Für den kostenlosen Kurs können Sie sich über folgende URL registrieren und einschreiben:
https://et.ethz.ch
Der Kurs besteht aus folgenden 6 Modulen:
Programme erstellen in Java
Variablen und Datentypen
Kontrollstrukturen
Arrays
Methoden
Objekte
Jedes Modul dauert abhängig von Ihrem Vorwissen 4 bis 8 Arbeitsstunden. Die Materialien in diesem Buch und auf der Webseite begleiten Sie von der Einführung der Begriffe und Konzepte, über deren Verwendung in einfachen Programmier-Beispielen bis hin zur selbstständigen Anwendung der Programmier-Konzepte in kleinen Programmier-Projekten.
Jedes Modul ist in folgenden 4 Phasen organisiert:
SEE
: Kurze Einführung in die wichtigsten Begriffe und Programmier-Konzepte des Moduls.
TRY
: Computerbasierte Einführung an einfachen Programmier-Beispielen direkt in einer Programmierumgebung. Angeleitet werden Sie dabei von einem elektronischen Tutorial (E.Tutorial
®
).
DO
: Selbstständige Umsetzung kleiner Programmier-Projekte. Verknüpfung der neuen Programmier-Konzepte mit den bereits bekannten.
EXPLAIN
: Diskussion der individuellen Resultate aus Phase 3 mit Fokus auf die neuen Konzepte aus Phase 1.
Dieses Buch enthält alle Begleitmaterialien für die Phasen 1 und 3.
Das Unterrichtskonzept dieses Kurses wurde 2018 an der ETH Zürich mit dem KITE-Award (Key Innovation in Teaching at ETH) ausgezeichent.
Danksagung
Wir danken Dennis Komm und Jens Maue für das Korrekturlesen.
Autoren:
Lukas Fässler, Barbara Scheuner
Programmiersprache
Bytecode
Programm
Klasse
Programmierumgebung
Kommentar
Editor
Algorithmus
Syntax
Quelltext
Semantik
Compiler
Anweisung
Die Entwicklung des Computers ermöglicht uns, Rechenarbeit durch Maschinen erledigen zu lassen. Der Computer kann jedoch allein keine Probleme lösen, sondern ihm muss ein Lösungsweg (eine Bearbeitungsvorschrift) gegeben werden. Dieser Lösungsweg wird ihm in Form eines Programms mitgeteilt. Dies geschieht wiederum in einer speziellen Sprache, der Programmiersprache. Eine Bearbeitungsvorschrift zur Lösung einer Aufgabe wird Algorithmus genannt. Hierbei fordern wir, dass ein Algorithmus seine Arbeit immer beendet, also nicht unendlich lange braucht, wenn er ausgeführt wird und für jede Eingabe eine sinnvolle Ausgabe generiert. Algorithmus ist somit ein recht abstrakter Begriff. Wir können z.B. ein Kuchenrezept oder eine Wegbeschreibung als einen Algorithmus verstehen. Wir betrachten hier hingegen nur Alogrithmen, die konkret in einer Programmiersprache ausformuliert worden sind.
Wenn zwei Menschen miteinander kommunizieren, wird dies von vielen Dingen, wie beispielsweise Mimik und Gestik, begleitet. Auf die Frage „Wie geht es dir?“ kann eine Antwort „Gut.“ ganz unterschiedlich interpretiert werden, abhängig davon, wie der Antwortende dies zum Beispiel betont. Menschen besitzen einen Intellekt, der es ihnen ermöglicht, einen Dialog zu interpretieren und in einen Kontext zu setzen. Computer haben diese Fähigkeit nicht. Um mit einem Rechner zu kommunizieren, müssen wir uns exakt ausdrücken. Der Computer weiss nicht, was wir eigentlich gemeint haben, sollten wir uns falsch ausgedrückt haben. Für die ersten Computer war dies eine sehr mühselige Aufgabe, denn die Sprache, die ein Computer versteht, ist für Menschen nicht sehr intuitiv. Deshalb wurden sogenannte Hochsprachen entwickelt, die unserer natürlichen Sprache näher sind. In diesem Kurs werden Sie eine solche Sprache, nämlich Java, verwenden, um Algorithmen als Computerprogramme umzusetzen.
Ein Computerprogramm ist im Wesentlichen eine Auswahl von Daten und eine Folge von Instruktionen, die – wenn sie ausgeführt werden – jeweils eine bestimmte Funktion erfüllen. Eine Instruktion kann beispielsweise eine Berechnung ausführen. Zum besseren Verständnis können Sie sich, wie oben erwähnt, ein Kochrezept vorstellen. Es enthält als erstes die Mengenangaben der Zutaten (Daten) und danach die Reihenfolge der Schritte (Instruktionen), die man ausführen muss, um ein bestimmtes Gericht zu kochen. Das Grundschema eines Rezepts ist meistens dasselbe: zuerst die Zutaten, danach die einzelnen Arbeitsschritte.
Mit einem Computerprogramm verhält es sich ähnlich. Jedes Programm folgt ebenfalls einem Grundschema. Bei der Programmierung spricht man allerdings nicht von Schema, sondern von der Syntax einer Programmiersprache, d.h. von den Regeln, die für den Aufbau eines Programms befolgt werden müssen. Wie bereits erwähnt, gibt es allerdings einen wesentlichen Unterschied zu den Schritten in einem Kochrezept. Bei den Instruktionen müssen wir präzise sein. Vorschriften analog zu „nach eigenem Ermessen würzen“ werden wir hier nicht finden, da der Computer sie nicht eindeutig auswerten kann.
Folgende Zeilen zeigen ein sehr einfaches Beispiel für ein Programm in der Programmiersprache Java:
public class HalloWelt {
public static void main(String[] args) {
System.out.println("Willkommen zur Javaprogrammierung.");
}
}
Unser Programm enthält in diesem Fall
ein
Grundgerüst
, bestehend aus einer Klasse mit dem Namen „
HalloWelt
“. Der Name der Klasse muss zwingend mit dem Namen der Datei übereinstimmen, in der das Programm gespeichert ist. Unser Code wird deshalb in der Datei
HalloWelt.java
gespeichert. Die Klasse enthält eine Methode, die „Hauptmethode“ (
main
) genannt wird.
eine
Instruktion
in der Hauptmethode (
System.out.println()
als Anweisung).
die
Daten
(hier den Text
Willkommen zur Javaprogrammierung.
).
Wird dieses Programm nun ausgeführt, wird folgende Zeile in die Konsole ausgegeben:
Willkommen zur Javaprogrammierung.
Das, was ein Programm ausführt, also seine Bedeutung, nennt man die Semantik des Programms.