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
der Universität Oldenburg
Advertisements

Grundlagen der Informatik
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Imperative Programmierung -Entwicklungswerkzeuge
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Java: Objektorientierte Programmierung
Einführung in die Programmierung von 3D-Grafiken Basis ist Java3D
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
SWITCH - Anweisung.
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.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Die Türme von Hanoi Die Lösungsfindung nach dem Prinzip der Rekursion wird noch einmal textuell und grafisch erläutert
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Automatisches Testen und Bewerten von Java-Klassen
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Zusammenfassung Vorwoche
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
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.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
UML Begleitdokumentation des Projekts
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Programmieren mit Kindern
Kapitel 1 – Erste Schritte
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 2: Strukturierte.
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.
? Was ist Informatik? Was ist Informatik? Alexander Lange
Einführung in die Programmiersprache Java
Programmieren - wie einsteigen ?
JavaScript.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 0: Einführung Prof.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Telecooperation/RBG GdI/ICS 1 WS 2008/2009
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Grundlagen der Informatik I Thema 16: Ausnahmebehandlung.
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
Unterprogramme in JAVA
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Starten der Entwicklungsumgebung (IDE)
Programmieren - wie einsteigen ?
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Schleifen
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Kurze Anleitung zum Erstellen eines Lebenslaufes
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Die Präsentation des Lehrers der 21- allgemeinbildenden Schule des Bezirks Peschkö in Gebiet Buchara von Alijor Jahjojev.
Dr. Nicolas Ruh EF Informatik 2016 Dr. Nicolas Ruh
Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?
In der Schule. Wirklich, müssen wir in unser Zeit lernen, denn alle wissen, dass ohne gut Bildung, du ist niemand.
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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 meinen Sohn in Scheme?

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – T0 Fummeln vs. Design Wozu führt dieser Ansatz? Syntax: Fummeln bis es funktioniert Design: ebenfalls fummeln 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 Grundlagen der Informatik 1 – T0 Arbeitsumgebung eines Flugzeug-Profis 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – T0 Entwicklungsumgebung für Anfänger 12

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 objekt-orientierte Programme Viele Unterschiede sind lediglich Notation Das Studium fundamentalerer Unterschiede ist sehr instruktiv 17

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – 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 Grundlagen der Informatik 1 – T0 Fazit Die Ausbildung guter Programmierer heißt nicht, daß 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 Grundlagen der Informatik 1 – 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 umsonst online verfügbar!

Dr. G. Rößling Prof. Dr. M. Mühlhäuser RBG / Telekooperation © Grundlagen der Informatik I: T0 Grundlagen der Informatik 1 – T0 Weitere Infos Alle Neuigkeiten, Links, Unterlagen etc. gibt es auf der Vorlesungshomepage