Grundlagen der Programmierung im WS 2017/18
verantw. Hochschullehrer: | PD Dr. Henning Bordihn |
Studiengang: | Bachelor ICS, IMF, WIN, Lehramt, weitere mit Nebenfach Informatik |
Master: COS (Brückenkurs), GUV, BIF | |
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 deklarative und 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 (6.-10. 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, 16. Februar 2018, wird von 9:00 bis 11:00 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.
- In unregelmäßigen Abständen ist die Abgabe der Lösungen von ausgewählten, einfachen Übungsaufgaben gefordert. Von allen abzugebenden Lösungen müssen insgesamt mindestens 60 Prozent korrekt sein. Diese Leistung gilt als Voraussetzung für die Zulassung zur Klausur.
- 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.