HUMBOLDT-UNIVERSITÄT ZU BERLIN Institut für Informatik Lehrstuhl für Parallele und Verteilte Systeme Konrad-Zuse-Zentrum für Informationstechnik Berlin Praktische Informatik 1 Einführung Alexander Reinefeld
Ab der nächsten Woche geteilt Prof. Bothe Termine: Studiengang Informatik-Diplom Nebenfach Informatik in Studiengang Vorlesung: Mo & Mi, 11-13, RUD 26, 0 115, Bothe Übung, Mo 13-15, RUD 26, 1'306, Massuthe Übung, Di 13-15, RUD 26, 1'306, Schützler Übung, Di 15-17, RUD 26, 1'306, Schützler Übung, Mi 13-15, RUD 26, 1 306, Lindemann-v-T Übung, Mi 15-17, RUD 26, 1 306, Lindemann-v-T Übung, Do 13-15, RUD 26, 1 307, Zubow Übung, Do 15-17, RUD 26, 1 307, Zubow Erster Übungstermin ist der 23.10.2006 Praktikum: Ahrens { Mathe, Physik} Mo 13-15, 15-17, Mi 13-15, 15-17, Fr 13-15, 15-17 Reinefeld, ZIB und HU-Berlin 2
Ab der nächsten Woche geteilt Prof. Reinefeld Termine: Studiengang Informatik-Bachelor Nebenfach Informatik in Studiengang Vorlesung: Mo & Mi, 11-13, RUD 26, 0'110, Reinefeld Übung: Mo 9-11, RUD 26, 1'308, T. Langhammer Übung: Mi 9-11, RUD 26, 1'307, K. Peter Übung: Mi 15-17, RUD 26, 1'307, F. Schintke Erster Übungstermin ist der 23.10.2006 Praktikum: Ritzschke Mo 13-15, 15-17, Mi 13-15, 15-17, Fr 13-15, 15-17 { Mathe, Physik} Home Page: http://www2.informatik.hu-berlin.de/~pinf1 Reinefeld, ZIB und HU-Berlin 3
Reinefeld, ZIB und HU-Berlin 4
Ab sofort: Mitschrift nicht nötig! Hören Sie lieber aufmerksam zu. Die Folien finden Sie nach der Vorlesung im Netz. Herzlichen Dank an Prof. Scheffer, von dem ich die meisten Folien übernommen habe. Fehler gehen auf mein Konto. Bitte korrigieren Sie mich, wenn Sie glauben, einen Fehler gefunden zu haben. Bei Unklarheiten bitte sofort nachfragen. Reinefeld, ZIB und HU-Berlin 5
Literatur D. Knuth: The Art of Computer Programming, Addison Wesley, 1999. Zum Nachschlagen. Muss nicht unbedingt gekauft werden. H. Herold, B. Lurz, J. Wohlrab: Grundlagen der Informatik, Verlag Pearson Studium, 2006. Reinefeld, ZIB und HU-Berlin 6
Literatur zu Java Online: G. Krüger, Handbuch der Java-Programmierung, http://www.javabuch.de/ Reinefeld, ZIB und HU-Berlin 7
Unsere Themen heute Was ist Informatik? Was ist ein Computer? Was machen wir den Rest des Semesters? Reinefeld, ZIB und HU-Berlin 8
Was ist Informatik? Wissenschaft von der automatischen Verarbeitung, Speicherung und Übertragung von Informationen. Informatik = Computer Science? = Computing Science? Informatik ist teilweise eine Ingenieurwissenschaft Ingenieurwissenschaftler schaffen verifizierbares Wissen über die Konstruktion von Artefakten. berührt aber auch die Naturwissenschaften Naturwissenschaftler entwickeln verifizierbare Modelle, die Phänomene der Natur beschreiben. und Gesellschaftswissenschaften z.b. Wirtschaftsinformatik, Linguistik, Philosophie, Reinefeld, ZIB und HU-Berlin 9
Informatik ist ein bisschen so wie Mathematik Mathematiker schaffen abstrakte Modelle und untersuchen deren Eigenschaften. Mathematiker konstruieren Begriffssysteme, in denen Zahlen, Berechungen, Manipulationen von Symbolen eine Bedeutung erhalten. Alan Turing hat ein mathematisches Modell von Berechnung entwickelt, das die Grundlage der Informatik bildet. (Informatik hat aber noch mehr Grundlagen, z.b. in der Physik und Elektrotechnik.) Reinefeld, ZIB und HU-Berlin 10
aber in der Informatik stehen reale Probleme im Mittelpunkt Wir bilden Gegenstände anderer Fachgebiete auf abstrakte Strukturen und Prozesse auf Algorithmen ab. (=Modellierung) Wir lösen Probleme, die aus den verschiedensten Anwendungsbereichen kommen. Unsere Ergebnisse sind mehr zum Anfassen als die der Mathematiker, aber weniger zum Anfassen als die der meisten anderen Ingenieure. Reinefeld, ZIB und HU-Berlin 11
Teilgebiete der Informatik Theoretische Informatik: Berechnung, Berechenbarkeit, Entscheidbarkeit, Sprachen, Komplexität von Problemen. Technische Informatik: Hardware, Rechnerarchitekturen, Verteilte Systeme, Netzwerke. Praktische Informatik: Algorithmen Berechnungsvorschriften. Datenstrukturen Speicherung, Verwaltung, Manipulation von Informationen. Programmiersprachen Beschreibung von Algorithmen. Softwaretechnik, Datenbanken, Betriebssysteme. Reinefeld, ZIB und HU-Berlin 12
Interdisziplinäre Bereiche Künstliche Intelligenz, maschinelles Lernen Entwicklung von Modellen menschlicher Intelligenzleistungen. Modelle neuronaler Informationsverarbeitung. Entwicklung von Lernalgorithmen, die aus Beobachtungen automatisch Modelle bilden können. Spracherkennung, Mustererkennung auf Bildern. Data Mining: Erkennen unbekannter Zusammenhänge in großen Datenmengen. Reinefeld, ZIB und HU-Berlin 13
Interdisziplinäre Bereiche Wirtschaftsinformatik: Informationsverarbeitungssysteme zur Unterstützung von Geschäftsprozessen. Computervisualistik: Erzeugung und Verarbeitung von Bildern. Computerlinguistik: Automatische Verarbeitung, Erzeugung, Analyse natürlicher Sprache. Reinefeld, ZIB und HU-Berlin 14
Als was arbeiten Informatiker? Softwareentwickler: Banken und Versicherungen, Softwareunternehmen Industrie: Autos, Telefone, Elektro, Entwicklung, Programmierung, Projektmanagement. Berater, IT-Consultant: Beratungsunternehmen, IT-Industrie. Analyse von Problemen, Optimierung von Prozessen, Auswahl, Anwendung, Implementierung von Technologien und Produkten. Vertrieb: Verkauf von Lösungen und technologischen Produkten. Reinefeld, ZIB und HU-Berlin 15
Als was arbeiten Informatiker? (2) Management, Strategieberatung: Hier sind reine Informatiker (noch) etwas unterrepräsentiert. Forschung und Entwicklung: Universitäten, Forschungseinrichtungen. Industrie-F&E. Informatiker finden sich auch stark verteilt in vielen anderen Bereichen. Reinefeld, ZIB und HU-Berlin 16
Berufsbild Informatiker Vielfältige Anwendungsgebiete: Einarbeitung in neue Anwendungsfelder, Flexibilität, Kreativität, Kompetenz. Soziale Kompetenzen: Kommunikation, soziale Interaktion, Teamarbeit, Menschenführung, Management. Fachliche Kompetenzen: Grundlagen, Theorie, Struktur, Systematik der Informatik verstehen. Technologien, Programmiersprachen, Produkte kommen und gehen, Einarbeitung innerhalb weniger Tage. Reinefeld, ZIB und HU-Berlin 17
Wo finden wir Informatik In eingebetteten Systemen: Auto, Flugzeug, Raumschiffe, Airbag-Steuerung, Telekommunikation: Funktelefone, Telefonnetze, Internet, Spracherkennung, Sprachcomputer, Medizin: OP-Roboter, Patientenverwaltung, Wirtschaft: Banksoftware, SWIFT, elektronischer Börsen-Handel, Abwicklung von Kreditkartentransaktionen, Supermarkt, Logistik, Autobahnmaut, Produktionsplanung, Robotik, Industrieroboter, Flugpläne, Ticketing, Online-Buchung. Reinefeld, ZIB und HU-Berlin 18
Wo finden wir Informatik (2) Ingenieurwissenschaften: Strömungstechnik, Konstruktion von Autos, Flugzeugen, Statik, Hochbau, Navigationssysteme, Autopiloten, Naturwissenschaften: Alltag: Komplexe Simulationen, Meteorologie, Biologie: Genetik, evolutionäre Stammbäume, Playstation, Mischpult, Internet, MP3-Player, Kinofilme (Star Wars, Final Fantasy, ) Reinefeld, ZIB und HU-Berlin 19
Was meint Wikipedia dazu? (Wikipedia ist eine Enzyklopädie, die von jedem editiert werden kann. Es gibt keine professionellen Autoren). Schlagen wir mal nach: www.wikipedia.de Reinefeld, ZIB und HU-Berlin 20
Was ist ein Computer? Universeller Informationsverarbeitungsautomat. Jeder Computer kann alles berechnen, was prinzipiell berechnet werden kann. Es gibt auch Probleme, die mit keinem Computer gelöst werden können s. Theoretische Informatik. (In der Praxis gibt es Unterschiede in Geschwindigkeit und Speichervolumen.) Reinefeld, ZIB und HU-Berlin 21
Programm Algorithmus Computer sind programmgesteuert. Ein Programm ist eine Beschreibung eines Algorithmus in einer Programmiersprache. Ein Algorithmus ist eine Berechnungsvorschrift, also ungefähr die Bedeutung eines Programms. Exakte Definition Algorithmus: Turingmaschine (s. Theoretische Informatik). Wenn eine Maschine eine bestimmte Menge von Befehlen befolgen kann, dann wird sie zum universellen Computer. Speicherzelle lesen und schreiben, Eins addieren, Bedingte Verzweigung. Reinefeld, ZIB und HU-Berlin 22
Algorithmus Reinefeld, ZIB und HU-Berlin 23
Computer X noch kein Computer (so kleine Computer gibt es heute aber noch nicht) Computer noch kein noch kein Computer fast ein Computer Computer Reinefeld, ZIB und HU-Berlin 24
Hardware Software Hardware wörtlich Eisenwaren in der Informatik alle elektronischen Teile, die sich anfassen lassen. Hardware lässt sich schlecht bearbeiten. Hammer, Schraubenzieher Software Programme Sammlung von Texten in einer Programmiersprache. Lassen sich immer verändern, dazu müssen nur Texte verändert werden. Reinefeld, ZIB und HU-Berlin 25
Software Reinefeld, ZIB und HU-Berlin 26
Softwarekomplexität Reinefeld, ZIB und HU-Berlin 27
Softwarekomplexität Reinefeld, ZIB und HU-Berlin 28
Softwarekomplexität Reinefeld, ZIB und HU-Berlin 29
Softwarekomplexität Reinefeld, ZIB und HU-Berlin 30
Softwarekomplexität Ab einer gewissen Komplexität leider doch nicht mehr so einfach veränderbar. Softwaresysteme gehören zu kompliziertesten von Menschenhand geschaffenen Gebilden. Keine einzelne Person kann System im Ganzen überblicken. Software-Engineering: Abstraktion, Kapselung, Definition von Schnittstellen. Reinefeld, ZIB und HU-Berlin 31
Softwareentwicklung: peinliche Episoden Toll Collect, 2004 Flughafen Denver, 1994 F18-Vorzeichenfehler Mars Orbiter, 1999 Reinefeld, ZIB und HU-Berlin 32
It s not a Bug, it s a feature! Laut INTEL sind im Pentium-Prozessor 80-90 Bugs enthalten. Daumenregel: Normale Software: 25 Fehler pro 1000 Programmzeilen. Gute Software: 2 Fehler pro 1000 Zeilen. Space Shuttle Software: < 1 Fehler pro 10000 Zeilen. Windows-95 hat ~10 Mio. Zeilen: bis zu 20.000 Fehler. Beispiel Handy: 200.000 Programmzeilen, also 400 Fehler? Bananen Software : Lass die Software beim Kunden reifen! Reinefeld, ZIB und HU-Berlin 33
Prognosen (vielleicht auch urbane Legenden) Meines Erachtens gibt es einen Weltmarkt für vielleicht fünf Computer. IBM-Präsident T.J. Watson, 1943. Computer der Zukunft werden vielleicht einmal nicht mehr als 1.5t wiegen. Popular Mechanics, 1949. Es gibt keinen Grund weshalb Menschen zuhause einen Computer haben sollten. DEC-Gründer K. Olson, 1977. 640.000 Bytes Speicherkapazität sollten jedem genügen. Bill Gates, 1981. Reinefeld, ZIB und HU-Berlin 34
Was machen wir den Rest des Semesters Aufbau, Funktionsprinzip von Computern. Von Neumann-Rechner, Architektur, Programmsteuerung. Abarbeitung von Programmbefehlen: Assemblerprogrammierung am Beispiel von MIX. Programmiersprachen, Compiler, Interpreter, Algorithmen, Datenstrukturen. Imperative Programmiersprachen, Java. Iterative, rekursive Algorithmen. Objektorientierte Programmierung. Programmierung, Softwareentwicklung. Reinefeld, ZIB und HU-Berlin 35
Übungsaufgaben Bachelor/Nebenfach Erste Übung finden Sie ab Montag im Netz. Arbeiten Sie im Team: Bilden Sie Gruppen von je 2 Personen (aber nur innerhalb einer Übungsgruppe) Lösen Sie die Aufgaben sorgfältig. In der Übung votieren Sie (kreuzen Sie in einer Liste an), welche Aufgaben Sie gelöst haben. Wir losen für jede Aufgaben jemanden von Ihnen aus, der die Lösung vorträgt. Sie müssen jedes Übungsblatt bearbeiten und abgeben. Für mindestens 70% der Aufgaben müssen Sie votieren und die Lösungen dieser Aufgaben dann auch vortragen können, um an der Klausur teilnehmen zu dürfen. Sie müssen 70% der maximal möglichen Punkte erreichen. Reinefeld, ZIB und HU-Berlin 36
Studieren Sie können sich sehr gern in jede Vorlesung setzen, die Sie interessant finden. Sie finden hier viele Angebote, sich weiter zu entwickeln, nehmen Sie sie an. Vielleicht wollen Sie das Grundstudium in 3 Semestern machen? Oder Sie wollen parallel zum Grundstudium noch andere Vorlesungen hören? Aber geben Sie den Veranstaltungen (und Prüfungen) Ihres Grundstudiums höchste Priorität. Studieren macht Spaß, aber irgendwann reicht es auch, und dann sollten Sie fertig sein. Promovieren macht mehr Spaß als Studieren, als Wissenschaftler arbeiten mehr als Promovieren, Reinefeld, ZIB und HU-Berlin 37