Entwürfe Worum geht es hier? Die Kapitel unterhalb dieser Seite befinden sich im Entwurfsstadium. q Startseite 100. Entwürfe 40. ECC + 1. Erkundung elliptische Kurven + 2. Schlüsseltausch nach Diffie-Hellman + 3. Addition von Punkten auf elliptischen Kurven + 4. Multiplikation von Punkten mit natürlichen Zahlen + 5. Gruppengesetze + 6. Einwegfunktion + 7. Schlüsseltausch mit elliptischen Kurven + 8. Endliche Körper + 9. Literatur und Links 102. XYZ + 1. Erste Programme + 1. Die Bewegung der Schildkröte + 2. Die Spur der Schildkröte + 3. Punkte und Schrift + 4. Mehr Farben + 5. Übungen + 2. Variablen + 1. Variablen für Zeichenketten (strings) + 2. Variablen für Zahlen + 3. Rechnen erleichtert die Arbeit + 4. Der Zufall spielt mit + 5. Übungen + 3. Eigene Befehle + 1. Einfache Routinen + 2. Globale und lokale Variablen + 3. Routinen mit Parametern + 4. Routinen mit Rückgabewerten — Funktionen + 5. Übungen + 4. Wiederholungen + 1. Zählschleifen + 2. Schleifen mit Bedingungen + 3. Verschachtelte Schleifen + 4. Übungen + 5. Fallunterscheidung + 1. Einfache Fallunterscheidung bei Zeichenketten + 2. Fallunterscheidung bei Zahlen + 3. Verschachtelte Fallunterscheidungen + 4. Zusammengesetzte Bedingungen + 5. Bedingungen als Funktionen + 6. Übungen + 6. Wiederholung und Fallunterscheidung + 1. Beispiele + 2. Übungen + 9. Listen + 1. Listen und Elemente + 2. Listen durchlaufen + 3. Listen manipulieren + 4. Übungen + 10. Zeichen und Zeichenketten + 1. Zeichen und ASCII-Code + 2. Zeichenketten + 3. Zeichenketten manipulieren + 4. Übungen + 12. Rekursion 103. Die Anwendungsschicht + 4. Kommunikationsanwendungen mit Sockets programmieren + 1. Erkundung - Anfragen an einen Server stellen + 2. Fachkonzept - Socket + 3. Fachkonzept - Client in Python + 4. Übung - Client zu einem Geburtstagsserver + 5. Exkurs - Funktionsweis der socketLib + 6. Erkundung - Zeitserver und Echoserver + 7. Fachkonzept - Client-Server-Kommunikation mit Sockets + 8. Nachrichtensystem - Protokoll + 9. Nachrichtensystem - Client + 10. Nachrichtensystem - Server + 11. Exkurs - Server und Client auf dem gleichen Computer 106. Kara-Test 107. Jupyter-Test + 1. Test: Auslieferung von assets/.../files + 2. Test: Laden mittels fromURL-Parameter-1 Datei + 3. Test: Laden mittels fromURL-Parameter (2 Dateien) + 4. Test: mehrere lokele Dateien mit Skript laden + 5. Matrizenoperationen 108. RSA + 1. RSA eine Datei in iframe + 2. RSA in Seite integriert + 3. RSA als Tool (JS) + 4. RSA mit svelte 110. Funktionale Programmierung mit Elm + 1. Vorwort + 1. Warum funktional programmieren? + 2. Benötigte Software + 3. REPL + 2. Programmierung mit Elm + 1. Daten und ihre Darstellung + 1. Beispiel - Randsteine Ein Berechnungsproblem Berechnungen in der REPL Das Kostenberechnungsproblem + 2. Experimente - Int und Float Zwei Sorten von Zahlen Rechenoperationen Typumwandlungen Vordefinierte Funktionen + 3. Beispiel - Verschlüsselung Zwei einfache Verschlüsselungsverfahren Experimente in der REPL zum Caesar-Verfahren Experimente in der REPL zum Umkehrverfahren Rückblick und Ausblick + 4. Experimente - Char und String Zeichen und Zeichenketten Vordefinierte Funktionen zur Verarbeitung von Zeichen Vordefinierte Funktionen zur Verarbeitung von Zeichenketten + 5. Beispiel - Schaltjahre Ein Berechnungsproblem Experimente in der REPL + 6. Experimente - Bool Wahrheitswerte Logische Operatoren Vordefinierte boolsche Funktionen + 7. Vertiefung - Operatorrangfolge + 8. Übungen + 9. Fachkonzept - Datentyp + 10. Fachkonzept - Vordefinierte Funktion + 11. Fachkonzept - Ausdruck + 2. Funktionen als Programmierbausteine + 1. Beispiel - Pyramidenbau Ein Berechnungsproblem Modellierung einer Funktion Implementierung einer Funktion Eine weiteres Problem Lösung des weiteren Problems Exkurs - Module + 2. Weitere Beispiele Orientierung Beispiel - Randsteine Beispiel - Verschlüsselung Beispiel - Schaltjahre + 3. Übungen + 4. Fachkonzept - Funktion + 5. Fachkonzept - Konstante + 3. Gestaltung von Funktionsausdrücken + 1. Beispiel - Verschlüsselung Ein neues Verfahren Entwicklung einer Funktionsdefinition Analyse der Funktionsdefinition Verwendung lokaler Konstanten Verwendung des Pipe-Operators + 2. Übungen + 3. Fachkonzept - Hintereinanderschalten von Funktionen + 4. Fachkonzept - Lokale Definitionen + 4. Verwendung von Hilfsfunktionen + 1. Beispiel - Swimming Pool Das Problem Problemzerlegung Teilproblem 1 Teilproblem 2 Teilproblem 3 Gesamtproblem Lösung des Problems + 2. Übungen + 3. Fachkonzept - Verwendung von Hilfsfunktionen + 4. Fachkonzept - Problemzerlegung + 5. Verwendung von Modulen + 1. Beispiel - Zugriff auf Zeichenketten Problemsituation Funktionsmodellierung Implementierung Dokumentation Exkurs - Kommentare Modularisierung Anwendung + 2. Übungen + 3. Fachkonzept - Module + 6. Ausdrücke mit Fallunterscheidungen + 1. Beispiel - Eintrittspreise Problemsituation Eine Fallunterscheidung Geschachtelte Fallunterscheidungen Mehrfachauswahl mit einem Musterabgleich + 2. Beispiel - Datumsangaben Problemsituation Eine Fallunterscheidung Geschachtelte Fallunterscheidungen Mehrfachauswahl mit einem Musterabgleich + 3. Übungen + 4. Fachkonzept - Fallunterscheidung + 5. Fachkonzept - Musterabgleich + 7. Rekursive Funktionsdefinitionen + 1. Beispiel - Begrüßungen Problemsituation Beispielrechnungen Verallgemeinerung Aufwandsbetrachtung Endrekursion + 2. Beispiel - Wege im Gitternetz Problemsituation Problempräzisierung Problemreduktion Rekursive Funktion Aufwandsbetrachtung Alternative Berechnungen + 3. Beispiel - Verschlüsselung Problemsituation Problempräzisierung Teilproblem Problemreduktion Rekursive Funktion + 4. Übungen - Verarbeitung von Zahlen + 5. Übungen - Verarbeitung von Zeichenketten + 6. Fachkonzept - Rekursion + 7. Fachkonzept - Endrekursion + 8. Verarbeitung von Datensätzen + 1. Beispiel - Mailadressen Problemsituation Verwaltung als Record Verwendung von Aliasnamen Zugriff auf die Attribute Verarbeitung von Datensätzen mit Attributzugriffen Verarbeitung von Datensätzen über Mustererkennung Aktualisierung von Datensätzen + 2. Beispiel - Metadaten Problemsituation Verwaltung als Tupel Verarbeitung von Tupel + 3. Übungen + 4. Fachkonzept - Datensatz als Record + 5. Fachkonzept - Datensatz als Tupel + 9. Datenverwaltung mit Listen + 1. Beispiel - Notenliste Problemsituation Verwaltung der Daten Daten hinzufügen Verarbeitung mit vordefinierten Funktionen Rekursive Verarbeitung + 2. Beispiel - Teilnehmerliste Problemsituation Verwaltung der Daten Verarbeitung mit vordefinierten Funktionen Rekursive Verarbeitung + 3. Übungen + 4. Fachkonzept - Liste + 10. Listenverarbeitung mit Operatoren + 1. Beispiel - Polygone Problemsituation Der map-Operator Der filter-Operator fold-Operatoren + 2. Übungen + 3. Fachkonzept - Listenoperatoren + 11. Funktionen als Daten + 1. Beispiel - Monoalphabetische Verschlüsselung Problemsituation Verschlüsselung mit einer Zuordnung Verschlüsselung mit einer Verschiebung Verallgemeinerung der Verschlüsselungsfunktionen + 2. Beispiel - Listenoperatoren Problemsituation Der map-Operator Der filter-Operator Der foldl-Operator + 3. Übungen + 4. Fachkonzept - Funktion höherer Ordnung + 12. Erzeugung von Funktionen + 1. Definition von Funktionen Zur Orientierung Funktionen mit Namen Anonyme Funktionen Verwendungssituationen Fachkonzept - anonyme Funktion + 2. Partiell angewandte Funktionen Zur Orientierung Partielle Funktionsanwendung Iterierte Funktionsanwendung Beispiele und Anwendungen Fachkonzept - Currying + 3. Komposition von Funktionen Zur Orientierung Der Pipe-Operator Der Kompositionsoperator Anwendung - Caesar-Verfahren Fachkonzept - Funktionskomposition + 4. Übungen + 13. Erzeugung von Datentypen + 1. Beispiel - Begrüßung Problemsituation Definition eines neuen Datentyps + 2. Beispiel - Interpreter Problemsituation Verwaltung der Daten Definition eines neuen Datentyps Ausführung von Befehlen Automatisierung der Befehlsausführung Ein wiederhole-Befehl Erweiterungen + 3. Übungen + 4. Fachkonzept - Typdefinition + 14. Fehlerbehandlung + 1. Beispiel - Benutzereingaben Problemsituation Zahlumwandlung Der Datentyp Maybe Eine Umwandlungsfunktion Befehlsumwandlung + 2. Übungen + 3. Fachkonzept - Fehlerbehandlung + 3. Dynamische Webseiten mit Elm + 1. Elm-Projekt + 2. Elm-Projekt + 4. Nachwort 112. DNS 113. SQLite im Browser 114. Material TBA + 11. Unterprogramme + 1. Argo, der Staubsauger + 2. Eine elegantere Lösung + 3. Vertiefung + 12. Subprograms + 1. Argo, the vacuum cleaner + 2. A more elegant approach + 3. Exercise 117. Scrum + 1. Scrum + 1. Das Papierfliegerspiel Start Vorbereitung Planung Durchführung Review Retro Sprint Recap + 2. Exkurs in die Produktentwicklung Start Eine andere Zeit Handyentwicklung Einige Fragen Features in der Zukunft Das Wasserfallmodell Darum Scrum + 3. Kommunikation + 1. Stakeholder + 2. Alltag einer Softwareentwicklerin + 3. Stakeholder in Scrum + 4. Meetings + 5. Das Bauklotzspiel + 4. Planung und Requirements + 1. Komplexität der Planung + 2. Voraussetzungen + 3. Das Schokoriegelspiel + 3. User Stories + 4. Das Scrum Board + 5. Das Schokoriegelspiel 119. Bonsai-Modellrechner + 3. Sprachen zur Steuerung des Bonsai-Modellrechners + 1. Die Bonsai-Assemblersprache + 1. Experimente + 2. Die Bonsai-Assemblersprache + 3. Übungen + 2. Die Bonsai-Maschinensprache + 1. Programme als Daten + 2. Die Bonsai-Maschinensprache + 3. Experimente mit dem Bonsai-Simulationsprogramm + 3. Fachkonzepte 121. Calliope: Rauchmelder + 6. Komfortfunktionen für den Rauchmelder + 7. Daten per Bluetooth übertragen + 8. Rauchmelder vernetzen 124. Zustandsmodellierung mit Mikrocontrollern (Beta) + 1. Spielwiese 127. Ein Softwareprojekt mit Scrum - Vorübergehende Überseite + 1. Ein Softwareprojekt mit Scrum + 1. Bevor es losgeht + 1. Rahmenbedingungen + 2. Voraussetzungen + 3. Teamfindung + 2. Das Spiel + 1. Einstieg - Was ist Schach? + 2. Spielen geht über Studieren Spielen geht über Studieren Vorbereitung Durchführung Recap + 3. Vereinfachung Vereinfachung Was brauchen wir wirklich? Das Spielfeld Die Spielfiguren Probieren wir's mal aus + 3. Das Projekt + 1. Vorbereitung durch die Lehrkraft + 1. Versionsverwaltung + 2. Entwicklungsumgebungen + 3. Vorbereitung auf die Modellierung + 4. Verwendete Sprache + 2. Requirements Engineering Requirements Engineering Zielgruppenidentifikation Die Anforderungen unserer Zielgruppe User Stories Priorisierung + 3. Euer Werkzeug + 1. Euer Scrum Board + 2. Euer Product Owner + 3. Euer Scrum Master + 4. Der erste Sprint + 1. Sprintspezifische Vorbereitung + 1. Eure Arbeitszeiten + 2. Definition of Done + 3. Planning Poker Planning Poker Vorbereitung Durchführung Recap + 2. Durchführung des Sprint + 1. Modellierung Start Modellierung Start Starten ja! - Aber wo? Was euch jetzt erwartet Backend und Frontend Welche Klassen? + 2. Modellierung Backend (einfach) Modellierung des Backend Positionen auf dem Spielfeld Wie speichern wir das Schachbrett? Züge Gültigkeitsprüfung von Zügen Figuren Sonderfälle für Bauern Informationen für Züge Die Seite für den Scrum Master (Figur) Wichtige Variablen Was das Backend sonst noch so braucht Die Seite für den Scrum Master (Backend) + 3. Modellierung Backend (umfangreich) Modellierung des Backend Positionen auf dem Spielfeld Wie speichern wir das Schachbrett? Züge Gültigkeitsprüfung von Zügen Figuren und Vererbung Sonderfälle für Bauern Informationen für Züge Die Seite für den Scrum Master (Figur) Wichtige Variablen Was das Backend sonst noch so braucht Die Seite für den Scrum Master (Backend) + 4. Modellierung Frontend + Main Modellierung des Frontend + Main Benutzereingabe Eingabe konvertieren Falsche Eingaben Hinweisausgabe Ausgabe des Schachbrett Die Seite für den Scrum Master (Frontend) Die Hauptklasse Die Seite für den Scrum Master (Main) + 5. Implementierung und Arbeitsweise + 1. Los geht's + 2. Pair Programming + 3. Eure Daily Standups + 4. Wartbarkeit eures Code + 5. Tests + 3. Das Sprintende + 1. Seid ihr fertig? + 2. Die Abnahme + 3. Die Retroperspektive + 5. Weitere Sprints + 1. Was lernen wir aus dem letzten Sprint? + 2. Anregungen für neue User Stories + 3. GUI + 4. Schach kann noch mehr! 128. Bitübertragung und Sicherung - mit Python + 1. Bitübertragung - mit Python + 1. Netzwerkschnittstelle + 2. Bitübertragung + 3. Codierung + 4. Sender und Empfänger + 5. Fachkonzept - Bitübertragungsprotokoll + 6. Exkurs - Materialien + 2. Sicherung des Datentransfers in lokalen Netzwerken (serielle Schnittstelle) + 1. Fehlererkennung + 2. Fachkonzept - Fehlererkennung + 3. Datentransfer über einen Bus + 4. Adressierung + 8. Funktionsweise des Busses 129. Durchgang + 1. Version 1 des Durchgangs + 2. Version 2 des Durchgangs + 3. Didaktische Konzeption 130. Simulator Sprachen und Automaten