Algorithmen und Datenstrukturen I - Einführung

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