Modul

AD - Algorithmen und Datenstrukturen

Bachelor Technische Informatik 2020


PDF Studiengangsverzeichnis Studienverlaufspläne Bachelor Technische Informatik

Version: 1 | Letzte Änderung: 10.09.2019 15:32 | Entwurf: 0 | Status: vom Modulverantwortlichen freigegeben | Verantwortlich: Rosenthal

Anerkannte Lehrveran­staltungen AD_Rosenthal
Fachsemester 2
Dauer 1 Semester
ECTS 5
Zeugnistext (de) Algorithmen und Datenstrukturen
Zeugnistext (en) Algorithms and Data Structures
Unterrichtssprache deutsch
abschließende Modulprüfung Ja
Inhaltliche Voraussetzungen
PI1
-Praktische Informatik 1
Sicherer Umgang mit einer Programmiersprache.
Handlungsfelder
Systeme zur Verarbeitung, Übertragung und Speicherung von Informationen für technische Anwendungen planen, realisieren und integrieren
Anforderungen, Konzepte und Systeme analysieren und bewerten
Informationstechnische Systeme und Prozesse organisieren und betreiben
Mit Auftraggebern, Anwendern, gesellschaftlichem Umfeld und Teammitgliedern interagieren
Modulprüfung
Benotet Ja
Frequenz Jedes Semester
Prüfungskonzept

Die Studierenden sollen in einer schriftlichen Klausur folgende Fähigkeiten nachweisen, die die o.a. Kompetenzen K1-K4 und K6-K9 abdecken: 1.) Sicherer Umgang mit grundlegenden Begrifflichkeiten, Konzepten und Techniken, 2.) Anwendung programmiersprachlicher und abstrakterer Konstrukte zur Lösung von Anwendungsproblemen bei der Verwendung gegebener Datenstrukturen und Alghorithmen, 3.) Prüfung von Lösungsvorschlägen auf Korrektheit. Typische Aufgabenformen zu 1.) sind Multiple-Choice-Fragen, Lückentexte, Bewertung von Aussagen hinsichtlich ihrer Korrektheit, zu 2.) Lösung kleinerer umgangssprachlich formulierter Probleme durch Programmstücke oder in abstrakterer Form und zu 3.) das Finden von Fehlern in Aussagen und vorgegebenen Programmstücken.
Die übrigen Kompetenzen (K10, K13, K15, K16) lassen sich in einer schriftlichen Klausur begrenzter Dauer nur schwer sinnvoll prüfen. Sie werden daher im Praktikum geprüft, das als studienbegleitende Vorleistung absolviert werden muss.

Learning Outcomes
LO1 - Was: Das Modul vermittelt Kenntnisse zum Umgang mit Algorithmen und Datenstrukturen sowie ein tieferes Verständnis der zugrundeliegenden Konzepte und Techniken. Im Fokus dieses steht die exemplarische Nutzung der Programmierung in C++ zur Rrealisierung der behandelten Datenstrukturen und Algorithmen. In praktischer Arbeit analysieren die Studierenden Problemstellungen im Systemumfeld (K1, K2, K4), implementieren Lösungen auf der Grundlage anerkannter Konzepte und Methoden (K3) mit Hilfe von Standardwerkzeugen (K6, K9) und prüfen sie (K7). Sie recherchieren dazu in Dokumentationen (K8, K15) und passen vorhandene Software an (K10).
Womit: Der Dozent vermittelt Wissen und Basisfertigkeiten in einem Vorlesungs-/Übungsteil und betreut darauf aufbauend ein Praktikum. In den Übungen und insbesondere im Praktikum arbeiten die Studierenden in Kleingruppen und verteidigen ihre Lösungen (K8, K13, K16).
Wozu: Die Verwendung und Beurteilung von Standarddatenstrukturen und Standardalgorithmen ist essentiell für heutige komplexe Softwaresysteme. Entsprechende Programmierkenntnisse und Wissen über die zugehörigen Grundlagen sind somit unverzichtbar für die Erstellung moderner Software (HF1). Durch ihre praktische Programmierarbeit erwerben die Studierenden Erfahrungen, die wichtig sind für die Erfassung von Anforderungen, die Entwicklung von Konzepten zur technischen Lösung und zu ihrer Bewertung (HF2) sowie zur Ausführung von Programmen (HF3). Die Durchführung im Team mit dem Dozenten als "Auftraggeber" stärkt die Interaktionsfähigkeit der Studierenden (HF 4).
Kompetenzen
Vermittelte Voraussetzungen für Kompetenzen
Informationen beschaffen und auswerten; Technische Zusammenhänge darstellen und erläutern
Befähigung zum lebenslangen Lernen
Kommunikative und interkulturelle Fähigkeiten anwenden

Vermittelte Kompetenzen
In Systemen denken
fachliche Probleme abstrahieren und formalisieren
Konzepte und Methoden der Informatik, Mathematik und Technik kennen und anwenden
Systeme analysieren
Systeme realisieren
Systeme prüfen
Typische Werkzeuge, Standards und Best Practices der industriellen Praxis kennen und einsetzen
In vorhandene Systeme einarbeiten und vorhandene Komponenten sinnvoll nutzen
Komplexe technische Aufgaben im Team bearbeiten

