Schülerkolleg Hasso-Plattner-Institut. Schülerkolleg Hasso-Plattner-Institut.

Post on 06-Apr-2016

224 views 1 download

transcript

Natürliches Programmieren

SchülerkollegHasso-Plattner-Institut

Einführung / Motivation

SchülerkollegHasso-Plattner-Institut

So sieht Programmieren heute aus:

class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); }}

Javadrei Arten von Klammern

vier verschiedeneSchlüsselworte

So sieht Programmieren heute aus:

foreach $f (<*>) { $i{$f} = -s $f };foreach $k (sort{ $i{$b} <=> $i{$a} } keys %i){ printf "%8d %s\n", $i{$k}, $k }

Perl

So sieht Programmieren heute aus:

by_length(Lists) -> qsort(Lists, fun(A,B) -> A < B end).qsort([], _)-> [];qsort([Pivot|Rest], Smaller) -> qsort([X || X <- Rest, Smaller(X,Pivot)], Smaller) ++ [Pivot] ++ qsort([Y || Y <- Rest, not(Smaller(Y, Pivot))], Smaller).

Erlang

Was könnte natürliches Programmieren sein?

HANDS

HANDS

Alice

Alice

Greenfoot

Greenfoot

Kodu

KODU

Google App Inventor

Google App Inventor

Natürliches Programmieren mit Scratch

SchülerkollegHasso-Plattner-Institut

DemoSchülerkollegHasso-Plattner-Institut

Demo

PI

TronPong

Erzählung

Ideen für heute

Pong Tron Erzählung / Film Pi berechnen Punkte-Einsammeln

InstallationSchülerkollegHasso-Plattner-Institut

Und los geht‘s

goo.gl/6ot8u

Scratch installieren

Die heruntergeladene Datei entpacken

Scratch installieren

Zum Starten auf „Scratch.exe“ doppelklicken

(im Ordner WinScratch1.4 > Scratch)

Scratch installieren

Sprache einstellen

Erste SchritteSchülerkollegHasso-Plattner-Institut

Preproduction mit Scratch | Schülerkolleg | FF 2012

Bewegung

Malen

Geometrische Formen

Lösung: Rechteck, Dreieck, Kreis

Steuerung

Geometrische Formen mit Steuerung

Interaktion: Tastatur und Maus

Ein- und Ausgabe

Vergleiche

Labyrinth

Lösung: Labyrinth

Spielzeit

Rechnen

Variablen

Aussehen

Nachrichten

Ideen / ProjekteSchülerkollegHasso-Plattner-Institut

Ideen für heute

Satz des Pythagoras Bälle zählen

Preproduction mit Scratch | Schülerkolleg | FF 2012

Der große Plan Überblick Software-Entwicklung

▪ Selbst ausprobieren mit verteiltem

Überblick Pre-Production in der Spiele-Entwicklung

Auswahl eines Projektes für die nächsten Wochen▪ Verteilung der Rollen▪ Analyse → Entwurf → Implementierung

→ Qualitätssicherung

Wahl eines Wunschthemas für die nächste Woche

Pong

Preproduction mit Scratch | Schülerkolleg | FF 2012

Ihr habt die Wahl

WeitereThemen

Teamrollen

BesonderheitenGenres

SoftwareEntwicklungs-

prozess

Spiele Entwicklungs-

prozess

Preproduction mit Scratch | Schülerkolleg | FF 2012

Ideen für heute

PONG TRON SPACE INVADERS

BRICK BREAKER

TETRIS MINE SWEEPER RPG ADVENTURE

RACING GAME PACMAN ASTEROIDS SUPER

MARIO

TASCHEN-RECHNER BILLIARD SNAKE PI-

BERECHNER

Plan für Heute

Ca. 30min beenden der Projekte Präsentation der Projekte Zusammenfassung Feedback

Präsentation der Projekte Euer Program vorstellen

Was geht alles? Welche Möglichkeiten von

Panther/Scratch habt hier verwendet? Was ist euch leicht/schwer gefallen? Worauf seit ihr besonders stolz?

Zusammenfassung

ProjektSpace

InvadersBrick

Breaker Tetris Mine Sweeper RPG Pacman Asteroids …

Natürliches Programmieren mit Scratch und Panther

Bewegung Malen Steuerung Tastatur und Maus Variablen Rechnen Nachrichte

n Vergleiche

Hasso-Plattner-InstitutSchülerkollegHasso-Plattner-Institut

Preproduction mit Scratch | Schülerkolleg | FF 2012

Preproduction mit Scratch | Schülerkolleg | FF 2012

Schwerpunkte:

• Software Engineering

• Team Work

Softwareentwicklungsprozess

SchülerkollegHasso-Plattner-Institut

Preproduction mit Scratch | Schülerkolleg | FF 2012

