Grundlagen der Programmierung im WS 2018/19
verantw. Hochschullehrer: | PD Dr. Henning Bordihn |
Studiengang: | Bachelor ICS, IMF, 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 (5.-9. November) ist in den Rechnerübungen ist ein Test zum sicheren Umgang mit dem Betriebssystem UNIX/Linux zu absolvieren. Das Ergebnis dieses Tests zählt als 20 Prozent der Klausurpunkte und geht somit in die Gesamtnote ein.
- In der Prüfungszeit nach dem Semester, am Freitag, 22. Februar 2019, wird von 12:30 bis 14:30 Uhr eine 120-minütige Klausur geschrieben (Hörsaal H03+04). Das Ergebnis der Klausur bildet 80 Prozent der Klausurpunkte.
- Zum Bestehen müssen insgesamt (aus dem UNIX-Test und der Klausur) 50 Prozent der Klausurpunkte erreicht werden.
- 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. Zwei bis dreimal darf dieser Wert unterschritten werden.
- 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 Kurs muss allerdings ohne Berücksichtigung der Bonuspunkte bestanden werden.
Literatur
Wird in der Vorlesung bekanntgegeben.