-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.es.html
238 lines (218 loc) · 15.2 KB
/
index.es.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="author" content="Sophilabs">
<meta name="publisher" content="Sophilabs">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name='apple-mobile-web-app-capable' content='yes'>
<title>PySchool</title>
<meta name="description" content="PySchool, stories to learn Python stuff.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./static/css/main.css">
<link rel="shortcut icon" href="./static/extras/favicon.ico" type="image/x-icon">
<link rel="icon" href="./static/extras/favicon.ico" type="image/x-icon">
</head>
<body class="page-home">
<header>
<nav>
<ul>
<li><strong>PySchool</strong></li>
<li><a href="#try-it">Try it</a></li>
<li><a href="#organize">Organize</a></li>
<li><a href="#contribute">Contribute</a></li>
</ul>
<ul>
<li><a href="index.html">Inglés</a></li>
<li><a href="index.es.html">[Español]</a></li>
</ul>
</nav>
</header>
<section class="cover">
<div>
<div class="text">
<h1>
PySchool
<br>
Talleres para aprender Python.
</h1>
</div>
</div>
</section>
<section class="content">
<div>
<div class="split">
<div>
<a id="try-it"></a>
<h2>Pruébalo</h2>
<p>Ready to try one story. Here is how to get started!</p>
<ol>
<li>
<h3>Download</h3>
<p>Head to the Python website and <a href="https://www.python.org/downloads/">download</a> Python 3 for your operating system</p>
</li>
<li>
<h3>Install</h3>
<p>Go to terminal and install the pip package corresponding to the workshop you want to try.</p>
<pre><code>pip install py101</code></pre>
</li>
<li>
<h3>Start</h3>
<p>Run the following command and follow the instructions.</p>
<pre><code>py101</code></pre>
</li>
</ol>
</div>
<div>
<h3>Selecciona un taller:</h3>
<ul>
<li>
<h4><a href="https://github.com/pyschool/hipyschool">Hi Pyschool</a></h4>
<p>Taller de muestra (forkear o copiar para crear uno propio).</p>
<pre><code># Install the workshop
pip install hipyschool
# Run the workshop
hipyschool</code></pre>
</li>
<li>
<h4><a href="https://github.com/sophilabs/py101">Python 101</a></h4>
<p>Una historia de Pyschool para aprender los conceptos esenciales de Python.</p>
<pre><code>pip install py101 && py101</code></pre>
</li>
<li>
<h4><a href="https://github.com/sophilabs/learnregex">Learn Regex</a></h4>
<p>Taller para aprender expresiones regulares usando la línea de comando. Disponible en Inglés solamente</p>
<pre><code>pip install learnregex && learnregex</code></pre>
</li>
</ul>
</div>
</div>
<div class="split">
<div>
<a id="organize"></a>
<h2>Organiza</h2>
<blockquote>
“La educación es para mejorar las vidas de otros y para dejar tu comunidad en un mejor estado de la que la encontraste”
<small><a href="https://wikipedia.org/wiki/Marian_Wright_Edelman">Marian Wright Edelman</a></small>
</blockquote>
<p>Pyschool es un efuerzo totalmente llevado a cabo por la comunidad y es 100% open source. Esto quiere decir que cuaquier persona puede usar material de Pyschool, u organizar un evento. Esto da un montón de flexibilidad a la hora de ser anfritrión un evento de Pyschool. La único que se espera de los anfitriones es que los eventos no sean con fines de lucro, y que el modelo de membrecía para participar en ellos sea abierto.</p>
<p>Para preguntar y contestar preguntas acerca de la autoría de contenido para Pyschool, visita nuestro grupo de discusión de <a href="https://owu.slack.com/messages/pyschool">Pyschool</a>. No dudes en mandar un <a href="mailto:pyschool@sophilabs.com">email</a> si no encuentras la respuesta para lo que buscas.
</p>
<h3>Organization guidelines</h3>
<ul>
<li><strong>Make the event beginner friendly</strong>, if possible. Accessible even to those with no previous programming experience. Don't focus on the technicalities, try to show the fun and practical aspect of whatever technology is being used.</li>
<li><strong>You can use whatever tools and technologies you're most familiar with</strong>, although we do favor freely available open source tools and frameworks.</li>
<li>Learning something completely new can be intimidating. <strong>A smile and a friendly atmosphere</strong> can help break the ice and make those, who don't consider themselves "technical", more at ease.</li>
<li>It's also a good idea to <strong>plan a follow up</strong>. How can your participants keep learning? Who can they turn to if they have more questions?</li>
</ul>
</div>
<div>
<h3>Checklist</h3>
<ol>
<li><strong>A group of people willing to learn.</strong> For example, your students, coworkers, friends, or a specific group you want to help. Remember, two is a group already!</li>
<li><strong>One or more teachers or facilitators.</strong> The number depends on the type and size of the event. For hands-on workshops, it can be a good idea to form smaller groups that can work with their own facilitators. Code Week events are usually targeted at beginners, so teachers/facilitators don't have to be professional programmers. It's more important to have a passion for sharing knowledge, the patience to answer questions and the empathy to understand a beginner's perspective. For larger events, it might also be a good idea to have a host that makes sure everyone has what they need and keep things running smoothly.</li>
<li><strong>A place to be at.</strong> Classrooms, conference rooms and various public spaces can all make a great event venue with some preparation. When determining the amount of people a venue will accommodate, keep in mind that the room will get noisy and the air bad with during a hands on workshop, so don't try to stuff too many people in a windowless room because nobody enjoys coding with a headache. </li>
<li><strong>Computers with broadband internet connection.</strong> Depending on your target group, you might ask participants to bring their own laptops, in which case don't forget to provide enough power outlets. If you have existing computer equipment at the venue, make sure they already have the necessary software installed and provide participants with instructions on how the installation can be done on their own devices. When planning internet access, keep in mind that participants will probably also want to Google or StackOverflow things and share the event through social media on mobile devices, so make sure your WiFi can accommodate those extra devices.</li>
<li>And finally, <strong>something to work with/learn</strong>. Depending on your focus group, try to find topics that are age appropriate and present them in a way that's relevant to your participant's interests. Kids might enjoy making games with Scratch, teenagers making a dating app with Rails, college students using Python for data collection/analysis, adults learning the basics of HTML/CSS for a online CV or setting up their blog. You can't create programmers in a day or week, but you can show your participants how fun it can be to create something on your own. When choosing a topic, don't start with the tools you want to use, but rather focus on the outcomes you wish to achieve. Search the web for existing lesson plans, workshop programs and adjust them to your group's needs.</li>
</ol>
</div>
</div>
<div class="split">
<div>
<a id="contribute"></a>
<h2 id="contribute">Contribuye</h2>
<blockquote>
“La única forma de aprender un nuevo lenguaje de programación esescribiendo programas en él.”
<small><a href="https://wikipedia.org/wiki/Dennis_Ritchie">Dennis Ritchie</a></small>
</blockquote>
<p>A Pyschool le vendría genial nuevos talleres, ya sea de temas específicos de Python, bibilotecas ya existentes, conceptos de progración, o aún otros conceptos que no son específicos de Python como manejo de eventos, hilos, por nombrar algunos. Nuevos talleres siempre son bienvenidos :)
</p>
</div>
<div>
<h3>¡Comienza!</h3>
<p>¿Estás pronto para escribir tu taller? Aquí se muestra como configurar un ambiente local de desarrollo. Todos los talleres derivan de la biblioteca <a href="https://github.com/pyschool/story">Story</a>.
</p>
<ol>
<li>Forkea, clona o copia los repositores de <a href="https://github.com/pyschool/hipyschool">hipyschool</a> o <a href="https://github.com/sophilabs/py101">py101</a>. Son dos buenos ejemplos de talleres para comenzar.
</li>
<li>
<p>Enlaza tu copia local a un <code>virtualenv</code>. Asumiendo que tienes virtualenvwrapper instalaldo, puedes inicializar tu copia local para desarrollo de la siguiente manera:
</p>
<pre><code>mkvirtualenv my_python_story
cd my_python_story/
python setup.py develop</code></pre>
</li>
<li>Crea un módulo para tu clase <em>Story</em>. Por ejemplo <code>mystory/__init__.py</code>.
Define los atributos <code>name</code>, <code>title</code> and <code>adventures</code>.
Deberás usar la función <code>gettext()</code> del módulo <code>story.translation</code> para recibir traducciones. Más abajo se tratará con detenimiento.
</li>
<li>
Crea una o más <em>Aventuras</em>. Un taller es una colección de una o más aventuras
<ol>
<li>Crea un módulo con tu aventura. Por ejemplo <code>mystory/myfirstadventure</code></li>
<li>Crea el archivo <code>README.rst</code> conteniendo tu aventura</li>
<li>Haz una traducción a español. Debes de llamarla <code>README.es.rst</code></li>
<li>Define una clase llamada <code>Adventure</code> e
</li>
</ol>
</li>
<li>
<p>Debido a que la función <code>gettext()</code> depende de <a href="http://babel.pocoo.org/en/latest/">PyBabel</a>, por lo tanto debes inicializar las traducciones ejecutando:
</p>
<pre><code>make msg-init
make msg-extract</code></pre>
<p>Deberías ver varios archivos en la carpeta <code>mystory/locale/</code>, correspondientes a los usos de la función <code>gettext()</code>
Si el comando falla, intenta nuevamente.
</p>
</li>
<li>
<p>(Opcional) Modifica y agrega traducciones in los archivos de la carpeta <code>locale</code>, y luego ejecuta.</p>
<pre><code>make msg</code></pre>
</li>
<li>
<p>Es recomendado crear algunos test unitarios para verificar tus soluciones, verifica que tus cambios pasen flak8, tox, así como los tests unitarios:
</p>
<pre><code>flake8 my_python_story tests
python setup.py test or py.test
tox</code></pre>
<p>Para obtener flake8 y tox, solo corre <code>pip install </code> en tu virtualenv.</p>
</li>
<li>
<p>Comitea tus cambios y haz un push de tu branch a GitHub:</p>
<pre><code>git add .
git commit -m "Your detailed description of your changes."
git push origin</code></pre>
</li>
<li>
<p><a href="http://peterdowns.com/posts/first-time-with-pypi.html"> Publica</a> tu paquete en pip, para que esté disponible públicamente.</p>
</li>
<li><a href="https://twitter.com/pyschool"> Háznos saber</a> or haz un pull request al sitio de Pyschool en GitHub.</li>
</ol>
</div>
</div>
<a id="attribution"></a>
<h2>Atribución y Licencia</h2>
<p>
Inspirado por <a href="https://nodeschool.io/">NodeSchool</a>.
</p>Licencia MIT.</p>
</div>
</section>
<footer>
<nav>
<ul>
<li><a href="https://github.com/pyschool">Github</a></li>
<li><a href="https://twitter.com/pyschool">Twitter</a></li>
</ul>
</nav>
</footer>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-99641972-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>