Grundlagen der Programmierung (WS 2018/19)

← zurück zur Übersichtsseite

Allgemeine Anmerkungen zur Vorlesungsumfrage

Zunächst einmal vielen Dank für die vielen Anregungen. Die Bandbreite der Kommentare spiegelt die Diversität der Zuhörerschaft wider: die Vorlesung hören sowohl Studierende im Hauptfach Informatik als auch viele Studierende anderer Fachbereiche als Nebenfach. Einige Studierende bringen Vorwissen mit, andere begegnen Themen der Informatik zum ersten Mal. Die Breite der Zuhörerschaft bringt es fast zwangsläufig mit sich, dass man nicht allen gerecht werden kann: einige werden unterfordert, andere überfordert. Aus diesem Grund haben wir in diesem Semester zusätzliche Angebote in Form von Sprechstunden für die Übungen und einer Sprechstunde für die Vorlesung gemacht. Die Resonanz war prinzipiell sehr positiv, aber: man muss die Angebote auch nutzen!

Die Ergebnisse der Abschlussklausur zeigen, dass der Balanceakt insgesamt geglückt ist: mehr als 75% der Klausurteilnehmer*innen haben die Klausur bestanden, davon 43% mit einer guten oder einer sehr guten Note. Herzlichen Glückwunsch! Ich bin mit den Ergebnissen sowohl in der Breite (die verschiedenen Aufgaben haben unterschiedliche Kompetenzen geprüft; in der Regel wurden alle Aufgaben bearbeitet) als auch in der Spitze (für jede Aufgabe gab es perfekte Lösungen) sehr zufrieden.

Zum Feedback: viele Kommentare wiederholen sich, deshalb vorweg einige allgemeine Anmerkungen. (Für den Fall, dass Sie weitere Anregungen haben, können Sie gerne eine Email an support@harry-hacker.org schreiben oder anonym unseren Zettelkasten nutzen.)

(A) Inhalt

Ein häufiges Missverständnis: die Vorlesung ist kein Programmierkurs, sondern, wie der Name andeutet, geht es um allgemeine und allgemeingültige Grundlagen, Prinzipien und Konzepte von Programmiersprachen. Es ist also nicht das primäre Ziel, eine bestimmte Programmiersprache einzuführen, sondern wir wollen Sie fit machen für die letzten 2.000 und die nächsten 100 Sprachen. Die Sprache F# wurde ausgewählt, weil es diesem Ziel am besten gerecht wird. Mit Java lassen sich z.B. funktionale Konzepte nur eingeschränkt vermitteln; einfache Konzepte wie Funktionen sind Spezialfälle fortgeschrittener Konzepte wie Methoden. Man zahlt den Preis/Overhead der Objektorientierung während der gesamten Vorlesung, insbesondere am Anfang. (Es gibt auch Vorlesungen, die eine künstliche Sprache verwenden, aber so weit wollten wir nicht gehen.) Ihnen ist langfristig besser gedient, wenn Sie sich in verschiedene Sprachen schnell einarbeiten können. Ein Programmierkurs dient dem eher kurzfristigen Ziel, Sie in der Sprache X fit zu machen.

(B) Praxis und Theorie

Die Vorlesung gehört zur praktischen Informatik. Wir wollen Ihnen Programmierkonzepte vermitteln und Sie sollen programmieren lernen. Dazu müssen Sie natürlich verstehen, wie man Programme formuliert (Syntax) und was die verschiedenen Konstrukte bedeuten (Semantik). Dazu sind einige wenige Formalismen notwendig, aber das ist noch keine “Theorie”. (Auch in der Chemie wird es nicht nur knallen und krachen; auch in einer Physikvorlesung wird man der einen oder anderen Formel begegnen.)

Antworten auf Ihre Kommentare

Antworten auf Ihre einzelnen Kommentare finden Sie bei der Auswertung der VLU.