Informatik Sommercamp 2012

Slides:



Advertisements
Ähnliche Präsentationen
Ziele von EINI I + II Einführen in „Informatik“
Advertisements

Modellgetriebene Softwareentwicklung
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Dynamische Webseiten mit PHP
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
A. Zündorf, SE Group Reverse Engineering K2 1 Übersicht 1.Quelltextanalyse mit regulären Ausdrücken 2.Compilertechniken 3.Prozessanalyse 4.Dynamische Analyse.
Modulare Programmierung
Plattformunabhängige Programmiersprache
Durch die Nacht “through the night” Silbermond
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Ich bau eine Stadt für dich “I am building a city for you”
Don`t make me think! A Common Sense Approach to Web Usability
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
Vortragende: Roland Meyer Sabine Zipfinger
Java und Eclipse.
The Male Perspective! Ever got sick of those luvy-duvy s that women seem to love to proliferate? Die Perspektive des Mannes! Schon mal genug gehabt.
Do you remember the little things that used to fascinate you?
Little Prayer Ein kleines Gebet Autor unbekannt.
wie ich schon vorher erwähnt habe..as I have pointed out before.
Clean Code Software-Entwicklung als Handwerkskunst Thomas Nagel, November 2011.
EPROG Tutorium #4 Philipp Effenberger
Lenny Kravitz a new door. I can see that look in your eyes Youre in need of something you cant find Ich kann den Ausdruck in Deinen Augen sehen Du bist.
Wo wohnst du? Objektiv To talk about where you live and your opinions of it MUST be able to recall vocabulary to do with where you live SHOULD be able.
Der formelle Imperativ – the Imperative
Die Fragen Wörter Wer? Was? Wann?.
Weak pushover verbs..... lieben kaufen spielen suchen....are verbs that do exactly as they are told. They stick to a regular pattern that does not change!
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
FTS usage at GridKa Forschungszentrum Karlsruhe GmbH
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Possessive Adjectives How to show belonging… The information contained in this document may not be duplicated or distributed without the permission of.
COMMANDS imperative There are three command forms: formal familiar singular familiar plural.
COMMANDS imperative 1. you (formal): Sie 2. you (familiar plural): ihr
Modal auxiliaries Chris can read the book. (has the ability to) Chris may read the book (is allowed to) Chris must read the book (has to) Chris should.
Als ich mein Gesicht As I my face In der Wasserspiegelung sah, In the water’s reflection saw, Lachte ich über die Erinnerungen, I laughed about the memories.
German “ wo - compounds ” Provided by deutschdrang. com for individual and classroom use only. May not be reproduced for any other purposes.
Einführung. Ziel der Veranstaltung  Vermittlung von Grundkenntnissen in C++  Solide Basis für anschließende Weiterentwicklung  Fähigkeit, kleine Programme.
German “ da - compounds ” Provided by deutschdrang. com for individual and classroom use only. May not be reproduced for any other purposes.
Indico Meeting Dennis Klein 4. August Übersicht  Korrespondenz CERN  Trouble Ticket Queue  Integration GSI-Accounts  Subversion & Wiki  Todo.
C++ FÜR cOMPUTERSPIELENTWICKLER
Tutorium Software-Engineering SS14 Florian Manghofer.
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
Zehn Schritte zu Linux Der Weg in eine andere Welt...
LLP DE-COMENIUS-CMP Dieses Projekt wurde mit Unterstützung der Europäischen Kommission finanziert. Die Verantwortung für den Inhalt dieser.
Mac OS X Kein bißchen besser Hanno Böck,
Workshop 1 Getting Started 2016 Boris Wylutzki
Informatik Sommercamp 2014
Praktische Informatik 1
Moodle Was ist „Moodle“ Einsatz- möglichkeiten Beispiele…
Wsl schon abgeschaltet Idee dahinter ist interessant und revolutionär
Hello World! Javakurs 2013 Arne Kappen
you: ihr ( familiar plural ) you: du ( familiar singular)
Volume 1, Chapter 2.
Aspect-Oriented Programming: Fad or the Future
Informatik Sommercamp 2012
Say What? We put the flowers on the Tisch.
Die Struktur einer Java-Klasse
Grundkurs Informatik 11-13
Coden mit Python Was sind deine Erfahrungen mit Programmieren?
Raphael Fischer Informatik II - Übung 07 Raphael Fischer
Methodische Grundlagen des Software-Engineering
If you feel that the resources that I have created have helped you save time and/or money, please consider supporting the work that I do by doing your.
Business IN THE FAST LANE
Implementieren von Klassen
Objektorientierte Programmierung
Statische und Nichtstatische Methoden Properties / Eigenschaften
- moodle – a internet based learning platform
Informatik II – Übung 4 Gruppe 3
 Präsentation transkript:

Informatik Sommercamp 2012 Java programmieren Rechnerbedienung <weiter>

Informatik Sommercamp 2012 1. Imperative Programmierung 2. Objektorientierung 3. Eclipse 4. Debugger Crash-Kurs Uni Vorgehensweise: bisschen Theorie vorher Aber: interessieren uns nur für das, was wir brauchen

Imperative Programmierung von Neumann Modell Zustand Programmzähler Variablen Arithmetik Theorie-Teil: bisschen Historie Vorstellung, wie der Rechner funktioniert

von Neumann Modell John von Neumann *1903 †1957 Mengenlehre Quantenmechanik Funktionsanalysis Spieltheorie Manhattan-Projekt Rechnerarchitektur von Neumann in Grundlagenvorlesungen einen der ersten Computer gebaut Spieltheorie: mehrere Agenten wollen gewinnen Manhattan-Projekt: Schockwellen keine Atombomben, sondern Rechnerarchitektur

von Neumann Modell teilw. noch heute gültiges Rechnermodell Programmzähler Zustand Rechenwerk (Arithmetik) Speicher Programmzähler: Versch. Schemata: Gemeinsamkeiten Programme sind Daten (Maschinencode) Zeiger auf nächsten Befehl Batch-Ausführung (nacheinander) <weiter> Programm und Daten

von Neumann Modell teilw. noch heute gültiges Rechnermodell Programmzähler Zustand Rechenwerk (Arithmetik) Speicher

Imperative Programmierung Verzweigung if (b : boolean) s1; else s2; Entscheidungen!

von Neumann Modell teilw. noch heute gültiges Rechnermodell Programmzähler Zustand Rechenwerk (Arithmetik) Speicher Programme und Daten am Zustand herumgebaut gemeinsamer Bus – intern keine Unterscheidung Wichtig: Zustandsübergänge

von Neumann Modell teilw. noch heute gültiges Rechnermodell Programmzähler Zustand Rechenwerk (Arithmetik) Speicher Beispiel: grüner Kommentar

von Neumann Modell teilw. noch heute gültiges Rechnermodell Programmzähler Zustand Rechenwerk (Arithmetik) Speicher Arithmetik: ...haben wir jetzt schon Speicher: …müssen wir uns nicht kümmern

Imperative Programmierung Funktionen: Sichtbarkeit Funktionen: <weiter>

Imperative Programmierung Funktionen: Sichtbarkeit: private, protected private Funktionen: selber definiert Modularität, Übersicht Funktionen: zwei für uns hier relevante Sichtbarkeiten Modularität, Übersicht, Code wiederverwenden

Imperative Programmierung Funktionen: Sichtbarkeit: private, protected private Funktionen: selber definiert Modularität, Übersicht protected (hier): ererbt werden vom Framework aufgerufen

Imperative Programmierung Funktionen: Sichtbarkeit: private, protected private Funktionen: selber definiert Modularität, Übersicht protected: ererbt werden vom Framework aufgerufen Parameter und Rückgabewerte Parameter und Rückgabewerte: Nicht verwirren lassen! Rückgabewert Parameter Soviel (Module gab's auch) bis in die 70er Jahre Wir brauchen das, aber noch mehr. <weiter> Objektorientierung

Objektorientierung T. Rentsch (1982): »My guess is that object-oriented programming will be in the 1980s what structured programming was in the 1970s. Everyone will be in favour of it. Every manufacturer will promote his products as supporting it. Every manager will pay lip service to it. Every programmer will practice it (differently). And no one will know just what it is.« D. Robson (1981): »Many people who have no idea how a computer works find the idea of object oriented systems quite natural. In contrast, many people who have expierence with computers initially think there is something strange about object-oriented systems.«

Objektorientierung Wozu soll das gut sein?

Objektorientierung Wozu soll das gut sein? Modularität, Übersicht

Objektorientierung Wozu soll das gut sein? Modularität, Übersicht Kohäsion und Kopplung

Objektorientierung Wozu soll das gut sein? Modularität, Übersicht Kohäsion und Kopplung Wiederverwendbarkeit von Programmcode

Objektorientierung Wozu soll das gut sein? Modularität, Übersicht Kohäsion und Kopplung Wiederverwendbarkeit von Programmcode dominante Dekomposition von Funktionalität

Objektorientierung Was bedeutet das für uns?

Objektorientierung Was bedeutet das für uns? das jRobots-Framework ist objektorientiert

Objektorientierung Was bedeutet das für uns? das jRobots-Framework ist objektorientiert die Entwicklung von Bots ist das eher nicht (bitte nach Möglichkeit nur eine Klasse bauen)

Objektorientierung Was bedeutet das für uns? das jRobots-Framework ist objektorientiert die Entwicklung von Bots ist das eher nicht (bitte nach Möglichkeit nur eine Klasse bauen) aber: wir müssen Framework-Funktionen verwenden

Objekte Attribute Methoden Objektorientierung Objekte Attribute Methoden - Objekte - Attribute - Methoden <weiter> Dazu in CIP-Pool wir machen das als praktischen Teil

Praktischer Teil Rest der Einführung mit JRobots und zuerst: Framework installieren Anleitung unter: www.fim.uni-passau.de/~simbuerg/jRobots Erstmal Passwort austeilen - Frage: Linux schon benutzt? (hier nicht abgedeckt) - Vorgehensweise: - Browser starten - herunterladen - Eclipse starten (mit Konsole) - … - jRobots starten: EmptyBot gegen anderen einfach ausprobieren <weiter> Eclipse Entwicklungsumgebung: was man sieht

Eclipse Java Perspective

Eclipse Open Source Entwicklungsumgebung neben Java auch C++, Python, PHP, UML, … Views (Drag&Drop) Plug-In-Architektur selbst in Java, aber nicht plattformunabhängig Features: (Syntaxhervorhebung), Codevervollständigung, Folding, Formatting, Access- Highlighting, Views (Package-Explorer, Outline, Console, JavaDoc, Call Hierarchy, Tasks, ...), Perspectives (Java, Debug, ...), ...

Objekte Attribute Methoden Objektorientierung Objekte Attribute Methoden wir machen das als praktischen Teil

Objekte Vererbungsbeziehung

Objekte Code im erbenden Bot

<<instanceOf>> Objekte Klasse != Instanz <<instanceOf>> EmptyBot@1c3508c0

Attribute/ Methoden Attribute und Methoden: Programmiert mal!

step over / step into / step out Debugger Run Configuration Debug Perspective Breakpoints Variable View step over / step into / step out (Hot Code Replace)