Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Algorithmen und Datenstrukturen I - Einführung Alexander Sczyrba Technische Fakultät [email protected] Vorlesung, Universität Bielefeld, Winter 2013/2014 1 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Themen heute 1 Das Modul Algorithmen und Datenstrukturen 2 Was ist Informatik? 3 Inhalte der Vorlesung 2 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Das Modul Algorithmen und Datenstrukturen 1 Das Modul Algorithmen und Datenstrukturen 2 Was ist Informatik? 3 Inhalte der Vorlesung 3 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Veranstaltungen zu A & D Bestandteile Modul Algorithmen und Datenstrukturen Vorlesung Algorithmen und Datenstrukturen I (Mo 8-10 & Fr 14-16) Dr. Alexander Sczyrba [email protected] Vorlesung Programmieren in Haskell (Mi 16-18) Prof. Dr. Robert Giegerich [email protected] Übung zu A&D I und Haskell (Termine siehe eKVV) Stefan Janssen [email protected] Unix-Praktikum (Termine siehe eKVV) Carsten Gnörlich [email protected] 4 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Kontakt Kontakt Dr. Alexander Sczyrba Email: [email protected] Raum: M3-111 Webseite zur Veranstaltung: http://www.techfak.uni-bielefeld.de/ags/pi/lehre/AuDIWS13/ 5 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Kontakt Literatur Das Skript zu den Vorlesungen A&D und Programmieren in Haskell (siehe Webseite zur Vorlesung) Klaeren und Sperber. Vom Problem zum Programm. Architektur und Bedeutung von Computerprogrammen, 3. Auflage. Teubner, 2001. Neuauflage erschienen als: Klaeren, Herbert und Sperber, Michael. Die Macht der Abstraktion. Einführung in die Programmierung, 1. Auflage. Teubner, 2007 Herold, Lurz und Wohlrab. Grundlagen der Informatik, 2. Auflage, Pearson, 2012. Pomberger und Dobler. Algorithmen und Datenstrukturen, Pearson, 2008. Saake und Sattler. Algorithmen und Datenstrukturen. Eine Einführung mit Java, 2. Auflage. dpunkt Verlag, 2004. Hopcroft und Ullman. Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie, 4. Auflage . Oldenbourg, 2000. 6 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Was ist Informatik? 1 Das Modul Algorithmen und Datenstrukturen 2 Was ist Informatik? Definition Begriff Gesellschaftliche Aspekte Informatik 3 Inhalte der Vorlesung 7 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Definition Definitionsversuch Informatik ist die Wissenschaft vom maschinellen Rechnen Überlegungen Was sind die Merkmale des Rechnens als einer besonderen Tätigkeit des Verstandes, die sich auf einen Mechanismus übertragen lässt? Was sind die historisch-technischen Voraussetzungen zuverlässiger, universeller und effektiver Rechenmaschinen? Mit der Existenz solcher Rechner entsteht eine neuartige Fragestellung: Welche Aufgaben lassen sich als Rechenaufgaben formulieren und damit an einen Rechner delegieren? Daraus ergibt sich die Modellierung als zentrale Aufgabe der Informatik. 8 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Begriff Woher stammt der Begriff Informatik? Aus Information und Automatik geformte Begriffsverschmelzung von Karl Steinbuch (1957) „Das menschliche Gehirn ist nicht geschaffen, rationale Prozesse zu veranstalten, sondern das Überleben eines Organismus zu bewirken“ (Steinbuch, Karl. Falsch Programmiert, 1968) Im Englischen als computer science (Computerwissenschaft) bezeichnet. In der Informatik geht es aber um mehr als nur um Computer. „In der Informatik geht es genauso wenig um Computer, wie in der Astronomie um Teleskope.“ (oft auf Edsger W. Dijkstra zurückgeführt) 9 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Gesellschaftliche Aspekte Gesellschaftliche Aspekte Gibt es eine „Computerrevolution“? - ein historischer Vergleich: 19. Jahrhundert Die industrielle Revolution bringt die Übertragung menschlicher Fertigkeiten (Kraft, manuelles Geschick) auf die Maschinerie. Die Maschinerie in privater Hand wird zur dominierenden Produktivkraft und die feudale und ständische Gesellschaft weicht der bürgerlichen Gesellschaftsform. Schutz des Eigentums und der bürgerlichen Freiheiten findet als angemessene Herrschaftsform die moderne Demokratie. Diese revolutionären Veränderungen an Gesellschaft und Staatsform sind abgeschlossen, lange bevor der Computer die Bildfläche der Geschichte betritt. 10 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Gesellschaftliche Aspekte Technischer Fortschritt 20. Jahrhundert Entwicklung des Computers, zunächst vorwiegend für militärische Zwecke. Forschritt von teilweise mechanischen (Relais), festprogrammierten Rechenmaschinen zum programmierbaren, elektronischen Rechner. Nach Einführung des Transistors (1955), integrierter Schaltkreise (1965) und der Microprozessoren (1971) kontinuierliche Kostensenkung bei gleichzeitiger Leistungssteigerung. Rapide Verbreitung der Computer im kommerziellen Bereich und zuletzt auch im privaten Bereich. 11 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Gesellschaftliche Aspekte Gesellschaftliche Auswirkungen 20. Jahrhundert Der Computer holt den Prozess der Übertragung menschlicher Fertigkeiten auf die Maschine auf dem Gebiet der einfachen Geistestätigkeiten nach. Gesellschaftlich und politisch ändert sich dadurch nichts Wesentliches, wohl aber werden hergebrachte Tätigkeiten entwertet, manche Berufe verschwinden ganz. Der Fortschritt der Informatik (siehe oben, Modellierung) führt zum Vormarsch des Computers in alle Arbeits- und Lebensbereiche. Insbesondere arbeitet die Informatik stets daran, den Computer und seine Software einfacher und vielseitiger benutzbar zu machen - und damit auch Informatiker-Tätigkeiten von gestern zu entwerten. Wer Informatik als Beruf wählt, muss sich darauf einstellen, dass er sich immer wieder neu qualifizieren muss. 12 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Informatik Kernbereiche der Informatik Technische Informatik Mikroprozessortechnik, Rechnerarchitektur, Rechnerkommunikation Theoretische Informatik Automatentheorie und formale Sprachen, Berechenbarkeitstheorie, Komplexitätstheorie Praktische Informatik Programmiersprachen, Compiler und Interpreter, Algorithmen und Datenstrukturen, Betriebssysteme, Datenbanken Angewandte Informatik Wirtschaftliche, kommerzielle Anwendungen; technisch-wissenschaftliche Anwendungen Über die Inhalte der Fachbereiche informiert euch bitte im Skript! 13 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Informatik Informatische Arbeitsgruppen an der TechFak Angewandte Informatik (Sagerer/Wrede) Bioinformatik und Medizinische Informatik (Hofestädt) Biomathematik und Theoretische Bioinformatik (Baake) Computergrafik und Geometrieverarbeitung (Botsch) Genominformatik (Stoye) Kognitronik und Sensorik (Rückert) Neuroinformatik (Ritter) Neuromorphic Circuits (Chicca) Praktische Informatik (Giegerich) Rechnernetze und Verteilte Systeme (Ladkin) Semantische Datenbanken (Cimiano) Technische Informatik (Möller) Theoretische Informatik kognitiver Systeme (Hammer) Wissensbasierte Systeme (Wachsmuth) 14 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Informatik Forschungsgruppen an der TechFak Ambient Intelligence Group (Hermann) Biodata Mining (Nattkemper) Computational Metagenomics (Sczyrba) Biomechatronik (Schneider) Sociable Agents (Kopp) 15 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Inhalte der Vorlesung 1 Das Modul Algorithmen und Datenstrukturen 2 Was ist Informatik? 3 Inhalte der Vorlesung Modellierung Maschinenmodelle Strategien der algorithmischen Problemlösung Effizienz von Algorithmen Algorithmen auf Zeichenreihen 16 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Modellierung Modellierung Vom Problem zur Rechenaufgabe Was sind bekannte Probleme der Informatik? Welche Lösungsstrategien gibt es und wie kann man diese bewerten? Wie sieht ein umfangreicheres Beispiel für ein formales System aus? Beispiel für Musik 17 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Maschinenmodelle Maschinenmodelle Vom Modell zum Programm: Wie sage ich es meinem Rechner? Registermaschinen Endliche Automaten Wie lassen sich Programme analysieren? 18 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Strategien der algorithmischen Problemlösung Strategien der algorithmischen Problemlösung Algorithmen (von Muhammed al-Chwarizmi) Wie kann man Formeln ausrechnen? Welche grundlegenden Strategien gibt es? Rekursion Divide and Conquer Brute Force Greedy Dynamische Programmierung 19 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Effizienz von Algorithmen Effizienz von Algorithmen Wie kann man über Effizienz geeignet reden? Wie führt man eine Effizienzanalyse durch? Wie effizient sind bekannte Sortierverfahren? Was sind die Grenzen der Optimierung? Welche Auswirkung hat Lazy Evaluation auf die Effizienz? 20 / 21 Das Modul Algorithmen und Datenstrukturen Was ist Informatik? Inhalte der Vorlesung Algorithmen auf Zeichenreihen Algorithmen auf Zeichenreihen Welche Anwendungen beschäftigen sich mit Zeichenreihen? Wie lassen sich die Algorithmen formal fassen? Wie arbeiten bekannte Algorithmen? Boyer-Moore Boyer-Moore-Horspool Knuth-Morris-Pratt Aho-Corasick Kompressionsverfahren, Lempel-Ziv, Lempel-Ziv-Welch 21 / 21