Spielerisches Erlernen der Programmierung mit dem Java-Hamster-Modell

Größe: px
Ab Seite anzeigen:

Download "Spielerisches Erlernen der Programmierung mit dem Java-Hamster-Modell"

Transkript

1 Spielerisches Erlernen der Programmierung mit dem Java-Hamster-Modell Dietrich Boles Universität Oldenburg INFOS

2 Gliederung 1) Motivation 2) Grundlagen 3) Hamster-Simulator 4) Komponenten des Java-Hamster-Modells 5) Andere Ansätze 6) Erfahrungen und Fazit Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 2

3 Motivation Anforderungen an Programmiermodell für Anfänger: Einfach, intuitiv, Spaßfaktor Komplexitätsreduktion Inkrementelle Vermittlung der Konzepte Einfach zu bedienende Programmierumgebung Visualisierung der Ausführung Lehr-/Lernmaterialien, Übungen ( Learning-by-Doing ) Wahl der Programmiersprache: Mutterspracheneffekt Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 3

4 Grundlagen des Java-Hamster-Modells Symbol Bedeutung Hamster (Blickrichtung Ost) Hamster (Blickrichtung Süd) Hamster (Blickrichtung West) Hamster (Blickrichtung Nord) Kachel mit Mauer Kachel mit Körnern Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 4

5 Grundlagen des Java-Hamster-Modells Hamsteraufgabe: Gegeben sei die folgende Landschaft. Der Hamster soll zwei Körner fressen. Landschaft: Lösung: Ein Hamsterprogramm Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 5

6 Grundlagen des Java-Hamster-Modells 4 Grundbefehle: vor(); linksum(); nimm(); gib(); ein Feld nach vorne springen 90 Grad nach links drehen ein Korn von der aktuellen Kachel aufnehmen ein Korn aus dem Maul auf der akt. Kachel ablegen Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 6

7 Hamster-Simulator Motivation: Programmieren üben Kennenlernen von Programmentwicklungsumgebungen Kennenlernen des Programmentwicklungsprozesses Spaß haben Komponenten: (Programm)Editor Compiler Landschaftseditor Interpreter Debugger Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 7

8 (Imperatives) Programmieren spielend gelernt mit dem Java-Hamster-Modell (Teubner, 1999/2002) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 8

