Grundlagen der Informatik Sommersemester 2007

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Matrixmultiplikation
Hash-Tabellen und -Funktionen Hash-Tabellen in Java
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Institut für Angewandte Mikroelektronik und Datentechnik
Grundlagen der Informatik
Anhang D: Zusammenfassung
Kapitel 1 Informatik 1962 wurde der Begriff „Informatique“(als Kombination der Begriffe „Information“ und „automatique“) von Philippe Dreyfus, einem französischen.
Kapitel 4 Datenstrukturen
Informatik Studieren in Freiberg
Einführung in Berechenbarkeit und Formale Sprachen
Management großer Softwareprojekte - Auswertung der Fragebögen - Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin, Institut für Informatik Fraunhofer.
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Wissenschaftliche Grundlagen des Mathematischen Schulstoffs III Die erste Stunde.
Wissenschaftliche Grundlagen des Mathematischen Schulstoffs IV Die erste Stunde.
Der Umgang mit qualitativ erhobenen Daten: Strategien der Datenanalyse
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Grundlagen der Wirtschaftsinformatik
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Informatik Jahrgang 11 Grundlagen / Historische Entwicklung
Informatik Klasse 7 Grundlagen.
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Christian Schindelhauer
Einführung in die EDV Teil 1 Grundlagen.
Michelle Sommer, Jessica Czesky, Luisa Hohensee und Lisa Buchweitz
Berechenbarkeit. Fragestellungen Können Computer alles ausrechnen? Kann man alles ausrechnen? Was kann man berechnen? Was nicht? Was heißt Berechenbarkeit?
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Die einzelnen Datenbank-Modelle unterscheiden sich in ihrer theoretischen Basis und in der Art der physikalischen Speicherung. Das Konzept für eine relationale.
Simulation komplexer technischer Anlagen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein…]
? Was ist Informatik? Was ist Informatik? Alexander Lange
Historische Entwicklung der Rechentechnik
Einführung in die Programmierung
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Dr. Rolf Haenni, University of KonstanzNovember 28, 2002 Page 1/15 Aspekte eine echten Informationstheorie 1.Einführung 2.Informationsalgebren 3.Unsicherheit.
Überblick über die Datenbankproblematik
Datenbanken Datenstrukturen.
Definitionen der SWT (1)
Erfindervon Fuzzy Logic
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Geschichte der Rechenmaschine
Informatik: Zwischen Wissenschaft und Zehnfingersystem
Erste Ansätze 1100 v. Chr. Abakus
Historischer Rückblick
Was ist Physik?.
Ingenieur – Erfinder - Pionier
Geoinformation I Lutz Plümer
Medizinische Statistik und Informationsverarbeitung Quade Institut für Medizinische Biometrie, Informatik und Epidemiologie.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Geschichte der Informatik
Geschichte der Informatik
Christian Scheideler WS 2008
Studieneinstiegstest – Motivation, Hintergrund und Aufbau
Dr. Nicolas Ruh EF Informatik 2016 Dr. Nicolas Ruh
Objektorientierte (OO) Programmierung
Von Sebastian Otto, Rene Kling
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Die Geschichte des Computers
Die Geschichte des Computers
 Präsentation transkript:

Grundlagen der Informatik Sommersemester 2007 Prof. Dr. Peter Kneisel

Didaktik: Durchführung Diese Vorlesung enthält Übungen Die Übungen werden je nach Bedarf durchgeführt. Zur Vorbereitung werden Übungsblätter, je nach Vorlesungsverlauf zusammengestellt. Weitere Übungen sind im Foliensatz vorhanden und sollten selbständig und vollständig bearbeitet werden. Vorsicht ! Kommen Sie in alle Veranstaltungen - machen Sie die Übungen Überschätzen Sie sich nicht - auch wenn Sie PC-Crack sind

Didaktik: Folien Der Vorlesungsstoff wird anhand von Folien dargelegt Die Folien bilden nur einen Rahmen für die Inhalte. Die Folien sollten daher mit Hilfe eigener Vorlesungsskizzen ergänzt werden - am besten in Form einer Vorlesungsnachbereitung max. 3 Tage nach der Vorlesung Zusätzlich zu den Folien werden Beispiele an der Tafel oder am Rechner gezeigt. Diese sollten Sie vollständig mitskizzieren. Zur vollständigen Nachbereitung, z.B. als Klausurvorbereitung, sind die Folien einheitlich strukturiert Es gibt genau drei Gliederungsebenen: Kapitel, Unterkapitel, Abschnitte Die Inhalte jedes Kapitels und jedes Unterkapitels werden jeweils motiviert und sind verbal beschrieben. Zusätzlich gibt es jeweils ein stichwortartiges Inhaltsverzeichnis der Unterkapitel, bzw. Abschnitte Die Vorlesung wird ständig überarbeitet, so dass sich die Foliensätze ändern können (und werden) Laden Sie sich zur endgültigen vollständigen Klausurvorbereitung nochmals zusätzlich den kompletten Foliensatz herunter.

