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 Lehrveranstaltungen | 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 |
PI1 -Praktische Informatik 1 |
Sicherer Umgang mit einer Programmiersprache. |
---|
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 |
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 | |
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). |
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 |
PI1 -Praktische Informatik 1 |
Sicherer Umgang mit einer Programmiersprache. |
---|
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 |
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). |
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 | |
Exemplarische inhaltliche Operationalisierung | 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 | |
Exemplarische inhaltliche Operationalisierung | 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. |
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. |
© 2022 Technische Hochschule Köln