Projekt:2021/Programmierprojekt: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „{{Projektseite |Projekt=Programmierprojekt Python |Kurs=Informatik 9 Diff |Schuljahr=2021/22 }} In den nächsten '''drei Wochen''' werdet ihr in Partnerarbeit…“)
 
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
|Schuljahr=2021/22
|Schuljahr=2021/22
}}
}}
__TOC__


In den nächsten '''drei Wochen''' werdet ihr in Partnerarbeit individuelle Python-Projekte programmieren. Bei der Wahl des Projektes habt ihr viele Freiheiten. Auf dieser Seite findet ihr einige Vorschläge, die ihr direkt verwenden oder als Anregung zur Entwicklung eigener Ideen nutzen könnt.
In den nächsten '''drei Wochen''' werdet ihr in Partnerarbeit individuelle Python-Projekte programmieren. Bei der Wahl des Projektes habt ihr viele Freiheiten. Auf dieser Seite findet ihr einige Vorschläge, die ihr direkt verwenden oder als Anregung zur Entwicklung eigener Ideen nutzen könnt.
Zeile 20: Zeile 22:


== Mögliche Projekte ==
== Mögliche Projekte ==
* '''Turtle''': Eine [https://www.youtube.com/watch?v=UnGxMDIBcfc Animation oder ein Kunstwerk], ein [[wikipedia:Fraktal|Fraktal]] oder ein Generator für zufällige Bilder (zum Beispiel die Skyline einer Stadt). Auch einfache Spiele lassen sich mit der Turtle umsetzen.
* '''Turtle''': Eine [https://www.youtube.com/watch?v=UnGxMDIBcfc Animation oder ein Kunstwerk], ein [[wikipedia:Fraktal|Fraktal]] oder ein Generator für zufällige Bilder (zum Beispiel [https://pythonturtle.academy/city-skyline-with-python-turtle/ die Skyline einer Stadt]). Auch einfache Spiele lassen sich mit der Turtle umsetzen.
* '''GameGrid''': GameGrid eignet sich besonders für kleine Spiele. Wir haben uns bisher auf Spiele beschränkt, die in einem Gitter gespielt werden. Beispiele wären Schiffe versenken, Vier gewinnt oder Memory. Sudoku oder ähnliche Logikspiele lassen sich auch gut umsetzen.
* '''GameGrid''': GameGrid eignet sich besonders für kleine Spiele. Wir haben uns bisher auf Spiele beschränkt, die rundenbasiert in einem Gitter gespielt werden. Beispiele wären Schiffe versenken, Vier gewinnt oder Memory. Sudoku oder ähnliche Logikspiele lassen sich auch gut umsetzen. (Generell lassen sich viele Brett-/Gesellschaftsspiele gut umsetzen.)
* '''Micro:bit''': Mit dem Micro:bit lassen sich verschiedenste Projekte umsetzen. Die Interaktion von mehreren Bits bietet hier viele Möglichkeiten, ist aber von der Programmierung auch aufwendiger. Beispielsweise ein Programm, das Buchstaben in Morsecode oder Morsecode in Buchstaben umwandelt; eine Laufschrift, die sich über mehrere Bits hinweg bewegt.
* '''Micro:bit''': Mit dem Micro:bit lassen sich verschiedenste Projekte umsetzen. Die Interaktion von mehreren Bits bietet hier viele Möglichkeiten, ist aber von der Programmierung auch aufwendiger. Beispielsweise ein Programm, das Buchstaben in Morsecode oder Morsecode in Buchstaben umwandelt; eine Laufschrift, die sich über mehrere Micro:bits hinweg bewegt.


Weitere kleine Projektideen finden sich auf [http://jython.tobiaskohn.ch/students-de.html der Seite von Tobias Kohn].
Weitere kleine Projektideen finden sich auf [http://jython.tobiaskohn.ch/students-de.html der Seite von Tobias Kohn] oder im [https://pythonturtle.academy/category/difficulty-level-4/ Blog der Python-Academy].


== Mindestanforderungen ==
== Mindestanforderungen ==
Zeile 32: Zeile 34:


Zu jedem Projekt gehört außerdem eine '''Bedienungsanleitung''', die die Projektidee und das finale Produkt beschreibt und genau erklärt, wie es gestartet und ggf. gesteuert wird. Dies kann als bebildertes PDF-Dokument oder als kleines Video umgesetzt werden.
Zu jedem Projekt gehört außerdem eine '''Bedienungsanleitung''', die die Projektidee und das finale Produkt beschreibt und genau erklärt, wie es gestartet und ggf. gesteuert wird. Dies kann als bebildertes PDF-Dokument oder als kleines Video umgesetzt werden.
=== Inhalt der Bedienungsanleitung ===
Die schriftliche Abgabe zum Projekt nimmt einen '''wesentlichen Teil''' der Bewertung ein. Die Gestaltung ist  eigenständig zu erledigen und sollte an euer Projekt angepasst werden. Das bedeutet einige Aspekte sind in eurer Anleitung ggf. unwichtiger und andere wichtiger. Teil der Aufgabe ist es, ein '''sinnvolles schriftliches Begleitdokument''' zu erarbeiten.
Folgende Aspekte sollten im Dokument berührt werden:
# Einleitung
# Beschreibung der Projektidee
# Beschreibung des Produktes (was wurde umgesetzt, was wurde ggf. nicht geschafft, wo lagen Probleme)
# Bedienungsanleitung des Produktes
#* Wie wird das Programm gestartet?
#* Wie wird es ggf. gesteuert?
#* Wo könnten Probleme / Fehler auftreten? Was macht man dann?
#* ggf. Spielregeln erläutern (bei Spielen).


== Bewertungskriterien ==
== Bewertungskriterien ==
Zeile 41: Zeile 58:
! Die Projektgruppe … !! Mögliche Punkte
! Die Projektgruppe … !! Mögliche Punkte
|-
|-
! colspan="2" | PLANUNG (13%)
! colspan="2" | PLANUNG (5%)
|-
|-
| … plant den Umfang des Projektes passend zur Entwicklungszeit. ||style="text-align:center"| 4
| … plant den Umfang des Projektes passend zur Entwicklungszeit. ||style="text-align:center"| 4
|-
|-
! colspan="2" | PROGRAMM (29%)
! colspan="2" | PROGRAMM (46%)
|-
|-
| … entwickelt ein fehlerfrei erlebbares Produkt. ||style="text-align:center"| 10
| … entwickelt ein fehlerfrei erlebbares Produkt. ||style="text-align:center"| 10
Zeile 57: Zeile 74:
| … dokumentiert und formatiert den Programmcode vollständig und gut lesbar. ||style="text-align:center"| 6
| … dokumentiert und formatiert den Programmcode vollständig und gut lesbar. ||style="text-align:center"| 6
|-
|-
! colspan="2" | ARBEITSWEISE (20%)
! colspan="2" | ARBEITSWEISE (29%)
|-
|-
| … arbeitet konzentriert am Projekt und nutzt die Arbeitszeit im Unterricht effektiv. ||style="text-align:center"| 6
| … arbeitet konzentriert am Projekt und nutzt die Arbeitszeit im Unterricht effektiv. ||style="text-align:center"| 6
Zeile 67: Zeile 84:
| … hält sich an die Vorgaben und Absprachen zur Projektarbeit. ||style="text-align:center"| 6
| … hält sich an die Vorgaben und Absprachen zur Projektarbeit. ||style="text-align:center"| 6
|-
|-
! colspan="2" | BEDIENUNGSANLEITUNG (22%)
! colspan="2" | BEDIENUNGSANLEITUNG (20%)
|-
|-
| … verfasst die Bedienungsanleitung in fehlerfreier deutscher Sprache. ||style="text-align:center"| 4
| … verfasst die Bedienungsanleitung in fehlerfreier deutscher Sprache. ||style="text-align:center"| 4
Zeile 77: Zeile 94:
| … unterstützt die Erläuterungen durch geeignete Grafiken (z.B. Diagramme, Bildschirmfotos). ||style="text-align:center"| 4
| … unterstützt die Erläuterungen durch geeignete Grafiken (z.B. Diagramme, Bildschirmfotos). ||style="text-align:center"| 4
|-  
|-  
!style="text-align:right"| Punkte insgesamt: || 100
!style="text-align:right"| Punkte insgesamt: || 70
|}
|}
== Hilfestellungen ==
=== Python Turtle ===
* [https://programmierkonzepte.ch/engl/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=turtle/turtle.inc.php Tutorial zur Python Turtle]
* [https://programmierkonzepte.ch/engl/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=turtle/turtledoc.html Dokumentation der verfügbaren Funktionen]
=== GameGrid ===
* [https://programmierkonzepte.ch/engl/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=gamegrid/gamegrid.inc.php Tutorial zum GameGrid]
* [https://programmierkonzepte.ch/engl/index.php?inhalt_links=navigation.inc.php&inhalt_mitte=gamegrid/gamegriddoc.html Dokumentation der verfügbaren Funktionen]
{{Hinweis|Immer, wenn von <code>pixel coordinates</code> die Rede ist, wird ein <code>Point</code> verlangt. Im Vergleich zu <code>Location</code> bezeichnet ein <code>Point</code> nicht die Zelle und Spalte einer GameGrid Zelle, sondern die x- und y-Koordinate eines Pixels:
<code>bg.drawCircle(Point(100,140), 10)</code>}}
=== micro:bit ===
* [[Lernpfad:Einführung in den micro:bit]]
* [[Lernpfad:Das micro:glow]]
* [https://microbit-micropython.readthedocs.io/en/latest/tutorials/images.html Dokumentation der verfügbaren Funktionen]

Aktuelle Version vom 12. Mai 2022, 08:16 Uhr

Seite zum Projekt Programmierprojekt Python des Informatik 9 Diff im Schuljahr 2021/22.

In den nächsten drei Wochen werdet ihr in Partnerarbeit individuelle Python-Projekte programmieren. Bei der Wahl des Projektes habt ihr viele Freiheiten. Auf dieser Seite findet ihr einige Vorschläge, die ihr direkt verwenden oder als Anregung zur Entwicklung eigener Ideen nutzen könnt.

Icon Warning.png
Nehmt euch für das Projekt nicht zu viel vor. Ihr müsst nach drei Wochen abgeben!

Mittlerweile kennt ihr die Grundlagen von Python und habt verschiedene Module kennengelernt:

  • die Python-Turtle (gturtle),
  • den Micro:bit (microbit),
  • das GameGrid (gamegrid).

Für euer Projekt könnt ihr euch eines der drei Module auswählen. Nutzt die Hilfsmaterialien hier im Wiki, auf den Arbeitsblättern aus dem Unterricht und im Buch. Während der Entwicklungszeit könnt ihr jederzeit Feedback beim Lehrer einholen.

Zur Abgabe gehört das gut dokumentierte Programm und eine ausführliche (bebilderte) Bedienungsanleitung (als PDF oder Video).

Mögliche Projekte

  • Turtle: Eine Animation oder ein Kunstwerk, ein Fraktal oder ein Generator für zufällige Bilder (zum Beispiel die Skyline einer Stadt). Auch einfache Spiele lassen sich mit der Turtle umsetzen.
  • GameGrid: GameGrid eignet sich besonders für kleine Spiele. Wir haben uns bisher auf Spiele beschränkt, die rundenbasiert in einem Gitter gespielt werden. Beispiele wären Schiffe versenken, Vier gewinnt oder Memory. Sudoku oder ähnliche Logikspiele lassen sich auch gut umsetzen. (Generell lassen sich viele Brett-/Gesellschaftsspiele gut umsetzen.)
  • Micro:bit: Mit dem Micro:bit lassen sich verschiedenste Projekte umsetzen. Die Interaktion von mehreren Bits bietet hier viele Möglichkeiten, ist aber von der Programmierung auch aufwendiger. Beispielsweise ein Programm, das Buchstaben in Morsecode oder Morsecode in Buchstaben umwandelt; eine Laufschrift, die sich über mehrere Micro:bits hinweg bewegt.

Weitere kleine Projektideen finden sich auf der Seite von Tobias Kohn oder im Blog der Python-Academy.

Mindestanforderungen

Das Projekt wird in Einzel- oder Partnerarbeit durchgeführt. Jede Gruppe erstelle ein Projekt eigener Wahl und setzt es mit Python um.

Jede Gruppe erstellt ein lauffähiges, möglichst fehlerfreies Projekt. Spiele sind spielbar und das grundlegende Spielprinzip erkennbar. Animationen und Filme laufen automatisch und flüssig ab.

Zu jedem Projekt gehört außerdem eine Bedienungsanleitung, die die Projektidee und das finale Produkt beschreibt und genau erklärt, wie es gestartet und ggf. gesteuert wird. Dies kann als bebildertes PDF-Dokument oder als kleines Video umgesetzt werden.

Inhalt der Bedienungsanleitung

Die schriftliche Abgabe zum Projekt nimmt einen wesentlichen Teil der Bewertung ein. Die Gestaltung ist eigenständig zu erledigen und sollte an euer Projekt angepasst werden. Das bedeutet einige Aspekte sind in eurer Anleitung ggf. unwichtiger und andere wichtiger. Teil der Aufgabe ist es, ein sinnvolles schriftliches Begleitdokument zu erarbeiten.

Folgende Aspekte sollten im Dokument berührt werden:

  1. Einleitung
  2. Beschreibung der Projektidee
  3. Beschreibung des Produktes (was wurde umgesetzt, was wurde ggf. nicht geschafft, wo lagen Probleme)
  4. Bedienungsanleitung des Produktes
    • Wie wird das Programm gestartet?
    • Wie wird es ggf. gesteuert?
    • Wo könnten Probleme / Fehler auftreten? Was macht man dann?
    • ggf. Spielregeln erläutern (bei Spielen).

Bewertungskriterien

Jedes Projekt bekommt eine Projektnote basierend auf der finalen Abgabe. Zusätzlich bekommt jeder Schüler/jede Schülerin eine individuelle Note, die etwa 30% der Endnote ausmacht.

Bewertungstabelle
Die Projektgruppe … Mögliche Punkte
PLANUNG (5%)
… plant den Umfang des Projektes passend zur Entwicklungszeit. 4
PROGRAMM (46%)
… entwickelt ein fehlerfrei erlebbares Produkt. 10
… setzt eigene, kreative Ideen im Projekt um. 8
… gestaltet die Bedienung des Produkts übersichtlich. 4
… gestaltet Grafik und Sound des Produkts ansprechend und thematisch passend. 4
… dokumentiert und formatiert den Programmcode vollständig und gut lesbar. 6
ARBEITSWEISE (29%)
… arbeitet konzentriert am Projekt und nutzt die Arbeitszeit im Unterricht effektiv. 6
… arbeitet aufgabenteilig am gleichen Ziel. 4
… sucht sich selbstständig Hilfe bei auftretenden Problemen. 4
… hält sich an die Vorgaben und Absprachen zur Projektarbeit. 6
BEDIENUNGSANLEITUNG (20%)
… verfasst die Bedienungsanleitung in fehlerfreier deutscher Sprache. 4
… erläutert die Projektidee. 2
… erläutert Bedienung und ggf. das Spielprinzip (bei Spielen). 4
… unterstützt die Erläuterungen durch geeignete Grafiken (z.B. Diagramme, Bildschirmfotos). 4
Punkte insgesamt: 70

Hilfestellungen

Python Turtle

GameGrid

Icon Info.png
Immer, wenn von pixel coordinates die Rede ist, wird ein Point verlangt. Im Vergleich zu Location bezeichnet ein Point nicht die Zelle und Spalte einer GameGrid Zelle, sondern die x- und y-Koordinate eines Pixels:

bg.drawCircle(Point(100,140), 10)

micro:bit