Grundlagen der Informatik 4

Grundlagen der Informatik 4

Studienbereich

  • Bachelor-Studienabschnitt, Pflichtfach, Empfohlenes Semester: 4. Semester

Anzahl Leistungspunkte (LP)

  • 5 (= 150 Stunden Lernzeit)

Fach

  • Grundlagen der Informatik und Programmierung

Modulbeauftragter

  • Prof. Dr. Manfred Meyer

Verwendung des Moduls

  • Bachelor-Studiengang: Web- & Medieninformatik
  • Bachelor-Studiengang: Wirtschaftsinformatik (Wahlkatalog 2)
  • Wissenschaftliche Informatik-Weiterbildung Online: Anwendungsprogrammierer

Lernergebnisse / Kompetenzen

  • Nach dem Durcharbeiten dieses Moduls kennen die Studierenden die wichtigsten Algorithmen und Datenstrukturen für wichtige Problemstellungen einschließlich ihrer Komplexitätseigenschaften und können sie in eigenen Java-Programmen einsetzen.
  • Das Java Collection Framework ist den Studierenden bekannt. Die Studierenden lernen, grundlegende Datenstrukturen wie Listen, Stapel, Schlangen, Mengen und Bäume selbst zu implementieren. Sie können passende Algorithmen und Datenstrukturen für kombinatorische Problemstellungen auswählen und einsetzen.
  • Außerdem kennen sie die grundlegenden Konzepte der funktionalen Programmiersprache Clojure und können einige einfache Programme in der sprachspezifischen Umgebung ausführen.

Inhaltsübersicht

Inhaltsübersicht

Algorithmen

  • Komplexität von Algorithmen
  • Korrektheit von Algorithmen

Rekursion

  • Entwurf rekursiver Algorithmen
  • Rekursion & Iteration

Suchalgorithmen

  • Sequenzielle Suche
  • Binäre Suche
  • Hashing-basierte Suche

Datenstrukturen

  • Listen
  • Verkettete Listen
  • Bäume

Algorithmen auf Texten

  • KMP-Algorithmus zur Mustersuche
  • Boyer-Moore-Algorithmus

Kombinatorische Algorithmen

  • Backtracking
  • Constraint Solving
  • Branch & Bound

Funktionale Programmierung

  • Einführung in Clojure
  • Datenstrukturen in Clojure
  • Algorithmen auf Listen

Lehrformen/Prüfungen

Lehrformen/Prüfungen

Lehrformen

  • Die Inhalte stehen sowohl als Online-Kurs als auch als Lehrbuch zum Selbststudium zur Verfügung. Die einzelnen Konzepte werden Schritt für Schritt aufeinander aufbauend in kleinen, überschaubaren Wissensbausteinen/Kapiteln vermittelt. Besonderer Wert wird auf jeweils vollständige Beispiele gelegt, die selbst weiterentwickelt werden können. Eine Reihe von Animationen erläutern dynamische Vorgänge. Selbsttestaufgaben mit Musterlösungen erlauben es, die erworbenen Programmierfähigkeiten zu überprüfen.
  • Am Anfang und am Ende jedes Wissensbausteins können die bereits vorhandenen Fähigkeiten oder die im Wissensbaustein erworbenen Fähigkeiten anhand von Tests und Aufgaben überprüft werden.

Teilnahmevoraussetzungen

  • Formal: keine
  • Inhaltlich: Modul Grundlagen der Informatik 3 sollte absolviert sein.
  • Inhaltlich: Modul SQL und relationale Datenbanken sollte absolviert sein.

Prüfungsformen

  • Zweistündige schriftliche Präsenzklausur, die bei Nichtbestehen zweimal wiederholt werden kann. Werden alle Aufgaben richtig gelöst, dann erhält man 100 Punkte. Um die Klausur zu bestehen sind 50 Punkte notwendig.
  • Hilfsmittel: Alle handschriftlichen oder gedruckten Unterlagen.

Voraussetzungen für die Zulassung zur Präsenzklausur

  • Folgende Voraussetzungen müssen für die Zulassung zur Präsenzklausur erfüllt sein: 70% aller Tests, die zu dem jeweiligen Modul gehören, müssen in der W3L-E-Learning-Plattform bestanden werden. Jeder Test kann beliebig oft wiederholt werden. Tests werden in der W3L-E-Learning-Plattform automatisch ausgewertet. Folgende Testformen stehen zur Verfügung: Single Choice, Multiple Choice, Fill In, Zuordnungstests, Anordnungstests, Hot-Spot-Tests. Zu den Tests gibt es Tipps und Begründungen für die jeweilige Lösung.
  • Ist die vorherige Voraussetzung erfüllt, dann wird automatisch ein Online-Abschlusstest freigeschaltet (Dauer 30 Minuten). Um den Abschlusstest zu bestehen, müssen 70 von 100 Punkten erreicht werden. Ein gutes Abschneiden bei dem Online-Abschlusstest wird mit Bonuspunkten belohnt. Wird der Abschlusstest dreimal nicht bestanden, dann ist ein Gespräch mit dem Leiter des Studiengangs und dem zugehörigen Autor erforderlich.

Literatur/Kurs

Literatur/Kurs

Literatur

  • Buch: Java: Algorithmen und Datenstrukturen von Manfred Meyer

Weiterführende Literatur

  • Cormen T., Leiserson C., Rivest R., Introduction to Algorithms, Cambridge: The MIT Press 1990, 1028 S. (Ausführliche Behandlung der Algorithmik, der Theorie der Algorithmen und verschiedener Algorithmengebiete.)
  • Harel D., Algorithmics - The Spirit of Computing, Wokingham: Addison-Wesley,1987, 425 S. (Ausführliche Behandlung der Algorithmik und der Theorie der Algorithmen.)
  • Manber U., Introduction to Algorithms - A Creative Approach, Reading: Addison-Wesley 1989, 478 S. (Ausführliche Behandlung der Algorithmik und der Theorie der Algorithmen.)
  • Ottmann T. (Hrsg.), Prinzipien des Algorithmenentwurfs, Heidelberg: Spektrum Akademischer Verlag 1998, 228 S. mit 2 CD-ROMs (Medial aufbereitete Themen aus dem Gebiet Algorithmen und Datenstrukturen.)
  • Ottmann T., Widmayer P., Algorithmen und Datenstrukturen, Heidelberg: Spektrum Akademischer Verlag, 3. Auflage 1996, 696 S. (Behandlung folgender Algorithmengebiete: Sortieren, Suchen, Hashverfahren, Bäume, Manipulation von Mengen, geometrische Algorithmen, Graphenalgorithmen.)
  • Sedgewick R., Algorithms, Reading: Addison-Wesley 1989, 2nd edition, 660 S. (Behandlung folgender Algorithmengebiete: Sortieren, Suchen, Verarbeitung von Zeichenketten, geometrische Algorithmen, Graphenalgorithmen, mathematische Algorithmen.)

Online-Kurs

  • Java: Algorithmen und Datenstrukturen

Wir beraten Sie gerne, rufen Sie uns an!

Mo. - Fr. 9:00 - 17:00 Uhr, Tel. 0231 / 61 804 - 126