Inhaltliche Voraussetzungen
PI1
-Praktische Informatik 1
Sicherer Umgang mit einer Programmiersprache.
Handlungsfelder
Systeme zur Verarbeitung, Übertragung und Speicherung von Informationen für technische Anwendungen planen, realisieren und integrieren
Anforderungen, Konzepte und Systeme analysieren und bewerten
Informationstechnische Systeme und Prozesse organisieren und betreiben
Mit Auftraggebern, Anwendern, gesellschaftlichem Umfeld und Teammitgliedern interagieren
Learning Outcomes
LO1 - Was: Das Modul vermittelt Kenntnisse zum Umgang mit Algorithmen und Datenstrukturen sowie ein tieferes Verständnis der zugrundeliegenden Konzepte und Techniken. Im Fokus dieses steht die exemplarische Nutzung der Programmierung in C++ zur Rrealisierung der behandelten Datenstrukturen und Algorithmen. In praktischer Arbeit analysieren die Studierenden Problemstellungen im Systemumfeld (K1, K2, K4), implementieren Lösungen auf der Grundlage anerkannter Konzepte und Methoden (K3) mit Hilfe von Standardwerkzeugen (K6, K9) und prüfen sie (K7). Sie recherchieren dazu in Dokumentationen (K8, K15) und passen vorhandene Software an (K10).
Womit: Der Dozent vermittelt Wissen und Basisfertigkeiten in einem Vorlesungs-/Übungsteil und betreut darauf aufbauend ein Praktikum. In den Übungen und insbesondere im Praktikum arbeiten die Studierenden in Kleingruppen und verteidigen ihre Lösungen (K8, K13, K16).
Wozu: Die Verwendung und Beurteilung von Standarddatenstrukturen und Standardalgorithmen ist essentiell für heutige komplexe Softwaresysteme. Entsprechende Programmierkenntnisse und Wissen über die zugehörigen Grundlagen sind somit unverzichtbar für die Erstellung moderner Software (HF1). Durch ihre praktische Programmierarbeit erwerben die Studierenden Erfahrungen, die wichtig sind für die Erfassung von Anforderungen, die Entwicklung von Konzepten zur technischen Lösung und zu ihrer Bewertung (HF2) sowie zur Ausführung von Programmen (HF3). Die Durchführung im Team mit dem Dozenten als "Auftraggeber" stärkt die Interaktionsfähigkeit der Studierenden (HF 4).
Kompetenzen
Kompetenz Ausprägung
In Systemen denken Vermittelte Kompetenzen
fachliche Probleme abstrahieren und formalisieren Vermittelte Kompetenzen
Konzepte und Methoden der Informatik, Mathematik und Technik kennen und anwenden Vermittelte Kompetenzen
Systeme analysieren Vermittelte Kompetenzen
Systeme realisieren Vermittelte Kompetenzen
Systeme prüfen Vermittelte Kompetenzen
Informationen beschaffen und auswerten; Technische Zusammenhänge darstellen und erläutern Vermittelte Voraussetzungen für Kompetenzen
Typische Werkzeuge, Standards und Best Practices der industriellen Praxis kennen und einsetzen Vermittelte Kompetenzen
In vorhandene Systeme einarbeiten und vorhandene Komponenten sinnvoll nutzen Vermittelte Kompetenzen
Komplexe technische Aufgaben im Team bearbeiten Vermittelte Kompetenzen
Befähigung zum lebenslangen Lernen Vermittelte Voraussetzungen für Kompetenzen
Kommunikative und interkulturelle Fähigkeiten anwenden Vermittelte Voraussetzungen für Kompetenzen

Exempla­rische inhaltliche Operatio­nalisierung

Es werden die abstrakten linearen und hierarchischen Datentypen und die Komplexität der dazugehörigen Operationen behandelt. Insbesondere werden Such- und Sortierverfahren für
- Lineare Datenstrukturen (z.B. lineare Listen, verkettete Listen usw. )
- Hierarchische Datenstrukturen (z.B. k-näre Bäume, binäre Suchbäume usw. )
und ihre Realisierung in C++ diskutiert .

Separate Prüfung

keine

Exempla­rische inhaltliche Operatio­nalisierung

Die Studierenden lernen abstrakte lineare und hierarchische Datentypen für bestimmte Anwendungen selbständig zu implementieren. Dazu beschaffen sie auch selbstständig Informationen und passen vorhandene Software an.

Separate Prüfung
Benotet Nein
Frequenz Einmal im Jahr
Voraussetzung für Teilnahme an Modulprüfung Ja
Prüfungskonzept

Die Studierenden schließen sich zu Kleingruppen zusammen. Jede Kleingruppe absolviert mehrere "Praktikumsrunden" mit zugewiesenen Laborterminen. In jeder Runde werden Programmieraufgaben gelöst.
Zur Vorbereitung eines Labortermins muss ein "Vorbereitungsblatt" praktisch gelöst werden. Die dabei erworbenen Kenntnisse werden zu Beginn des Termins geprüft (kurzer schriftlicher Eingangstest oder persönliches Gespräch mit dem Betreuer). Wird diese Prüfung nicht bestanden, so muss ein Folgetermin wahrgenommen werden; im Wiederholungsfall führt dies zum Nichtbestehen des Praktikums. Im Erfolgsfall wird ein "Laborarbeitsblatt" mit weiteren Aufgaben unter Aufsicht (und ggf. mit Hilfestellung) bearbeitet.
Durch diese stufenweise Vorgehensweise können sämtliche aufgeführte Kompetenzen individuell abgeprüft werden.


© 2022 Technische Hochschule Köln