Grundlagen der Programmierung im WS 2022/23
verantw. Hochschullehrer: | PD Dr. Henning Bordihn |
Studiengang: | Bachelor ICS, WIN, Lehramt, weitere mit Nebenfach Informatik |
Master: COS (Brückenkurs) | |
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 (7.-11. November) ist in den Rechnerübungen ein Test zum sicheren Umgang mit dem Betriebssystem UNIX/Linux zu absolvieren. Das Ergebnis dieses Tests dient als Prüfungsnebenleistung (der Rechnerübungen) zum Abschluss des Moduls. Die Zulassung zur Klausur erfolgt unabhängig vom Erfolg in diesem Test.
- In der Prüfungszeit nach dem Vorlesungszeitraum wird eine 120-minütige Klausur ohne Unterlagen geschrieben..
- Zur Vorbereitung auf die Übungen sind von jedem Teilnehmer ab der vierten 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 (der Vorlesung/Übungen) ist 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.
Einschreibung
- Schreiben Sie sich sowohl in die Komponente Vorlesung/Übung als auch in die Komponente Rechnerübung in jeweils eine Gruppe ein. Dies ist zwingend erforderlich, damit am Ende des Semesters die Prüfungsnebenleistungen verbucht werden können. Die Wahl der Gruppen ist hier nicht verbindlich.
- Schreiben Sie sich außerdem in den Moodlekurs Grundlagen der Programmierung 2022/23 ein. Dort wählen Sie Ihre bevorzugte Zeit zur
Teilnahme an den Veranstaltungen. Bitte schreiben Sie sich hier in
genau eine Gruppe der Übungen und ingenau eine Gruppe der Rechnerübungen ein!