Der Stundenplan dient als Tagebuch, um festzuhalten, was wir tatsächlich in den Vorlesungen gemacht haben. Hier kündige ich auch an, welche Übungsaufgaben Sie bis zum nächsten Termin anschauen sollten.
15. Januar 2024 |
Graphen: Grundbegriffe, Repräsentierung als Elm-Datenstruktur. Suche und Pfade. Hier ist mein Code: session-2024-01-15.zip und ein Beispielaufruf im Repl-Fenster:
|
8. Januar 2024 | Zustände und Nachrichten in Web-Apps: Model und Msg .
Zufall mit Cmd in Elm.
Beispielcode ist in
session-2023-12-18.zip.
|
18. Dezember 2023 | Wie man Web-Apps mit Elm baut. Mein Beispielcode ist in session-2023-12-18.zip. |
11. Dezember 2023 | Boolesche Formeln, Wahrheitsbelegungen, Auswertung, Wahrheitstabellen. Schaltkreis versus Formel. Vorstellung des zweiten Programmierprojekts. |
4. Dezember 2023 |
Nochmal map, filter, fold . Currying. Kombinatorik (Potenzmengen,
cartesisches Produkt).
|
27. November 2023 |
map, fold, filter:
session-2023-11-27.zip.
|
20. November 2023 |
Nochmal Rekursion versus Endrekursion, jetzt am Beispiel
firstK ; danach haben wir einen Sortieralgorithmus
(hier: Insertionsort) implementiert und dabei immer auf
Endrekursion geachtet.
Wir haben auch "per Hand" die Auswertung der Ausdrücke simuliert
und den Unterschied zwischen Endrekursion und Nichtendrekursion gesehen.
Den Code finden Sie
in
session-2023-11-20.zip.
|
13. November 2023 |
Nachtrag zum Geometrieprojekt.
Die Abgabefrist ist Sonntag, der 3. Dezemeber 2023.
Zur Klärung: ein Punkt auf dem Rand eines Dreiecks (oder auf einer Ecke),
zählt zum Dreieck dazu.
Für die Testinputs: beschränken Sie sich bitte auf
"vernünftige" Werte wie Damit Sie Ihre Funktionen für Rotation testen können, habe ich eine Test-App geschrieben: Den Quelltext meiner Rotierfuntion gebe ich Ihnen natürlich nicht. Ich stelle Ihnen aber eine Dummy-Implementierung zur Verfügung, die es falsch macht, aber so, dass Sie die App zum Laufen kriegen und rumexperiemntieren können: project-1-geometry.zip. Inhalt der Vorlesung: Listen (Kapitel 4). Konstruktion, Dekonstruktion. Unterschied zwischen "naiver" Rekursion, die irgendwann bei Überbelastung mit einer Fehlermeldung abstürzt, und Endrekursion. Den gesamten Code finden Sie in session-2023-11-13.zip. |
6. November 2023 | Custom Types mit Ladegut/Payload (Kapitel
3.4). Datenkonsistenz.
Typenvariable (Kapitel
3.5). Rekursive Datentypen
(Kapitel 3.6).
Den gesamten Code finden Sie in session-2023-11-06.zip. |
30. Oktober 2023 |
Zusammengesetzte Daten: Records. Beispiel Kalenderdaten
Vorstellung des Geometrie-Programmierprojekts in Kapitel 3.2.
Custom types (auch Union Types genannt), am Beispiel
|
23. Oktober 2023 |
Inhalt.
Rekursion. Verzweigte Rekursion (Fib).
Zwischenergebnis mit Hier das Modul von Herrn Schellenberger zum Messen der Laufzeit. Installation. Entpacken Sie die "source-directories": [ "src", /* das sollte bereits drinstehen */ "schellenberger-measure-time" /* das müssen Sie jetzt hinzufügen ],
Die Zeitmessungs-App: gehen Sie in Ihr Elm-Verzeichnis und
starten
Geben Sie jetzt Eventuell sehen Sie aber folgende Fehlermeldung:
Falls Sie die Fehlermeldung sehen, dann liegt das daran, dass das Modul
und tippen dann Fib.elm und ändern Zeile 8 und Zeile 17.
Meine Beispielimplementierungen finden Sie in der Datei Examples.elm, die auch in der obigen Zip-Datei ist. |
16. Oktober 2023 |
Die ganze "Papierprogrammierung" aus der letzten Woche, jetzt
mit Elm.
Fallunterscheidungen (if ... then ... else ... ).
Der Datentyp Bool . Rekursion |
9. Oktober 2023 | Programmieren ohne Rechner: Ausdrücke auswerten; Funktionen definieren; Fallunterscheidungen. |