Modulhandbuch 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
Gültig ab Sommersemester 2021
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
Konzept 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.
Frequenz Jedes Semester
Learning Outcomes
ID Learning Outcome
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 diese Kompetenz wird vermittelt
fachliche Probleme abstrahieren und formalisieren diese Kompetenz wird vermittelt
Konzepte und Methoden der Informatik, Mathematik und Technik kennen und anwenden diese Kompetenz wird vermittelt
Systeme analysieren diese Kompetenz wird vermittelt
Systeme realisieren diese Kompetenz wird vermittelt
Systeme prüfen diese Kompetenz wird vermittelt
Informationen beschaffen und auswerten; Technische Zusammenhänge darstellen und erläutern Voraussetzungen für diese Kompetenz (Wissen,...) werden vermittelt
Typische Werkzeuge, Standards und Best Practices der industriellen Praxis kennen und einsetzen diese Kompetenz wird vermittelt
In vorhandene Systeme einarbeiten und vorhandene Komponenten sinnvoll nutzen diese Kompetenz wird vermittelt
Komplexe technische Aufgaben im Team bearbeiten diese Kompetenz wird vermittelt
Befähigung zum lebenslangen Lernen Voraussetzungen für diese Kompetenz (Wissen,...) werden vermittelt
Kommunikative und interkulturelle Fähigkeiten anwenden Voraussetzungen für diese Kompetenz (Wissen,...) werden vermittelt

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
ID Learning Outcome
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 diese Kompetenz wird vermittelt
fachliche Probleme abstrahieren und formalisieren diese Kompetenz wird vermittelt
Konzepte und Methoden der Informatik, Mathematik und Technik kennen und anwenden diese Kompetenz wird vermittelt
Systeme analysieren diese Kompetenz wird vermittelt
Systeme realisieren diese Kompetenz wird vermittelt
Systeme prüfen diese Kompetenz wird vermittelt
Informationen beschaffen und auswerten; Technische Zusammenhänge darstellen und erläutern Voraussetzungen für diese Kompetenz (Wissen,...) werden vermittelt
Typische Werkzeuge, Standards und Best Practices der industriellen Praxis kennen und einsetzen diese Kompetenz wird vermittelt
In vorhandene Systeme einarbeiten und vorhandene Komponenten sinnvoll nutzen diese Kompetenz wird vermittelt
Komplexe technische Aufgaben im Team bearbeiten diese Kompetenz wird vermittelt
Befähigung zum lebenslangen Lernen Voraussetzungen für diese Kompetenz (Wissen,...) werden vermittelt
Kommunikative und interkulturelle Fähigkeiten anwenden Voraussetzungen für diese Kompetenz (Wissen,...) werden vermittelt

Typ Vorlesung / Übungen
Separate Prüfung Nein
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 .
Typ Praktikum
Separate Prüfung Ja
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
Konzept 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.

Bei Fehlern, bitte Mitteilung an die
Webredaktion der Fakultät IME

© 2022 Technische Hochschule Köln