Literatur Diese Veranstaltung ist anhand (wirklich) vieler Bücher und einer Menge eigener Erfahrungen erstellt worden. Jedes Buch hat dabei Schwerpunkte in speziellen Bereichen und ist daher sinnvoll. Eine Auflistung aller dieser Bücher ist nicht sinnvoll. Stellvertretend für all diese Bücher sei hier ein Buch angeführt: H.P.Gumm, M.Sommer: „Einführung in die Informatik“; Oldenbourg-Verlag 2004 Motivation ist alles ! Hier ein paar Bücher, die das Interesse und den Spaß an der Wissenschaft im Allgemeinen und an der Informatik im besonderen wecken soll: S.Singh: „Fermats letzter Satz“; DTV, 9.Auflage 2004 M. Spitzer: „Geist im Netz“; Spektrum, Akad. Verlag 2000 H. Lyre: „Informationstheorie“; UTB, 2002 A.Hodges: „Alan Turing, Enigma“; Springer-Verlag, 1983 D.R.Hofstadter: „Gödel, Escher, Bach“; Klett-Cotta, 2006 (Taschenbuch 1991)

Inhalt Wie jede Wissenschaft befasst sich die Informatik mit ihren eigenen „Objekten“. Was diese „Objekte“ sind und was man mit diesen Objekten machen kann - und wie - wird in dieser Vorlesung auf eher abstraktem Niveau, aber immer mit Beispielen aus der Realität eines Informatikers (oder einer Informatikerin), erläutert. Diese Vorlesung konzentriert sich auf den „Kern“ der Informatik. Vertieftere Einführungen in z.B die Bereiche der Programmierung, Rechnerarchitekturen, Betriebssysteme, etc. sollen daher bewusst den entsprechenden Veranstaltungen vorbehalten bleiben Inhalt Informatik Information und Codes Zeichen und Zahlen Datenstrukturen Algorithmenentwurf

Überblick und Einordnung OOP SWT AD AFS RN Daten- strukturen 4 EP RA Dynamik (Algorithmik) Zeichen 3 Statik (Struktur) Zahlen Strukturierung Codes 2 5 Elemente Information Praktische Theoretische Technische 1 Informatik

Kapitel 1 Informatik 1962 wurde der Begriff „Informatique“(als Kombination der Begriffe „Information“ und „automatique“) von Philippe Dreyfus, einem französischen Ingenieur eingeführt und als „Informatik“ ins Deutsche übernommen. Als junge Wissenschaft ist die Informatik mittlerweile in viele Bereiche der älteren Wissenschaften eingezogen und hat viele eigene Bereiche neu erschlossen. Die Informatik ist damit mittlerweile wesentlich mehr, als der anglo-amerikanische Begriff „Computer-Science“ vermuten lässt. Dieses Kapitel möchte einen (kurzen) Überblick über exemplarische Inhalte, Struktur und Geschichte der Informatik geben Inhalt Motivation Definition Die Teilgebiete der Informatik Die Geschichte der Informatik Zusammenfassung des Kapitels

1.1 Motivation Die Beherrschung eines Computers macht Spaß und gibt der informationssüchtigen Gesellschaft das Gefühl persönlicher Freiheit (so wie vor Jahren ein roter Sportwagen) Die Beherrschung gibt Macht. Für das Funktionieren einer demokratischen Gesellschaft ist es wichtig, daß viele Menschen Computer verstehen und beherrschen. Der Computer schafft und vernichtet Arbeitsplätze und ist eine Herausforderung für die Gesellschaft Das Verstehen der Gesetzmäßigkeiten bei der Entwicklung von Computerprogrammen ist eine intellektuelle Herausforderung Das Umsetzen dieses Verständnisses ist eine intellektuelle Genugtuung. Der Computer schafft neue Betätigungsfelder und Lebensinhalte Zunehmend viele Aufgabenstellungen der realen Welt sind ohne Einsatz von Methoden und Werkzeugen der Informatik nicht mehr zu bewältigen Der professionelle Umgang mit Computer ist im Beruftsleben eine nackte Notwendigkeit !

