TU Wien:Funktionale Programmierung VU (Knoop)
Daten[Bearbeiten | Quelltext bearbeiten]
Vortragende | Jens Knoop |
---|---|
ECTS | 6,0 |
Alias | Functional Programming (en) |
Letzte Abhaltung | 2024W |
Sprache | Deutsch |
Abkürzung | FPROG |
Mattermost | funktionale-programmierung0 • Register • Mattermost-Infos |
Links | tiss:194026, tiss:185A03, eLearning |
Inhalt[Bearbeiten | Quelltext bearbeiten]
Die Lehrveranstaltung dreht sich um die Konzepte funktionaler Programmierung. Als Sprache wird Haskell verwendet.
Benötigte Vorkenntnisse[Bearbeiten | Quelltext bearbeiten]
Grundzüge des Arbeitens unter *NIX (ls, mkdir, scp ... ) und rudimentäre Programmiererfahrung.
Weiterfuehrende LVAs[Bearbeiten | Quelltext bearbeiten]
Zumindest Fortgeschrittene funktionale Programmierung.
Ich kann empfehlen Typsysteme von Franz Puntigam parallel dazu zu besuchen, wenn grundsätzlich Interesse an diesem Thema besteht, da einige Aspekte von Typsystemen eng mit funktionalen Programmiersprachen verbunden sind und auch immer wieder auf Haskell eingegangen wird.
Ablauf[Bearbeiten | Quelltext bearbeiten]
Die Vorlesung findet zumeist wöchentlich statt (an zwei möglichen Terminen, Homepage der Lehrveranstaltung beachten!), es besteht keine Anwesenheitspflicht. Der Vortrag ist meist recht langsam und kann leicht einschläfernd sein, er behandelt aber immer die Themenbereiche, die dann bei den nächsten Übungsblättern relevant sind.
Übungen[Bearbeiten | Quelltext bearbeiten]
Es sind 9 Übungsblätter in Einzelarbeit zu lösen, für jedes Übungsblatt gibt es einen Haupt- (1 Woche nach Ausgabe) und einen Nachabgabetermin (2 Wochen nach Ausgabe). Die Gesamtbeurteilung für ein Übungsblatt setzt sich zur Hälfte aus der Haupt- und der Nachabgabe zusammen, d.h. man kann sich auch verschlechtern! Die Aufgaben umfassen jeweils die Implementierung von ein paar Funktionen, die dann automatisch vom gemeinsamen Gruppenverzeichnis abgesammelt und ebenfalls automatisch bewertet werden.
Leider funktioniert die Kommunikation mit der Übungsleitung über das TISS-Forum kaum, Unklarheiten in den Angaben oder beim Bewertungssystem werden fast nie kommentiert. Immerhin bringt das Forum aber eine sinnvolle Diskussion mit den anderen ÜbungsteilnehmerInnen, sodass oft Testfälle oder ähnliches ausgetauscht werden können.
Das automatische Bewertungssystem gibt ein Zeitfenster von 5 Sekunden vor, in der ein Ergebnis der getesteten Funktion vorliegen muss, du solltest also den Performance-Aspekt deiner Abgabe zumindest nicht ganz außer Acht lassen, auch wenn es in der Angabe nicht explizit erwähnt wird. Beispiele zum Thema sortieren sollten sich daher eine Laufzeitkomplexität von aufweisen, sonst gibt es höchst wahrscheinlich Timeouts.
(Dont know about or anything like that. I never got a timeout error and wrote many times spaghetti code.)
Die Abgabe von Übungsaufgaben erfolgt über SSH.
ssh f<matrikel>@g0.complang.tuwien.ac.at
Kommentare aus vergangenen Semestern[Bearbeiten | Quelltext bearbeiten]
- WS2007/08: Es gab im WS2007/08 Noten auf die Übung, die genaue Punktezahl auf die Übung war egal und es zählte für die Gesamtbeurteilung nur die Note des Übungsteils (die Gesamtnote bestand aus dem abgerundeten Mittel der Noten auf Vorlesungsprüfung und Übungsteil, z.B. UE 1 + VO 4 = Insgesamt 2). Natürlich musste man trotzdem auf den Übungsteil positiv sein.
- WS2009/10: Im WS2009/10 besserte sich die Kommunikation mit der Gruppenleitung nicht. Angaben waren unverständlich (weil leicht veränderte, aber nicht durchdachte Angaben aus dem vorigen Semester benutzt wurden). Bei jeder Abgabe gab es falsche Testfälle. D.h. aufpassen wie etwas formuliert ist und der Angabe und den Testfällen nicht zu viel Vertrauen schenken.
- WS2010/11: Gleiches im WS2010/11. Hier wurden zusätzlich die Angaben ein paar Stunden vor der Abgabe geändert und falsche Testfälle herangezogen. Bei der Korrektur der Bewertung wurde dann die vorletzte Angabe verwendet was nur eine kleine Besserung brachte. Alles in allem einfach irgendwas Programmieren und am Abgabetag Zeit nehmen und nochmal die neue Angabe auf das schon programmierte hinbiegen.
- Anmerkung: Imho ist die Information im Informatik-Forum gut. Es gibt zwar Unklarheiten, die können dort aber oftmals gut behoben werden. Einzig und allein die Bewertung von Übungsblatt 4 war schlichtweg fies. Aber im Allgemeinen schon ok.
- WS2015/16: Die Kommunikation ist leider immer noch unter jeder Kritik. Das TISS-Forum wird schlichtweg ignoriert! Vortragstermine werden ohne weitere Benachrichtigung auf der VU-Website geändert und beim nächsten Vortragstermin erwähnt ("Übrigens, morgen findet auch Vorlesungs statt. Ich hoffe, Sie haben Zeit.") Als sei das nicht genug, findet man ständig Angabefehler die dann 1 Tag vor dem Abgabetermin ausgebessert werden. Die Benotung erfolgt 1 Tag vor der 2. Abgabe, was ein effektives Verbessern unmöglich macht.
- WS2016/17: Zumindest Knoop gab sich gegen Ende hin auch die Mühe ein bisschen im Forum präsent zu sein. Aufgabenblätter waren meines Erachtens meistens eindeutig formuliert (auch wenn das einige nicht so gesehen haben).
- 2. Meinung: Aufgabenblätter waren meist(!) eindeutig formuliert, enthielten aber immer wieder Fehler die dann erst im Laufe der Abgabewoche korrigiert wurden. Außerdem sind Teile (vor allem bei den letzten) Aufgaben fast schon künstlich kompliziert geschrieben. Bei den ersten Blättern gab es Testfälle dazu, diese wurden bei den letzten ebenfalls komplett weggelassen.
- WS2017/18: Knoop war bei neuen Angaben eigentlich immer recht aktiv um Sachen klarzustellen und hat Sachen oft rasch ausgebessert. Im Laufe der Woche gab's dann nur noch sporadisch Antworten - die waren aber auch selten kritisch für die Aufgabe. Mühsam war das System mit Erst- und Zweitabgaben, da ist man schon bei der Aufgabe 1 in Verzug gekommen und hat es bis zum Ende nicht geschafft das rascher hinzubekommen. Das ist insofern bitter, weil einige Aufgaben auch aufeinander aufbauen.
- WS20/21: Im Tiss-Forum wurde recht schnell auf Fragen zu möglichen Fehlern in der Aufgabenstellung eingegangen. Auch Fragen zum Verständnis wurden meist recht bald beantwortet. Gegen Ende der Woche jedoch ebenfalls nicht mehr so oft. Nachfragen im Mattermost war da die bessere Idee. Leider haben gerade die Testcases manchmal Fehler gehabt. Die Auswertung war sehr schnell, man hatte genug Zeit die Übungen nocheinmal vor der Zweitabgabe zu bearbeiten.
- WS21/22: I wü nimma. Kurs derzeit ein organisatorisches Disaster, ein Totalausfall monumentalen Ausmaßes. Ist immer gut wenn der Prof bei der Einführungsveranstaltung nicht weiß, wann der Kurs eigentlich ist, aber auch keine Aufzeichnungen machen will, weil wir sollen ja lernen uns zu organisieren. Am besten das ganze auch noch, wenn sich der Kurs mit einer vorgeschriebenen VO im 3. Semester überschneidet, die in Präsenz abgehalten wird, gerade dann sind Aufzeichnungen sowieso überbewertet. TU Wien - ein einmaliges Erlebnis. In der Theorie ist pro Übungsblatt eine Woche Zeit, in der Praxis jedoch nur wenige Tage, da sich in jeder Angabe dutzende Fehler befinden die bei früherer Bearbeitung für enormen Zeitverlust und Verwirrung sorgen würden. Leider ist die LVA Leitung nicht im Stande eine Entwicklungsumgebung zu verwenden und Compile Fehler zu lesen.
- WS21/22: Anmerkung zum Vorehrigen Beitrag. Alles absolut wahr, allerdings gab es im Endeffekt doch Aufzeichnungen, aber auch nur, weil ein Student mit Hörbeeinträchtigung bei der LVA mitmachte (Shout-outs gehen raus an den Bruder). Die Aufzeichnungsdiskussion nahm den ganzen ersten LVA-Termin in Anspruch, da Herr Prof. Knoop doch ein rechter Sturkopf ist.
Prüfung, Benotung[Bearbeiten | Quelltext bearbeiten]
Die Prüfung findet schriftlich am Ende des Semesters statt, 90 Minuten Zeit, keine Unterlagen erlaubt. Die Gesamtnote ergibt sich je zur Hälfte aus den Punkten aus der Übung und aus den Punkten aus dem Test. Es finden 3 schiftliche Tests statt. Dabei gilt zu beachten, dass nicht wie in jeder anderen LVA die letzte Note zählt, sondern der durschnitt aller angetretenen Prüfungen. Das heißt, ist man negativ werden einem effektiv die fehlenden Punkte von den nächsten Tests "abgezogen". Schafft man es während der Prüfung nicht mehr als 50% der Punkte auszufüllen, sollte man den Test gar nicht erst abgeben. Dies spart laut Knoop korrektur Zeit?
Die Prüfungen waren Jahre lang sehr vorhersehbar, mit dem 2.ten (!) Test des WS19/20 wurden die Aufgaben aber stark umgestellt (weniger Code interpretieren/schreiben, mehr Theoriefragen). Es wird recht streng benotet, Punkte gibt es nur für richtige Dinge, nicht für Folgefehler oder Funktionen die nicht tun, was gefragt ist. Hier sollte man auf jeden Fall immer an die Spezialfälle denken, aber auch die einfachen Fälle nicht vergessen. Grundsätzlich besteht genug Zeit, den Code auch mehrmals durchzugehen.
Die Tests weisen jedoch oftmals folgendes Muster auf: zuerst Code Challenge, dann Theoriefrage dazu. Auch gerne über Angabenunterpunkte hinweg. Kann sehr frustrierend sein, wenn man 20+ Punkte in den Sand setzten muss, da man eine Angabe nicht oder falsch verstanden hat. Wer gut mit algorithmischer Problemlösung zu mathematisch beschriebenen Aufgaben umgehen kann ist klar im Vorteil. Reines Lernen von Haskell Theorie bringt eher weniger.
- Anekdote aus dem WS14 zu Prof. Neumerkel: Schriftliche Prüfung; ein Kollege ist mit der Ausarbeitung fertig und möchte sicherstellen, dass die fehlende Studienkennzahl kein Problem darstellt (tut sie übrigens quasi nie). Besagter Kollege geht nach vorne und stellt Prof. Neurmerkel die Frage. Dieser entgegnet damit, dass es eine komplette Unart sei während eines Tests herumzugehen oder laut Fragen zu stellen und nimmt ihm den Test sofort ab. Auf meine Frage (explizit "was ist die Summe der leeren Menge") bekam ich nur das typische "ist doch eh klar". Die Benotung an sich war dafür sehr milde, und der Test nicht so schwer wie man vermuten mag. Wer es aber vermeiden kann in FP mit Prof. Neumerkel in Kontakt zu kommen, sollte dies nach Möglichkeit auch tun. Scheinbar hat er es sich zum persönlichen Anliegen gemacht ein möglichst großer Ungustl zu sein.
- WS15: Hat Ass. Neumerkel die Aufsicht, werden Fragen mit einer nutzlosen Antwort oder Augenverdrehen beantwortet. Ein Tutor wurde während der Prüfung nach Hause geschickt, weil er auf die Frage eines Studenten mit einer passenden Antwort reagiert hat.
- Gegenargument: Beim 2. Termin (WS15) waren die anwesenden Prof. + Tutoren bemüht. Die Benotung dürfte sehr gelinde erfolgt sein.
- WS2020/21: An und für sich stand beim Test ausreichend Zeit zur Verfügung. Teilweise waren die Angaben aber sehr kompliziert formuliert, weshalb man sie mehrmals lesen musste, um zu verstehen was gefordert war. Die Benotung hat ca. 4 Wochen gedauert. (Online-Prüfung am Papier)
- WS2021/22: Man muss den Test schon zügig durcharbeiten damit man rechtzeitig fertig wird. Die Angaben sind immer noch ungenau und kompliziert formuliert. Fand die Prüfung um einiges schwieriger als die Jahre davor, jedoch wurde danach sehr freundlich bewertet. Man durfte jedoch einfach nicht abgeben und der Test wurde einfach nicht gewertet (also als hätte man nicht teilgenommen) und könnte das 3 mal versuchen (Gibt 3 Testtermine)
- WS2022/23: ok juckt niemanden mehr weils fprog nicht mehr gibt. FPROG es war schön mit dir!
- WS2023/24: FPROG ist zurück als 6 ECTS Variante - die Tests haben sich vom Schwierigkeitsgrad nicht geändert und man kann noch immer bei der Prüfung auf die Abgabe verzichten
Dauer der Zeugnisausstellung[Bearbeiten | Quelltext bearbeiten]
- WS08: 7 Tage nach Prüfung (Haupttermin)
- WS09: 2 Tage nach der Prüfung kam die Zeugnisbenachrichtigung per TUWIS (Haupttermin)
- WS10: 4 Wochen nach der Prüfung wurden die Noten bekanntgegeben und das Zeugnis gleich ausgestellt (Haupttermin)
Semester | Letzte Leistung | Zeugnis | |
---|---|---|---|
WS22 | 19.01.2023 | 27.02.2023 | 5,5 Wochen |
WS21 | 04.03.2022 | 29.04.2022 | 8 Wochen |
WS21 | 13.01.2022 | 16.02.2022 | 5 Wochen |
WS19 | 16.01.2020 | 04.02.2020 | 3 Wochen |
WS18 | 14.01.2019 | 18.02.2019 | 5 Wochen |
WS17 | 27.04.2018 | 27.05.2018 | 4 Wochen |
WS17 | 02.03.2018 | 30.03.2018 | 4 Wochen |
WS17 | 18.01.2018 | 16.02.2018 | 4 Wochen |
WS16 | 19.01.2017 | 16.02.2017 | 4 Wochen |
WS15 | 04.03.2016 | 01.04.2016 | 4 Wochen |
WS15 | 14.01.2016 | 12.02.2016 | 4 Wochen |
WS13 | 16.01.2014 | 17.02.2014 | 4,5 Wochen |
WS12 | 17.01.2013 | 23.02.2013 | 5 Wochen |
WS11 | 29.04.2012 | 12.06.2012 | 6 Wochen |
WS07 | 24.01.2008 | 19.02.2008 | 3,5 Wochen |
Ergebnisse liegen im Regelfall Zeitnah am Server (g0)
Tipps[Bearbeiten | Quelltext bearbeiten]
- Newsgroup und info-forum lesen und die LVA-HP regelmäßig besuchen! Manchmal gibt es nachträgliche Änderungen in der Angabe, die bei (Nicht-)Berücksichtigung zu Punkteabzügen führen. Im Forum werden häufig zusätzliche Testfälle und Interpretation der Angaben von Mitstreitern gepostet.
- Für neue Konzepte offen sein.
- Funktionale Programmierung unterscheidet sich von imperativer Programmierung (C, Java,...), Lösungsansätze á la "Wie wuerde ich dieses Problem in Java lösen?" führen also nicht unbedingt zum Erfolg, sondern eher zu schlechten und umständlichen Lösungen. Besser funktioniert ein mathematisch-deklarativer Ansatz ("Wie würde ich das als mathematische Funktion anschreiben?"). Funktionale Programmierung ist allerdings 'näher' an der imperativen Programmierung als logikorientierte Sprachen wie PROLOG.
- Das WAS? ist oft wichtiger als das WIE?
- Emacs mit Haskellmode beschleunigt das arbeiten sehr; noch besser funktioniert es mit einem zusätzlichen ghci-Fenster.
- Eta ist ein Haskell compiler für die JVM, bei dem die Fehlermeldungen klarer sind.
- die Beispiele am Anfang unbedingt machen, denn es wird immer schwieriger -- das war in den letzten 3 Wintersemestern allerdings ganz unterschiedlich
- vor allem auch deswegen weil die Testfälle späterer Beispiele immer "fehlerhafter" werden
- Erfahrung WS17: stimme hier voll zu, die Aufgaben werden meiner Meinung nach immer schwieriger und umfangreicher. Hatte zum Glück am Ende genügend Punkte, um die letzte Aufgabe auszulassen, denn diese wirkte besonders schwierig, auch im Forum wurde bezüglich der letzten Aufgabe besonders viel diskutiert.
- die Angaben von Knoop enthalten oft Fehler -> darum wenn was fertig ist unbedingt kontrollieren ob die Angabe noch so stimmt.
- Fristgerechts Abgeben zahlt sich aus.
- Funktionsheader, Beispiele und Testfälle aus der Angabe rauskopieren! Die Schriftart ist etwas unglücklich gewählt: beim Abschreiben macht man leicht Fehler; Int != Integer,... ;)
- Wenn einen das Thema bzw. auch Haskell interessiert unbedingt die Kleinübungsgruppen besuchen. Die TutorInnen sind echt toll und können auch viel zu Haskell erklären, was in der LVA eigentlich nicht behandelt wird.
Zeitaufwand[Bearbeiten | Quelltext bearbeiten]
Der Aufwand sollte sich auf 5-10 Stunden zu Beginn (Einlernen in Haskell) und 1-2 Stunden pro Übungsblatt (zumindest für die ersten acht Übungsblätter) beschränken. Das letzte Übungsblatt ist wegen der Beispiele zu Monaden etwas aufwendiger; hat man jedoch schon genug Punkte auf die anderen acht, kann man das Blatt auch auslassen und hat schon ein "Sehr gut" auf die Übung. --mdk 20:42, 20. Okt. 2007 (CEST)
Bei mir und meinem Kollegen dauert es schon immer etwas länger, da meist mindestens ein verzwicktes Beispiel dabei ist. Wir brauchen pro Übungsblatt ca. fünf Stunden, wenn dann noch Testfälle erdacht werden müssen oder die aus der Newsgroup bzw. Forum ausprobiert werden müssen, dann werden leicht sieben Stunden daraus. --klausi 12:11, 9. Nov. 2007 (CET)
- Dem moecht ich mich ca. anschliessen, ich wuerde tendenziell aber "nur 3-5 Stunden" sagen. -- Mati 13:09, 17. Feb. 2008 (CET)
- Sehe das auch so: Aufwand aber sehr unterschiedlich, von 2-3 bis 7-10 h war da alles dabei. Sehr ärgerlich waren auch die vielen Fehler in der Angabe und den Testfällen. --For3st 18:14, 21. Jan. 2010 (CET)
Aufwand dürfte steigen, auch bei uns sind ~5 Stunden Normalfall.
Durchschnittlich 4 Stunden pro Blatt. Da die Angaben oft unklar oder widersprüchlich formuliert sind, mussten wir die Lösungen manchmal noch im Nachhinein modifizieren. --Allmylittlewords 22:24, 25. Okt. 2011 (CEST)
Eher unterschiedlich, zwischen ca. drei bis vier Stunden und einigem mehr war alles dabei. --WolfB 17:01, 16. Jan. 2012 (CET)
WS2020/21: Habe insbesondere am Anfang deutlich mehr als die vorgesehenen 2 Stunden pro Übung benötigt (mehr so 4-8) Auch Leute die sich leichter getan haben haben eher immer das Doppelte gebraucht. Insbesondere weil die Aufgabenstellungen manchmal nicht klar sind bzw. die Testcases fehlerhaft. Zum Lernen auf die Prüfung sollte man mMn mindestens 3-4 Tage einplanen, wenn man nicht mitgelernt hat, da recht viele Theoriefragen kommen und es in Summe 1700 Folienseiten gibt.
Highlights / Lob[Bearbeiten | Quelltext bearbeiten]
WS23: Der Vorlesungsstoff ist umfangreich, aber alles wird wirklich gut erklärt. Die Aufgabenblätter haben einen perfekten Schwierigkeitsgrad, auch wenn man keine Vorerfahrung hat, und gegen Ende beherrscht man Haskell recht gut. Die Tutoren sind sehr nett, kennen sich gut aus und helfen gerne. Die LVA nimmt sich außerdem Kritik zu Herzen, im Gegensatz zu vielen anderen.
Verbesserungsvorschläge / Kritik[Bearbeiten | Quelltext bearbeiten]
- Generell gehört das Abgabesystem der Übungen überarbeitet. Studenten bekommen 0 Feedback zu ihren Übungen und es gibt nur einen Versuch beim Test. Die Lehrveranstaltung ist meiner Meinung nach nicht gut und gehört überarbeitet, vielleicht gehört ein neuer Veranstalter her.
- Die Vorlesung scheint auf absolute Programmieranfänger ausgerichtet zu sein. Alleine zur Klammerung in Haskell wurde eine ganze Vorlesung gehalten. Leider bleibt dabei keine Zeit für interessante oder auch fordernde Themen. (Anmerkung: Klammerung ist bei Haskell schon etwas wichtiger als bei anderen Sprachen denke ich - das mit der Links/Rechts Assoziativität etc. sollte man schon verstehen auf lange Sicht - im Zweifel einfach Klammern ohne Ende einfügen geht zwar auch - ist aber nicht unbedingt schön).
- Falls während der Prüfung nur Ass. Neumerkel anwesend ist, ist mit keinen Erklärungen zu Angaben zu rechnen. Habe bei der Prüfung am 14.04.2011 nach etwas gefragt da ich die Formulierung nicht klar fand worauf mir der Prof. nur den Rücken zudrehte und meinte, dass sei doch sowieso eindeutig anstatt mir zu antworten.
- Kann ich bestätigen. Mir ging es bei der Prüfung am 17.1.2013 gleich. Es wurde mir auch kein Zusatzblatt gegeben... mit dem vorgegebenen Platz muss man auskommen.
- Bis zum Haupttermin WS2011 hat es gereicht sich die Prüfungen aus den Vorjahren anzusehen und man konnte damit rechnen, dass wieder so etwas kommt. Jedoch steigt im SS2012 der Schwierigkeitsgrad der Prüfungen immens - sie sind zwar noch immer so aufgebaut wie in den Vorjahren (Ausdrücke auswerten, danach Bäume und Funktionen darauf), jedoch um einiges schwieriger und teilweise komplett neu (Bsp.: Elementbäume ?????, am 22.6.2012 kam eine Funktion die so zu sagen IRGENDWAS machen sollte, was keinen wirklichen Sinn ergab und nur schwer sein sollte)
- Schreckliche Übungsaufgaben (zwar simpel umzusetzen wenn die Angabe mal klar formuliert wäre - das ist aber nicht immer gegeben) und absolut letztklassige Betreuung. Die mit großem Abstand schlechteste Lehrveranstaltung der ersten 3 Semester.
- Wirklich schlechte Betreuung. Übungsbeispiele werden oft noch kurzfristig vor der Abgabe geändert bzw. lassen sich die PDFs oft gar nicht mehr öffnen. Derzeit steht z.B. seit Monaten ein beschädigtes Vorlesungsskriptum online (Stand 28.2.2014).
- Definitiv die schlimmste LVA des Semesters. Letztklassige Betreuung (Zynische Antworten der Tutoren, dass alles "klar" ist, was dann vom Professor nur Stunden vor der Abgabe anders "klar gestellt" wird) Die Übungsaufgaben sind oft aufgrund von Angabenfehlern nicht lösbar. Deadlines werden nach dem Ablauf um Wochen nach hinten verschoben, obwohl die Korrekturen automatisiert statt finden. Zynische Antworten des Professors im Forum ([1], [2]). Mehrfach werden LVAs abgesagt oder verschoben, ohne die Studierenden darüber zu informieren, was dazu führt, dass eine Meute von Studenten früh Morgens umsonst im Lehrsaal sitzt. (persönliches Fazit WS14/15)
- Die LVA-Leitung hat sich die Kritik etwas zu Herzen genommen. Unfreundlichkeiten sind dieses Semester nicht vorgekommen. Leider bleibt das Problem mit den unklaren Formulierungen/fehlerhaften Angaben bestehen. Von 7 Übungsblätter mussten bei 4 die Abgabetermine verschoben werden (fehlerhafte, unklare Angaben) und bei einem kam man nicht ohne zusätzliche Information aus. Also nur 2 von 7 Angaben waren ohne weitere Information zu lösen. Das Informatik-Forum ist immer noch die größte Hilfe und kann ich für diese LVA nur empfehlen. Einige Studenten stellen schon nach wenigen Stunden nach dem neuen Aufgabenblatt Testfälle online und helfen bei allen Fragen. (persönliches Fazit WS15/16)
- Ich kann bestätigen, dass die LVA-Leitung freundlich war und im WS21 auch auf Wünsche von Studierenden eingegangen ist. Es gab weiterhin hin und wieder Probleme mit den Angaben, aber darauf wurde dann eingegangen und Studierenden-freundliche Lösungen gefunden.
- WS23: Schlimmste LVA im ganzen Studium. Wöchentliche Aufgaben, wobei die Angaben teilweise bis zur dritten Nachbesserung nicht kompiliert haben (Freitags war Deadline), Vortrag waren nur "Anregungen" und hatten nicht das Ziel den Stoff zu vermitteln, bei den Prüfungen wurden für Dinge, die man bei ALLEN Übungen gemacht hat, Punkte abgezogen, etc. Gott sei Dank gibt es sie nicht mehr, Jens-Knoop-LVAS auf nach allen menschenmöglichen Kräften zu meiden ist aber das Wichtigste was ich in dieser LVA gelernt habe.
Unterlagen[Bearbeiten | Quelltext bearbeiten]
- Ein Tutorial zu funktionaler Programmierung mit Haskell --> (Link nicht mehr aktuell, Inhalt aber unter http://intern.fh-wedel.de/~si/vorlesungen/fp/Einleitung/index.html abrufbar)
- Alternatives unkonventionelleres Tutorial
- Learn You a Haskell — Hilfreiches Tutorial für die praktische Anwendung von Haskell
- Haskell Intensivkurs (Buch) - im TUNET/VPN gratis downloadbar
- Code-Beispiele aus dem WS06/07 im Informatik-Forum
- Hoogle
- Für Leute die lieber mit Videos lernen/schon Programmiererfahrung haben (aber nicht mit Haskell)
- Cheat-Sheets
- https://cheatsheet.codeslower.com/CheatSheet.pdf
- https://matela.com.br/pub/cheat-sheets/haskell-ucs-0.4.pdf
- Wikipedia-Links
Materialien
Neues Material hinzufügenA
H
P
- Perlskript für Punkteübersicht
- Prüfung 2024-06-07.pdf (details)
- Prüfung 2024-01-18.pdf (details)
- Prüfung 2023-03-03 (Lösungsvorschlag)
- Prüfung 2023-03-03.pdf (details)
- Prüfung 2023-01-19 (Lösungsvorschlag)
- Prüfung 2023-01-19.pdf (details)
- Prüfung 2022-03-04 (Lösungsvorschlag)
- Prüfung 2022-03-04.pdf (details)
- Prüfung 2022-01-13 (Lösungsvorschlag)
- Prüfung 2022-01-13.pdf (details)
- Prüfung 2021-05-28 (Lösungsvorschlag)
- Prüfung 2021-05-28.pdf (details)
- Prüfung 2021-03-05 (Lösungsvorschlag)
- Prüfung 2021-03-05.pdf (details)
- Prüfung 2021-01-14
- Prüfung 2021-01-14.pdf (details)
- Prüfung 2020-06-08
- Prüfung 2020-06-08 (Lösungsvorschlag)
- Prüfung 2020-06-08.zip (details)
- Prüfung 2020-01-16
- Prüfung 2019-01-17
- Prüfung 2018-03-02
- Prüfung 2018-01-18
- Prüfung 2017-01-19
- Prüfung 2016-03-04
- Prüfung 2016-01-14
- Prüfung 2015-03-06
- Prüfung 2015-01-15
- Prüfung 2014-03-07
- Prüfung 2014-01-16
- Prüfung 2013-04-26
- Prüfung 2013-03-01
- Prüfung 2013-01-17
- Prüfung 2012-04-27
- Prüfung 2012-03-02
- Prüfung 2012-01-19
- Prüfung 2011-06-09
- Prüfung 2011-03-17
- Prüfung 2011-01-20
- Prüfung 2010-03-04
- Prüfung 2010-01-21 (Lösung)
- Prüfung 2009-06-25
- Prüfung 2009-04-02
- Prüfung 2009-03-05
- Prüfung 2009-01-22
- Prüfung 2008-06-23
- Prüfung 2008-04-28
- Prüfung 2008-03-10
- Prüfung 2008-01-24