Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 0: Einführung Prof.

Slides:



Advertisements
Ähnliche Präsentationen
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Advertisements

FAQ Session – Assignment 1
Einführung in die Informatik: Programmierung und Software-Entwicklung
Zusammenfassung des Kapitels 8
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Software Model Checking.
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Automatisches Testen und Bewerten von Java-Klassen
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Programmiermethodik SS2010 © 2010 Albert Zündorf, University of Kassel 1 Gesamtvorgehen 1. Textuelle Szenarios 2. Objektdiagramme 3. Klassendiagramm 4.
Proxy Pattern Vorlesung Design Patterns Sieglinde Heinrich
Einführung in C EDV1 - 03C-Einführung.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
Einführung in C EDV1 - 04C-Einführung.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 0: Einführung Prof.
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 14: Schrittweise.
Einführung in die Programmiersprache Java
Infotronik/Mechatronik-Programm. Warum Infotronik studieren? INFOrmatik und ElekTRONIK bestimmen immer mehr unser tägliches Leben!
Wir nehmen einfach ein, dass die Austauschstudentinnen die sehr wertvollen Broschüren (Bonn, Leipzig, Potsdam), die die ehemaligen Austauschstudentinnen.
Frau Doktor Semmler + Konjunktiv
Einladung zum 3. Dorfgespräch in Doppel-Hofstetten-Neustift Mitreden Mitgestalten Mitentscheiden 12. Mai 2010 um Uhr ins ehem. GH Marchhart Alle.
Organisatorisches zur GdI 1 Wintersemester 2009 Telecooperation/RBG Prof. Dr. Max Mühlhäuser Dr. Guido Rößling Dr. Dirk Schnelle-Walka, Stefan Radomski.
Die Denkweise der Kinder, das Lernen und Lehren.
Heute werden Sie eine zauberhafte Welt entdecken...
1 Workshop Service Grundlagen Saia Service an PCD's Grundlagen I. Workshop Einführung Service an Saia PCD Grundlagen.
Herzlich willkommen zum 2. Tag!
Zurück zur ersten Seite Das Grundwahlfach Deutsch: 6 Wochenstunden.
Ein Rechensystem ist ein aus Hard- und Software bestehendes System zur Speicherung und Verarbeitung von Informationen.
Hauptgebiete der Informatik
Stellen Sie sich vor, eine Bank eröffnet Ihnen jeden Morgen ein Konto mit Euros. Zwei Regeln nur sind zu respektieren.
Nur die Zwiebeln erleben echte Frauentränen.
Grundlagen der Informatik 1 Thema 9: Interpreter nach dem
Anwendungsentwicklung. … überlegen sie mal… Wir beschäftigen uns mit dem Aufbau der Arbeitsweise und der Gestaltung von betrieblichen Informationssystemen.
Inhalt Was ist A-Plan? Einsatzgebiete Organisation der Daten
Guten Morgen / Tag / Abend.
. 1.
Zwischenmenschliche Beziehungen
Wort des Lebens Mai 2010 Wer mich liebt, wird von meinem Vater geliebt werden, und auch ich werde ihn lieben und mich ihm offenbaren. (Joh 14,21)
Mit dem Ziel, Eltern bei ihrer schönen, aber auch anspruchsvollen Aufgabe der Erziehung ihrer Kinder zu unterstützen, lancierte der Schweizerische Bund.
AUS DER SICHT DES HIMMELS IST WEIHNACHTEN IMMER EIN FEST DER LIEBE
Hi, ich hab hier ein neues Programm, das würde ich gern auf meinem persönlichen System installieren. Es heißt LIEBE. Was soll ich denn da als erstes.
Was sagt die Bibel zu Kindererziehung?
In unserer Umfrage ging es um das Thema Computer und Internet. Es wurden 33 Männer und 26 Frauen im Alter von 13 bis 50 Jahren befragt. Ausgewertet.
Performer PRIMUS ® und PRIMUS 50plus ® Generationen -Versorgung.
Problemen beim Managen von Projekten:
SCHÖN WILLKOMMEN IN DER TSECHISCHEN REPUBLIK
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 14: Mehrfachvererbung.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 18: Typkonvertierungen.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 16: Ausnahmebehandlung.
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Abteilung für Telekooperation Übung Softwareentwicklung 2 für Wirtschaftsinformatik Dr. Wieland Schwinger
Unterprogramme in JAVA
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Programmieren - wie einsteigen ?
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Methodische Grundlagen des Software-Engineering
Objects first mit BlueJ und Greenfoot
 Präsentation transkript:

Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 0: Einführung Prof. Dr. Max Mühlhäuser Dr. Guido Rößling 1

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Um den Computer! Genauso wie es in der Biologie nicht um Mikroskope und in der Literatur nicht um Kugelschreiber geht… Worum es in der Informatik nicht geht 2

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Worum geht es bei GdI-1? 3 Problem und Beschreibung ausführbares Programm mentales Model Maschinenebene Herausforderung: Die Lösung so zu formulieren, dass sie für die Maschine ausführbar, aber auch für den Menschen verständlich ist völlig unterschiedliche Abstraktionsebenen

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Die Rolle von GdI-1 – Einführung in die Programmierung - Inhaltliche Randbedingungen Soziologische Randbedingungen Zeitliche Randbedingungen 4

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Die Rolle von GdI 1 5 GdI 1 Einführung in die Programmierung Andere Profs: Jeder in meiner Welt braucht Pointer. Das sollten sie in GdI 1 lernen! Student: Ich weiß alles und Perl ist das Beste Industrie: Heute benutzen wir C# v Wieso bringen Sie es Ihren Studenten nicht bei? Eltern: N-TV berichtet viel über Java. Wieso unterrichten Sie mein Kind in Scheme?

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Die Rolle von GdI-1 6 GdI-1 Studenten mit math. Vorwissen Studenten die programmieren Studenten ohne Vorkenntnisse Studenten, die auf ähnlichem Niveau programmieren können

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 In vielen GdI-1 Kursen… Klassisch: –Ihnen wird die Syntax einer Programmiersprache beigebracht, die gerade in Mode ist –Sie benutzen eine kommerzielle Entwicklungsumgebung –Sie bekommen Codebeispiele und sollen diese imitieren –Sie diskutieren einige algorithmische Ideen Die genaue Bedeutung der Programmiersprache bleibt im Dunkeln –Oberflächliche Erklärungen –Erklärungen anhand von Low-Level Hardware Details Wie Sie selber völlig neue Programme schreiben, ist und bleibt unklar 7

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Frickeln vs. Design Wozu führt dieser Ansatz? Syntax: Frickeln bis es funktioniert Design: Ebenfalls frickeln bis es funktioniert Sie kennen zwar ein paar Standardalgorithmen, aber dies ersetzt kein Vorgehensmodell für Programmdesign Ihr Verständnis von der Bedeutung der Programmiersprache ist eine Mischung aus Bauchgefühl und Halbwissen über Low-Level-Implementationsdetails 8

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Arbeitsumgebung von Profi-Piloten 9 Gut geeignet für die erste Flugstunde?

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Arbeitsumgebung eines Software-Profis 10 Gut geeignet für die ersten Programme?

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Unser Ansatz: 4 Säulen 1.Entwicklungsumgebung für Anfänger 2.Einfache Programmiersprache 3.Präzise Modelle, um die Bedeutung der Programmiersprache zu verstehen 4.Leitfaden, wie Sie neue Programme entwickeln sollten 11

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Entwicklungsumgebung für Anfänger 12

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Einfache Programmiersprache Sie werden nicht eine, sondern viele abgestufte Programmiersprachen kennen lernen –Unterschiedliche Level, nach pädagogischen Gesichtspunkten angeordnet Teilmengen der Sprache Scheme –Benutzung von Konstrukten, die Sie noch nicht kennen, wird unterbunden –Keine bizarren Fehlermeldungen, mit denen Sie nichts anfangen können Wir können uns auf die Designkonzepte und Ideen, die Ihrem jeweiligen Wissensstand angemessen sind, konzentrieren! 13

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Präzise Modelle für die Programmiersprache Auf jedem Sprachlevel werden wir Ihnen ein Modell vorstellen, anhand dessen Sie die Bedeutung ihrer Programme nachvollziehen können: –Sie können Programme, wenn sie wollen, auf einem Blatt Papier ausführen. –Diese Modelle orientieren sich nicht an der Hardware, sondern daran, wie sie am einfachsten die Bedeutung verstehen können. –Sie werden auch Modelle kennen lernen, die illustrieren, wie eine Programmiersprache auf typischer Hardware implementiert ist. 14

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Leitfaden zur Entwicklung von Programmen Sie bekommen nicht einfach Programme vorgesetzt Sie bekommen Rezepte, wie Sie Schritt für Schritt selber ein Programm entwerfen sollten –Diese Rezepte sind fast unabhängig von der Programmiersprache, die Sie benutzen 15

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Typischer Ansatz für Programm-Design 16 So werden wir es nicht machen…

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Von Scheme nach Java In der 2. H ä lfte des Semesters wird Java verwendet Die Designrezepte funktionieren Schritt für Schritt auch für objektorientierte Programme Viele Unterschiede sind lediglich Notation Das Studium fundamentaler Unterschiede ist sehr instruktiv 17

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Wieso nicht gleich Java? Komplexe Notation, komplexe Fehler Keine Entwicklungsumgebung unterstützt Sprachlevel Direkte Interaktion mit dem Interpreter macht den Start einfacher Designrezepte ertrinken in umständlicher Syntax –K.I.S.S. - Keep It Simple Syntactically Java/C++/Pascal: 90% Syntax, 10% Problemlösung Scheme: 10% Syntax, 90% Problemlösung Scheme (bzw. Lisp) ist die Mutter der meisten modernen Sprachen –Sprachfeatures können in Scheme in Reinform studiert werden –Viele neue Features moderner Sprachen können sehr leicht verstanden werden, wenn man Scheme kennt Untersuchungen zeigen, dass nach unserem Ansatz ausgebildete Studenten die besseren OO-Programmierer werden! 18

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Vorteile einer einfachen Sprache Wir lassen den Interpreter die Summe von 2 und 3 berechnen 19 DrScheme: Wir tippen das Programm (+ 2 3) ein und bekommen als Resultat 5 Java/Eclipse: Wir starten ein neues Projekt Wir legen ein neues Package an Wir legen eine neue Klasse an Wir schreiben folgendes Programm: package test; public class Test { public static void main(String[] args){ System.out.println(2+3); } (Sie brauchen Wochen, bis Sie alle Teile dieses Programms verstanden haben) Wir kompilieren das Programm Wir starten das Programm Im Ausgabefenster erscheint das Resultat 5 Die in Java/Eclipse benötigten Schritte sind nicht Unsinn, sondern haben alle ihre Berechtigung. Für einen Anfänger sind sie jedoch verwirrend und unnötig!

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Fazit Die Ausbildung guter Programmierer heißt nicht, dass man mit Werkzeugen für professionelle Programmierer beginnt, die gerade in Mode sind Bei uns bekommen Sie zunächst eine fundierte, rigorose Basis der Grundkonzepte der Programmierung Dann, und erst dann, werden wir sie auch mit der neuesten Mode vertraut machen! 20

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Bücher Scheme –Wichtigstes Buch: How To Design Programs (HTDP) –Structure and Interpretation of Computer Programs (SICP) Java –Thinking in Java 21 Alle Bücher kostenlos online verfügbar!

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Weitere Infos Alle Neuigkeiten, Links, Unterlagen etc. finden Sie in der Lernplattform 22