Algorithmen und Datenstrukturen I - Einführung -

Ähnliche Dokumente
Algorithmen und Datenstrukturen I - Einführung -

Algorithmen und Datenstrukturen I - Einführung -

Das Studium im Fach Informatik

Was ist Informatik? Alexander Lange

Ingenieurinformatik. Einführung in die Programmiersprache C

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme

Das Studium im Fach Informatik

Einführung in die Informatik

INSTITUT FÜR INFORMATIK

Lehrveranstaltungen WS 2017/2018

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert und Dr. Thomas Stibor

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Informatik an der Technischen Fakultät der Universität Bielefeld

Praktische Informatik I

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen (AuD) Prof. Dr. Claudia Eckert

DUDEN. Basiswissen Schule. Informatik Abitur. PAETEC Verlag für Bildungsmedien Berlin : Dudenverlag Mannheim Leipzig Wien Zürich

Theoretische Informatik

Theoretische Informatik

Vorlesung Programmierung

Algorithmen und Datenstrukturen. und. Programmieren in Haskell

Lehrveranstaltungen SS 2017

Ingenieurinformatik. Einführung in die Programmiersprache C

Zwischenprüfungs- und Studienordnung der Universität Heidelberg für den Lehramtsstudiengang Informatik -Besonderer Teil-

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 0. ORGANISATORISCHES UND ÜBERBLICK

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

Auswertung der Prüfungsdaten (FB 04) vom Sommersemester 2015 /Termin 01 und 02

Einführung in die Informatik 1

Masterstudiengänge am Institut für Informatik

Einführung in die Theoretische Informatik

Vorlesung Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2015

Masterstudiengänge am Institut für Informatik

Vorlesung Programmieren

Vorlesung Programmierung

Grundlagen der Informatik

Vorlesung Programmieren

Vorlesung Programmierung

Algorithmen und Berechnungskomplexität I

Computerlinguistische Grundlagen. Jürgen Hermes Wintersemester 17/18 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln

Prüfungstermine WS 2017/18 Wirtschaftsinformatik Bachelorstudiengang

Einführung in die Informatik

Einführung in die Informatik: Programmierung und Software-Entwicklung

Informatische Allgemeinbildung

Klausurtermine Informatik WS 2017/18 (Prüfungszeitraum vom ) Stand:

Das Doppelpack für die Informatik

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008

Oliver Gableske 05. Oktober Institut für Theoretische Informatik

Modulübersichtstabelle des Studienganges Master of Science Informatik

Einführung in die Programmierung

Einführung in die theoretische Informatik

ADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Mathematisch-algorithmische Grundlagen für Big Data

Achtjähriges Gymnasium. Informatik

Jochen Ziegenbalg Oliver Ziegenbalg Bemd Ziegenbalg. Algorithmen. von Hammurapi bis Gödel. 2., verbesserte Auflage Verlag g;> Harri Deutsch

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

STUDIENGANG INFORMATIK IN DER FAKULTÄT TECHNIK (TI)

AMTLICHE BEKANNTMACHUNG

Willkommen an der ETH Zürich

Was ist ein Computer?

Algorithmen und Datenstrukturen ITS(B)-B 2016

Informatik-Studiengänge an der Universität zu Lübeck

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen

Diskrete Strukturen WS 2010/11. Ernst W. Mayr. Wintersemester 2010/11. Fakultät für Informatik TU München

Theoretische Informatik II

Einführung in die Programmierung Wintersemester 2016/17

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Einführung in die Programmierung

Informatik - Lehrgang 2000/2001 GRUNDLAGEN

Theoretische Informatik II

Grundlagen der Informatik für Wissenschaftliche Anwendungen

Module Informatik - L3

Algorithmen. Von Hammurapi bis Gödel. von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg. überarbeitet

Automaten und Formale Sprachen

Technische Informatik eine Einführung

Grundlagen der Algorithmen und Datenstrukturen

Studiengang Bachelor Informatik

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

Computerorientiertes Problemlösen

Theoretische Informatik

Wahlmodulkataloge der Kombination Mathematik-Informatik des Bachelor und Master Naturwissenschaftliche Bildung

Algorithmen & Datenstrukturen

Algorithmen und Datenstrukturen 1 Kapitel 5

Linguistik mit Schwerpunkt Computerlinguistik / Sprachtechnologie

Propädeutikum Programmiersprache C und Mathematik 2014

Transkript:

Algorithmen und Datenstrukturen I - Einführung - Alexander Sczyrba Technische Fakultät asczyrba@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2013/2014 1 / 21 Themen heute 1 Das Modul Algorithmen und Datenstrukturen 2 Was ist Informatik? 3 Inhalte der Vorlesung 2 / 21

Das Modul Algorithmen und Datenstrukturen 1 Das Modul Algorithmen und Datenstrukturen 2 Was ist Informatik? 3 Inhalte der Vorlesung 3 / 21 Veranstaltungen zu A & D Bestandteile Modul Algorithmen und Datenstrukturen Vorlesung Algorithmen und Datenstrukturen I (Mo 8-10 & Fr 14-16) Dr. Alexander Sczyrba asczyrba@techfak.uni-bielefeld.de Vorlesung Programmieren in Haskell (Mi 16-18) Prof. Dr. Robert Giegerich robert@techfak.uni-bielefeld.de Übung zu A&D I und Haskell (Termine siehe ekvv) Stefan Janssen sjanssen@techfak.uni-bielefeld.de Unix-Praktikum (Termine siehe ekvv) Carsten Gnörlich cg@techfak.uni-bielefeld.de 4 / 21

Kontakt Kontakt Dr. Alexander Sczyrba Email: asczyrba@techfak.uni-bielefeld.de Raum: M3-111 Webseite zur Veranstaltung: http://www.techfak.uni-bielefeld.de/ags/pi/lehre/audiws13/ 5 / 21 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

Was ist Informatik? 1 Das Modul Algorithmen und Datenstrukturen 2 Was ist Informatik? Definition Begriff Gesellschaftliche Aspekte Informatik 3 Inhalte der Vorlesung 7 / 21 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

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 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

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 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

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 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

Informatik Forschungsgruppen an der TechFak Ambient Intelligence Group (Hermann) Biodata Mining (Nattkemper) Computational Metagenomics (Sczyrba) Biomechatronik (Schneider) Sociable Agents (Kopp) 15 / 21 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

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 Maschinenmodelle Maschinenmodelle Vom Modell zum Programm: Wie sage ich es meinem Rechner? Registermaschinen Endliche Automaten Wie lassen sich Programme analysieren? 18 / 21

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 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

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