Praktische Einführung und Programmierung
Stefan Bosse
Universität Koblenz - FB Informatik
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick ::
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Mitarbeiter
Prof. Dr. Stefan Bosse, Praktische Informatik (Vorlesung und Übung)
WiMi Sidar Cilinc (Übung)
HiWi Valerie Simon, Elena XX (Übung)
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Aufbau der Veranstaltung
Vorlesungen
Übungen
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Übungsformat
Notebooks: Alle Übungen sind digital und werden im Web Browser bearbeitet (lokal, ggfs. off-line). Die Inhalte einer Übungseinheit werden als Datei im JSON Format gespeichert und hochgeladen.
Es sollen die Datenstrukturen und Algorithmen dieses Kurses in Java (Ver. 7) implementiert und profiliert werden.
In der Vorlesung wird i.A. nur eine Pseudonotation für Algorithmik und Datenstrukturen verwendet.
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Übungsformat
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Leistungskriterien
Übungen
Klausur
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Veranstaltungsformat
größtenteils in Präsenz
Videos mit Nachbesprechung oder als Ergänzung zu Übungen
evtl. gelegentlich On-line (Video Meeting)
Für alle die Terminkonflikte haben wird die Veranstaltung tagesaktuell aufgezeichnet und steht On-line zum Abruf.
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Veranstaltungsformat
größtenteils in Präsenz
Videos mit Nachbesprechung oder als Ergänzung zu Übungen
evtl. gelegentlich On-line (Video Meeting)
Für alle die Terminkonflikte haben wird die Veranstaltung tagesaktuell aufgezeichnet und steht On-line zum Abruf.
Alle Dokumente, Videos, und Übungen gibt es hier: https://edu-9.de/Lehre/ad1k.
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Inhalte
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Literatur
Algorithmen und Datenstrukturen
Thomas Ottman
Peter Widmayer
Spektrum Verlag
Algorithmen und Datenstrukturen
Eine Einführung in Java
Gunter Saake, Kai Uwe Sattler
dpunkt Verlag
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Was sind Algorithmen und Datenstrukturen?
――――┐ ┌――――――――――┐ │ │Problem │ ┌―――――――――――――┐ ┌――――――――――┐ │ ├――――――――――┼――▶│Algorithmus A├――▶│Programm A│ │ │Aufgabe │ └―――――――――――――┘ └――――――――――┘ │ Programmier-└――――――――――┘ ┌―――――――――――――┐ ┌――――――――――┐ │ sprachen ┌――――――――┤Algorithmus B├――▶│Programm B│ │ │ └――――――┬――――――┘ └―――――┬――――┘ │ ┌―――――┴――――┐ │ Messen? │ │ │Daten- │ ▼ ▼ ――――┘ │struktur 1│ ┌――――――――――――――――――――――――――――┐ └――――――――――┘ │ Komplexität / Effizienz ? │ ┌――――――――――┐ └――――――――――――――――――――――――――――┘ │Daten- │ │struktur 2│ └――――――――――┘ Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Historischer Überblick: Algorithmen
Das Wort Algorithmus ist ein Kunstwort aus dem Namen dieses Mathematikers und dem griechischen »arithmos« für Zahl.
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Historischer Überblick: Algorithmen
Auch für den Bereich der Datenstrukturen können lang zurückreichende Wurzeln gefunden werden, etwa das Indexierungssystem historischer Bibliotheken.
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Grundprinzipien
Algorithmen sollen einfachen zu beschreiben und zu lesen sein. Einfache Beschreibungssparchen sollten verwendet werden:
Ablaufstrukturen bzw. Programmiersprachen sollten beschränkt sein, d.h. keine beliebigen Eingänge und Ausgänge im Ablausfluss besitzen ⇒ Dann unbeschränkte Ablaufstrukturen mit Sprungbefehlen, goto
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Datenstrukturen
Die Strukturierung von Daten hat nicht unbedingt Einfluss auf die Effizienz. Die Strukturierung soll vor allem die Beschreibung der Algorithmen vereinfachen. Analogie zu Datenstrukturen: Funktionen
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Datenstrukturen
https://codeandart.at/code/processing/datenstrukturen
Unterteilung von Datenstrukturen in statische und dynamische Strukturen (können wachsen).
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Datentyp versa Datenstruktur
https://www.computerweekly.com/de/definition/Datentyp
Datentypen sind primitive Datenstrukturen, elementar und konkret, sie werden durch die Programmiersparche unterstützt. Datenstrukturen gehören i.A. zu abstrakten Datentypen mit erforderlicher Algorithmik.
Stefan Bosse - Algorithmen und Datenstrukturen - Modul 0 Überblick :: Tasxonomie der Datenstrukturen
https://www.computerweekly.com/de/definition/Datentyp
Java hat zwei Hauptdatentypen: primitive und nicht-primitive