Grundlagen der Programmierung im WS 2019/20
verantw. Hochschullehrer: | PD Dr. Henning Bordihn |
Studiengang: | Bachelor ICS, INF, WIN, Lehramt, weitere mit Nebenfach Informatik |
Master: COS (Brückenkurs), GUV, BIF (alte Ordnung) | |
Voraussetzungen: | Keine. Diese Lehrveranstaltung sollte vor Algorithmen und Datenstrukturen, Praxis der Programmierung sowie Software Engineering belegt werden. |
SWS: | 6 (2 V + 2 Ü + 2 Rechnerübungen) |
Credits: | 6 |
Übungen und Rechnerübungen
Ausgewählter Vorlesungsstoff wird in den Übungen gefestigt, geübt und vertieft. Zusätzlich werden verschiedene Beispiele während der Rechnerübungen in Python implementiert. Der sichere Umgang mit der Programmiersprache Python wird vor allem durch die Rechnerübungen erworben. Weiterhin dienen die Rechnerübungen in den ersten Wochen zum Kennenlernen des Betriebssystems UNIX/Linux.
Deshalb besucht jeder Teilnehmer eine der Übungen und eine der Rechnerübungen.
In den ersten drei Wochen dienen die Übungen als zusätzliche Rechnerübungen.
Der Besuch der Vorlesungen ist für die erfolgreiche Teilnahme an den Übungen und Rechnerübungen unerlässlich.
Inhalte
- Grundbegriffe der Informatik
- Hardware, Software, Programm, Prozess, Betriebssystem, Netzwerk
- Einführung in UNIX/Linux
- Prozesskonzept
- Dateisystem, Rechtemanagement
- Shell, Systemvariablen, Kommandosubstitution, Ein- und Ausgabeströme
- Einige UNIX-Werkzeuge
- Mathematische Grundlagen
- Relationen, Funktionen, Operationen
- mathematische Aussagen und Beweise
- Vom Problem zum Algorithmus
- Algortihmenbegriff
- Modellbildung/Abstraktion und Verfeinerung
- Graphen und ihre Repräsentation
- Pseudocode, Variablen, Kontrollstrukturen, grundlegende Datentypen
- Brute-Force-Algorithmen
- Komplexität und andere Gütekriterien
- Grenzen des algorithmisch Machbaren
- Vom Algorithmus zum Programm
- Imperative Programmierung
- Prozedurale Programmierung, Funktionen, Parameter, Aufruf-Stack
- Rekursion
- Objektorientierte Progammierung
- Funktionale Programmierung
- Progammierung mit Python
- Ausblick auf logische Programmierung
- Vom Programm zum Prozess
- Interpreter versus Compiler
- Assembler
- Algorithmen
- einfache numerische Algorithmen
- Algorithmen auf Graphen, vor allem Breiten- und Tiefensuche
- u.v.m.
Leistungserfassung
- In der 4. Lehrveranstaltungswoche (4.-8. November) ist in den Rechnerübungen ein Test zum sicheren Umgang mit dem Betriebssystem UNIX/Linux zu absolvieren. Dieser Tests zählt ist eine Prüfungsnebenleistung der Komponente Rechnerübungen und Voraussetzung für den Abschluss des Moduls (Gutschrift der Leistungspunkte). Dafür sind mindestens 50% der Testpunkte zu erreichen. Im Übrigen ist diese Prüfungsnebenleistung unbenotet.
- In der Prüfungszeit nach dem Semester, am Donnerstag, 13. Februar 2020, wird von 12:30 bis 14:30 Uhr eine 120-minütige Klausur geschrieben (Hörsaal H03+04). Das Ergebnis der Klausur bestimmt die Modulnote.
- Zur Vorbereitung auf die Übungen sind von jedem Teilnehmer ab der dritten Woche einfache Aufgaben zum Vorlesungsstoff zu lösen und via Moodle abzugeben. Ähnliche Aufgaben stehen als Übungsaufgaben auf Moodle bereit. Jede der abzugebenden Aufgaben muss mindestens zu 60% korrekt gelöst sein. Bis zu dreimal darf dieser Wert unterschritten werden. Diese Prüfungsnebenleistung geh&oml;rt zur Komponente Vorlesung/Übung und muss bestanden werden, um die Zulassung zur Prüfung zu erhalten. Auch diese Prüfungsnebenleistung bleibt im Übrigen unbenotet. Eine aktive Teilnahme an den Übungen wird erwartet. Durch Beiträge zur Lösung der (nicht abzugebenden) Übungsaufgaben können Bonuspunkte für die Klausur erarbeitet werden. Der Klausur muss allerdings ohne Berücksichtigung der Bonuspunkte bestanden werden (mindestens 50% der Klausurpunkte).
Literatur
Wird in der Vorlesung bekanntgegeben.