Modulbeschreibung
Programmieren 2
Kurzzeichen:
M_MAS-SE_Prog2
Unterrichtssprache:
Deutsch
ECTS-Credits:
5
Arbeitsaufwand (h):
160
Modulverantwortung:
Prof. Dr. Bläser Luc (BLLU)
Standort (angeboten):
Rapperswil-Jona
Modultyp:
Wahl-Modul für
MAS SW Engineering STD_12
(Empfohlenes Semester: 2)
Wahl-Modul für
CAS Intermediate STD_12 (PF)
Semester Empfehlung:
Keine Semester Empfehlung für dieses Modul vorhanden.
Modulbewertung:
Note von 1 - 6
Leistungsnachweise und deren Gewichtung
Während der Unterrichtsphase:
Bewertungsart:
Note von 1 - 6
Inhalte
Angestrebte Lernergebnisse (Abschlusskompetenzen):
Sie kennen die grundlegenden Konzepte des funktionalen Programmier-Paradigmas.
Vermittelte Kompetenz
Sie lernen eine andere Sichtweise auf die Programmierung (funktional anstelle von OO)
Sie können einfache Probleme mithilfe der Datentypanalyse-Funktionsanalyse Methode lösen.
Modul- und Lerninhalt:
Programmier-Paradigmen
Kennzeichen der funktionalen Programmierung und funktionaler Programmiersprachen
Funktionen und Daten als gleichberechtigte Konstrukte; Immutability
Funktionen höherer Ordnung (Funktionen als Parameter, Funktionen als Rückgabewerte, partielle Funktionen)
Unendliche Datenstrukturen und Lazy Evaluation
Kontrollstrukturen in funktionalen Programmiersprachen (Rekursion, Pattern Matching, u. ä.)
Methodische Unterschiede zur OO und imperativem Projektabwicklung: EVA und Datentyp-basierte Spezifikation.
Lehr- und Lernmethoden:
Interaktives Arbeiten in kleinen Gruppen (2-er Team) und Besprechungen im Plenum
Gemischter Unterricht: aktives Arbeiten am eigenen Laptop (Übungen und Vorlesung werden gemischt).
Lehrmittel/-materialien:
Folien, Skripts und Beispiellösungen, Kurzanleitungen, Arbeitsblätter und Lösungshinweise
Internetlinks:
Haskell: https://www.haskell.org/
Haskell Platform: https://www.haskell.org/platform/
Einführung: https://wiki.haskell.org/Haskell_in_5_Schritte
Tools
Java Interpreter (Java 8 und höher)
Haskell Interpreter (GHC Haskell Platform; MacHaskell)
Text-Editor: EMACS, VIM, Notepad++ oder Sublime Text mit Syntax highlighting