Syllabus

Title
1879 Algorithmisches Denken und Programmierung
Instructors
Dr. Sebastian Neumaier, B.Sc.
Contact details
Type
VUE
Weekly hours
2
Language of instruction
Deutsch
Registration
09/06/21 to 09/30/21
Registration via LPIS
Notes to the course
Dates
Day Date Time Room
Friday 10/15/21 01:00 PM - 05:00 PM Online-Einheit
Friday 10/22/21 01:00 PM - 05:00 PM Online-Einheit
Friday 10/29/21 01:00 PM - 05:00 PM Online-Einheit
Friday 11/05/21 01:00 PM - 05:00 PM Online-Einheit
Friday 11/12/21 01:00 PM - 05:00 PM Online-Einheit
Friday 11/19/21 01:00 PM - 05:00 PM Online-Einheit
Monday 11/22/21 10:00 AM - 12:00 PM Online-Einheit
Friday 11/26/21 10:00 AM - 06:00 PM Online-Einheit
Contents

Grundlagen der Programmierung:

  • Variablen, Datentypen und Operatoren 
  • Kontrollstrukturen und Schleifen 
  • Zeichenketten

Algorithmische Grundkonzepte:

  • Notation und Analyse von Algorithmen
  • Notation von Datenstrukturen
  • Komplexitätsanalyse 

Suchen und Sortieren:

  • Ausgewählte Algorithmen
  • Analyse von Such- und Sortierverfahren

Rekursion:

  • Ausgewählte rekursive Algorithmen
  • Rekursive/ dynamische Datentypen

Baumstrukturen:

  • Begriffe und Konzepte
  • Binäre Bäume
  • Ausgewählte Algorithmen (Traversierung, Suche, Einfügen und Löschen)

Hashverfahren:

  • Grundlagen und Verfahren
  • Kollisionen
  • Analyse von Hashverfahren
Learning outcomes

Theoretisches Grundverständnis:

  • Kenntnis der wichtigsten Grundkonzepte von Algorithmen.
  • Die Umsetzung dieser Konzepte in einer konkreten Programmiersprache.
  • Ausgewählte Algorithmen zur Lösung von grundlegenden Problemen der Informatik (z.B. Such- und Sortierverfahren), und deren Umsetzung in einer Programmiersprache. 

Analysieren und Verstehen von Algorithmen:

  • Die Fähigkeit, Algorithmen hinsichtlich ihrer Effizienz zu evaluieren und kritisch zu vergleichen;
  • von Dritten erstellte Programme zu erfassen, nachzuvollziehen und zu analysieren. 

Entwurf von Programmen:

  • Die Fähigkeit, grundlegende Algorithmen zur Lösung eines bestimmten Problems selbstständig zu formulieren, mit Hilfe
    • natürlicher Sprache,
    • eines Pseudocodes,
    • oder einer Programmiersprache.
Attendance requirements

Für Studien nach Studienplan 2019 (VUE Algorithmisches Denken und Programmierung)

  • Die Teilnahme an der Lehrveranstaltung ist grundsätzlich verpflichtend und wird kontrolliert (Anwesenheitsliste). Die Mindestanwesenheit zur Möglichkeit einer Beurteilung liegt bei 50% der Einheiten. Jede Abwesenheit muss rechtzeitig angezeigt und mit einem Abwesenheitsgrund belegt sein.
  • Die Teilnahme am ersten Termin sowie am Haupttermin der Prüfung sind für Studierende jedenfalls verpflichtend zu besuchen und von der oben genannten Ausnahme zur Anwesenheitspflicht ausgenommen.
  • Eine unbegründete und entschuldigte Abwesenheit in der ersten Einheit kann zum Verlust des Platzes führen.
  • Die Möglichkeit der Ersatzleistung für die Prüfung zum Nachtermin besteht nur, wenn der Haupttermin begründet und entschuldigt versäumt wurde.
  • Eine möglichst vollständige Teilnahme am Kurs wird auf jeden empfohlen zur Erreichung der Lernziele.

Für Studien nach Studienplan 2012 (LVP Grundzüge der Programmierung / Wahlfach Kurs I - Grundzüge der Programmierung und Modellierung)

  • Die Teilnahme an der Lehrveranstaltung Grundzüge der Programmierung ist nicht verpflichtend und wird auch nicht kontrolliert.
  • Ebenso findet auch keine Leistungsbeurteilung für die Teilnahme an diesem Kurs statt. Die Leistungsfeststellung für den entsprechenden Planpunkt erfolgt durch die entsprechende Lehrveranstaltungsprüfung (LVP).
  • Es wird die Möglichkeit geben, bis zu 10% Bonuspunkte für die LVP-Prüfung zu sammeln. Diese gelten nur bei Prüfungsantritt im aktuellen Semester. 
  • Eine Teilnahme am Kurs ist für Studierende somit nicht verpflichtend, jedoch zu empfehlen.
Teaching/learning method(s)

Der Kurs "Algorithmisches Denken und Programmierung" (ADP) ist in fünf inhaltliche Blöcke gegliedert:

  • Einführung: Grundlagen der Programmierung
  • Suchalgorithmen
  • Sortieralgorithmen und Datenstrukturen
  • Rekursion
  • Hashtabellen und Hashfunktionen

 

Die ersten fünf Blöcke bestehen jeweils aus zwei Bausteinen (Präsenzeinheit, Programmierlabor). Das Programmierlabor wird aktuell in Form von Onlineaktivitäten als Gruppenarbeiten abgehalten. Zusätzlich werden Lehrtutorien zur Handhabung der Programmierumgebung und Programmiersprache angeboten.

Assessment

Die vier Aufgabenstellungen gelten als Teilleistungen neben der Abschlussprüfung:

  • Aufgaben: 40 Punkte
  • Abschlussprüfung (schriftlich mit mündlicher Nachbesprechung): 60 Punkte

Notenschlüssel:

90 - 100 1
76 - 89 2
63 - 75 3
50 - 62 4
0 - 49 5

 

Wahlfach:

  • Online-Aktivitäten + Abgaben: 40 Punkte
  • Abschlussprüfung (schriftlich mit mündlicher Nachbesprechung): 80 Punkte

Notenschlüssel:

108 - 120 1
92 - 107 2
76 - 91 3
60 - 75 4
0 - 59 5

 

Readings
1 Author: Gunter Saake, Kai-Uwe Sattler
Title:

Algorithmen und Datenstrukturen


Publisher: dpunkt.verlag
Edition: 5
Remarks: Sh. https://permalink.obvsg.at/wuw/AC15572284
Year: 2014
Recommendation: Essential reading for all students
Type: Book
Last edited: 2021-05-17



Back