1.2 Was ist Informatik Jedes Lehrbuch der Informatik gibt seine Definition der „Informatik“. Auch der Duden beschreibt die Informatik als „Wissenschaft von der systematischen Verarbeitung von Informationen, besonders der automatischen Verarbeitung mit Hilfe von Digitalrechnern“. Durch die Beschränkung auf den Aspekt der „Verarbeitung“ geht diese Definition meines Erachtens nicht weit genug. Ich werde daher in diesem Unterkapitel eine eigene Definition wagen. Die dabei verwendeten Aspekte werden exemplarisch verdeutlicht, wobei bewusst in Grenzbereiche der Informatik gegangen wird . Was die Informatik wirklich ist, kann kein Lehrbuch erfassen. Sie werden - hoffentlich - am Ende Ihres Studiums eine sehr weitreichende Idee davon haben. Inhalt Definition Beispiele

Informatik 1.2.1 Definition Die Wissenschaft, die sich mit dem (automatisierten) Erfassen Transportieren Speichern Verarbeiten Umsetzen von Information befasst

1.2.2 Wissenschaft Informatik ist nicht die Wissenschaft vom Computer (sowenig, wie Astronomie die Wissenschaft vom Teleskop ist) Informatik ist eine Wissenschaft … und keine Bastelecke für Software-Spieler Aspekte der Informatik als „reine Lehre“ (verwandt mit der Mathematik) Naturwissenschaft: entdecken und beschreiben von „natürlichen“ Phänomenen Ingenieurwissenschaft - mit der typischen Vorgehensweise Problemstellung Analyse Teillösungen Synthese Lösung

1.2.3 Information Information ist die Bedeutung, die durch eine Nachricht übermittelt wird (nachrichtentechnische Definition)  Kapitel 2 Information ist eine elementare Kategorie Chemie: Stoffumwandlung Physik: Energieumwandlung Informatik: Informationsumwandlung

1.2.4 Erfassen Sensorik 300000 Datenmenge (Byte) 60000 (52,204,248) Bildverarbeitung 300000 Datenmenge (Byte) 60000 (52,204,248) (33,75,125,190,251) 3000 100

1.2.5 Transportieren Telekommunikation Telephonie ~5-25000 Hz 300 - 3400 Hz

1.2.6 Speichern Datenrepräsentation Abstrakte Datentypen (N. Wirth: Algorithmen und Datenstrukturen) Einfache Typen Aufzählungstypen Integer Real Boolean Char ... {rot, gelb, grün} [0,1,..,65535] [3,4e-038,..3,4e038] {TRUE, FALSE} {ASC(0),..,ASC(255)} Strukturierte Typen Array Record Varianten Record Menge ... array [n..m] of Type record Type 1: element 1 Type n: element n end set of Type Abstrakte Typen Listen Binäre Bäume Vielweg Bäume Graphen ...

1.2.6 Speichern Datenrepräsentation Objektrepräsentation (G. Booch: Objektorientierte Analyse und Design) Assoziation Vererbung Aggregation Verwendung Instantiierung Klassenname Attribute Operationen Einschränkungen Teil projekt Projekt Projektleiter Mitarbeiter n Buchhaltung Controlling Personalwesen 1

1.2.6 Speichern Datenrepräsentation Objektrepräsentation (B.Stroustrup: The C++ Programming Language) Teilprojekt Projekt Projektleiter Mitarbeiter n Buchhaltung Controlling Personalwesen 1 Assoziation Vererbung Aggregation Verwendung Instantiierung Class Teilprojekt: public Projekt { Projektleiter projektleiter; Mitarbeiter mitarbeiter[MAX_MITARBEITER]; public: Teilprojekt (Projektleiter); ~Teilprojekt (); } Teilprojekt::Teilprojekt(Projektleiter pl) { // some method-calls of Buchhaltung, Controlling, Personalwesen main { Teilprojekt1 = new Teilprojekt(Projektleiter1) // See Budget1 for buget details on Teilprojekt1 n 1

1.2.7 Verarbeiten Prozessmodelle Petri-Netze (C.A.Petri: Kommunikation und Automaten))

1.2.7 Verarbeiten Prozessmodelle Interaktionsdiagramme (G. Booch: Objektorientierte Analyse und Design) R1 R2 R3 R4 R5 N2 N1

