Skip to content

Commit b604346

Browse files
authored
Merge pull request #45 from CodeToCommunicate/mdpiper/add-homework-and-quizzes
Add homework and quizzes to lessons 1 and 2
2 parents 2388eb3 + 8fc658f commit b604346

File tree

2 files changed

+150
-56
lines changed

2 files changed

+150
-56
lines changed

01_setup_coding_environment.md renamed to 01_coding_environment.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,30 @@ medida que avanzamos en CoCo.
397397
Al final, podrá usar estas herramientas en su investigación y permanecerán en
398398
su computadora mucho después de la última lección de CoCo.
399399

400+
# Homework | Tarea
401+
402+
After completing this lesson, please try to install
403+
404+
- Anaconda,
405+
- Git for Windows (Windows only), and
406+
- VS Code
407+
408+
on your computer using the information above.
409+
410+
If you have any question about this, please write in the Slack.
411+
412+
---
413+
414+
Después de completar esta lección, intente instalar
415+
416+
- Anaconda,
417+
- Git para Windows (solo Windows) y
418+
- Código VS
419+
420+
en su computadora utilizando la información anterior.
421+
422+
Si tiene alguna pregunta sobre esto, por favor escriba en Slack.
423+
400424
<!-- Links, by alpha -->
401425

402426
[badge]: https://img.shields.io/badge/CSDMS-JupyterHub-orange.svg

02_shell.md

Lines changed: 126 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ with the operating system of a computer.
3131

3232
---
3333

34-
Aquí, aprenderemos sobre el _shell_, que es una interfaz basada en comandos para
35-
interactuar con el sistema operativo de una computadora.
34+
Aquí, aprenderemos sobre el _shell_, que es una interfaz basada en comandos
35+
para interactuar con el sistema operativo de una computadora.
3636

3737
## Open a terminal | Abrir una terminal
3838

@@ -72,13 +72,14 @@ if you want to change from one application to another, it's much faster to hit
7272
to go find the other application window.
7373

