Klassische Themen der Computerwissenschaft 3 VO, 1 UE, 716.113 / 716.114 Bernhard Aichernig Oswin Aichholzer Alexander Felfernig Gerald Steinbauer Franz Wotawa Institut für Softwaretechnologie, TU Graz Inffeldgasse 16b, 2.Stock 2
Allgemeine Informationen LV-Zeiten: VO: Donnerstag 8:45-11:00 HS i12 UE: Mittwoch 18:00-18:45 HS i11 (bzw. nach Vereinbarung) Webseite: http://www.ist.tugraz.at/ktdcw16.html Newsgroup: tu-graz.lv.ktdcw Achtung: Diese Newsgroup ist nicht moderiert und dient nur zum Informationsaustausch unter Studierenden (z.b. Gruppenbildung). Bitte Newsgroup-Netiquette einhalten. Zu VO / UE im TUGOnline anmelden: Frist 8.Okt.! Ohne Anmeldung kein Zeugnis! 3
Überblick 1 (Aichernig) Functional Programming: In this part of the course we will introduce functional programming using the programming language Scala. You will learn about different forms of recursion, abstraction with higher-order functions, the combination of OO with functional programming, reasoning over functional programs, concurrent and parallel programming. 4
Überblick 2 (Aichholzer) Game theory is a rather classical topic in mathematics and computer science. We will discuss the theory about numbers and nimbers and see how to (optimal) play the chocolate game, NIM, Kayles and other classical known (and unknown) games. In the exercise part of the lecture you will develop a program which can play several thousands of mathematical games optimally. 5
Überblick 3 (Wotawa) Artificial Intelligence (AI): AI is one large and active research area in computer science. Building intelligent systems that interact with other intelligent entities are of particular interest. In my part of the lecture I'll talk about special aspects of knowledge representation and reasoning. In particular I'll focus on non-monotonic reasoning and its application to diagnosis. The objectives of this part are (1) to get an impression about the state of the art in AI, (2) to get knowledge about open research issues, and (3) to understand how to represent and use knowledge to fulfill an intelligent task, i.e., fault detection and localization. 6
Überblick 4 (Felfernig) Constraint Programming (CP): CP is one of the closest approaches computer science has yet made to the Holy Grail of programming: the user states the problem, the computer solves it. [Freuder 1997] CP is used in many application areas such as configuration or scheduling. In this part of the course we will discuss major approaches to represent and solve constraint satisfaction problems (CSPs). The major goals are (1) to get an understanding of the basic formal properties of CSPs and (2) to be able to represent real-world problems as a corresponding CSP. 7
Überblick 4 (Felfernig) Introduction history, constraint satisfaction problems Applications CSP solvers, configurators, domains Consistency node, arc, and path consistency Combining search and consistency look-ahead schemes variable and value ordering Selected topics automated debugging of constraint KBS 8
Überblick 5 (Steinbauer) Situation Calculus is a dialog of the first order logic for representing chances in a dynamic world in a formal way. All changes are the results of actions. The state of the world is represented by situations. The key feature of the SC is that it is based on logic and therefore all tools for logic can be use. Therefore, SC allows to reason about actions, change and situation, to make proofs or to plan. The SC is not only a theoretical construct. There exist implementation like the program language Golog or YAGI which can be used to program and control real systems like robots. 9
Vorlesung Vorläufiger Zeitplan Übung 06.10.16 08:00-08:45 HS i12, Vorbesprechung 06.10.16 08:45-11:00 HS i12, VO B. Aichernig 13.10.16 08:45-11:00 HS i12, VO B. Aichernig 12.10. 18:00-18:45 HS i11, UE Aichernig 20.10.16 08:45-11:00 HS i12, VO Ersatztermin 19.10. 18:00-18:45 HS i11, UE Aichernig 27.10.16 08:45-11:00 HS i12, VO O. Aichholzer 03.11.16 08:45-11:00 HS i12, VO O. Aichholzer 09.11. 18:00-18:45 HS i11, UE Aichholzer 10.11.16 08:45-11:00 HS i12, VO G. Steinbauer 16.11. 18:00-18:45 HS i11, UE Aichholzer 17.11.16 08:45-11:00 HS i12, VO G. Steinbauer 23.11. 18:00-18:45 HS i11, UE Steinbauer 24.11.16 08:45-11:00 HS i12, VO A. Felfernig 30.11. 18:00-18:45 HS i11, UE Steinbauer 01.12.16 08:45-11:00 HS i12, VO A. Felfernig 07.12. 18:00-18:45 HS i11, UE Felfernig 15.12.16 08:45-11:00 HS i12, VO Ersatztermin 14.12. 18:00-18:45 HS i11, UE Felfernig 12.01.17 08:45-11:00 HS i12, VO F. Wotawa 11.01. 18:00-18:45 HS i11, Ersatztermin 19.01.17 08:45-11:00 HS i12, VO F. Wotawa 18.01. 18:00-18:45 HS i11, UE Wotawa 26.01.17 08:45-11:00 HS i12, VO Ersatztermin 25.01. 18:00-18:45 HS i11, UE Wotawa 01.02.17 16:00-18:00 HS i13, Prüfungstermin 10
Prüfung Gesamtprüfung über alle Themenblöcke Je 3 Prüfungstermine pro Semester Termin am Semesterende: Mittwoch 01.02.2017 16:00-18:00, HS i13 Weitere Termine: Montag 13.03.2017 18:00-20:00, HS i13 Mittwoch 26.04.2017 16:00-18:00, HS i13 Dienstag 13.06.2017 17:00-19:00, HS i12 Termine zum letzten Semester (WS 2015/16): Freitag 14.10.2016 16:00-18:00 i12 Donnerstag 10.11.2016 17:00-19:00 i13 11
Übungen Je Block (insgesamt fünf, einer pro Vortragendem) wird ein Übungsteil ausgegeben. Übungen teilweise in 4er-Gruppe, teilweise als Einzelübung; siehe folgende Seiten Gruppenbildung für das Semester im ersten Übungsteil (Gruppen bleiben bestehen) Jedes Übungsblatt trägt 20 % zur Übungsnote bei. Notenschlüssel: 50,01% - 62,50% genügend 62,51% - 75,00% befriedigend 75,01% - 87,50% gut 87,51% - 100,0% sehr gut 12
Vorläufiger Zeitplan Übungsabgaben I B. Aichernig 4er Gruppe; Programmierübung Ausgabe: 12.10.2016, Abgabe: 4.11.2016, 24:00 (Programmieraufgaben) Selektive Abgabegespräche: 18.11. u..21.11.2016. O. Aichholzer 4er Gruppe; Programmierung Nimber-Spielprogramm Ausgabe 09.11.2016, Fragestunde 16.11.2016, Abgabe: 23.11.2016, 12:00 Abgabegespräche: 01-02.12.2016, Zeiteinteilung nach Vereinbarung G. Steinbauer Übungsblatt als Einzelübung Ausgabe: 10.11.2016, Abgabe: 28.11.2016 23:59 (Lösungen zum Übungsblatt) An der Tafel vorrechnen : 30.11.2016 (in der Übungseinheit) Programmieraufgabe 4er Gruppe Ausgabe: 10.11.2016, Abgabe 7.12.2016 23:59 selektive Abgabegespräche 13
Vorläufiger Zeitplan Übungsabgaben II A. Felfernig 2 Themenbereiche, jeweils ein Übungsblatt zu jedem Vorlesungsteil, Abgabe der Lösungen vor der Übungseinheit: 7.12. u. 14.12 vor 16:00 Abgabegespräche (selektiv): Mittwoch 11.01.2017 13:00-15:00 Gruppeneinteilung: 4 Personen Bewertung der Übungen: Ausarbeitungen zu Übungsblättern + selektive Abgabegespräche. F. Wotawa Einzelübung Abgabe: 18.1.2017 und 25.1.2017 jeweils vor der Übung im Hörsaal An der Tafel vorrechnen ohne den Übungszettel und andere Hilfsmittel! Rückmeldung zu den Übungspunkten beim Abgabegespräch bzw. spätestens 4 Wochen nach der Abgabe 14
Übungen negativ? Die Gruppenanmeldung im ersten Übungsteil gilt als erbrachte Leistung. Konsequenz: Gruppenanmeldung ohne weitere Leistung führt zu einem negativen Zeugnis. Ist man knapp negativ kann man den Übungsteil Aichernig innerhalb von vier Wochen als Einzelübung wiederholen. Dies beinhaltet ein verpflichtendes Abgabegespräch. 15