1.2.7 Verarbeiten KI-Ansätze ai=F(Wij*Oj ,ai) a Aktivierungszustand W Verbindungsgewichtung O Ausgangswert F Aktivierungsfunktion f Ausgabefunktion Oj Oi=f(ai) Wij Neuronale Netze Axon Dendrite Synapsen

Anzahl Freiheitsgrade 1.2.8 Umsetzen Aktorik Manipulatoren Anzahl Freiheitsgrade 25 9 2 (1)

1.2.9 Zusammenfassung Erfassen Transportieren Speichern Verarbeiten Umsetzen Modellierung der realen Welt Abbildung realer Objekte und deren Beziehungen (Strukturen) auf rechnerinterne Objekte und Strukturen Reduktion von Redundanz Strukturierung von Information Abbildung realer Aufgabenstellungen und Prozesse auf Rechnerprozesse Umsetzung des Modells auf die reale Welt Abbildung von Rechnerprozessen auf reale Prozesse Abbildung von Datenstrukturen auf reale Strukturen

1.3 Die Teilgebiete der Informatik Wie viele Wissenschaften, ist die Informatik kein homogenes Gebilde, sondern lässt sich anhand unterschiedlicher Kriterien in Teilgebiete strukturieren. Dieses Kapitel beschreibt die wohl geläufigste Einteilung der Informatik in drei, bzw. vier Teilbereiche. Inhalte Technische Informatik Praktische Informatik Theoretische Informatik ( Angewandte Informatik )

1.3.1 Technische Informatik Konstruktion von Verarbeitungselementen Prozessoren, ... Konstruktion von Speicherelementen Hauptspeicher, ... Konstruktion von Kommunikationselementen Bussysteme Lokale Rechnernetze (LAN: Local Area Networks), Weitverkehrsnetze (WAN: Wide Area Networks), ... Mobilfunknetze, Satellitenkommunikation, ... Konstruktion von Peripherie Drucker, Scanner, .... Festplatten, Optische Platten, Diskettenlaufwerke, ... ...

1.3.2 Praktische Informatik Umgang mit Programmiersprachen Programmierung Compilerbau ... Entwicklung von Software Analysemethoden Designmethoden Realisierungsmethoden Testverfahren Unterstützung der Softwareentwicklung Projektmanagement von DV-Projekten Qualitätsmanagement in DV-Projekten

1.3.3 Theoretische Informatik Sprachen und Automaten Formale Sprachen Grammatiken Sprachdefinitionen Berechenbarkeitstheorie Komplexitätstheorie ...

1.3.4 Angewandte Informatik Anwendung in verwandten Wissenschaften Numerische oder stochastischer Verfahren in der Mathematik Simulationen in der Physik und der Chemie Bildverarbeitung in der Medizin Genanalyse in der Biologie Lehrprogramme für Natur-, Sozial- und Geisteswissenschaften ... Anwendungen im täglichen Leben. Computerspiele, Multimediaanwendungen, Textverarbeitung, Tabellenkalkulation, Datenbanken, ... Steuerung von technischen Prozessen Web-Anwendungen

1.4 Die Geschichte der Informatik Die Informatik ist eine junge Wissenschaft, hat aber, ähnlich wie andere Natur- und Ingenieurwissenschaften Wurzeln, die weit in die Menschheitsgeschichte hineinragen, Wie keine andere Wissenschaft wurde die Informatik jedoch von der Erfindung eines Gerätes, dem programmgesteuerten Rechner (später „Computer“) beeinflusst. Dieses Unterkapitel wird die Wurzel in der Menschheitsgeschichte und auch die Entwicklung des Rechners vorstellen. Inhalt Information in der Geschichte Automaten und Steuerungen Erleichterung der Rechenarbeit Pioniere der Informatik - Praktiker Pioniere der Informatik - Theoretiker Die Generationen

1.4.1 Information in der Geschichte Erfassung durch Sinnesorgane Transport durch akustische, optische, chemische Signale Speicherung durch Gene oder neuronale Elemente Verarbeitung über neuronale Elemente Umsetzung direkt oder indirekt über Gliedmaße Entwicklung von Wort,- Silben- und Buchstaben-schriften

1.4.2 Automaten und Steuerungen ca. 100 v. Chr. Mechanismus von Antikythera älteste erhaltene Zahnrad-Apparatur wahrscheinlich zur (analogen) Berechnung der Bewegungen von Himmelskörpern Mittelalter Mechanische Uhren mit Sonnen-, Mond- und Planetenbewegungen und Figurenumläufe an Kirchen und Rathäusern 17./18. Jhdt. Spieluhren, Schreib- und Schachspielautomaten 18./19. Jhdt. Fliehkraftregler für Dampfmaschinen, mechanischer Webstuhl mit Lochkartenbebändert (Jacquart, 1805)