7474
Commands tend to be terse to the point of being cryptic, not that different
75-
from texting shorthand: instead of brb or ttyl, it's `cd` (change directory) or `rm` (remove).
76-
And it's done for the same reason: speed.
77-
78-
Commands can also be gathered into _scripts_ that can be executed as a single unit.
79-
With a script, you can automate a repetitive task.
80-
Scripts are marvelous for data processing pipelines, and can improve reproducibility.
81-
We won't cover scripting here, but there's more information in Software Carpentry's
75+
from texting shorthand: instead of brb or ttyl, it's `cd` (change directory) or
76+
`rm` (remove). And it's done for the same reason: speed.
77+
78+
Commands can also be gathered into _scripts_ that can be executed as a single
79+
unit. With a script, you can automate a repetitive task.
80+
Scripts are marvelous for data processing pipelines, and can improve
81+
reproducibility. We won't cover scripting here, but there's more information in
82+
Software Carpentry's
8283
[The Unix Shell](https://swcarpentry.github.io/shell-novice/) lesson, on which
8384
this lesson is based.
8485

@@ -87,17 +88,18 @@ this lesson is based.
8788
Porque funciona realmente bien.
8889

8990
Cuando utilizas los comandos de shell en una terminal, puedes realizar tareas
90-
específicas del sistema de archivos (mover, copiar, renombrar, eliminar archivos
91-
y directorios) mucho más rápido y eficientemente que con una aplicación gráfica.
91+
específicas del sistema de archivos (mover, copiar, renombrar, eliminar
92+
archivos y directorios) mucho más rápido y eficientemente que con una
93+
aplicación gráfica.
9294

9395
Por analogía, piensa en los atajos de teclado en su computadora:
9496
si desea cambiar de una aplicación a otra, es mucho más rápido presionar
95-
`Cmd-Tab` (en macOS; `Alt-Tab` en Linux y Windows) que usar un mouse para buscar
96-
la ventana de la otra aplicación.
97+
`Cmd-Tab` (en macOS; `Alt-Tab` en Linux y Windows) que usar un mouse para
98+
buscar la ventana de la otra aplicación.
9799

98100
Los comandos tienden a ser concisos hasta el punto de ser crípticos, no tan
99-
diferentes de los mensajes de texto abreviados: en lugar de tkm (te quiero mucho)
100-
o tmb (también), es `cd` (cambiar de directorio) o `rm` (remover).
101+
diferentes de los mensajes de texto abreviados: en lugar de tkm (te quiero
102+
mucho) o tmb (también), es `cd` (cambiar de directorio) o `rm` (remover).
101103
Y se hace por la misma razón: la velocidad.
102104

103105
Los comandos también se pueden agrupar en _scripts_ que se pueden ejecutar como
@@ -144,7 +146,8 @@ Este proceso se repite cada vez que ingresamos un comando.
144146
Information on a computer is stored in files and directories.
145147
The part of an operating system that handles this information is called the
146148
_filesystem_.
147-
Think of the filesystem as a tree with branches (directories) and leaves (files).
149+
Think of the filesystem as a tree with branches (directories) and leaves
150+
(files).
148151

149152
Let's find out where we are in the filesystem when we start a terminal:
150153

@@ -153,18 +156,20 @@ Let's find out where we are in the filesystem when we start a terminal:
153156
La información en una computadora se almacena en archivos y directorios.
154157
La parte del sistema operativo que maneja esta información se llama
155158
_sistema de archivos_ (filesystem).
156-
Piense en el sistema de archivos como un árbol con ramas (directorios) y hojas (archivos).
159+
Piense en el sistema de archivos como un árbol con ramas (directorios) y hojas
160+
(archivos).
157161

158-
Averigüemos dónde estamos en el sistema de archivos cuando iniciamos una terminal:
162+
Averigüemos dónde estamos en el sistema de archivos cuando iniciamos una
163+
terminal:
159164

160165
```
161166
$ pwd
162167
/home/jupyter-mpiper
163168
```
164169

165170
The `pwd` command prints the current directory to the terminal.
166-
You can see that I'm in the directory `jupyter-mpiper` under the directory `home`.
167-
The forward slash `/` is used as a delimiter between directory names.
171+
You can see that I'm in the directory `jupyter-mpiper` under the directory
172+
`home`. The forward slash `/` is used as a delimiter between directory names.
168173

169174
This directory, `/home/jupyter-mpiper`, is special--it's the _home directory_
170175
for the user `jupyter-mpiper`.
@@ -176,14 +181,15 @@ the home directory on a macOS or Windows machine will be slightly different.
176181

177182
---
178183

179-
El comando `pwd` imprime en la terminal el directorio donde se encuentra actualmente.
180-
Puedes ver que estamos en el directorio `jupyter-mpiper` debajo del directorio `home`.
181-
La barra inclinada `/` se utiliza como delimitador entre los nombres de los directorios.
184+
El comando `pwd` imprime en la terminal el directorio donde se encuentra
185+
actualmente. Puedes ver que estamos en el directorio `jupyter-mpiper` debajo
186+
del directorio `home`. La barra inclinada `/` se utiliza como delimitador entre
187+
los nombres de los directorios.
182188

183189
Este directorio `/home/jupyter-mpiper` es especial. Éste es la
184190
_carpeta de usuario_ para el usuario `jupyter-mpiper`.
185-
Cada usuario tiene una _carpeta de usuario_ propia, que es la ubicación predeterminada
186-
para crear y almacenar información.
191+
Cada usuario tiene una _carpeta de usuario_ propia, que es la ubicación
192+
predeterminada para crear y almacenar información.
187193

188194
Tenga en cuenta que en este caso se ejecuta este comando en JupyterHub,
189195
que ejecuta Linux; la carpeta de usuario en una máquina macOS o Windows será
@@ -219,30 +225,36 @@ Por ejemplo, para ver el contenido del directorio **CoCoLessons**, escriba:
219225

220226
```
221227
$ ls CoCoLessons
222-
data coco_3_matplotlib.ipynb CONTRIBUTING.md README.md
223-
media coco_4_functions_and_more.ipynb CREDITS.md
224-
coco_1_coding_environment.md coco_5_pandas.ipynb environment.yaml
225-
coco_2_python_basics.ipynb CODE-OF-CONDUCT.md LICENSE.md
228+
01_coding_environment.md CONTRIBUTING.md
229+
02_shell.md CREDITS.md
230+
03_git_part_1.md LICENSE
231+
04_intro_to_python_numpy.ipynb README.md
232+
05_matplotlib.ipynb data
233+
06_loops_if_functions.ipynb environment.yml
234+
07_pandas.ipynb media
235+
CODE-OF-CONDUCT.md
226236
```
227237

228-
You can see the CoCo lesson files that have been added to the JupyterHub.
229-
We can drill further; for example, to see into the directory containing data files:
238+
You can see the CoCo lesson files that have been added to the JupyterHub. We
239+
can drill further; for example, to see into the directory containing data
240+
files:
230241

231242
---
232243

233244
Puede ver los archivos de las lecciones de CoCo se agregaron a JupyterHub.
234-
Podemos indagar más; por ejemplo, para ver el contenido del directorio llamado `data`:
245+
Podemos indagar más; por ejemplo, para ver el contenido del directorio llamado
246+
`data`:
235247

236248
```
237-
$ ls CoCoLessons/data
238-
RPC_4_lithologies_Messy.csv south-africa-topography.nc.xz temperature-central-park.dat
239-
hawaii-profile.csv temperature-berkeley.dat winemag-data-130k-v2.csv
249+
$ ls CoCoLessons/data RPC_4_lithologies_Messy.csv
250+
south-africa-topography.nc.xz temperature-central-park.dat hawaii-profile.csv
251+
temperature-berkeley.dat winemag-data-130k-v2.csv
240252
```
241253

242254
## Changing directories | Cambiando directorios
243255

244-
Although we've peered into the directory of sample files, we remain in the home directory.
245-
To change directories, use the `cd` command:
256+
Although we've peered into the directory of sample files, we remain in the home
257+
directory. To change directories, use the `cd` command:
246258

247259
---
248260

@@ -283,21 +295,22 @@ To switch to the previous directory, use a dash `-`:
283295

284296
Sin argumentos, `cd` siempre regresa a su carpeta de usuario.
285297

286-
El comando `cd` también puede tomar un conjunto de caracteres especiales como argumentos.
287-
Para cambiar al directorio anterior, use un guión `-`:
298+
El comando `cd` también puede tomar un conjunto de caracteres especiales como
299+
argumentos. Para cambiar al directorio anterior, use un guión `-`:
288300

289301
```
290302
$ cd -
291303
/home/jupyter-mpiper/CoCoLessons
292304
```
293305

294-
When working with directories, a dot `.` is a shortcut for the current directory,
295-
while two dots `..` are a shortcut for the parent directory:
306+
When working with directories, a dot `.` is a shortcut for the current
307+
directory, while two dots `..` are a shortcut for the parent directory:
296308

297309
---
298310

299311
Cuando se trabaja con directorios, un punto `.` es un atajo para el directorio
300-
actual, mientras que dos puntos `..` son un atajo para el directorio-padre (_parent directory_):
312+
actual, mientras que dos puntos `..` son un atajo para el directorio-padre
313+
(_parent directory_):
301314

302315
```
303316
$ cd .
@@ -320,19 +333,46 @@ $ pwd
320333
/home/jupyter-mpiper
321334
```
322335

336+
### Formative assessment 1
337+
338+
If your current directory is the **CoCoLessons** directory,
339+
how can you get a directory listing for the **data** subdirectory?
340+
341+
1. `ls data`
342+
1. `ls ./data`
343+
1. `ls ../CoCoLessons/data`
344+
1. `ls ~/CoCoLessons/data`
345+
1. All of the above
346+
347+
Can you explain your answer?
348+
349+
---
350+
351+
Si su directorio actual es el directorio **CoCoLessons**,
352+
¿Cómo puede obtener una lista de directorios para el subdirectorio **datos**?
353+
354+
1. `ls datos`
355+
1. `ls./datos`
356+
1. `ls ../CoCoLessons/datos`
357+
1. `ls ~/CoCoLessons/datos`
358+
1. Todo lo anterior
359+
360+
¿Puedes explicar tu respuesta?
361+
323362
## Making a directory | Crear un directorio
324363

325364
From your home directory, use the `mkdir` command to make a new directory:
326365

327366
---
328367

329-
Desde tu carpeta de usuario, usa el comando `mkdir` para crear un nuevo directorio:
368+
Desde tu carpeta de usuario, usa el comando `mkdir` para crear un nuevo
369+
directorio:
330370

331371
```
332372
$ mkdir new
333373
$ ls
334-
CoCoLessons bin bmi-topography espin projects tmp
335-
README.md bmi-geotiff data new scratch
374+
CoCoLessons bin bmi-topography espin projects tmp
375+
README.md bmi-geotiff data new scratch
336376
```
337377

338378
Change to the new directory and get a listing:
@@ -373,8 +413,9 @@ Note that the copy and the original both exist, and are the same:
373413
---
374414

375415
Aquí, le indicamos al comando `cp` que subiera un directorio y fuera al
376-
directorio **CoCoLessons** para obtener un archivo y copiarlo en el directorio actual.
377-
Tenga en cuenta que la copia y el original existen y tiene el mismo contenido:
416+
directorio **CoCoLessons** para obtener un archivo y copiarlo en el directorio
417+
actual. Tenga en cuenta que la copia y el original existen y tiene el mismo
418+
contenido:
378419

379420
```
380421
$ $ diff -s README.md ../CoCoLessons/README.md
@@ -402,15 +443,15 @@ Let's move **readme.md** up to the home directory:
402443

403444
---
404445

405-
El comando `mv` también se puede usar para mover un archivo de una ubicación a otra.
406-
Movamos **readme.md** hasta la carpeta de usuario:
446+
El comando `mv` también se puede usar para mover un archivo de una ubicación a
447+
otra. Movamos **readme.md** hasta la carpeta de usuario:
407448

408449
```
409450
$ mv readme.md ~
410451
$ ls
411452
$ ls ~
412-
CoCoLessons bin bmi-topography espin projects scratch
413-
README.md bmi-geotiff data new readme.md tmp
453+
CoCoLessons bin bmi-topography espin projects scratch
454+
README.md bmi-geotiff data new readme.md tmp
414455
```
415456

416457
Note that the **new** directory is now empty because **readme.md** has been
@@ -428,7 +469,8 @@ Ten en cuenta que el directorio **new** ahora está vacío porque **readme.md**
428469
se ha movido a la carpeta de usuario.
429470
¡También ten en cuenta que **README.md** y **readme.md** en la carpeta de
430471
usuario son archivos diferentes!
431-
Los sistemas de archivos en Linux y macOS distinguen entre mayúsculas y minúsculas.
472+
Los sistemas de archivos en Linux y macOS distinguen entre mayúsculas y
473+
minúsculas.
432474

433475
Los archivos se pueden eliminar con el comando `rm`.
434476
Elimina nuestro archivo **readme.md** con:
@@ -446,6 +488,18 @@ Once a file is removed, it's gone, irrevocably.
446488
No existe el concepto de "papelera" o "papelera de reciclaje" en el shell.
447489
Una vez que se elimina un archivo, desaparece irrevocablemente.
448490

491+
### Formative assessment 2
492+
493+
The **data** subdirectory of the **CoCoLessons** directory
494+
contains several files.
495+
Can you think of a way to copy all the files in a directory?
496+
497+
---
498+
499+
El subdirectorio **data** del directorio **CoCoLessons** contiene varios
500+
archivos. ¿Puedes pensar en una manera de copiar todos los archivos en un
501+
directorio?
502+
449503
## Removing a directory | Eliminar un directorio
450504

451505
As a last step, let's delete the **new** directory:
@@ -457,8 +511,8 @@ Como último paso, eliminemos el directorio **new**:
457511
```
458512
$ rmdir new
459513
$ ls
460-
CoCoLessons bin bmi-topography espin scratch
461-
README.md bmi-geotiff data projects tmp
514+
CoCoLessons bin bmi-topography espin scratch
515+
README.md bmi-geotiff data projects tmp
462516
```
463517

464518
As `rm` removes files, the `rmdir` command removes directories.
@@ -469,13 +523,28 @@ However, the directory must be empty before it can be removed.
469523
Como `rm` elimina archivos, el comando `rmdir` elimina directorios.
470524
Sin embargo, el directorio debe estar vacío antes de poder eliminarlo.
471525

526+
### Formative assessment 3
527+
528+
Given that directory must be empty before it can be removed,
529+
can you think of a way to remove all the files in a directory?
530+
Alternately, is there a way to remove a directory even if it contains files?
531+
532+
---
533+
534+
Dado que el directorio debe estar vacío antes de poder eliminarlo,
535+
¿Se te ocurre alguna forma de eliminar todos los archivos de un directorio?
536+
Alternativamente, ¿hay alguna forma de eliminar un directorio incluso si
537+
contiene archivos?
538+
472539
## Summary | Resumen
473540

474-
The table below summarizes the commands and special characters described in this lesson.
541+
The table below summarizes the commands and special characters described in
542+
this lesson.
475543

476544
---
477545

478-
La siguiente tabla resume los comandos y caracteres especiales descritos en esta lección.
546+
La siguiente tabla resume los comandos y caracteres especiales descritos en
547+
esta lección.
479548

480549
| Command/Comando | Description / Descripción |
481550
| --------------- | ------------------------------------------------------------------------- |
@@ -533,3 +602,4 @@ Estas son herramientas que usaremos en todo CoCo,
533602
¡así que el trabajo que haces ahora valdrá la pena más tarde!
534603

535604
<!-- Links, by alpha -->
605+
```

0 commit comments

Comments
 (0)