Projekt:2021/Programmierprojekt: Unterschied zwischen den Versionen

 
(10 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 (6%)
! 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
Zeile 79: Zeile 96:
!style="text-align:right"| Punkte insgesamt: || 70
!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]
8.581

Bearbeitungen