1.4.3 Erleichterung der Rechenarbeit Rechenbretter Seit dem Altertum China, Japan, Russland Addition/Subtraktion ähnlich schnell wie Taschenrechner Lehre der Grundrechenarten Durch Zahlensystem schematisierbar Lehre an mittelalterlichen Universitäten Durch Rechenbücher weitere Verbreitung des Wissens (z.B. Adam Riese 1492-1559) Rückführung der Multiplikation/Division auf Addition/Subtraktion durch logarithmisches Rechnen mit Hilfe von Tabellen.

1.4.4 Mechanische Rechenmaschinen Wilhelm Schickart (1592-1635) Maschine für die Grundrechenarten (1623) Blaise Pascal (1623-1662) Gottfried Wilhelm von Leibniz (1646-1716) Arithmetik des Dualsystems Philipp Matthäus Hahn (1749-1790) Feinmechanische Rechenmaschinen 19./20. Jhdt: Sprossenradmaschine Hermann Hollerith Lochkartenstanzer/ Sortierer/Tabellierer

1.4.5 Pioniere der Informatik - Praktiker Charles Babbage (1791-1871) Difference Engine (1812). Überprüfung von Logarithmentafeln. Alle Merkmale eines programmierbaren Computers. Entwurf einer Analytical Engine (1836). Wurde nie gebaut Konrad Zuse (geb. 1910) Z1: mechanischer Rechner Z2 / Z3: Elektromechanischer Relaisrechner im Dualsystem mit Lochkartensteuerung. Erster voll funktionstüchtiger Computer (1941) Grundlegende Arbeiten zur Programmierung und algorithmischer Sprachen Howard Eiken Mark I, II, III, IV (1944) Dezimalrechnender Relaisrechner

1.4.6 Pioniere der Informatik - Theoretiker Kurt Gödel Theoretische Aussagen zum Algorithmenbegriff: Es gibt Aussagen die algorithmisch nicht entscheidbar sind (1931) Alan M. Turing (1911-1954) Definition des Algorithmenbegriffes über eine hypothetische Maschine (Turing-Maschine) John von Neumann (1903-1957) Grundlegende Arbeiten über Computerarchitektur: Speicherung der Daten und Programme auf dem gleichen Medium Definition von Registern insb. Indexregister

1.4.7 Die Generationen www.top500.org Generation Beispiel Technologie Speich./Geschw. Software Vorgenerat. Z3 Elektro- 0,0002 MIPS Verdrahtet 1941-1944 Mark1 mechanik 1.Generation ENIAC, Z22 Elektro- 0,02 MIPS Maschinen- 1946 - 1958 UNIVAC, IBM650 röhren 1-2 KByte sprache SIEMENS704 2. Generation IBM1400, AEG TR Transistoren 0,1 MIPS Assembler 1959 - 1964 CDC6600 Kernspeicher 32 KByte FORTRAN Siemens2002 Stapelbetrieb 3. Generation IBM370, PDP11 ICs 5 MIPS Hochsprachen 1965 - 1980 Siemens7000, Halbleiter- 1-2 MBytes C, Pascal Cray 1 speicher 4. Generation PC, Gray XMP Mikro- 50 MIPS Sprachen der 1981-1999 Sperry1100, VAX prozessoren 8-32 MByte 4. Generation IBM309x Optische Sp. Parallelisierung Gegenwart Workstations Pentium, 100 MIPS Netzsoftware Hochleistungs- Power PC 1 GByte OO-Sprachen PCs Netze C++. JAVA 5. Generation supraleitende 1000 MIPS Keramiken viele GBytes www.top500.org

1.5 Zusammenfassung des Kapitels Die Informatik befasst sich mit der (automatisierten) Erfassung, dem Transport, der Speicherung, Verarbeitung und dem Umsetzen von Information Die Informatik ist eine „naturwissenschaftliche Ingenieurswissenschaft“ Die Informatik gliedert sich in Technische, Praktische, Theoretische und Angewandte Informatik Die Geschichte der Informatik beginnt im Altertum, besteht in Ihrer heutigen Form aber erst seit ca. 1945. Zur Zeit befinden wir uns in der 4. Generation.