3-4 Algorithmen...... sind (wohldefinierte, endliche) Folgen von Anweisungen, die aus einer Eingabe eine Ausgabe produzieren. Algorithmus Eingabe Ausgabe Beispiele: Kochrezepte Algorithmen zur Verknüpfung (+,,, :) zweier Zahlen in Dezimaldarstellung Euklidscher Algorithmus Dijkstras Algorithmus
4-7 Algorithmen... Frage: Ist ein ausführbares Java-Programm ein Algorithmus? Ein Algorithmus ist eine (wohldefinierte, endliche) Folge von Anweisungen, die aus einer Eingabe eine Ausgabe produziert. Antwort: Dem Buchstaben der Definition nach: JA. Dem Geiste nach: NEIN. Ich würde sagen: Ein Algorithmus ist ein abstraktes Konzept; ein Programm ist eine Instanz dieses Konzeptes. Algorithmus in natürlicher Sprache oder in Pseudocode fixiert Programmierer ausführbares Programm maschinenlesbar meist länger als Beschreibung des Algorithmus
5-5... und Datenstrukturen Datenstruktur: Konzept, mit dem man Daten speichert und anordnet, so dass man sie schnell finden und ändern kann. Abstrakter Datentyp: beschreibt die Schnittstelle einer Datenstruktur welche Operationen werden unterstützt? Implementierung: wie wird die gewünschte Funktionalität realisiert: wie sind die Daten gespeichert (Feld, Liste,...)? welche Algorithmen implementieren die Operationen?
6-8 Algorithmen & Datenstrukturen Lernziele: Inhalt: In dieser Veranstaltung werden Sie lernen... die Effizienz von Algorithmen zu messen und miteinander zu vergleichen, grundlegende Algorithmen und Datenstrukturen in Java zu implementieren, selbst Algorithmen und Datenstrukturen zu entwerfen sowie deren Korrektheit und Effizienz zu beweisen. Grundlagen und Analysetechniken Sortierverfahren Entwurfstechniken für Algorithmen Datenstrukturen Algorithmen für Graphen Systematisches Probieren
7-1 Ihre Voraussetzungen Schulmathematik, insbesondere: Grundrechenarten & Logarithmus Drei Summen: 1) n i=1 i 2) n i=0 qi 3) n i=1 1 i Linearität des Erwartungswerts Beweise mit vollständiger Induktion Widerspruchsbeweise Bereitschaft sich in Java hineinzudenken und -zuüben Keine Angst vorm Fragenstellen!!! z.b. log b x log b y = log? y x arithmetische Reihe geometrische Reihe harmonische Reihe E[X + Y ] = E[X ] + E[Y ]...... 1 2 3 n 1 n
8-4 Studienverlaufsplan BA Informatik Sem. 6 5 4 3 2 1 SWS: ca. 20 0 10 ECTS 20 30 Hardwareprakt. Algorithmische Graphentheorie Stochastik für Inf Mathe für Inf II Seminar Softwareprakt. Wahl pflicht Progr.-Praktikum Rechenanlagen Bachelorarbeit Theo. Inf. Logik Projektvorstellung Allgemeine Schlüsselqualifikationen Seminar Softwaretechnik Algorithmen+ Mathe für Inf I Inf.-Übertragung Datenstrukt. 10 ECTS 20 h/woche
9-5 Organisation I: Wochenplan Montag Dienstag Mittwoch Donnerstag Freitag 8 30 10 Vorlesung Zuse-HS 10 12 Vorlesung Zuse-HS Ab und zu Laptop nötig! Ausgabe Ü-Blätter WueCampus 12 14 14 16 16 18 Finden diese Woche schon statt! Diese Woche beliebig aussuchen! Übung ÜR I Übung SE I & ÜR II Übung SE I & III Übung SE II Übung SE I Übung SE II Abgabe Lösungen 13:00 Gruppeneinteilung bis Mi, 23:59 Uhr Geben Sie drei Prioritäten an! 1. Briefkasten ADS zwischen Turing- & Zuse-HS 2. PABS
10 - Organisation II: Semesterplan Di, 17.10. Do, 22.11. Do, 20.12. Start Vorlesung & Übungen 1. Test 2. Test 23.12. 07.01. Weihnachtsferien Do, 24.01. Do, 07.02. Di, 12.02. Di, 09.04. 3. Test Letzte ADS-Vorlesung 1. Klausur (Turing, Zuse, HS 2+3 NW-HSG, HS 2 Phil) 2. Klausur (Turing-HS, Zuse-HS, HS 2 NW-HSG)
11 - Organisatorisches III: Modulversionen ADS < 2014 2014 > 2014 1 Modul 2 Module 1 Modul (kombiniert) dito, für Klausurzulassung Pflicht! Übungsmodul: Anmeldung bis 31.10.! 40% aller Testpunkte (Einzelarbeit) 50% aller Übungspunkte (Arbeit in 2er/3er-Gruppen) 0% Plagiate oder + Formular (s. WueCampus) Übungsklausur (4h) am Semesterende (kombiniert) dito, Voraussetzung für Bonus (0,3 Notenpunkte falls 1. Klausur bestanden wird) dito { Vorlesungsmodul: Vorlesung + Klausur (benotet) Sie dürfen ( oft) wiederholen, solange Sie nicht bestehen. } dito
12 - Motivation Bonus Anzahl Studierende Bonusbedingungen erfüllt Bonusbedingungen nicht erfüllt Note Klausurergebnisse ADS-Klausur vom 8.2.2016 Anteil bestanden unter denen, die die Bonusbedingungen erfüllt haben: Anteil bestanden unter denen, die die Bonusbedingungen nicht erfüllt haben: 83,7 % 18,5 %
13 - Literatur zu Algorithmen & Datenstrukturen Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms MIT Press, 3. Aufl., 2009. Ca. 100 $. oder Algorithmen eine Einführung De Gruyter Oldenbourg, 4. Aufl., 2017. Ca. 90 e. Ottmann & Widmayer: Algorithmen und Datenstrukturen Spektrum-Verlag, 5. Aufl., 2012. Ca. 50 e. Mehlhorn & Sanders: Algorithms and Data Structures: The Basic Toolbox Springer, 2008. Ca. 38 e. Goodrich & Tamassia: Data Structures & Algorithms in Java. Wiley, 5. Aufl., 2010. Ca. 115 e. Kleinberg & Tardos: Algorithm Design Pearson, 2006. Ca. 90 e.
14 - Literatur über Java D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger: Grundkurs Programmieren in Java (Band 1) Hanser Verlag http://www.grundkurs-java.de/ C. Ullenboom: Java ist auch eine Insel Galileo Computing openbook.galileocomputing.de/javainsel/ Für alle, die Java noch nicht kennen und nicht beim Vorkurs waren: WueCampus-Kurs Programmiervorkurs (WS18): https://wuecampus2.uni-wuerzburg.de/moodle/course/view.php?id=28895 Arbeiten Sie insbesondere alle Übungsaufgaben durch!
TO DO Erfüllen Sie die Voraussetzungen? log b x log b y =? Lesen Sie Anhang A im Buch von Corman et al.! Lösen Sie die Übungsaufgaben dazu! FIRST 15 - THINGS FIRST Schreiben Sie sich in die VL / Übung ein! Vorlesungsfolien, Übungsblätter, allgemeine Informationen: wuecampus2.uni-wuerzburg.de WueCampus Übungseinteilung bis Mi, 23:59 Uhr bitte mit drei Prioritäten: https://www-sbhome1.zv.uni-wuerzburg.de sb@home Installieren Sie vor Ihrer Übung das Java Development Kit (neuste Version): www.oracle.com/technetwork/java/javase/downloads die Java-Entwicklungsumgebung IntelliJ IDEA (neuste Version): https://www.jetbrains.com/idea/download ( community)
DIE ZEIT Nr. 48/2015, 26.11.2015 16... https://www.zeit.de/2015/48/anwesenheitspflicht-universitaet-schlechtere-leistung