Das Wasserfallmodell

„Big Design Up Front“

Phasen Anforderungsanalyse Entwurf Realisierung Testen Wartung

http://en.wikipedia.org/wiki/File:Waterfall_model_(1).svg

Preproduction mit Scratch | Schülerkolleg | FF 2012

Extreme programming

Kurze Zyklen

Feedback

Techniken Pair Programming Unit Test Continuous Integration

http://en.wikipedia.org/wiki/File:XP-feedback.gif

Preproduction mit Scratch | Schülerkolleg | FF 2012

Rollen Kunde: legt die Anforderungen fest Management: Zuteilung von Ressourcen, Verträge mit

Kunden Projektleiter: Vertreter des Managements, Projektplanung Gruppenleiter: Leiter der Entwickler, hohes technisches

Wissen Analytiker: Anforderungsanalyse und -modell Integrator: Schnittstellen z. anderen Systemen,

Inbetriebnahme Programmierer: Implementiert das Projekt Tester: Erstellt Testpläne, testet fertig gestellte Produkte Qualitätssicherer: Überprüfung der Qualität des Prozesses

Preproduction mit Scratch | Schülerkolleg | FF 2012

Anforderungsanalyse

Preproduction mit Scratch | Schülerkolleg | FF 2012

Entwurf

Preproduction mit Scratch | Schülerkolleg | FF 2012

Entwurf

Softwareentwicklungsprozess am Beispiel von

SchülerkollegHasso-Plattner-Institut

Pong

Preproduction mit Scratch | Schülerkolleg | FF 2012

Projekt: Pong

Pong Über Netzwerk

Pong

Preproduction mit Scratch | Schülerkolleg | FF 2012

Projekt: Pong

Anforderungen Jeder Spieler sieht das Spielfeld auf

seinem Rechner Jeder Spieler kann nur sein „Paddle“

steuern Die Steuerkommandos werden per

Netzwerk an einen Server übertragen Die Position des Balls und des

gegnerischen „Paddle“ wird vom Server abgefragt

Der Punktestand wird angezeigt

Pong

Preproduction mit Scratch | Schülerkolleg | FF 2012

Projekt: Pong

Grobentwurf Was muss mit wem kommuniziert

werden Welche Objekte brauche ich Welche Ein-/Ausgaben müssen realisiert

werden

Pong

Preproduction mit Scratch | Schülerkolleg | FF 2012

Projekt: Pong

Feinentwurf z.B.: Namen der auszutauschenden

Nachrichten und Variablen

Pong

PreproductionSchülerkollegHasso-Plattner-Institut

Preproduction mit Scratch | Schülerkolleg | FF 2012

Preproduction mit Scratch | Schülerkolleg | FF 2012

SpieleentwicklungSchülerkollegHasso-Plattner-Institut

Preproduction mit Scratch | Schülerkolleg | FF 2012

Rollen bei der Spieleentwicklung

Artists▪ Concept Art▪ Sound Designer▪ 3D Modelle / Texturen

Game-Design Story-Telling Entwickler

▪ Engine / Plattform▪ Multiplayer / MMO▪ Künstliche Intelligenz

Tester Community

■ Lokalisierung□ Sprache□ Text

■ Geschäftsmodell□ Distribution□ Micro-Transactions□ In-Game Advertising

■ Rechtsabteilung■ Interface Entwicklung■ Quality Assurance

Preproduction mit Scratch | Schülerkolleg | FF 2012

Besonderheiten der Genres

PantherSchülerkollegHasso-Plattner-Institut

Der Panther:Das Kätzchen wird erwachsen

Erweitertes Scratch mit neuen Fähigkeiten▪ Netzwerkkommunikation▪ Klonen von Objekten▪ Viele neue nützliche Blöcke▪ (Erstellen eigener Blöcke)

http://wiki.scratch.mit.edu/wiki/Panther_(Scratch_Modification)

http://pantherprogramming.weebly.com/

Demo: Mario

Installation

Herunterladen http://goo.gl/tJQRa

Entpacken Genau wie beim letzten Mal

Sprache auf Deutsch umstellen Geht leider nicht

Preproduction mit Scratch | Schülerkolleg | FF 2012

Verbindungsaufbau

Preproduction mit Scratch | Schülerkolleg | FF 2012

Demo: Chat

Preproduction mit Scratch | Schülerkolleg | FF 2012

Und los geht‘s!

Anforderungen Jeder Spieler sieht das Spielfeld auf

seinem Rechner Jeder Spieler kann nur sein „Paddle“

steuern Die Steuerkommandos werden per

Netzwerk an einen Server übertragen Die Position des Balls und des

gegnerischen „Paddle“ wird vom Server abgefragt

Der Punktestand wird angezeigt

Pong