pyvec / pyvec/naucse.python.cz
Snake workshop improvements
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 335
- Forks
- 119
- Ø Merge
- 3 Std. 6 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Braindump of TODOs after the first iteration of the Snake workshop.
(Checked means solved in my fork, not necessarily merged here)
-
Adapt Django Girls' Intro to Python, extending it to include every language/stdlib feature we'll need (with exceptions below). We need some examples of functionality; let's use stuff that'll make people go oh, I knew this already! afterwards.
- floor division
- list slicing
-
del(instead ofpop()) - tuples
-
inoperator -
list.remove -
zip()(use a more advanced example withzip– item-and-the-next with staggred lists – just before a break, so advanced people can think about it while others just clear their head) -
import-
random.randrange()
-
-
return - Comments
-
class? (Without__init__, but with general methods, this seems doable – and using it could save time refactoring!) - not decorators – those are best explained on Pyglet
- etc.
-
Print out cheatsheets, ideally:
- Keyboard
- Lists
- Dictionaries
- Basic control structures (loops, if/else, functions)?
-
Introduce a simple & consistent poor man's versioning scheme very early after writing the first
.pyfile: copy the file to another name, then clear the current file. -
About the class: explain what a "class" is conceptually (a "blueprint"), show how to write one, but don't go in detail and don't aim for thorough understanding.
-
Don't split the game into two files. That takes too much time and is hard to manage on a projector.
-
Warn about naming a file
pyglet.py,random.py& similar -
Edges of the screen should kill the snake; don't do the toroidal topology. It's exciting for the mathematician, but messes up tile selection which is already more than complicated enough. Move this to a "possible extensions" section at the end
-
Do a "possible extensions" section at the end. There should be proper materials to walk you through:
- Improvements of controls
- Toroidal topology
- Score keeping
- Two-snake multiplayer
- Gradually sSpeeding up
- Split
State, plug it into a provided console or web client - Use pyinstaller to make an `exe file
- etc.
-
Discourage creating the virtualenv on the desktop (actually, just fix #313 and make sure the result is usable for workshops)
-
Skip intro to Pyglet; explain all that on the game itself: draw, move, and resize a green square. Maybe add a simple mouse handler with
print(), which won't be used in the actual game (that makes it possible to ask "what do the arguments mean?" without giving an answer). -
Use one language (Czech/English) consistently.
-
Include answers to the hard problem. With diagrams. (This includes removing the code snippet with
???, which isn't syntax-highlighted nicely.) -
Better time management. Set a fixed schedule. The first workshop wasn't ideal, but its timings were:
- 9-12:30: installation; intro to Python
- (Lunch)
- 13:30-14:00 Intro to Pyglet
- 14:00-15:40 Drawing
- (Break)
- 16:10-18:00 Logic (another 15-30 min would be great to polish the game, but we had to end)
-
Have regular WC breaks.
-
Make a properly dumbed down-version of the intro to command line. Mention ↑ and Tab; avoid
mkdirand other stuff you can click up graphically. Mention how to copy from/to the command line. Merge improvements to the beginners' course intro.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Workshop-TODOs anhand von Django Girls' Intro to Python, dem Pyglet-Material, der Einführung in die Befehlszeile des Anfängerkurses und dem verknüpften Issue #667 zu überprüfen. Das Issue nennt keine Dateien, Tests, keinen Einstiegspunkt und keine einzelne Abschlussgrenze; für den Abschluss müssten zunächst ein abgegrenzter Teil dieser Workshop-Verbesserungen definiert und fertiggestellt werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- content, documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100