pyvec / pyvec/naucse.python.cz
Snake workshop improvements
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 335
- Forks
- 119
- Merge medio
- 3 h 6 min
- PR fusionados (30 d)
- 1
Descripción
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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza revisando los TODOs del taller comparándolos con Django Girls' Intro to Python, el material de Pyglet, la introducción a la línea de comandos del curso para principiantes y el issue #667 enlazado. El issue no proporciona nombres de archivos, pruebas, punto de entrada ni un único límite de finalización; completarlo requeriría definir y completar un subconjunto acotado de estas mejoras del taller.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- content, documentation
- Tipo de issue
- Documentación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100