9 Imperatives Programmieren Programme und Anweisungen void main() { // nimm erstes Korn vor(); vor(); nimm(); // nimm zweites Korn Der Hamster soll zwei Körner fressen. linksum(); vor(); vor(); nimm(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 9

10 Imperatives Programmieren Definition neuer Befehle ( Prozeduren) void rechtsum() { linksum(); linksum(); linksum(); Der Hamster soll zwei Körner fressen. void main() { // nimm erstes Korn rechtsum(); vor(); vor(); nimm(); // nimm zweites Korn rechtsum(); vor(); vor(); nimm(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 10

11 Imperatives Programmieren Laufzeitfehler vor();... und Feld vor dem Hamster ist blockiert nimm();... und kein Korn auf der akt. Kachel vorhanden gib();... und kein Korn im Maul des Hamsters Testbefehle vornfrei() maulleer() kornda() ist das Feld vor dem Hamster blockiert? ist das Maul des Hamsters leer? liegt ein Korn auf der akt. Kachel? Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 11

12 Imperatives Programmieren Kontrollstrukturen ( Parametrisierte Algorithmen) Auswahlanweisungen Wiederholungsanweisungen Der Hamster soll bis zur nächsten Wand laufen und dabei alle Körner fressen. void main() { sammleallekoerner(); while (vornfrei()) { vor(); sammleallekoerner(); void sammleallekoerner() { while (kornda()) nimm(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 12

13 Imperatives Programmieren Definition neuer Testbefehle ( boolesche Funktionen) Der Hamster soll auf der linken Seite eine Nische suchen und sich dort hinein begeben. boolean linksfrei() { linksum(); if (vornfrei()) { rechtsum(); return true; else { rechtsum(); return false; void main() { while (vornfrei() &&!linksfrei()) vor(); if (linksfrei()) { linksum(); vor(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 13

14 Imperatives Programmieren Programmentwurf ( Schrittweise Verfeinerung) Problem Analyse Entwurf Implementierung Test D ok u m en t a ti o n Programm Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 14

15 Imperatives Programmieren Der Hamster bekommt ein Gedächtnis und lernt zählen ( Zahlen, Variablen und Ausdrücke) Der Hamster soll bis zur nächsten Mauer und zurück laufen. void main() { int schritte = 0; while (vornfrei()) { vor(); schritte = schritte + 1; linksum(); linksum(); while (schritte > 0) { vor(); schritte = schritte 1; Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 15

16 Imperatives Programmieren Verallgemeinerung des Funktionskonzeptes Der Hamster soll n Schritte aber maximal bis zur nächsten Mauer laufen. void main() { int anzahl = vor(5); int vor(int schritte) { while (schritte > 0 && vornfrei()) { vor(); schritte--; return schritte; Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 16

17 Imperatives Programmieren Rekursion ( Backtracking) Der Hamster soll in einem beliebigen zyklenfreien Labyrinth ein Korn suchen. boolean gefunden = false; void main() { suchegeradeab(); void suchegeradeab() { if (kornda()) { gefunden = true; nimm(); if (!gefunden && linksfrei()) { linksum(); vor(); suchegeradeab(); vor(); linksum(); if (!gefunden && rechtsfrei()) { rechtsum(); vor(); suchegeradeab(); vor(); rechtsum(); if (!gefunden && vornfrei()) { vor(); suchegeradeab(); vor(); else { kehrt(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 17

18 Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell (Teubner, 2004) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 18

19 Objektorientierte Programmierung Anpassungen des ursprünglichen Hamster-Modells Zusätzlich zum Standard-Hamster können weitere Hamster erzeugt werden Hamster sind Instanzen einer Klasse Hamster Dem Territorium wird ein Koordinatensystem zugeordnet Auf einer Kachel können sich mehrere Hamster befinden Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 19

20 Objektorientierte Programmierung Klasse Hamster class Hamster { Hamster(int r, int s, int b, int k) {... void vor() {... void linksum() {... void gib() {... void nimm() {... boolean vornfrei() {... boolean maulleer() {... boolean kornda() {... Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 20

21 Objektorientierte Programmierung Hamster-Namen ( Objektvariablen) Der Standard-Hamster soll bis zur nächsten Wand laufen. void main() { Hamster paul = Hamster.getStandardHamster(); while (paul.vornfrei()) { paul.vor(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 21

22 Objektorientierte Programmierung Erzeugung neuer Hamster(objekte) void main() { Hamster paul = new Hamster(2, 0, Hamster.OST, 6); Hamster heidi = new Hamster(2, 5, Hamster.WEST, 0); // Paul laeuft zu seiner Angebeteten while (paul.vornfrei() && paul.getspalte()!= heidi.getspalte()) { paul.vor(); // Paul uebergibt Heidi seine Koerner if (paul.getspalte() == heidi.getspalte()) { while (!paul.maulleer()) paul.gib(); while (heidi.kornda()) heidi.nimm(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 22

23 Objektorientierte Programmierung Erweiterung des Befehlsvorrats ( Vererbung) class SammelHamster extends Hamster { void sammle() { while (this.kornda()) this.nimm(); void main() { SammelHamster paul = new SammelHamster(2,3,Hamster.OST,0); paul.sammle(); while (paul.vornfrei()) { paul.vor(); paul.sammle(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 23

24 Objektorientierte Programmierung Hamster-Kolonnen ( Arrays) void main() { Hamster[] tiere = new Hamster[Territorium.getAnzahlReihen()]; for (int i=0; i<tiere.length; i++) tiere[i] = new Hamster(i, 0, Hamster.OST, 0); for (int i=0; i<tiere.length; i++) { while (tiere[i].vornfrei()) tiere[i].vor(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 24

25 Objektorientierte Programmierung Zeichenketten (Strings) Kommunikation mit dem Nutzer ( Ein- und Ausgabe) class Hamster {... void schreib(string zeichenkette) {... String lieszeichenkette(string aufforderung) {... int lieszahl(string aufforderung) {... void main() { Hamster paul = Hamster.getStandardHamster(); int anzahl = paul.lieszahl("anzahl Drehungen?"); while (anzahl > 0) { paul.linksum(); anzahl--; Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 25

26 Objektorientierte Programmierung Hamster-Spiele ( Polymorphie, Interfaces) interface Spieler { int lieferenaechstenspielzug(); class SchiedsrichterHamster extends Hamster { Spieler spielera, spielerb, aktspieler; SchiedsrichterHamster(Spieler a, Spieler b) { this.spielera = a; this.spielerb = b; void spielen() { while (!spielende()) { int zug = aktspieler.lieferenaechstenspielzug(); zugdurchfuehren(zug); aktspieler = aktspieler==spielera?spielerb:spielera;... Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 26

27 Objektorientierte Programmierung class MenschHamster extends Hamster implements Spieler { int lieferenaechstenspielzug() { return this.lieszahl("zug?"); class SpielHamster extends Hamster implements Spieler { int lieferenaechstenspielzug() { // Spielbaum aufbauen und besten Zug liefern void main() { Spieler mensch = new MenschHamster(...); Spieler hamster = new SpielHamster(...); SchiedsrichterHamster schiedsrichter = new SchiedsrichterHamster(mensch, hamster); schiedsrichter.spielen(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 27

28 Objektorientierte Programmierung Hamster-Fehler ( Exceptions) class Hamster { void vor() throws MauerDaException {... void linksum() {... void gib() throws MaulLeerException {... void nimm() throws KachelLeerException {... void main() { Hamster paul = Hamster.getStandardHamster(); // paul laeuft zur naechsten Mauer try { while (true) paul.vor(); catch (MauerDaException e) {; Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 28

29 Objektorientierte Programmierung Hamster-Privatsphäre ( Zugriffsrechte, Pakete) package hamster.util; import java.util.*; public class AllroundHamster extends Hamster { private int gesammeltekoerner;... Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 29

30 Parallele Programmierung spielend gelernt mit dem Java-Hamster-Modell (Teubner, 2006) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 30

31 Parallele Programmierung Bisher (Programmierer steuert die Hamster): void main() { Hamster paul = new Hamster(0, 0, Hamster.OST, 0); Hamster heidi = new Hamster(1, 0, Hamster.OST, 0); while (paul.vornfrei() && heidi.vornfrei()) { paul.vor(); heidi.vor(); while (paul.vornfrei()) { paul.vor(); while (heidi.vornfrei()) { heidi.vor(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 31

32 Parallele Programmierung Nun (die Hamster werden eigenständig): class Hamster extends java.lang.thread { class RHamster extends Hamster { public void run() { while (vornfrei()) vor(); void main() { RHamster paul = new RHamster(0, 0, Hamster.OST, 0); RHamster heidi = new RHamster(1, 0, Hamster.OST, 0); paul.start(); heidi.start(); Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 32

33 Parallele Programmierung Selbstständigkeit ( Threads) Hamster-Kommunikation ( gemeinsame Objekte) Merkwürdige Fehler ( Synchronisation) Abstimmung zwischen Hamstern ( wait, notify) Aushungern von Hamstern ( Deadlocks) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 33

34 Parallele Programmierung Realisierung und Visualisierung klassischer Synchronisationsprobleme Philosophen-Problem ( Philosophen-Hamster) Semaphor-Konzept ( Semaphor-Hamster) Erzeuger-Verbraucher-Problem ( Buffer-Kachel) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 34

35 Algorithmen und Datenstrukturen spielend gelernt mit dem Java-Hamster-Modell (ebook, Version 1.0) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 35

36 Algorithmen und Datenstrukturen Algorithmenvisualisierung/-animation mit dem Java- Hamster-Modell Sortieralgorithmen Suchalgorithmen Bäume Graphen Mustererkennung Kompressionsalgorithmen... Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 36

37 Objektorientierte Softwareentwicklung spielend gelernt mit dem Java-Hamster-Modell (ebook, Version 1.0) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 37

38 Objektorientierte Softwareentwicklung Hamster-Modell für Programmieren im Großen nur bedingt geeignet Veranschaulichung der OO-Modellierung anhand der Entwicklung von Hamster-Spieleprogrammen OO-Analyse OO-Entwurf UML Schwerpunkt Entwurfsmuster Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 38

39 Objektorientierte Softwareentwicklung Framework für 2-Personen/Hamster-Strategie-Spiele Implementierung bestimmter Spiele Kalah TicTacToe Alapo Reversi 4-Gewinnt... Hamster-Modell dient zur Visualisierung (anstelle von Swing/AWT) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 39

40 Objektorientierte Softwareentwicklung Klassendiagramm für TicTacToe-Spiel 1 TTTSpiel TTTBrett TTTFigur gehört 2 TTTSpieler ist_spieler_a liefere- Naechsten- Spielzug()... kennt 1 TTTRegeln ausführen TTTProgramm regelkonform TTTSpielzug Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 40

41 Objektorientierte Softwareentwicklung Sequenzdiagramm für TicTacToe-Spiel tictactoe : TTTSpiel akt_spieler : TTTSpieler regeln : TTTRegeln brett : TTTBrett spielen()... lieferenaechsten- Spielzug(zug) zug spielzugok(akt_spieler, zug) antwort [antwort = true] fuehrespielzugaus (akt_spieler, zug) gebespielbrettaus()... Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 41

42 Andere Ansätze Turtle-Grafik (Logo) Karel the Robot Kara der Marienkäfer (endliche Automaten) Stifte und Mäuse (objektorientierter Ansatz) Robocode (Ansatz für Fortgeschrittene) BlueJ (Visualisierung der Modellierung!) Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 42

43 Erfahrungen und Fazit Einsatz seit 9 Jahren im Programmierkurs Java der Uni Oldenburg Viel positives Feedback Viele kreative Eigenleistungen Verbesserte Leistungen? Mischung Hamster-Programme / richtige Java- Programme notwendig!!! Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 43

44 Hamster-Gedicht Wer irrt so spät im Kachelwald, es ist der Hamster und ihm ist kalt. Ob rechts ob links er hat die Wahl, das Korn zu suchen ist seine Qual. So läuft er ziellos durch die Gänge, im Nacken stets die JAVA-Zwänge. Und bis er hat das Korn gefunden, dauert es oft viele Stunden. Dann das Ergebnis all der Müh und Not: Das Feld ist voll, der Hamster tot!!! Java-Hamster-Modell Dietrich Boles (Uni Oldenburg) Seite 44

Dr. Dietrich Boles. Programmierkurs Java. Teil. Objektorientierte Programmierung. Unterrichtseinheit 20. (Hamster-) Objekte

Dr. Dietrich Boles. Programmierkurs Java. Teil. Objektorientierte Programmierung. Unterrichtseinheit 20. (Hamster-) Objekte Programmierkurs Java Teil Objektorientierte Programmierung Unterrichtseinheit 20 (Hamster-) Objekte Dr. Dietrich Boles Programmierkurs Java UE 20 (Hamster-) Objekte Dietrich Boles Seite 1 Gliederung Imperatives

Mehr

1. Einführung. Programmieren 1 / Algorithmen und Datenstrukturen. Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2010

1. Einführung. Programmieren 1 / Algorithmen und Datenstrukturen. Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2010 1. Einführung Programmieren 1 / Algorithmen und Datenstrukturen Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2010 1 Prof. Dr. Bernhard Humm, FB Informatik, Hochschule Darmstadt.

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil IV Einführung in die Programmierung - II Michael Roth

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Inhaltsverzeichnis. 4.9 Aufgaben... 63 Inhaltsverzeichnis 1 Einleitung 1 1.1 Programmierung... 1 1.2 Objektorientierte Programmierung... 2 1.3 Voraussetzungen und Ziele dieses Buches... 3 1.4 Aufbau dieses Buches... 4 2 Das imperative Hamster-Modell

Mehr

1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster

1 Aufgaben 1.1 Objektorientiert: (extended-hamster) Sammel-Hamster 1 Aufgaben 1.1 Objektorientiert: ("extended-hamster") Sammel-Hamster Aufgabe: Bearbeitungszeit: ca. 1/4 Std) Schreiben Sie ein "objektorientiertes" Programm ("CuB_05_1") für das Sammeln der Körner. Aufgabenbeschreibung:

Mehr

Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer

Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer Programmieren mit dem Java-Hamster-Modell VP Orientierung Informatik WS 2008/09 H.Hagenauer Idee didaktisches Modell zur Einführung in die Programmierung leichter und intuitiver Zugang ( spielerisches

Mehr

Um dies zu vermeiden, werden nun drei so genannte Testbefehle eingeführt:

Um dies zu vermeiden, werden nun drei so genannte Testbefehle eingeführt: Folge 4 IF-ELSE-Anweisung - Testbefehle JAVA 4.1 Testbefehle (Boolesche Ausdrücke) Wenn Sie den Hamster in eine unlösbare Situation bringen (z.b. obwohl vor ihm eine Mauer steht), dann ist der Hamster

Mehr

Spielerisches Erlernen der Programmierung mit dem Java- Hamster-Modell

Spielerisches Erlernen der Programmierung mit dem Java- Hamster-Modell Spielerisches Erlernen der Programmierung mit dem Java- Hamster-Modell Dietrich Boles Department für Informatik, Abteilung Informationssysteme Universität Oldenburg, Fakultät II Escherweg 2 26121 Oldenburg

Mehr

Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.

Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten. Folge 6 WHILE-Schleife JAVA 6.1 Schleifen Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten. Zu einer Schleife gehören die Schleifenbedingung und der Rumpf. Die Schleifenbedingung

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.

Informatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013. Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik

Mehr

C.1 Klasse SHamster. public class SHamster extends Hamster { private Hamster shamster;

C.1 Klasse SHamster. public class SHamster extends Hamster { private Hamster shamster; C. Sicher hat es Sie bisher auch schon oft geärgert, dass der Standard-Hamster immer vom Typ Hamster und nicht vom Typ einer erweiterten Hamster-Klasse ist und man für ihn keine neu definierten Befehle

Mehr

Installation. Start. Das Territorium im Simulator

Installation. Start. Das Territorium im Simulator Einführung Java mit dem Hamstermodell 1. Wir lernen das Programm kennen Der Hamstersimulator ist ein JAVA-Programm, das von Dietrich Boles entwickelt wurde, um Programmieranfängern die Grundlagen der Programmierung

Mehr

2. Operationen und Schleifen Programmieren / Algorithmen und Datenstrukturen 1

2. Operationen und Schleifen Programmieren / Algorithmen und Datenstrukturen 1 2. Operationen und Schleifen Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Sommersemester 2010 1 Agenda Organisation Schleifen Prozeduren

Mehr

Vorwort. Aufbau der Java-Hamster-Bücher

Vorwort. Aufbau der Java-Hamster-Bücher Vorwort Programmieranfänger 1 leiden häufig darunter, dass sie beim Programmieren ihre normale Gedankenwelt verlassen und in eher technisch-orientierten Kategorien denken müssen, die ihnen von den Programmiersprachen

Mehr

Programmieren spielend gelernt

Programmieren spielend gelernt Dietrich Boles Programmieren spielend gelernt mit dem Java-Hamster-Modell Dietrich Boles Programmieren spielend gelernt mit dem Java-Hamster-Modell 3. überarbeitete und erweiterte Auflage Bibliografische

Mehr

Objektorientierte Programmierung spielend gelernt

Objektorientierte Programmierung spielend gelernt Dietrich Boles, Cornelia Boles Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell Dietrich Boles, Cornelia Boles Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell

Mehr

Visual Basic Hamster

Visual Basic Hamster 1. Einleitung Visual Basic Hamster Harald R. Haberstroh Die Idee zum Hamstermodell ist ganz einfach: Sie als Programmierer müssen einen virtuellen Hamster in einer virtuellen Landschaft steuern. Das Hamster-Modell

Mehr

2.1 Komponenten des Hamster-Modells

2.1 Komponenten des Hamster-Modells 2. Computer können heutzutage zum Lösen vielfältiger Aufgaben genutzt werden. Die Arbeitsanleitungen zum Bearbeiten der Aufgaben werden ihnen in Form von Programmen mitgeteilt. Diese Programme, die von

Mehr

Ausnahmebehandlung in Java

Ausnahmebehandlung in Java Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A { void foo() throws Help { if (helpneeded()) throw new Help();... try {... catch (Help e) {... catch (Exception

Mehr

Dietrich Boles Cornelia Boles. Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell

Dietrich Boles Cornelia Boles. Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell Dietrich Boles Cornelia Boles Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell Dietrich Boles Cornelia Boles Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011

Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011 Übungen mit Anleitung Hamster-Simulator Nicola Ramagnano 23. Oktober 2011 Dieses Dokument steht unter einer Creative Commons Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.5 Schweiz

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Programmieren spielend gelernt mit dem Java-Hamster-Modell

Programmieren spielend gelernt mit dem Java-Hamster-Modell Programmieren spielend gelernt mit dem Java-Hamster-Modell Dietrich Boles Programmieren spielend gelernt mit dem Java- Hamster-Modell 5., überarbeitete und erweiterte Auflage Dr.-Ing. Dietrich Boles Universität

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ausnahmebehandlung und Nebenläufigkeit 9. Vorlesung am 15. Dezember 2010 Ausnahmebehandlung in Java class A { void foo() throws Help, SyntaxError {... class B extends A

Mehr

Klassen des J ava-hamster-modells

Klassen des J ava-hamster-modells Anhang A Klassen des J ava-hamster-modells Dieser Anhang enthält eine ausführliche Beschreibung der im Java-Hamster-Modell vordefinierten Klassen. A.l Exception-Klassen Oberklasse aller Exception-Klassen

Mehr

Skript für den Informatikunterricht an der. Max-Weber-Schule

Skript für den Informatikunterricht an der. Max-Weber-Schule Skript für den Informatikunterricht an der Max-Weber-Schule Teil A: Programmieren Lernen mit dem Java-Hamstermodell Teil B: Strukturiertes Programmieren mit Java und dem Java-Editor Teil C: Objektorientierte

Mehr

Hamstern mit BlueJ. Dr. Dietrich Boles. Universität Oldenburg 01.02.2006

Hamstern mit BlueJ. Dr. Dietrich Boles. Universität Oldenburg 01.02.2006 Hamstern mit BlueJ Dr. Dietrich Boles Universität Oldenburg 01.02.2006 1. Einleitung Ziel dieses Artikels ist die Beschreibung der Integration von BlueJ und dem Java- Hamster-Modell, zwei existierenden

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Beispiel für überladene Methode

Beispiel für überladene Methode Beispiel für überladene Methode class Gras extends Futter {... abstract class Tier { public abstract void friss (Futter x); class Rind extends Tier { public void friss (Gras x) {... public void friss (Futter

Mehr

Dietrich Boles. Hamstroid - Hamster-Simulator für Android-Smartphones. Version 1.2. Benutzungshandbuch

Dietrich Boles. Hamstroid - Hamster-Simulator für Android-Smartphones. Version 1.2. Benutzungshandbuch Dietrich Boles Hamstroid - Hamster-Simulator für Android-Smartphones Version 1.2 Benutzungshandbuch 02.01.2015 1 Inhalt 1 Einleitung... 5 2 Hamstroid-Versionen... 7 2.1 Version 1.0... 7 2.2 Version 1.1...

Mehr

Programmierkurse für Anfänger und Fortgeschrittene

Programmierkurse für Anfänger und Fortgeschrittene Programmierkurse für Anfänger und Fortgeschrittene Dietrich Boles Universität Oldenburg, Department für Informatik Escherweg 2, D-26121 Oldenburg boles@informatik.uni-oldenburg.de Zusammenfassung Sicher

Mehr

Grundlagen der EDV. Prof. Dr.-Ing. Klaus-Dieter Thoben Dipl.-Inform. Carl Hans 02.11.2006. VA EDV/ Informatik Grundlagen

Grundlagen der EDV. Prof. Dr.-Ing. Klaus-Dieter Thoben Dipl.-Inform. Carl Hans 02.11.2006. VA EDV/ Informatik Grundlagen Grundlagen der EDV Prof. Dr.-Ing. Klaus-Dieter Thoben Dipl.-Inform. Carl Hans 02.11.2006 Administratives (1) Übungstermine: Insgesamt 4 Übungsgruppen Jeweils Donnerstags von 13:00 17:00 im Biba Zwei Gruppen

Mehr

Das Java-Hamster-Modell

Das Java-Hamster-Modell Das Java-Hamster-Modell Programmieren lernen mit dem Hamster Informatikunterricht in der Jahrgansstufe 11 der Ursulaschule Osnabrück Das Java-Hamster-Modell Übersicht 1. Was ist ein Programm? 2. Wodurch

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 07: Nebenläufigkeit Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in die Nebenläufigkeit und Java Thread Konzept: Motivation

Mehr

Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen

Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen Thread-Synchronisation in in Java Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen Die Klasse Thread Die Die Klasse Thread gehört zur zur Standardbibliothek von von

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

III.1 Prinzipien der funktionalen Programmierung - 1 - 1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung

Mehr

Benutzungshandbuch. Hamster-Simulator-Light

Benutzungshandbuch. Hamster-Simulator-Light Benutzungshandbuch Hamster-Simulator-Light Version 1.0 (21.09.2009) Dietrich Boles Universität Oldenburg 2 Inhaltsverzeichnis 1 Einleitung... 9 1.1 Das Hamster-Modell... 9 1.2 Der Hamster-Simulator...

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung

Mehr

Programmieren spielend gelernt

Programmieren spielend gelernt Dietrich Boles Programmieren spielend gelernt mit dem Java-Hamster-Modell 2., durchgesehene Auflage Im Teubner B. G. Teubner Stuttgart Leipzig Wiesbaden Die Deutsche Bibliothek - CIP-Einheitsaufnahme Ein

Mehr

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Informatik II. Semesterklausur

Informatik II. Semesterklausur Universität Augsburg, Institut für Informatik Sommersemester 2003 Prof. Dr. Bernhard Bauer 5. Juli 2003 Stefan Fischer, Dr. Martin Müller Informatik II Semesterklausur Prüfungsmodul Informatik II (SS 2003)

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Aufgaben. Objektorientierte Programmierung

Aufgaben. Objektorientierte Programmierung Aufgaben Objektorientierte Programmierung 1. Baue in die Klasse Hase eine Methode dreherechts() ein, damit sich der Hase auch im Uhrzeigersinn drehen kann 2. Notiere alle Befehle (Stift und Blatt Papier

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 3 Lösungsvorschlag Objektorientierte Programmierung 08. 05. 2006 Lösung 8 (Java und UML-Klassendiagramm

Mehr

II.3.1 Rekursive Algorithmen - 1 -

II.3.1 Rekursive Algorithmen - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -

Mehr

Programmieren spielend gelernt

Programmieren spielend gelernt Programmieren spielend gelernt mit dem Java-Hamster-Modell Von Dietrich Boles, Oldenburg EI3 B.GTeubner Stuttgart Leipzig 1999 Dipl.-Inform. Dietrich Boles Geboren 1963 in Altena (Westf.). Studium der

Mehr

Programmieren spielend gelernt

Programmieren spielend gelernt Dietrich Boles Programmieren spielend gelernt mit dem Java-Hamster-Modell Dietrich Boles Programmieren spielend gelernt mit dem Java-Hamster-Modell 3. überarbeitete und erweiterte Auflage Bibliografische

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) Übungsorganisation Bringen Sie Ihren Labtop in die Übungen mit! 09.10.2017 CuP - VO 2 Programmieren 1. Definition der Aufgabe, die das Programm lösen soll. 2.

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

parallele Prozesse auf sequenziellen Prozessoren Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher.

parallele Prozesse auf sequenziellen Prozessoren Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher. Threads parallele Prozesse auf sequenziellen Prozessoren Prozesse und Threads Es gibt zwei unterschiedliche Programme: Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher. Ein Thread

Mehr

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. ) Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

Mehr

Implementierung und Visualisierung von Entwurfsmustern im Java-Hamster-Modell

Implementierung und Visualisierung von Entwurfsmustern im Java-Hamster-Modell Carl von Ossietzky Universität Oldenburg Department für Informatik Abteilung Informationssysteme Prof. Dr. Hans-Jürgen Appelrath Individuelles Projekt Implementierung und Visualisierung von Entwurfsmustern

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält

Mehr

Objektorientierte Programmierung spielend gelernt

Objektorientierte Programmierung spielend gelernt Dietrich Boles, Cornelia Boles Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell Dietrich Boles, Cornelia Boles Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell

Mehr

Lebenszyklus von Threads

Lebenszyklus von Threads Threads Umgangssprachlich Faden, Diskussionsfaden, Gewinde, Faser, Garn, roter Faden Threads ermöglichen Nebenläufigkeit (parallele Ausführung von Anwendungsteilen). Typisch für Threads ist,dass sie zu

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 19. 25. Februar 2003 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()

Mehr

import JavaKaraProgram; public class Quadrat extends JavaKaraProgram { // Anfang von Quadrat void turnaround() { kara.turnleft(); kara.

import JavaKaraProgram; public class Quadrat extends JavaKaraProgram { // Anfang von Quadrat void turnaround() { kara.turnleft(); kara. Informatik 11: Einführung in Java Kara legt Muster!(Lsg.) Gierhardt Aufgaben: 1. KARA soll ein mit Kleeblättern gefülltes Quadrat mit variabler Seitenlänge ablegen. Der Methodenaufruf quadratzeichnen(5)

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Implementieren mit Java - Schülerband Das komplette Material finden Sie hier: School-Scout.de School-Scout Der persönliche Schulservice

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 - ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

Objektorientierte Konzepte

Objektorientierte Konzepte Objektorientierte Konzepte Objekt Klasse enthaltender Polymorphismus (Untertypen) Vererbung Objektorientierte Programmierung, Grundlagen und Ziele 1 Objekt Objekt kapselt Variablen und Routinen Interaktionen

Mehr

Abschnitt 10: Datenstrukturen

Abschnitt 10: Datenstrukturen Abschnitt 10: Datenstrukturen 10. Datenstrukturen 10.1Einleitung 10.2 Peer Kröger (LMU München) Einführung in die Programmierung WS 16/17 829 / 867 Einleitung Überblick 10. Datenstrukturen 10.1Einleitung

Mehr

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Informatik II Übung 06. Benjamin Hepp 5 April 2017 Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.

Mehr

Fragenkatalog ESOP WS 16/17

Fragenkatalog ESOP WS 16/17 Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind

Mehr

System.out.println("TEXT");

System.out.println(TEXT); Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class

Mehr

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen Faulheit professionell: Fertige Datenbehälter Das Java-Collections-Framework Typsicherheit Generische Klassen Das Java Collections Framework Grundlegende Interfaces Das Interface List Das Interface List

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen

Mehr

II.4.4 Exceptions - 1 -

II.4.4 Exceptions - 1 - n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen

Mehr

Beispielprüfung CuP WS 2015/2016

Beispielprüfung CuP WS 2015/2016 Beispielprüfung CuP WS 2015/2016 Univ.-Prof. Dr. Peter Auer 23. Dezember 2015 Informationen zur Prüfung Die Prüfung wird als Multiple-Choice-Test mit 10 Fragen am Computer abgehalten. (Bei manchen Fragen

Mehr

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7. CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)

Mehr

8.6 Visualisierung der Sortieralgorithmen

8.6 Visualisierung der Sortieralgorithmen 8.6 Visualisierung der Sortieralgorithmen 8.6.1 Problemstellung Schauen Sie sich den folgenden Quelltext eines Java-Applets an: import java.awt.*; import javax.swing.*; import java.awt.event.*; public

Mehr

Skript für den Informatikunterricht an der. Max-Weber-Schule

Skript für den Informatikunterricht an der. Max-Weber-Schule Skript für den Informatikunterricht an der Max-Weber-Schule Jochen Pellatz, Version 1.0 (August 2007) Skript 1: Programmieren lernen mit dem Java-Hamster-Modell Skript 2: Programmieren mit Java und dem

Mehr

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:

Mehr

A.1 Exception-Klassen

A.1 Exception-Klassen A. Dieser Anhang enthält eine ausführliche Beschreibung der im Java-Hamster-Modell vordefinierten Klassen. Kümmern Sie sich nicht um das verwendete Schlüsselwort synchronized. Dieses bekommt erst bei der

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel

Mehr

Java-Grundkurs für Wirtschaftsinformatiker

Java-Grundkurs für Wirtschaftsinformatiker Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich

Mehr

II.4.2 Abstrakte Klassen und Interfaces - 1 -

II.4.2 Abstrakte Klassen und Interfaces - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1

Mehr

9. Ausnahmebehandlung

9. Ausnahmebehandlung Schwerpunkte Ausnahmen und Laufzeitfehler 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Stack-Trace Java-Ausnahmeklassen-Hierarchie

Mehr

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 2. Februar 2017 Hinweise: Klausurtermine: Programmieren I Übungsklausur Programmieren I: 13. März

Mehr

Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am

Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am Aufgabe 1 Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am 16.3.2002 Folgende Implementierung löst die gestellte Aufgabe : public interface Figur { public void anzeigen (); public

Mehr

Institut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010

Institut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010 Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung Prof. R. Westermann Endterm Klausur zu Informatik I 20. Februar 2010 ˆ Die Arbeitszeit beträgt 120

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 16. Java: Threads für Animationen 1 Motivation

Mehr

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen!

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen! Objektorientierte Programmierung & Modellierung WS 2007/8 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel 1. Teilklausur 07.12.2007 Gruppe A Bitte in Druckschrift

Mehr

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen der Modellierung und Programmierung, Übung Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak

Mehr