diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 4ec74a4a..41d0eb92 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -25,3 +25,4 @@ jobs:
stale-pr-message: 'This PR has not seen any action for a while! Closing for now, but it can be reopened at a later date.'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'
+ days-before-close: -1
diff --git a/1-getting-started-lessons/1-intro-to-programming-languages/README.md b/1-getting-started-lessons/1-intro-to-programming-languages/README.md
index 46d9801c..35eca14c 100644
--- a/1-getting-started-lessons/1-intro-to-programming-languages/README.md
+++ b/1-getting-started-lessons/1-intro-to-programming-languages/README.md
@@ -76,7 +76,7 @@ back add r0,r1
Believe it or not, *they're both doing the same thing*: printing a Fibonacci sequence up to 10.
-✅ A Fibonacci sequence is [defined](https://en.wikipedia.org/wiki/Fibonacci_number) as a set of numbers such that each number is the sum of the two preceding ones, starting from 0 and 1.
+✅ A Fibonacci sequence is [defined](https://en.wikipedia.org/wiki/Fibonacci_number) as a set of numbers such that each number is the sum of the two preceding ones, starting from 0 and 1. The first 10 numbers following the Fibonacci sequence are 0, 1, 1, 2, 3, 5, 8, 13, 21 and 34.
## Elements of a Program
@@ -104,7 +104,7 @@ One of the most crucial tools for software development is the editor. Editors ar
Developers rely on editors for a few additional reasons:
-- *Debugging* helps uncover bugs and errors by stepping through the code, line by line. Some editors have debugging capabilities; they can be customized and added for specific programming languages.
+- *Debugging* helps uncover bugs and errors by stepping through the code, line by line. Some editors have debugging capabilities; they can be customized and added for specific programming languages.
- *Syntax highlighting* adds colors and text formatting to code, making it easier to read. Most editors allow customized syntax highlighting.
- *Extensions and Integrations* are specialized tools for developers, by developers. These tools weren't built into the base editor. For example, many developers document their code to explain how it works. They may install a spell check extension to help find typos within the documentation. Most extensions are intended for use within a specific editor, and most editors come with a way to search for available extensions.
- *Customization* enables developers to create a unique development environment to suit their needs. Most editors are extremely customizable and may also allow developers to create custom extensions.
@@ -180,7 +180,8 @@ When a developer wants to learn something new, they'll most likely turn to docum
- [Mozilla Developer Network (MDN)](https://developer.mozilla.org/docs/Web), from Mozilla, the publishers of the [Firefox](https://www.mozilla.org/firefox/) browser
- [Frontend Masters](https://frontendmasters.com/learn/)
- [Web.dev](https://web.dev), from Google, publishers of [Chrome](https://www.google.com/chrome/)
-- [Microsoft's own developer docs](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers/?WT.mc_id=academic-77807-sagibbon), for [Microsoft Edge](https://www.microsoft.com/edge/?WT.mc_id=academic-77807-sagibbon)
+- [Microsoft's own developer docs](https://docs.microsoft.com/microsoft-edge/#microsoft-edge-for-developers), for [Microsoft Edge](https://www.microsoft.com/edge)
+- [W3 Schools](https://www.w3schools.com/where_to_start.asp)
✅ Do some research: Now that you know the basics of a web developer's environment, compare and contrast it with a web designer's environment.
diff --git a/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.es.md b/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.es.md
index d2fe1975..a531f4ab 100644
--- a/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.es.md
+++ b/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.es.md
@@ -5,7 +5,9 @@ Esta lección cubre los conceptos básicos de los lenguajes de programación. Lo

> Dibujo por [Tomomi Imura](https://twitter.com/girlie_mac)
-## [Cuestionario](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1)
+## Cuestionario Previo a la Clase
+[Cuestionario previo a la clase](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1)
+
### Introducción
En esta lección, cubriremos:
@@ -19,7 +21,6 @@ En esta lección, cubriremos:
La programación (también conocida como codificación) es el proceso de escribir instrucciones en un dispositivo, como una computadora o un celular. Escribimos estas instrucciones con un lenguaje de programación, que luego es interpretado por el dispositivo. Este conjuntos de instrucciones pueden tener varios nombres, como *programa*, *programa de computadora*, *aplicación (app)* o *ejecutable* son algunos de los más populares.
-
Un *programa* puede ser cualquier cosa que esté escrita con código; los sitios web, los videojuegos y las aplicaciones de teléfono son programas. Si bien es posible crear un programa sin escribir código, la lógica subyacente se interpreta al dispositivo y esa lógica probablemente se escribió con código. Un programa que está *ejecutándose* o *ejecutando código*, está ejecutando una serie de instrucciones. El dispositivo con el que estás leyendo esta lección está ejecutando un programa para imprimirlo en tu pantalla.
✅ Investigue un poco: ¿quién se considera el primer programador(a) de computadoras del mundo?
@@ -30,7 +31,7 @@ Los lenguajes de programación tienen un propósito principal: que los desarroll
Los lenguajes de programación vienen en diferentes formatos y tienen diferentes propósitos. Por ejemplo, JavaScript se usa principalmente para aplicaciones web, mientras que Bash se usa principalmente para sistemas operativos.
-*Los idiomas de bajo nivel* normalmente requieren menos pasos que los *idiomas de alto nivel* para que un dispositivo interprete las instrucciones. Sin embargo, lo que hace que los lenguajes de alto nivel sean populares es su legibilidad y soporte. JavaScript es considerado un lenguaje de alto nivel.
+*Los lenguajes de bajo nivel* normalmente requieren menos pasos que los *lenguajes de alto nivel* para que un dispositivo interprete las instrucciones. Sin embargo, lo que hace que los lenguajes de alto nivel sean populares es su legibilidad y soporte. JavaScript es considerado un lenguaje de alto nivel.
El siguiente código ilustra la diferencia entre un lenguaje de alto nivel con JavaScript y un lenguaje de bajo nivel con código Assembly ARM.
@@ -178,14 +179,17 @@ Cuando un desarrollador quiere aprender algo nuevo, lo más probable es que recu
✅ Investiga un poco: ahora que conoces los conceptos básicos del entorno de un desarrollador web, compáralo y contrasta con el entorno de un diseñador web.
+---
+
## 🚀 Reto
Compara algunos lenguajes de programación. ¿Cuáles son algunos de los rasgos únicos de JavaScript frente a Java? ¿Qué hay de COBOL vs. Go?
-## [Prueba Post-lectura](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/2)
+## [Cuestionario Posterior a la Clase](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/2)
-## Revisión y autoestudio
+## Revisión y Autoestudio
Estudia un poco sobre los diferentes lenguajes disponibles para programar. Intenta escribir una línea en un lenguaje y luego vuelve a hacerlo en otros dos. ¿Qué aprendiste?
-**Tarea**: [Tarea](../assignment.md)
+## [Tarea](./assignment.es.md)
+
diff --git a/1-getting-started-lessons/2-github-basics/README.md b/1-getting-started-lessons/2-github-basics/README.md
index b5f19d07..1eff449a 100644
--- a/1-getting-started-lessons/2-github-basics/README.md
+++ b/1-getting-started-lessons/2-github-basics/README.md
@@ -318,12 +318,12 @@ Read more about [contributing to open source software](https://opensource.guide/
[Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/).
-Practice, practice, practice. GitHub has great learning paths available via [lab.github.com](https://lab.github.com/):
+Practice, practice, practice. GitHub has great learning paths available via [skills.github.com](https://skills.github.com):
-- [First Week on GitHub](https://lab.github.com/githubtraining/first-week-on-github)
+- [First Week on GitHub](https://skills.github.com/#first-week-on-github)
-You'll also find more advanced labs.
+You'll also find more advanced courses.
## Assignment
-Complete [the First Week on GitHub training lab](https://lab.github.com/githubtraining/first-week-on-github)
+Complete [the First Week on GitHub course](https://skills.github.com/#first-week-on-github)
diff --git a/1-getting-started-lessons/2-github-basics/translations/README.es.md b/1-getting-started-lessons/2-github-basics/translations/README.es.md
index 895ec400..0b5bf42e 100644
--- a/1-getting-started-lessons/2-github-basics/translations/README.es.md
+++ b/1-getting-started-lessons/2-github-basics/translations/README.es.md
@@ -5,13 +5,13 @@ Esta lección cubre los conceptos básicos de GitHub, una plataforma para alojar

> Dibujo de [Tomomi Imura](https://twitter.com/girlie_mac)
-## [Cuestionario](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/3)
+## [Cuestionario previo a la clase](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/3)
### Introducción
En esta lección, cubriremos:
-- Seguimiento de trabajo que se realiza en su maquina.
+- Seguimiento de trabajo que se realiza en su máquina.
- Trabajar en proyectos con otros.
- Cómo contribuir al software de código abierto (Open Source)
@@ -27,11 +27,11 @@ Si Git no está instalado, [descargue Git desde aquí](https://git-scm.com/downl
Para comprobar si Git ya está configurado, escribe:
`git config --list`
-También necesitarás una cuenta de GitHub, un editor de código (como Visual Studio Code) una terminal (tambien conocida como linea de comandos o simbolo del sistema).
+También necesitarás una cuenta de GitHub, un editor de código (como Visual Studio Code) una terminal (también conocida como línea de comandos o símbolo del sistema).
Ve a [GitHub.com](https://github.com/) y crea una cuenta si aún no lo has hecho, o inicia sesión y completa tu perfil.
-✅ GitHub no es el único lugar para almacenar codigo; hay otros, pero GitHub es el más conocido.
+✅ GitHub no es el único lugar para almacenar código; hay otros, pero GitHub es el más conocido.
### Preparación
@@ -45,6 +45,10 @@ Digamos que tienes una directorio local con algún proyecto de código y deseas
### Tarea: Hacer un repositorio git y enviar código
+> Revisa este video
+>
+> [](https://www.youtube.com/watch?v=9R31OUPpxU4)
+
1. **Crear repositorio en GitHub**. En GitHub.com, en la pestaña de repositorios, o en la barra de navegación superior derecha, busca el botón **nuevo repositorio**.
1. Dale un nombre a tu repositorio (directorio)
@@ -113,7 +117,7 @@ Digamos que tienes una directorio local con algún proyecto de código y deseas
git reset [nombre del archivo o carpeta]
```
- Este comando nos ayuda a eliminar un archivo/directorio puntual, para que este no sea enviado en el proximo commit.
+ Este comando nos ayuda a eliminar un archivo/directorio puntual, para que éste no sea enviado en el próximo commit.
1. **Persistir en tu trabajo**. En este punto, has agregado los archivos a lo que se denomina _stagin area_. Un lugar donde Git rastrea tus archivos. Para que el cambio sea permanente, debes realizar un _commit_. Para hacerlo, utilizas el siguiente commando `git commit`. Un _commit_ representa un punto en el historial de tu repositorio que estás guardando, este viene acompañado de un mensaje, el cual nos sirve para saber que cambios se hicieron dentro de ese commit. Ejecuta el siguiente comando para realizar tu primer commit.
@@ -151,25 +155,28 @@ Digamos que tienes una directorio local con algún proyecto de código y deseas
git push
```
- > Sugerencia: es posible que también desees adoptar un archivo `.gitignore` para evitar que los archivos que no deseas rastrear aparezcan en GitHub. Puedes encontrar plantillas para archivos `.gitignore` en [.gitignore templates](github.com/github/gitignore).
+ > Sugerencia: es posible que también desees adoptar un archivo `.gitignore` para evitar que los archivos que no deseas rastrear aparezcan en GitHub. Puedes encontrar plantillas para archivos `.gitignore` en [.gitignore templates](https://github.com/github/gitignore).
#### Confirmar mensajes
Una buena línea de asunto (subject line), completa la siguiente frase: "Si se aplica, este commit hará..."
-Para el asunto use el imperativo, tiempo presente: "cambiar" no "cambió" ni "cambiara".
+Para el asunto use el imperativo, tiempo presente: "cambiar" no "cambió" ni "cambiará".
Como en el asunto, en el cuerpo (opcional) también use el presente imperativo. El cuerpo debe incluir el motivo del cambio y contrastarlo con el funcionamiento previo. Estás explicando el "por qué", no el "cómo".
✅ Tómate unos minutos para navegar por GitHub. ¿Puedes encontrar un mensaje de commit realmente bueno? ¿Puedes hallar uno aún más simple? ¿Qué información crees que es la más importante y útil de transmitir en un mensaje de commit?
### Tarea: Colaborar
-
La razón principal para poner cosas en GitHub fue hacer posible la colaboración con otros desarrolladores.
## Trabajando en proyectos con otros
+> Revisa este video
+>
+> [](https://www.youtube.com/watch?v=bFCM-PC3cu8)
+
En tu repositorio, ve a `Insights > Community` para ver cómo se compara tu proyecto con los estándares comunitarios recomendados.
Aquí hay algunas cosas que pueden mejorar tu repositorio de GitHub:
@@ -191,7 +198,7 @@ Los documentos de contribución ayudan a las personas a contribuir al proyecto.
1. **Bifurcando (forking) tu repositorio** Probablemente querrás que la gente _bifurque_ (fork) tu proyecto. Bifurcar significa crear una réplica de tu repositorio en su perfil de GitHub.
1. **Clonar**. Desde allí, clonarán el proyecto en su máquina local.
1. **Crear una rama**. Querrás pedirles que creen una _rama_ para su trabajo.
-1. **Concentre su cambio en un área**. Pida a los colaboradores que concentren sus contribuciones en una cosa a la vez; de esa manera, las posibilidades de _fusionar_ su trabajo son mayores. Imagínate que escriben una corrección de errores, agregan una nueva función y actualizan varias pruebas; ¿qué sucede si quieres todos los cambios o solo puedes implementar 2 de 3 o 1 de 3 cambios?
+1. **Concentre su cambio en un área**. Pida a los colaboradores que concentren sus contribuciones en una cosa a la vez; de esa manera, las posibilidades de _fusionar_ su trabajo son mayores. Imagínate que escriben una corrección de errores, agregan una nueva función y actualizan varias pruebas; ¿qué sucede si quieres todos los cambios o solo puedes implementar 2 de 3 ó 1 de 3 cambios?
✅ Imagínate una situación en la que las ramas (branches) de git son particularmente críticas para escribir y enviar buen código. ¿Qué casos de uso se te ocurren?
@@ -270,6 +277,8 @@ Primero, busquemos un repositorio en GitHub que te interese y al que te gustarí
✅ Una buena forma de encontrar repositorios 'aptos para principiantes' es [buscar por la etiqueta `good-first-issue`](https://github.blog/2020-01-22-browse-good-first-issues-para-empezar-a-contribuir-al-código-abierto/).
+
+
Hay varias formas de copiar código. Una forma es "clonar" el contenido del repositorio, usando HTTPS, SSH o usando GitHub CLI (Interfaz de línea de comandos).
Abre tu terminal y clona el repositorio así:
@@ -284,7 +293,7 @@ Por último, puedes descargar el código en un directorio comprimido.
### Algunas cosas más interesantes sobre GitHub
-Puede destacar, ver y / o "fork" cualquier repositorio público en GitHub. Puedes encontrar tus repositorios destacados en el menú desplegable de la parte superior derecha. Es como marcar como favorito, pero por código.
+Puedes destacar, ver y/o hacer "fork" cualquier repositorio público en GitHub. Asimismo, encontrar tus repositorios destacados en el menú desplegable de la parte superior derecha. Es como marcar como favorito, pero por código.
Los proyectos tienen un rastreador de problemas, principalmente en GitHub en la pestaña "Issues" a menos que se indique lo contrario, donde las personas debaten los problemas relacionados con el proyecto. Y la pestaña Pull requests es donde las personas debaten y revisan los cambios que están en curso.
@@ -292,20 +301,26 @@ Los proyectos también pueden tener discusiones en foros, listas de correo o can
✅ Echa un vistazo a tu nuevo repositorio de GitHub y prueba algunas cosas, como editar la configuración, agregar información a tu repositorio y crear un proyecto (como un tablero Kanban). ¡Hay muchas cosas que puedes hacer!
-🚀 Desafío: Haz pareja con un amigo(a) para trabajar juntos en el código. Crea un proyecto de forma colaborativa, haz fork del proyecto, crea ramas y combina los cambios.
+---
+
+## 🚀 Reto
-## [Post-lecture prueba](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/4)
+Reúnete con un amigo para trabajar en el código del otro. Crea un proyecto en colaboración, haz fork del código, crea ramas y hagan merge a los cambios.
-## Revisión y autoestudio
+## [Cuestionario posterior a la clase](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/4)
+
+## Revisión y Autoestudio
Obtén más información sobre [contribución al software de código abierto](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution).
[Hoja de referencia de Git](https://training.github.com/downloads/github-git-cheat-sheet/).
-Práctica práctica práctica. GitHub tiene excelentes rutas de aprendizaje disponibles a través de [lab.github.com](https://lab.github.com/):
+Practica, practica, practica. GitHub tiene excelentes rutas de aprendizaje disponibles a través de [lab.github.com](https://lab.github.com/):
- [Primera semana en GitHub](https://lab.github.com/githubtraining/first-week-on-github)
También encontrarás laboratorios más avanzados.
-**Tarea**: Completa [la primera semana en el laboratorio de capacitación de GitHub](https://lab.github.com/githubtraining/first-week-on-github)
+## Tarea
+
+Completa [La Primera Semana en el Laboratorio de capacitación de GitHub](https://lab.github.com/githubtraining/first-week-on-github)
diff --git a/1-getting-started-lessons/3-accessibility/translations/README.es.md b/1-getting-started-lessons/3-accessibility/translations/README.es.md
index 03667d22..e4a4e11b 100644
--- a/1-getting-started-lessons/3-accessibility/translations/README.es.md
+++ b/1-getting-started-lessons/3-accessibility/translations/README.es.md
@@ -17,13 +17,13 @@ Esta cita destaca perfectamente la importancia de crear sitios web accesibles. U
Una de las herramientas de accesibilidad más conocidas son los lectores de pantalla.
-[Lectores de pantalla](https://en.wikipedia.org/wiki/Screen_reader) son clientes de uso común para personas con problemas de visión. A medida que dedicamos tiempo a asegurarnos de que un navegador transmita correctamente la información que deseamos compartir, también debemos asegurarnos de que un lector de pantalla haga lo mismo.
+[Lectores de pantalla](https://es.wikipedia.org/wiki/Lector_de_pantalla) son clientes de uso común para personas con problemas de visión. A medida que dedicamos tiempo a asegurarnos de que un navegador transmita correctamente la información que deseamos compartir, también debemos asegurarnos de que un lector de pantalla haga lo mismo.
En su forma más básica, un lector de pantalla leerá una página de arriba a abajo de forma audible. Si la página es todo texto, el lector transmitirá la información de manera similar a un navegador. Por supuesto, las páginas web rara vez son puramente texto; contendrán enlaces, gráficos, color y otros componentes visuales. Debemos tener cuidado para garantizar que un lector de pantalla lea correctamente esta información.
Todo desarrollador web debería estar familiarizado con un lector de pantalla. Como se destacó anteriormente, es el cliente que utilizarán sus usuarios. De la misma manera que estás familiarizado con el funcionamiento de un navegador, debes aprender cómo funciona un lector de pantalla. Afortunadamente, los lectores de pantalla están integrados en la mayoría de los sistemas operativos y muchos navegadores contienen extensiones para emular un lector de pantalla.
-✅ Prueba una extensión o herramienta del navegador de lector de pantalla. Uno que solo funciona en Windows es [JAWS](https://webaim.org/articles/jaws/). Los navegadores también tienen herramientas integradas que se pueden utilizar para este propósito; Consulta estas [herramientas de navegador Edge centradas en accesibilidad](https://support.microsoft.com/help/4000734/microsoft-edge-accessibility-features).
+✅ Prueba una extensión o herramienta del navegador de lector de pantalla. Uno que solo funciona en Windows es [JAWS](https://webaim.org/articles/jaws/). Los navegadores también tienen herramientas integradas que se pueden utilizar para este propósito; consulta estas [herramientas de navegador Edge centradas en accesibilidad](https://support.microsoft.com/help/4000734/microsoft-edge-accessibility-features).
### Chequear contrastes
@@ -136,9 +136,9 @@ Puedes usar `aria-label` para describir el enlace cuando el formato de la págin
## Imágenes
-No hace falta decir que los lectores de pantalla no pueden leer automáticamente lo que hay en una imagen. Asegurarse de que las imágenes sean accesibles no requiere mucho trabajo; de eso se trata el atributo ʻalt`. Todas las imágenes deben tener un ʻalt` para describir lo que son.
+No hace falta decir que los lectores de pantalla no pueden leer automáticamente lo que hay en una imagen. Asegurarse de que las imágenes sean accesibles no requiere mucho trabajo; de eso se trata el atributo `alt`. Todas las imágenes deben tener un `alt` para describir lo que son.
-✅ Como era de esperar, los motores de búsqueda tampoco pueden comprender qué hay en una imagen. También usan texto alternativo. Una vez más, ¡asegurarse de que su página sea accesible proporciona bonificaciones adicionales!
+✅ Como era de esperar, los motores de búsqueda tampoco pueden comprender que hay en una imagen. También usan texto alternativo. Una vez más, ¡asegurarse de que su página sea accesible proporciona bonificaciones adicionales!
## El teclado
@@ -212,4 +212,4 @@ Muchos gobiernos tienen leyes sobre los requisitos de accesibilidad. Lee sobre l
Créditos: [Tortuga Ipsum](https://github.com/Instrument/semantic-html-sample) por Instrument
-> Autor: Christopher Harrison
\ No newline at end of file
+> Autor: Christopher Harrison
diff --git a/1-getting-started-lessons/translations/README.es.md b/1-getting-started-lessons/translations/README.es.md
index 54d8c8b4..2259d390 100644
--- a/1-getting-started-lessons/translations/README.es.md
+++ b/1-getting-started-lessons/translations/README.es.md
@@ -4,9 +4,9 @@ En esta sección del plan de estudios, se te presentarán conceptos importantes
### Temas
-1. [Introducción a los lenguajes de programación y herramientas del oficio](../1-intro-to-programming-languages/README.md)
-2. [Introducción a GitHub](../2-github-basics/README.md)
-3. [Conceptos básicos de Accesibilidad](../3-accessibility/README.md)
+1. [Introducción a los lenguajes de programación y herramientas del oficio](../1-intro-to-programming-languages/translations/README.es.md)
+2. [Introducción a GitHub](../2-github-basics/translations/README.es.md)
+3. [Conceptos básicos de Accesibilidad](../3-accessibility/translations/README.es.md)
### Créditos
diff --git a/1-getting-started-lessons/translations/README.hi.md b/1-getting-started-lessons/translations/README.hi.md
index 655f3fb4..785b4612 100644
--- a/1-getting-started-lessons/translations/README.hi.md
+++ b/1-getting-started-lessons/translations/README.hi.md
@@ -10,8 +10,8 @@
### क्रेडिट
-एक्सेसिबिलिटी की मूल बातें [क्रिस्टोफर हैरिसन](https://twitter.com/geektrainer) द्वारा ♥️ से लिखा गया था
+एक्सेसिबिलिटी की मूल बातें [क्रिस्टोफर हैरिसन](https://twitter.com/geektrainer) द्वारा ♥️ से लिखा गया था।
-GitHub का परिचय [फ्लोर ड्रेस](https://twitter.com/floordrees) द्वारा ♥️ से लिखा गया था
+GitHub का परिचय [फ्लोर ड्रेस](https://twitter.com/floordrees) द्वारा ♥️ से लिखा गया था।
-प्रोग्रामिंग भाषाओं और व्यापार के उपकरण का परिचय [जस्मिने ग्रीनवे](https://twitter.com/paladique) द्वारा ♥️ से लिखा गया था
+प्रोग्रामिंग भाषाओं और व्यापार के उपकरण का परिचय [जस्मिने ग्रीनवे](https://twitter.com/paladique) द्वारा ♥️ से लिखा गया था।
diff --git a/2-js-basics/1-data-types/translations/README.hi.md b/2-js-basics/1-data-types/translations/README.hi.md
index 30754a94..5285ddd5 100644
--- a/2-js-basics/1-data-types/translations/README.hi.md
+++ b/2-js-basics/1-data-types/translations/README.hi.md
@@ -28,15 +28,15 @@
### कार्य - वेरिएबल्स के साथ काम करना
-1. ** एक वेरिएबल्स की घोषणा **। चलो 'let' कीवर्ड का उपयोग करते हुए एक चर घोषित करते हैं:
+1. **एक वेरिएबल की घोषणा**। चलो `let` कीवर्ड का उपयोग करते हुए एक चर घोषित करते हैं:
```javascript
let myVariable;
```
- `myVariable` अब` let` कीवर्ड का उपयोग करके घोषित किया गया है। वर्तमान में इसका कोई मूल्य नहीं है।
+ `myVariable` अब `let` कीवर्ड का उपयोग करके घोषित किया गया है। वर्तमान में इसका कोई मूल्य नहीं है।
-1. **एक मान असाइन करें**। वैरिएबल में `= 'ऑपरेटर के साथ एक वैल्यू स्टोर करें, उसके बाद अपेक्षित वैल्यू।
+1. **एक मान असाइन करें**। वैरिएबल में `=` ऑपरेटर के साथ एक वैल्यू स्टोर करें, उसके बाद अपेक्षित वैल्यू।
```javascript
myVariable = 123;
@@ -46,7 +46,7 @@
`myVariable` अब मूल्य 123 के साथ * प्रारंभ * कर दिया गया है।
-1. **रिफ्लेक्टर**। निम्नलिखित कथन के साथ अपना कोड बदलें।
+1. **रिफैक्टर**। निम्नलिखित कथन के साथ अपना कोड बदलें।
```javascript
let myVariable = 123;
@@ -54,7 +54,7 @@
उपरोक्त को _explicit initialization_ कहा जाता है जब एक चर घोषित किया जाता है और एक ही समय में एक मान निर्दिष्ट किया जाता है।
-1. **Change the variable value**. Change the variable value in the following way:
+1. **वेरिएबल का मान बदलें**। वेरिएबल के मान को निम्न तरीके से बदलें:
```javascript
myVariable = 321;
@@ -99,7 +99,7 @@ const MY_VARIABLE = 123;
ऊपर आप ऑब्जेक्ट के मूल्य को बदल रहे हैं, लेकिन स्वयं संदर्भ को नहीं, जो इसे अनुमति देता है।
- > ध्यान दें, एक 'const' का अर्थ है कि संदर्भ को पुन: असाइनमेंट से सुरक्षित किया गया है। मान __अडिग__ नहीं है, हालांकि और बदल सकता है, खासकर अगर यह एक ऑब्जेक्ट की तरह एक जटिल निर्माण है।
+ > ध्यान दें, एक `const` का अर्थ है कि संदर्भ को पुन: असाइनमेंट से सुरक्षित किया गया है। मान __अडिग__ नहीं है, हालांकि और बदल सकता है, खासकर अगर यह एक ऑब्जेक्ट की तरह एक जटिल निर्माण है।
## डाटा प्रकार
@@ -129,7 +129,7 @@ const MY_VARIABLE = 123;
✅ कोशिश करो! अपने ब्राउज़र के कंसोल में एक अंकगणितीय ऑपरेशन आज़माएँ। क्या परिणाम आपको आश्चर्यचकित करते हैं?
-### Strings
+### स्ट्रिंग्स
स्ट्रिंग्स ऐसे पात्रों के समूह हैं जो एकल या दोहरे उद्धरणों के बीच रहते हैं।
@@ -155,7 +155,7 @@ myString1 + ", " + myString2 + "!"; //Hello, World!
```
-✅ जावास्क्रिप्ट में `1 + 1 = 2` क्यों करता है, लेकिन` '1' + '1' = 11? `इसके बारे में सोचो। `'1' + 1` के बारे में क्या?
+✅ जावास्क्रिप्ट में `1 + 1 = 2` क्यों करता है, लेकिन `'1' + '1' = 11?` इसके बारे में सोचो। `'1' + 1` के बारे में क्या?
**टेम्पलेट लिटेरल्स** स्ट्रिंग्स को फॉर्मेट करने का एक और तरीका है, उद्धरणों के बजाय, बैकटिक का उपयोग किया जाता है। जो कुछ भी सादा पाठ नहीं है, उसे प्लेसहोल्डर्स `$ {}` के अंदर रखा जाना चाहिए। इसमें कोई भी चर शामिल है जो तार हो सकते हैं।
@@ -171,7 +171,7 @@ let myString2 = "World";
✅ आप टेम्प्लेट शाब्दिक लिटेरल्स सादे स्ट्रिंग का उपयोग कब करेंगे?
-### बुलैंस
+### बूलियन्स
बूलियन केवल दो मूल्य हो सकते हैं: `true` या `false`। बूलियंस निर्णय लेने में मदद कर सकते हैं कि किन शर्तों को पूरा करने पर कोड की लाइनें चलनी चाहिए। कई मामलों में, [ऑपरेटर](#अंकगणितीय-आपरेटर) एक बूलियन का मूल्य निर्धारित करने में सहायता करते हैं और आप अक्सर वैरिएबल या उनके मूल्यों को एक ऑपरेटर के साथ अपडेट किए जाने पर ध्यान देंगे और लिखेंगे।
diff --git a/2-js-basics/1-data-types/translations/assignment.az.md b/2-js-basics/1-data-types/translations/assignment.az.md
new file mode 100644
index 00000000..f2b5adf4
--- /dev/null
+++ b/2-js-basics/1-data-types/translations/assignment.az.md
@@ -0,0 +1,11 @@
+# Məlumat növləri üzrə məşqlər
+
+## Təlimatlar
+
+Təsəvvür edin ki, bir alış-veriş səbəti düzəldin. Alış-veriş təcrübənizi tamamlamaq üçün lazım olan məlumat növləri haqqında bəzi sənədləri yazın. Seçimlərinizə necə gəldiniz?
+
+## Ünvan kitabçası
+
+Meyarlar | Əla | adekvat | Təkmilləşdirmələr lazımdır
+ --- | --- | --- | - |
+ || Altı məlumat növü onların istifadəsini sənədləşdirərək ətraflı şəkildə sadalanır və araşdırılır | Dörd növ məlumat tədqiq edilir | İki növ məlumat tədqiq edilir |
\ No newline at end of file
diff --git a/2-js-basics/2-functions-methods/translations/assignment.az.md b/2-js-basics/2-functions-methods/translations/assignment.az.md
new file mode 100644
index 00000000..239d7683
--- /dev/null
+++ b/2-js-basics/2-functions-methods/translations/assignment.az.md
@@ -0,0 +1,13 @@
+# Funksiyalarla Əylən
+
+## Təlimatlar
+
+Fərqli funksiyalar yaradın, həm nəyisə qaytaran funksiyalar, həm də heç nə qaytarmayan funksiyalar.
+
+Defolt dəyərləri olan parametrlər və parametrlərin qarışığı olan bir funksiya yarada bildiyinizə baxın.
+
+## Rubrika
+
+| Meyarlar | Nümunəvi | Müvafiq | Təkmilləşdirmə Ehtiyacı var |
+| -------- | ------------------------------------------------- ----------------------------------- | ------------------------------------------------- -------------- | ----------------- |
+| | Həll müxtəlif parametrlərə malik iki və ya daha çox yaxşı işləyən funksiya ilə təklif olunur | İşçi həll bir funksiya və bir neçə parametr ilə təklif olunur | Həlldə səhvlər var |
diff --git a/2-js-basics/4-arrays-loops/translations/assignment.es.md b/2-js-basics/4-arrays-loops/translations/assignment.es.md
index 5d269bb2..c7895eec 100644
--- a/2-js-basics/4-arrays-loops/translations/assignment.es.md
+++ b/2-js-basics/4-arrays-loops/translations/assignment.es.md
@@ -2,7 +2,7 @@
## Instrucciones
-Cree un programa que enumere cada tercer número entre 1 y 20 y lo imprima en la consola.
+Cree un programa que enumere cada tercer número entre 1 y 20 e imprimalo en la consola.
> SUGERENCIA: use un bucle for y modifique la expresión-iteración
@@ -10,4 +10,4 @@ Cree un programa que enumere cada tercer número entre 1 y 20 y lo imprima en la
| Criterios | Ejemplar | Adecuado | Necesita mejorar |
| -------- | --------------------------------------- | ------------------------ | ------------------------------ |
-| | El programa se ejecuta correctamente y está comentado | Programa no comentado | El programa está incompleto o con errores |
\ No newline at end of file
+| | El programa se ejecuta correctamente y está comentado | Programa no comentado | El programa está incompleto o con errores |
diff --git a/2-js-basics/translations/README.es.md b/2-js-basics/translations/README.es.md
index 6153dc04..7e9f37d7 100644
--- a/2-js-basics/translations/README.es.md
+++ b/2-js-basics/translations/README.es.md
@@ -7,7 +7,7 @@ JavaScript es el lenguaje de la web. En estas cuatro lecciones, aprenderá sus c
1. [Variables y tipos de datos](../1-data-types/translations/README.es.md)
2. [Funciones y métodos](../2-functions-methods/translations/README.es.md)
3. [Toma de decisiones con JavaScript](../3-making-decisions/translations/README.es.md)
-4. [Arrays and Loops](../4-arrays-loops/translations/README.es.md)
+4. [Matrices y bucles](../4-arrays-loops/translations/README.es.md)
### Créditos
diff --git a/2-js-basics/translations/README.ru.md b/2-js-basics/translations/README.ru.md
index a9bd5211..0f9d4f41 100644
--- a/2-js-basics/translations/README.ru.md
+++ b/2-js-basics/translations/README.ru.md
@@ -4,11 +4,11 @@ JavaScript это язык веб-программирования. В этих
### Уроки
-1. [Переменные и типы данных](#)
-2. [Функции и методы](#)
-3. [Принятие решений с помощью JavaScript](#)
-4. [Массивы и циклы](#)
+1. [Переменные и типы данных](../1-data-types/README.md)
+2. [Функции и методы](../2-functions-methods/README.md)
+3. [Принятие решений с помощью JavaScript](../3-making-decisions/README.md)
+4. [Массивы и циклы](../4-arrays-loops/README.md)
### Благодарность
-Эти уроки были ♥️ созданы [Жасмин Гринуэй](https://twitter.com/paladique), [Кристофером Харрисоном](https://twitter.com/geektrainer) и [Крисом Норингом](https://twitter.com/chris_noring).
\ No newline at end of file
+Эти уроки были ♥️ созданы [Жасмин Гринуэй](https://twitter.com/paladique), [Кристофером Харрисоном](https://twitter.com/geektrainer) и [Крисом Норингом](https://twitter.com/chris_noring).
diff --git a/3-terrarium/1-intro-to-html/translations/README.es.md b/3-terrarium/1-intro-to-html/translations/README.es.md
index faf4575c..d564dc10 100644
--- a/3-terrarium/1-intro-to-html/translations/README.es.md
+++ b/3-terrarium/1-intro-to-html/translations/README.es.md
@@ -15,7 +15,15 @@ En esta lección, usaremos HTML para diseñar el 'esqueleto' de la interfaz de n
En su computadora, cree una carpeta llamada 'terrario' y dentro de ella, un archivo llamado 'index.html'. Puede hacer esto en Visual Studio Code después de crear su carpeta de terrario abriendo una nueva ventana de VS Code, haciendo clic en 'abrir carpeta' y navegando a su nueva carpeta. Haga clic en el botón pequeño 'archivo' en el panel del Explorador y cree el nuevo archivo:
-! [explorador en VS Code](images / vs-code-index.png)
+
+
+
+O use estos comandos en tu git bash:
+
+`mkdir terrarium`
+`cd terrarium`
+`touch index.html`
+`code index.html` o `nano index.html`
> Los archivos index.html indican a un navegador que es el archivo predeterminado en una carpeta; Las URL como `https://anysite.com/test` se pueden construir usando una estructura de carpetas que incluya una carpeta llamada `test` con `index.html` dentro; `Index.html` no tiene que aparecer en una URL.
@@ -97,7 +105,7 @@ Ahora, puede comenzar a construir su página. Normalmente, usa etiquetas `
`
Una etiqueta html que no necesita una etiqueta de cierre es la etiqueta ``, porque tiene un elemento `src` que contiene toda la información que la página necesita para representar el elemento.
-Cree una carpeta en su aplicación llamada `images` y en ella, agregue todas las imágenes en la [carpeta del código fuente](../images); (hay 14 imágenes de plantas).
+Cree una carpeta en su aplicación llamada `images` y en ella, agregue todas las imágenes en la [carpeta del código fuente](../../solution/images); (hay 14 imágenes de plantas).
### Tarea:
diff --git a/3-terrarium/3-intro-to-DOM-and-closures/README.md b/3-terrarium/3-intro-to-DOM-and-closures/README.md
index 8db26e0b..87194bbb 100644
--- a/3-terrarium/3-intro-to-DOM-and-closures/README.md
+++ b/3-terrarium/3-intro-to-DOM-and-closures/README.md
@@ -116,7 +116,7 @@ In addition, the terrariumElement that is passed to this function is assigned a
## The Pointerdrag function
-The terrariumElement is ready to be dragged around; when the `onpointerdown` event is fired, the function pointerDrag is invoked. Add that function right under this line: `terrariumElement.onpointerdown = pointerDrag;`:
+The `terrariumElement` is ready to be dragged around; when the `onpointerdown` event is fired, the function `pointerDrag` is invoked. Add that function right under this line: `terrariumElement.onpointerdown = pointerDrag;`:
### Task
diff --git a/3-terrarium/3-intro-to-DOM-and-closures/translations/README.es.md b/3-terrarium/3-intro-to-DOM-and-closures/translations/README.es.md
index 86dac8fa..07c8f25e 100644
--- a/3-terrarium/3-intro-to-DOM-and-closures/translations/README.es.md
+++ b/3-terrarium/3-intro-to-DOM-and-closures/translations/README.es.md
@@ -1,13 +1,13 @@
# Terrarium Project Part 3: DOM Manipulación y cierre
-! [DOM y un cierre](/sketchnotes/webdev101-js.png)
+
> Boceto de [Tomomi Imura](https://twitter.com/girlie_mac)
## [Pre-lecture prueba](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/19)
### Introducción:
-Manipular el DOM, o el "Modelo de objetos de documento", es un aspecto clave del desarrollo web. Según [MDN](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction), "El modelo de objetos de documento (DOM) es la representación de datos de los objetos que componen la estructura y contenido de un documento en la web ". Los desafíos en torno a la manipulación de DOM en la web a menudo han sido el ímpetu detrás del uso de marcos de JavaScript en lugar de JavaScript vanilla para administrar el DOM, ¡pero lo administraremos por nuestra cuenta!
+Manipular el DOM, o el "Modelo de objetos de documento", es un aspecto clave del desarrollo web. Según [MDN](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction), "El modelo de objetos de documento (DOM) es la representación de datos de los objetos que componen la estructura y contenido de un documento en la web ". Los desafíos en torno a la manipulación de DOM en la web a menudo han sido el ímpetu detrás del uso de frameworks de JavaScript en lugar de JavaScript vanilla para administrar el DOM, ¡pero lo administraremos por nuestra cuenta!
Además, esta lección presentará la idea de un [cierre de JavaScript](https://developer.mozilla.org/docs/Web/JavaScript/Closures), que puede considerar como una función encerrada por otra función para que la función interna tenga acceso al alcance de la función externa.
@@ -18,7 +18,7 @@ Usaremos un cierre para manipular el DOM.

-> Una representación del DOM y el marcado HTML que lo hace referencia. De [Olfa Nasraoui](https://www.researchgate.net/publication/221417012_Profile-Based_Focused_Crawler_for_Social_Media-Sharing_Websites)
+> Una representación del DOM y el marcado HTML a modo de referencia. De [Olfa Nasraoui](https://www.researchgate.net/publication/221417012_Profile-Based_Focused_Crawler_for_Social_Media-Sharing_Websites)
En esta lección, completaremos nuestro proyecto de terrario interactivo creando el JavaScript que permitirá al usuario manipular las plantas en la página.
@@ -135,7 +135,7 @@ Suceden varias cosas. Primero, evita que ocurran los eventos predeterminados que
En segundo lugar, abra `index.html` en una ventana del navegador e inspeccione la interfaz. Cuando hace clic en una planta, puede ver cómo se captura el evento 'e'. ¡Profundice en el evento para ver cuánta información recopila un evento de puntero hacia abajo!
-A continuación, observe cómo las variables locales `pos3` y` pos4` se establecen en e.clientX. Puede encontrar los valores de `e` en el panel de inspección. Estos valores capturan las coordenadas xey de la planta en el momento en que hace clic en ella o la toca. Necesitará un control detallado sobre el comportamiento de las plantas al hacer clic en ellas y arrastrarlas, de modo que pueda realizar un seguimiento de sus coordenadas.
+A continuación, observe cómo las variables locales `pos3` y` pos4` se establecen en e.clientX. Puede encontrar los valores de `e` en el panel de inspección. Estos valores capturan las coordenadas X e Y de la planta en el momento en que hace clic en ella o la toca. Necesitará un control detallado sobre el comportamiento de las plantas al hacer clic en ellas y arrastrarlas, de modo que pueda realizar un seguimiento de sus coordenadas.
✅ ¿Está cada vez más claro por qué toda esta aplicación está construida con un gran cierre? Si no fuera así, ¿cómo mantendría el alcance para cada una de las 14 plantas arrastrables?
diff --git a/6-space-game/1-introduction/translations/README.hi.md b/6-space-game/1-introduction/translations/README.hi.md
index af2b24cb..48c20441 100644
--- a/6-space-game/1-introduction/translations/README.hi.md
+++ b/6-space-game/1-introduction/translations/README.hi.md
@@ -217,6 +217,6 @@ eventEmitter.on(Messages.HERO_MOVE_LEFT, () => {
pub/sub[के बारे में पढ़े](https://docs.microsoft.com/azure/altecture/patterns/publisher-subscriber/?WT.mc_id=academic-77807-sagibbon) और अधिक जानें .
-## असाइनमेंट
+## कार्यभार
[एक खेल का नका](assignment.hi.md)
diff --git a/6-space-game/3-moving-elements-around/README.md b/6-space-game/3-moving-elements-around/README.md
index 9217838b..6aff7c67 100644
--- a/6-space-game/3-moving-elements-around/README.md
+++ b/6-space-game/3-moving-elements-around/README.md
@@ -30,7 +30,7 @@ ctx.fillStyle = "black";
ctx.drawImage(heroImg, hero.x, hero.y);
```
-✅ Can you think of a reason why redrawing your hero many frames per second might accrue performance costs? Read about [alternatives to this pattern](https://www.html5rocks.com/en/tutorials/canvas/performance/).
+✅ Can you think of a reason why redrawing your hero many frames per second might accrue performance costs? Read about [alternatives to this pattern](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Optimizing_canvas).
## Handle keyboard events
diff --git a/6-space-game/6-end-condition/translations/README.es.md b/6-space-game/6-end-condition/translations/README.es.md
index 27137641..0b535fa0 100644
--- a/6-space-game/6-end-condition/translations/README.es.md
+++ b/6-space-game/6-end-condition/translations/README.es.md
@@ -106,9 +106,9 @@ Lo anterior iniciará un servidor HTTP en la dirección `http://localhost:5000`.
GAME_END_WIN: "GAME_END_WIN",
```
-2. **Agregar código de reinicio** código que reinicia el juego con solo presionar un botón seleccionado.
+2. **Agregar código de reinicio**. Código que reinicia el juego con solo presionar un botón seleccionado.
- 1. **Escuche la tecla "Enter"**. Edite el eventListener de su ventana para escuchar esta prensa:
+ 1. **Escuche la tecla "Enter"**. Edite el eventListener de su ventana para escuchar esta acción:
```javascript
else if(evt.key === "Enter") {
diff --git a/7-bank-project/1-template-route/translations/README.es.md b/7-bank-project/1-template-route/translations/README.es.md
index 2d684685..acbb1d93 100644
--- a/7-bank-project/1-template-route/translations/README.es.md
+++ b/7-bank-project/1-template-route/translations/README.es.md
@@ -267,7 +267,7 @@ window.onpopstate = () => updateRoute();
updateRoute();
```
-> Nota: utilizamos una [función de flecha](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Functions/Arrow_functions) aquí para declarar nuestro controlador de eventos `popstate` por concisión, pero un la función regular funcionaría igual.
+> Nota: utilizamos una [función de flecha](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Functions/Arrow_functions) aquí para declarar nuestro controlador de eventos `popstate` por concisión, pero la función regular funcionaría igual.
[](https://youtube.com/watch?v=JiXY9wlqUxQ "Arrow Functions")
diff --git a/7-bank-project/2-forms/translations/assignment.es.md b/7-bank-project/2-forms/translations/assignment.es.md
index b30299e1..da0a1283 100644
--- a/7-bank-project/2-forms/translations/assignment.es.md
+++ b/7-bank-project/2-forms/translations/assignment.es.md
@@ -9,5 +9,5 @@ Cree un nuevo archivo `styles.css` y agréguele un enlace en su archivo `index.h
## Rúbrica
| Criterios | Ejemplar | Adecuado | Necesita mejorar |
-| -------- | -------------------------------------------------- -------------------------------------------------- ------------------- | -------------------------------------------------- ---------------------------- | -------------------------------------------------- ------------------------------------------- |
+| -------- | ------------------- | ---------------------------- | ------------------------------------------- |
| | Todas las páginas se ven limpias y legibles, con un tema de color consistente y las diferentes secciones destacando correctamente. | Las páginas tienen un estilo pero sin un tema o con secciones no claramente delimitadas. | Las páginas carecen de estilo, las secciones se ven desorganizadas y la información es difícil de leer. |
diff --git a/7-bank-project/3-data/translations/README.es.md b/7-bank-project/3-data/translations/README.es.md
index d09e492c..67241528 100644
--- a/7-bank-project/3-data/translations/README.es.md
+++ b/7-bank-project/3-data/translations/README.es.md
@@ -52,7 +52,7 @@ bloques de código
Opcional: agregue una captura de pantalla de la interfaz de usuario de la lección completa si corresponde
-## [Prueba posterior a la conferencia]((https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/46)
+## [Prueba posterior a la conferencia](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/46)
## Revisión y autoestudio
diff --git a/7-bank-project/3-data/translations/assignment.es.md b/7-bank-project/3-data/translations/assignment.es.md
index 421236de..59573270 100644
--- a/7-bank-project/3-data/translations/assignment.es.md
+++ b/7-bank-project/3-data/translations/assignment.es.md
@@ -2,7 +2,7 @@
## Instrucciones
-A medida que su código base crece, es importante refactorizar su código con frecuencia para mantenerlo legible y mantenible con el tiempo. Agregue comentarios y refactorice su ʻapp.js` para mejorar la calidad del código:
+A medida que su código base crece, es importante refactorizar su código con frecuencia para mantenerlo legible y mantenible con el tiempo. Agregue comentarios y refactorice su `app.js` para mejorar la calidad del código:
- Extraer constantes, como la URL base de la API del servidor
- Factorizar código similar: por ejemplo, puede crear una función `sendRequest()` para reagrupar el código utilizado tanto en `createAccount()` como en `getAccount()`
@@ -11,5 +11,5 @@ A medida que su código base crece, es importante refactorizar su código con fr
## Rúbrica
| Criterios | Ejemplar | Adecuado | Necesita mejorar |
-| -------- | -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------- | -------------------------------------------------- ----------------------------------------------- | -------------------------------------------------- ----------------------------------- |
+| -------- | ------- | -------------------------------------------------- | -------------------------------------------------- |
| | El código está comentado, bien organizado en diferentes secciones y fácil de leer. Se extraen las constantes y se ha creado una función factorizada `sendRequest()`. | El código está limpio pero aún se puede mejorar con más comentarios, extracción constante o factorización. | El código es desordenado, no comentado, las constantes no se extraen y el código no se factoriza. |
diff --git a/7-bank-project/solution/README.md b/7-bank-project/solution/README.md
index d6e280f3..565f33e6 100644
--- a/7-bank-project/solution/README.md
+++ b/7-bank-project/solution/README.md
@@ -9,5 +9,5 @@ First make sure you have the [API server](../api/README.md) running.
Any web server can be used to run the app, but since you should have [Node.js](https://nodejs.org) installed anyway to run the API, you can:
1. Git clone this repo.
-2. Open a terminal, then run `npx lite-server solution`. It will start a development web server on port `3000`
+2. Open a terminal, navigate to this directory, then run `npx lite-server .`. It will start a development web server on port `3000`
3. Open `http://localhost:3000` in a browser to run the app.
diff --git a/7-bank-project/solution/translations/README.es.md b/7-bank-project/solution/translations/README.es.md
index bd93a706..4fd93a4d 100644
--- a/7-bank-project/solution/translations/README.es.md
+++ b/7-bank-project/solution/translations/README.es.md
@@ -6,8 +6,8 @@
Primero asegúrese de tener el [servidor API](../api/README.md) en ejecución.
-Se puede usar cualquier servidor web para ejecutar la aplicación, pero dado que debe tener [Node.js]https://nodejs.org) instalado de todos modos para ejecutar la API, puede:
+Se puede usar cualquier servidor web para ejecutar la aplicación, pero dado que debe tener [Node.js](https://nodejs.org) instalado de todos modos para ejecutar la API, puede:
1. Git clone este repositorio.
2. Abra una terminal, luego ejecute `npx lite-server solution`. Iniciará un servidor web de desarrollo en el puerto `3000`
-3. Abra `http://localhost: 3000` en un navegador para ejecutar la aplicación.
\ No newline at end of file
+3. Abra `http://localhost: 3000` en un navegador para ejecutar la aplicación.
diff --git a/8-code-editor/1-using-a-code-editor/README.md b/8-code-editor/1-using-a-code-editor/README.md
index 5d8368ed..f56dd7fe 100644
--- a/8-code-editor/1-using-a-code-editor/README.md
+++ b/8-code-editor/1-using-a-code-editor/README.md
@@ -1,6 +1,6 @@
# Using a code editor
-This lesson covers the basics of using [VSCode.dev](https://vscode.dev) a code editor for the web so that you can make changes to your code and contribute to a project without installing anything in your computer.
+This lesson covers the basics of using [VSCode.dev](https://vscode.dev) a web-based code editor so that you can make changes to your code and contribute to a project without installing anything on your computer.
+
+
+
+## Objectifs d'apprentissage
+
+Dans cette leçon, vous apprendrez à :
+
+- Utiliser un éditeur de code dans un projet de code
+- Suivre les modifications avec le contrôle de version
+- Personnaliser l'éditeur pour le développement
+
+### Prérequis
+
+Avant de commencer, vous devez créer un compte sur [GitHub] (https://github.com). Rendez-vous sur [GtiHub](https://github.com/) et créez un compte si ce n'est pas déjà fait.
+
+### Introduction
+
+Un éditeur de code est un outil essentiel pour écrire des programmes et collaborer à des projets de codage existants. Une fois que vous aurez compris les bases d'un éditeur et que vous saurez comment utiliser ses fonctionnalités, vous serez en mesure de les appliquer lors de l'écriture de code.
+
+## Démarrer avec VSCode.dev
+
+[VSCode.dev] (https://vscode.dev) est un éditeur de code sur le Web. Vous n'avez pas besoin d'installer quoi que ce soit pour l'utiliser, comme pour ouvrir n'importe quel autre site Web. Pour commencer à utiliser l'éditeur, ouvrez le lien suivant : [https://vscode.dev](https://vscode.dev). Si vous n'êtes pas connecté à [GtiHub](https://github.com/), suivez les instructions pour vous connecter ou créez un nouveau compte, puis connectez-vous.
+
+Une fois le site chargé, il devrait ressembler à cette image :
+
+
+
+Il y a trois sections principales, en commençant par l'extrême gauche et en allant vers la droite :
+
+1. La _barre d'activité_ qui comprend quelques icônes, comme la loupe 🔎, l'engrenage ⚙️ et quelques autres.
+1. La barre d'acivité élargie qui s'affiche par défaut dans l'_Explorateur_, appelée _barre latérale_.
+1. Et enfin, la zone de code à droite.
+
+Cliquez sur chacune des icônes pour afficher un menu différent. Une fois que vous avez terminé, cliquez sur l'_Explorateur_ pour revenir à votre point de départ.
+
+Lorsque vous commencez à créer du code ou à modifier du code existant, cela se passe dans la plus grande zone à droite. Vous utiliserez également cette zone pour visualiser le code existant, ce que vous ferez ensuite.
+
+
+## Ouvrir un répertoire GitHub
+
+La première chose dont vous aurez besoin est d'ouvrir un répertoire GitHub. Il existe plusieurs façons d'ouvrir un dépôt. Dans cette section, vous verrez deux façons différentes d'ouvrir un dépôt afin de pouvoir commencer à travailler sur les changements.
+
+### 1. Avec l'éditeur
+
+Utilisez l'éditeur lui-même pour ouvrir un répertoire distant. Si vous allez sur [VSCode.dev](https://vscode.dev), vous verrez un bouton _"Open Remote Repository"_ :
+
+
+
+Vous pouvez également utiliser la palette de commande. La palette de commande est une boîte de saisie dans laquelle vous pouvez taper n'importe quel mot faisant partie d'une commande ou d'une action pour trouver la bonne commande à exécuter. Utilisez le menu en haut à gauche, puis sélectionnez _Visualisation_, et ensuite choisissez _Palette de commande_, ou en utilisant le raccourci clavier suivant : Ctrl-Shift-P (sur MacOS, ce serait Command-Shift-P).
+
+
+
+Une fois le menu ouvert, tapez _open remote repository_, puis sélectionnez la première option. Plusieurs dépôts dont vous faites partie ou que vous avez ouverts récemment s'afficheront. Vous pouvez également utiliser une URL GitHub complète pour en sélectionner un. Utilisez l'URL suivante et collez-la dans le champ :
+
+```
+https://github.com/microsoft/Web-Dev-For-Beginners
+```
+
+✅ Si vous réussissez, vous verrez tous les fichiers de ce répertoire chargés dans l'éditeur de texte.
+
+
+### 2. Utilisation de l'URL
+
+Vous pouvez également utiliser une URL directement pour charger un répertoire. Par exemple, l'URL complète du dépôt actuel est [https://github.com/microsoft/Web-Dev-For-Beginners](https://github.com/microsoft/Web-Dev-For-Beginners), mais vous pouvez remplacer le domaine GitHub par `VSCode.dev/github` et charger le répertoire directement. L'URL résultante serait [https://vscode.dev/github/microsoft/Web-Dev-For-Beginners](https://vscode.dev/github/microsoft/Web-Dev-For-Beginners).
+
+
+## Modifier les fichiers
+Une fois que vous avez ouvert le répertoire sur le navigateur/ vscode.dev, la prochaine étape serait d'effectuer des mises à jour ou des modifications du projet.
+
+### 1. Créer un nouveau fichier
+
+Vous pouvez soit créer un fichier dans un dossier existant, soit le créer dans le répertoire/dossier racine. Pour créer un nouveau fichier, ouvrez un emplacement/répertoire dans lequel vous souhaitez que le fichier soit enregistré et sélectionnez l'icône _'Nouveau fichier ...'_ dans la barre d'activité _(gauche)_, donnez-lui un nom et appuyez sur Entrée.
+
+
+
+### 2. Modifier et enregistrer un fichier sur le répertoire
+
+L'utilisation de vscode.dev est utile lorsque vous souhaitez effectuer des mises à jour rapides de votre projet sans avoir à charger un logiciel localement.
+Pour mettre à jour votre code, cliquez sur l'icône "Explorer", également située dans la barre d'activités, pour afficher les fichiers et les dossiers du répertoire.
+Sélectionnez un fichier pour l'ouvrir dans la zone de code, effectuez vos modifications et enregistrez.
+
+
+
+Une fois que vous avez terminé la mise à jour de votre projet, sélectionnez l'icône _`source control`_ qui contient toutes les nouvelles modifications que vous avez apportées à votre répertoire.
+
+Pour visualiser les modifications que vous avez apportées à votre projet, sélectionnez le(s) fichier(s) dans le dossier `Changes` dans la barre d'activité étendue. Cela ouvrira un "arbre de travail" pour vous permettre de voir visuellement les modifications que vous avez apportées au fichier. Le rouge indique une ommission dans le projet, tandis que le vert signifie un ajout.
+
+
+
+Si vous êtes satisfait des changements que vous avez effectués, survolez le dossier `Changes` et cliquez sur le bouton `+` pour mettre en scène les changements. La mise en scène signifie simplement que vous préparez vos modifications pour les livrer sur GitHub.
+
+Si toutefois vous n'êtes pas à l'aise avec certains changements et que vous voulez les abandonner, survolez le dossier "Changes" et sélectionnez l'icône "annuler".
+
+Ensuite, tapez un `message de validation` _(Une description de la modification que vous avez apportée au projet)_, cliquez sur l'icône `check` pour valider et pousser vos modifications.
+
+Une fois que vous avez terminé de travailler sur votre projet, sélectionnez l'icône de menu "hamburger" en haut à gauche pour revenir au répertoire sur github.com.
+
+
+
+## Utilisation des extensions
+L'installation d'extensions sur VSCode vous permet d'ajouter de nouvelles fonctionnalités et des options d'environnement de développement personnalisé sur votre éditeur afin d'améliorer votre flux de travail de développement. Ces extensions vous aident également à ajouter le support de plusieurs langages de programmation et sont souvent soit des extensions génériques, soit des extensions basées sur le langage.
+
+Pour parcourir la liste de toutes les extensions disponibles, cliquez sur l'icône _`Extensions`_ de la barre d'activités et commencez à taper le nom de l'extension dans le champ de texte intitulé _'Search Extensions in Marketplace'_.
+Vous verrez une liste d'extensions, chacune contenant **le nom de l'extension, le nom de l'éditeur, une description d'une phrase, le nombre de téléchargements** et **un classement par étoiles**.
+
+
+
+Vous pouvez également voir toutes les extensions précédemment installées en développant le dossier _`Installed`_, les extensions populaires utilisées par la plupart des développeurs dans le dossier _`Popular`_ et les extensions recommandées pour vous par les utilisateurs du même espace de travail ou basées sur vos fichiers récemment ouverts dans le dossier _`recommended`_.
+
+
+
+
+### 1. Installer des extensions
+Pour installer une extension, tapez le nom de l'extension dans le champ de recherche et cliquez dessus pour afficher des informations supplémentaires sur l'extension dans la zone de code une fois qu'elle apparaît dans la barre d'activités étendue.
+
+Vous pouvez soit cliquer sur le _bouton d'installation bleu_ de la barre d'activité élargie pour l'installer, soit utiliser le bouton d'installation qui apparaît dans la zone de code une fois que vous avez sélectionné l'extension pour charger des informations supplémentaires.
+
+
+
+### 2. Personnaliser les extensions
+Après avoir installé l'extension, vous pouvez avoir besoin de modifier son comportement et de la personnaliser en fonction de vos préférences. Pour ce faire, sélectionnez l'icône Extensions, et cette fois, votre extension apparaîtra dans le dossier _Installed_, cliquez sur l'icône _**Gear**_ et naviguez jusqu'à _Extensions Setting_.
+
+
+
+### 3. Gérer les extensions
+Après avoir installé et utilisé votre extension, vscode.dev offre des options pour gérer votre extension en fonction de différents besoins. Par exemple, vous pouvez choisir de :
+- **Désactiver:** _(Vous désactivez temporairement une extension lorsque vous n'en avez plus besoin mais ne souhaitez pas la désinstaller complètement)_.
+
+ Sélectionnez l'extension installée dans la barre d'activités étendue > cliquez sur l'icône en forme d'engrenage > sélectionnez "Désactiver" ou "Désactiver (espace de travail)". **OU** Ouvrez l'extension dans la zone de code et cliquez sur le bouton bleu Désactiver.
+
+
+- **Désinstaller:** Sélectionnez l'extension installée dans la barre d'activité étendue > cliquez sur l'icône en forme d'engrenage > sélectionnez "Désinstaller" **OU** Ouvrez l'extension dans la zone de code et cliquez sur le bouton bleu de désinstallation.
+
+
+
+---
+
+## Travail à faire
+[Créer un site web de CV en utilisant vscode.dev](https://github.com/microsoft/Web-Dev-For-Beginners/blob/main/8-code-editor/1-using-a-code-editor/assignment.md)
+
+
+
+
+## Révision et étude personnelle
+
+En savoir plus sur [VSCode.dev] (https://code.visualstudio.com/docs/editor/vscode-web?WT.mc_id=academic-0000-alfredodeza) et sur certaines de ses autres fonctionnalités.
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a3e09eb6..33d950f6 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -2,7 +2,7 @@
This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to
-and actually do, grant us the rights to use your contribution. For details, visit
+and actually do, grant us the rights to use your contribution. For more details, visit
[https://cla.microsoft.com](https://cla.microsoft.com/?WT.mc_id=academic-77807-sagibbon).
When you submit a pull request, a CLA-bot will automatically determine whether you need
@@ -10,5 +10,5 @@ to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simpl
instructions provided by the bot. You will only need to do this once across all repositories using our CLA. Please also try to tell us why you made that change so that we better understand your request.
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/?WT.mc_id=academic-77807-sagibbon).
-For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/?WT.mc_id=academic-77807-sagibbon)
+For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/?WT.mc_id=academic-77807-sagibbon)
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
diff --git a/README.md b/README.md
index 8c7c4235..db610c57 100644
--- a/README.md
+++ b/README.md
@@ -12,29 +12,27 @@
# Web Development for Beginners - A Curriculum
-Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum which is all about JavaScript, CSS, and HTML basics. Each lesson includes pre- and post-lesson quizzes, written instructions to complete the lesson, a solution, an assignment and more. Our project-based pedagogy allows you to learn while building, a proven way for new skills to 'stick'.
-**Many hearty thanks to our authors Jen Looper, Chris Noring, Christopher Harrison, Jasmine Greenaway, Yohan Lasorsa, Floor Drees, and sketchnote artist Tomomi Imura!**
### _Are you a student?_
-Visit [**Student Hub page**](https://docs.microsoft.com/en-gb/learn/student-hub/?WT.mc_id=academic-13441-cxa) where you will find beginner resources, Student packs and even ways to get a free certificate voucher. This is the page you want to bookmark and check from time to time as we switch out content monthly.
-# Getting Started
+Get started with the following resources:
-> **Teachers**, we have [included some suggestions](for-teachers.md) on how to use this curriculum. We'd love your feedback [in our discussion forum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
+- [Student Hub page](https://docs.microsoft.com/learn/student-hub?WT.mc_id=academic-77807-sagibbon) In this page, you will find beginner resources, Student packs and even ways to get a free cert voucher. This is one page you want to bookmark and check from time to time as we switch out content at least monthly.
+- [Microsoft Student Learn ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-77807-sagibbon) Join a global community of student ambassadors, this could be your way into Microsoft.
-> **[Students](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, to use this curriculum on your own, fork the entire repo and complete the exercises on your own, starting with a pre-lecture quiz, then reading the lecture and completing the rest of the activities. Try to create the projects by comprehending the lessons rather than copying the solution code; however, that code is available in the /solutions folders in each project-oriented lesson. Another idea would be to form a study group with friends and go through the content together. For further study, we recommend [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81/?WT.mc_id=academic-77807-sagibbon) and watching the videos mentioned below.
+Visit [**Student Hub page**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) where you will find beginner resources, Student packs and even ways to get a free certificate voucher. This is the page you want to bookmark and check from time to time as we switch out content monthly.
-[](https://youtube.com/watch?v=R1wrdtmBSII)
+# Getting Started
-Gif by [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
+> **Teachers**, we have [included some suggestions](for-teachers.md) on how to use this curriculum. We'd love your feedback [in our discussion forum](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
-> 🎥 Click the image above for a video about the project and the folks who created it!
+> **[Students](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, to fully benefit from this curriculum, we encourage you to fork the entire repository and engage in self-study. Start with a pre-lecture quiz and follow through with reading the lecture material and completing the various activities. Emphasize on comprehending the lessons rather than just copying the solution code. However, if needed, the solution code can be found in the */solutions folders* within each project-based lesson. Another great way to enhance your learning experience is to form a study group with your peers and work through the curriculum together. To further your education, we highly recommend exploring [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) for additional study materials..
## Pedagogy
-We have chosen two pedagogical tenets while building this curriculum: ensuring that it is project-based and that it includes frequent quizzes. By the end of this series, students will have built a typing game, a virtual terrarium, a 'green' browser extension, a 'space invaders' type game, and a business-type banking app, and will have also learned the basics of JavaScript, HTML, and CSS along with the modern toolchain of today's web developer.
+Our curriculum is designed with two key pedagogical principles in mind: project-based learning and frequent quizzes. The program teaches the fundamentals of JavaScript, HTML, and CSS, as well as the latest tools and techniques used by today's web developers. Students will have the opportunity to develop hands-on experience by building a typing game, virtual terrarium, eco-friendly browser extension, space-invader-style game, and a banking app for businesses. By the end of the series, students will have gained a solid understanding of web development.
> 🎓 You can take the first few lessons in this curriculum as a [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) on Microsoft Learn!
@@ -86,7 +84,7 @@ While we have purposefully avoided introducing JavaScript frameworks to concentr
| 19 | [Space Game](/6-space-game/solution/README.md) | Keeping score | Perform math calculations based on the game's status and performance | [Keeping Score](/6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](/6-space-game/solution/README.md) | Ending and restarting the game | Learn about ending and restarting the game, including cleaning up assets and resetting variable values | [The Ending Condition](/6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](/7-bank-project/solution/README.md) | HTML Templates and Routes in a Web App | Learn how to create the scaffold of a multipage website's architecture using routing and HTML templates | [HTML Templates and Routes](/7-bank-project/1-template-route/README.md) | Yohan |
-| 22 | [Banking App](/7-bank-project/solution/README.md) | Build a Login and Registration Form | Learn about building forms and handing validation routines | [Forms](/7-bank-project/2-forms/README.md) | Yohan |
+| 22 | [Banking App](/7-bank-project/solution/README.md) | Build a Login and Registration Form | Learn about building forms and handling validation routines | [Forms](/7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](/7-bank-project/solution/README.md) | Methods of Fetching and Using Data | How data flows in and out of your app, how to fetch it, store it, and dispose of it | [Data](/7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](/7-bank-project/solution/README.md) | Concepts of State Management | Learn how your app retains state and how to manage it programmatically | [State Management](/7-bank-project/4-state-management/README.md) | Yohan |
@@ -98,14 +96,19 @@ You can run this documentation offline by using [Docsify](https://docsify.js.org
A PDF of all of the lessons can be found [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
+## Help Wanted!
+
+If you would like to translate all or part of the curriculum, please follow our [Translations](TRANSLATIONS.md) guide.
+
## Other Curricula
Our team produces other curricula! Check out:
-- [Machine Learning for Beginners](https://aka.ms/ml-beginners/?WT.mc_id=academic-77807-sagibbon)
-- [IoT for Beginners](https://aka.ms/iot-beginners/?WT.mc_id=academic-77807-sagibbon)
-- [Data Science for Beginners](https://aka.ms/datascience-beginners/?WT.mc_id=academic-77807-sagibbon)
-- [AI for Beginners](https://aka.ms/ai-beginners/?WT.mc_id=academic-77807-sagibbon)
+- [Machine Learning for Beginners](https://aka.ms/ml-beginners)
+- [IoT for Beginners](https://aka.ms/iot-beginners)
+- [Data Science for Beginners](https://aka.ms/datascience-beginners)
+- [AI for Beginners](https://aka.ms/ai-beginners)
+- [XR Development for Beginners](https://aka.ms/xr-dev-for-beginners)
## License
diff --git a/TRANSLATIONS.md b/TRANSLATIONS.md
index 3fa7dea8..dd7e0c8c 100644
--- a/TRANSLATIONS.md
+++ b/TRANSLATIONS.md
@@ -22,11 +22,9 @@ Similar to Readme's, please translate the assignments as well.
1. Add your translation to the quiz-app by adding a file [here](https://github.com/microsoft/Web-Dev-For-Beginners/tree/main/quiz-app/src/assets/translations), with the proper naming convention (en.json, fr.json). **Please don't localize the words 'true' or 'false' however. thanks!**
-2. Add your language code to the dropdown in the quiz-app's App.vue file.
+2. Edit the quiz-app's [translations index.js file](https://github.com/microsoft/Web-Dev-For-Beginners/blob/main/quiz-app/src/assets/translations/index.js) to add your language.
-3. Edit the quiz-app's [translations index.js file](https://github.com/microsoft/Web-Dev-For-Beginners/blob/main/quiz-app/src/assets/translations/index.js) to add your language.
-
-4. Finally, edit ALL the quiz links in your translated README.md files to point directly to your translated quiz: https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1 becomes https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1?loc=id
+3. Finally, edit ALL the quiz links in your translated README.md files to point directly to your translated quiz: https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1 becomes https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/1?loc=id
**THANK YOU**
diff --git a/lesson-template/translations/README.fr.md b/lesson-template/translations/README.fr.md
new file mode 100644
index 00000000..88f44b1d
--- /dev/null
+++ b/lesson-template/translations/README.fr.md
@@ -0,0 +1,51 @@
+# [Sujet de la Leçon]
+
+
+
+## [Quizz précédant la leçon](url-du-quizz)
+
+[Décrire ce que nous avons appris]
+
+### Introduction
+
+Décrire ce que nous avons couvert
+
+> Notes
+
+### Prérequis
+
+Quelles étapes avons-nous couvert avant cette leçon?
+
+### Préparation
+
+Etapes de préparation afin de commencer cette leçon
+
+---
+
+[Parcourir le contenu en blocs]
+
+## [Sujet 1]
+
+### Tâche:
+
+Travailler ensemble afin d'améliorer progressivement votre base de code afin de construire le projet avec du code partagé:
+
+```html
+code blocks
+```
+
+✅ Vérification de connaissance - utiliser ce moment pour augmenter la connaissance des étudiants avec des questions ouvertes
+
+## [Sujet 2]
+
+## [Sujet 3]
+
+🚀 Challenge: Ajouter un challenge pour les étudiants afin de travailler en collaboration en classe pour améliorer le projet
+
+Optionnel: ajouter une capture d'écran de l'interface utilisateur de la leçon complétée, le cas échéant
+
+## [Quizz suivant la leçon](url-du-quizz)
+
+## Relecture et Etude personelle
+
+**Devoir du au [MM/AA]**: [Nom du Devoir](assignment.fr.md)
diff --git a/lesson-template/translations/assignment.fr.md b/lesson-template/translations/assignment.fr.md
new file mode 100644
index 00000000..5e9e0997
--- /dev/null
+++ b/lesson-template/translations/assignment.fr.md
@@ -0,0 +1,9 @@
+# [Nom de la Mission]
+
+## Instructions
+
+## Rubrique
+
+| Critère | Exemplaire | Adéquat | A Améliorer |
+| ------- | ---------- | ------- | ----------- |
+| | | | |
\ No newline at end of file
diff --git a/quiz-app/src/assets/translations/fa.json b/quiz-app/src/assets/translations/fa.json
new file mode 100644
index 00000000..5e0baedd
--- /dev/null
+++ b/quiz-app/src/assets/translations/fa.json
@@ -0,0 +1,2509 @@
+[
+ {
+ "title": "توسعه وب برای مبتدیان: آزمون ها",
+ "complete": "تبریک می گویم، شما مسابقه را کامل کردید!",
+ "error": "متاسفم، دوباره سعی کنید",
+ "quizzes": [
+ {
+ "id": 1,
+ "title": "درس 1 - مقدمه ای بر زبان های برنامه نویسی: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "یک برنامه را می توان بدون نوشتن هیچ کدی از سوی سازنده ایجاد کرد",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "زبان های سطح پایین یک انتخاب محبوب هستند",
+ "answerOptions": [
+ {
+ "answerText": "وب سایت ها",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "سخت افزار",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "نرم افزار بازی های ویدیویی",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "کدام یک از این ابزارها به احتمال زیاد در محیط یک توسعه دهنده وب وجود دارد؟",
+ "answerOptions": [
+ {
+ "answerText": "سخت افزار، مانند رزبری پای",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "ابزارهای توسعه دهنده مرورگر",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "مستندات سیستم عامل",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 2,
+ "title": "درس 1 - مقدمه ای بر زبان های برنامه نویسی: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "به احتمال زیاد از چه زبانی برای ایجاد یک وب سایت استفاده می کنید؟",
+ "answerOptions": [
+ {
+ "answerText": "کد ماشین",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "جاوا سکریپت",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "بش",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "محیط های توسعه برای هر توسعه دهنده منحصر به فرد است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "یک توسعه دهنده برای رفع اشکال باگ چه کاری انجام خواهد داد؟",
+ "answerOptions": [
+ {
+ "answerText": "سینتکس هایلایتینگ",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "دیباگینگ",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "کد فرمتینگ",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 3,
+ "title": "درس 2 - مقدمه ای بر گیت هاب: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "چگونه یک مخزن گیت هاب ایجاد می کنید؟",
+ "answerOptions": [
+ {
+ "answerText": "git create",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "git start",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "git init",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "git add چه می کند؟",
+ "answerOptions": [
+ {
+ "answerText": "کد شما را کامیت می کند",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "فایل های شما را برای ردیابی به یک استیجینگ ایریا اضافه می کند",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "فایل های شما را به گیت هاب اضافه می کند",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "چگونه بررسی می کنید که گیت روی رایانه شما نصب شده است؟",
+ "answerOptions": [
+ {
+ "answerText": "type git --version",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "type git --installed",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "type git --init",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 4,
+ "title": "درس 2 - مقدمه ای بر گیت هاب: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "مکانی برای مقایسه و بحث در مورد تفاوت های معرفی شده در یک شعبه با بررسی، نظرات، تست های یکپارچه و موارد دیگر عبارت است از:",
+ "answerOptions": [
+ {
+ "answerText": "گیت هاب",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "یک درخواست پول رکوست",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "یک شاخه ویژگی",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "چگونه می توانید تمام تعهدات را از یک شعبه راه دور دریافت و ادغام کنید؟",
+ "answerOptions": [
+ {
+ "answerText": "git fetch",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "git pull",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "git commits -r",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "چگونه به شعبه تغییر می کنید؟",
+ "answerOptions": [
+ {
+ "answerText": "git checkout [branch-name]",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "git switch [branch-name]",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "git load [branch-name]",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 5,
+ "title": "درس 3 - ایجاد صفحات وب در دسترس: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "یک وب سایت قابل دسترسی را می توان در کدام ابزار مرورگر بررسی کرد",
+ "answerOptions": [
+ {
+ "answerText": "Lighthouse",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "Deckhouse",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "Cleanhouse",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "برای آزمایش قابلیت دسترسی برای کاربران کم بینا به یک صفحه خوان فیزیکی نیاز دارید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "دسترسی فقط در وب سایت های دولتی مهم است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 6,
+ "title": "درس 3 - ایجاد صفحات وب در دسترس: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "Lighthouse فقط مشکلات دسترسی را بررسی می کند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "پالت های ایمن رنگ به افراد کمک می کند",
+ "answerOptions": [
+ {
+ "answerText": "کور رنگی",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "اختلالات بینایی",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "هر دو مورد بالا",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "پیوندهای توصیفی برای وب سایت های قابل دسترس حیاتی هستند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 7,
+ "title": "درس 4 - مبانی جاوا اسکریپت - انواع داده: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "Booleans یک نوع داده است که می توانید از آن برای آزمایش طول یک رشته استفاده کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "عملیات زیر می توانید بر روی یک رشته انجام دهید",
+ "answerOptions": [
+ {
+ "answerText": "concatenation",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "appending",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "splicing",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "== و === قابل تعویض هستند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 8,
+ "title": "درس 4 - مبانی جاوا اسکریپت - انواع داده: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "ثابت ها مانند let و var برای اعلام متغیرها هستند به جز",
+ "answerOptions": [
+ {
+ "answerText": "ثابت ها باید مقداردهی اولیه شوند",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "ثابت ها را می توان تغییر داد",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "ثابت ها را می توان دوباره اختصاص داد",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "عدد ها و ____ اولیه جاوا اسکریپت هستند که داده های عددی را مدیریت می کنند",
+ "answerOptions": [
+ {
+ "answerText": "bigint",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "boolean",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "star",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "رشته ها می توانند بین هر دو نقل قول تکی و دوگانه قرار گیرند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 9,
+ "title": "درس 5 - مبانی جاوا اسکریپت - روش ها و توابع: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "استدلال چیست؟",
+ "answerOptions": [
+ {
+ "answerText": "این چیزی است که شما در تعریف تابع اعلام می کنید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "این چیزی است که در زمان فراخوانی به یک تابع منتقل می کنید",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "این چیزی است که با افرادی که می شناسید دارید",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "یک تابع باید چیزی را برگرداند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "شما می توانید یک تابع را هر چیزی نامگذاری کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "true, اما باید یک نام توصیفی باشد",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 10,
+ "title": "درس 5 - مبانی جاوا اسکریپت - روش ها و توابع: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "برای تمام پارامترهای یک تابع باید آرگومان ارائه شود",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "یک مقدار پیش فرض چه کاری انجام می دهد؟",
+ "answerOptions": [
+ {
+ "answerText": "مقدار صحیحی را تنظیم می کند",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "یک مقدار شروع برای یک پارامتر می دهد، بنابراین اگر یک آرگومان برای آن حذف کنید، کد شما همچنان رفتار می کند",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "هیچ کاربردی ندارد",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "عملکرد فلش چربی به شما این امکان را می دهد",
+ "answerOptions": [
+ {
+ "answerText": "ایجاد توابع سنگین",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "کلمه کلیدی تابع را حذف کنید",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "یک تابع ناشناس ایجاد کنید",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 11,
+ "title": "درس 6 - مبانی جاوا اسکریپت - تصمیم گیری: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "عملگر زیر == فراخوانی می شود",
+ "answerOptions": [
+ {
+ "answerText": "برابری",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "برابری شدید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "وظیفه",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "مقایسه در جاوا اسکریپت کدام نوع را برمی گرداند؟",
+ "answerOptions": [
+ {
+ "answerText": "boolean",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "null",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "string",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "! نماد در جاوا اسکریپت به این معنی است:",
+ "answerOptions": [
+ {
+ "answerText": "منطقی نه",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "مهم",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "برابر است",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 12,
+ "title": "درس 6 - مبانی جاوا اسکریپت - تصمیم گیری: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "کد زیر چه چیزی را برمی گرداند: '1' == 1",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "null",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "کد زیر چه چیزی را برمی گرداند: '1' === 1",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "null",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "عملگر صحیح را برای بیان منطق "یا" انتخاب کنید",
+ "answerOptions": [
+ {
+ "answerText": "a | b",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "a || b",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "a or b",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 13,
+ "title": "درس 7 - مبانی جاوا اسکریپت - آرایه ها و حلقه ها: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "برای ارجاع به یک آیتم خاص در یک آرایه، از a استفاده کنید",
+ "answerOptions": [
+ {
+ "answerText": "براکت مربع []",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "فهرست مطالب",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "آکولاد {}",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "چگونه می توان تعداد آیتم های یک آرایه را بدست آورد؟",
+ "answerOptions": [
+ {
+ "answerText": "روش 'len(array)'",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "اندازه ویژگی روی آرایه",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "ویژگی length در آرایه",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "در جاوا اسکریپت، ایندکس ها با شروع شروع می شوند",
+ "answerOptions": [
+ {
+ "answerText": "0",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "1",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "2",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 14,
+ "title": "درس 7 - مبانی جاوا اسکریپت - آرایه ها و حلقه ها: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "چه بخشی از یک حلقه for را باید تغییر دهید تا تکرار آن 5 افزایش یابد؟",
+ "answerOptions": [
+ {
+ "answerText": "وضعیت",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "پیشخوان",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "تکرار-بیان",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "تفاوت بین while و for-loop چیست؟",
+ "answerOptions": [
+ {
+ "answerText": "یک حلقه for دارای شمارنده و تکرار-عبارت است که در آن while فقط یک شرط دارد",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "A while دارای یک شمارنده و عبارت تکراری است که در آن حلقه for فقط یک شرط دارد",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "آنها یکسان هستند، فقط یک نام مستعار برای یکدیگر",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "با توجه به کد (بگذارید i=1; i < 5; i++)، چند تکرار انجام دهد؟",
+ "answerOptions": [
+ {
+ "answerText": "5",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "4",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 15,
+ "title": "درس 8 - پروژه تراریوم - مقدمه ای بر HTML: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "HTML مخفف عبارت HyperText Mockup Language است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "همه تگ های HTML به هر دو تگ باز و بسته نیاز دارند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "استفاده از نشانه گذاری معنایی بسیار مهم است",
+ "answerOptions": [
+ {
+ "answerText": "خوانایی کد",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "صفحه خوان ها",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "maintenance",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 16,
+ "title": "درس 8 - پروژه تراریوم - مقدمه ای بر HTML: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "Span ها و Div ها قابل تعویض هستند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "سر یک سند HTML می تواند شامل موارد زیر باشد:",
+ "answerOptions": [
+ {
+ "answerText": "برچسب عنوان",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "فراداده",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "همه موارد بالا",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "شما نمی توانید از برچسب های منسوخ شده در نشانه گذاری خود استفاده کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false, اما آنها به دلایل خوبی منسوخ شده اند",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 17,
+ "title": "درس 9 - پروژه تراریوم - مقدمه ای بر CSS: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "عناصر HTML باید دارای یک کلاس یا یک شناسه برای استایل دهی شوند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "CSS مخفف عبارت Complete Style Sheets است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "از CSS می توان برای ساخت انیمیشن استفاده کرد",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 18,
+ "title": "درس 9 - پروژه تراریوم - مقدمه ای بر CSS: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "می توانید CSS را مستقیماً در قسمت head فایل HTML خود بنویسید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "همیشه لازم است که CSS را در برنامه خود قرار دهید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false, اما اگر می خواهید خوب به نظر برسد احتمالاً به CSS نیاز دارید",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "از کدام ابزار مرورگر می توان برای بررسی CSS استفاده کرد؟",
+ "answerOptions": [
+ {
+ "answerText": "عناصر",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "سبک ها",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "شبکه",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 19,
+ "title": "درس 10 - پروژه تراریوم - دستکاری DOM و بسته شدن: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "DOM مخفف Document Object Management است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "DOM را می توان به عنوان یک درخت در نظر گرفت",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "با استفاده از Web API، می توانید DOM را دستکاری کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 20,
+ "title": "درس 10 - پروژه تراریوم - دستکاری DOM و بسته شدن: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "DOM مدلی برای نمایش یک سند در وب است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "از بسته های جاوا اسکریپت برای انجام موارد زیر استفاده کنید:",
+ "answerOptions": [
+ {
+ "answerText": "توابع را در توابع بنویسید",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "DOM را محصور کنید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "بستن بلوک های اسکریپت",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "جای خالی را پر کنید: بسته شدن زمانی مفید است که یک یا چند تابع نیاز به دسترسی به یک تابع بیرونی دارند...",
+ "answerOptions": [
+ {
+ "answerText": "آرایه ها",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "محدوده",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "کارکرد",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 21,
+ "title": "درس 11 - بازی تایپ: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "برنامه نویسی رویداد محور زمانی است که یک کاربر",
+ "answerOptions": [
+ {
+ "answerText": "روی یک دکمه کلیک می کند",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "یک مقدار را تغییر می دهد",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "با صفحه تعامل دارد",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "هر یک از موارد فوق",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "در برنامه نویسی رویه ای، توابع نامیده می شوند",
+ "answerOptions": [
+ {
+ "answerText": "هر زمان",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "به ترتیب خاصی",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "چپ به راست",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "روش جهانی ارائه شده در DOM برای ثبت کنترل کننده رویداد نامیده می شود",
+ "answerOptions": [
+ {
+ "answerText": "addEventListener",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "addListener",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "addEvent",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 22,
+ "title": "درس 11 - بازی تایپ: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "تقریباً هر کاری که کاربر در یک صفحه انجام می دهد، یک رویداد را مطرح می کند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "رویدادهای رایج شامل",
+ "answerOptions": [
+ {
+ "answerText": "click_event",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "select_event",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "input_event",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "همه اینها",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "می توانید از توابع ناشناس برای ایجاد کنترل کننده رویداد استفاده کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 23,
+ "title": "درس 12 - پروژه توسعه مرورگر - همه چیز درباره مرورگرها: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "شما می توانید پسوندهای مرورگر را از",
+ "answerOptions": [
+ {
+ "answerText": "والمارت",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "فروشگاه افزونه مرورگر",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "فروشگاه App",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "NPM مخفف",
+ "answerOptions": [
+ {
+ "answerText": "Node Package Manager",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "Netscape Primary Mix",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "Natural Processing Manager",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "مرورگر شما می تواند صفحات وب را هم به صورت ایمن و هم ناامن ارائه دهد",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 24,
+ "title": "درس 12 - پروژه توسعه مرورگر - همه چیز درباره مرورگرها: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "شبکه جهانی وب توسط اختراع شد",
+ "answerOptions": [
+ {
+ "answerText": "Tom Barnard-Loft",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "Tim Berners-Lee",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "Trish Berth-Pool",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "اولین مرورگر نامیده شد",
+ "answerOptions": [
+ {
+ "answerText": "WorldWideWeb",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "Mozilla",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "Netscape",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "مرورگرها می توانند تاریخچه مرور کاربر را ذخیره کنند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 25,
+ "title": "درس 13 - پروژه افزونه مرورگر - فراخوانی یک API، استفاده از فضای ذخیرهسازی محلی: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "API ها مخفف هستند",
+ "answerOptions": [
+ {
+ "answerText": "رابط های برنامه نویسی کاربردی",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "یک استنتاج برنامه نویسی",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "ضد نیت های اثبات شده",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "از یک API برای تعامل استفاده کنید",
+ "answerOptions": [
+ {
+ "answerText": "یکی دیگر از دارایی های متصل به وب",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "یک پایگاه داده",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "هر یک از موارد بالا",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "هر کسی می تواند یک API ایجاد کند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 26,
+ "title": "درس 13 - پروژه افزونه مرورگر - فراخوانی یک API، استفاده از فضای ذخیرهسازی محلی: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "هر بار که پنجره مرورگر را ببندید LocalStorage پاک می شود",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "هر بار که پنجره مرورگر را ببندید LocalStorage پاک می شود",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "REST در یک زمینه API مخفف آن است",
+ "answerOptions": [
+ {
+ "answerText": "انتقال دولتی نمایندگی",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "بازگشت وظایف دولت",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "رندر حالت به مرورگر",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 27,
+ "title": "درس 14 - پروژه توسعه مرورگر - در مورد وظایف پس زمینه و عملکرد بیاموزید: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "عملکرد اپلیکیشن خود را تست کنید",
+ "answerOptions": [
+ {
+ "answerText": "استفاده از ابزارهای مرورگر",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "استفاده از مرورگر با استفاده از بسته های نرم افزاری جداگانه",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "به صورت دستی",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": ""عملکرد" یک وب سایت تجزیه و تحلیل است",
+ "answerOptions": [
+ {
+ "answerText": "How fast it loads",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "کد روی آن چقدر سریع اجرا می شود",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "هر دو مورد بالا",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "به طور کلی، "وزن" صفحات وب در چند سال گذشته بوده است",
+ "answerOptions": [
+ {
+ "answerText": "سبک تر شد",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "سنگین تر شد",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "همینطور ماند",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 28,
+ "title": "درس 14 - پروژه توسعه مرورگر - در مورد وظایف پس زمینه و عملکرد بیاموزید: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "برای اینکه دید بهتری از عملکرد سایت خود داشته باشید، حافظه پنهان آن را پاک کرده و در پروفایلر بارگذاری مجدد کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "پسوندهای مرورگر ذاتا کارایی دارند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "موارد زیر را برای تنگناهای عملکرد تجزیه و تحلیل کنید",
+ "answerOptions": [
+ {
+ "answerText": "پیمایش های DOM",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "بهینه سازی جاوا اسکریپت",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "مدیریت دارایی",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "همه موارد بالا",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 29,
+ "title": "درس 15 - بازی فضایی - مقدمه: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "جاوا اسکریپت یک زبان غیرمحبوب برای ساخت بازی است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "Pub/Sub یک الگوی ترجیحی برای مدیریت دارایی ها و جریان بازی است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "وراثت شی را می توان با استفاده از کلاس ها یا ترکیب انجام داد",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 30,
+ "title": "درس 15 - بازی فضایی - مقدمه: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "طبقات برای نسبت دادن به رفتارها به وراثت متکی هستند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "ترکیب، الگوی طراحی ترجیحی برای اشیاء بازی است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "Pub/Sub مخفف:",
+ "answerOptions": [
+ {
+ "answerText": "Publish/Subscribe",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "Print/Staple",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "Publish/Sanitize",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 31,
+ "title": "درس 16 - بازی فضایی - قرعه کشی قهرمان و هیولا روی بوم: مسابقه قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "عنصر Canvas چیزی است که برای ترسیم روی صفحه استفاده می کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "شما فقط می توانید اشکال هندسی ساده را با استفاده از Canvas API ترسیم کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "نقطه 0.0 در پایین سمت چپ است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 32,
+ "title": "درس 16 - بازی فضایی - قرعه کشی قهرمان و هیولا روی بوم: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "می توانید عملیات طراحی را مستقیماً روی بوم انجام دهید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "شما به رویداد onload گوش می دهید تا بدانید چه زمانی یک تصویر به صورت ناهمزمان بارگیری شده است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "شما با عملیاتی به نام تصاویر را روی یک صفحه می کشید:",
+ "answerOptions": [
+ {
+ "answerText": "paintImage()",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "drawImage()",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "draw()",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 33,
+ "title": "درس 17 - بازی فضایی - اضافه کردن حرکت: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "هر شی روی صفحه می تواند رویدادهای صفحه کلید را دریافت کند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "می توانید از همین روش برای گوش دادن به رویدادهای کلیدی و رویدادهای ماوس استفاده کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "برای اینکه همه چیز در یک بازه زمانی منظم اتفاق بیفتد، از چه تابعی استفاده می کنید؟",
+ "answerOptions": [
+ {
+ "answerText": "setInterval()",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "setTimeout()",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "sleep()",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 34,
+ "title": "Lesson 17 - Space Game - Adding Motion: Post-Lecture Quiz",
+ "quiz": [
+ {
+ "questionText": "Lesson 17 - Space Game - Adding Motion: Post-Lecture Quiz",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "حلقه بازی چیست؟",
+ "answerOptions": [
+ {
+ "answerText": "عملکردی که تضمین می کند بازی می تواند دوباره راه اندازی شود",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "عملکردی که تعیین می کرد بازی چقدر باید اجرا شود",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "تابعی که در فواصل زمانی معین فراخوانی می شود و آنچه را که کاربر باید ببیند ترسیم می کند",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "یک مورد خوب برای طراحی مجدد صفحه نمایش است",
+ "answerOptions": [
+ {
+ "answerText": "یک تعامل کاربر اتفاق افتاد",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "چیزی حرکت کرده است",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "زمان گذشت",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 35,
+ "title": "درس 18 - بازی فضایی - اضافه کردن لیزر و تشخیص برخورد: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "تشخیص برخورد نحوه برخورد دو چیز است",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "چگونه می توانیم یک مورد را از صفحه نمایش حذف کنیم؟",
+ "answerOptions": [
+ {
+ "answerText": "با زباله جمع کن تماس بگیر",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "آن را بهعنوان مرده علامتگذاری کنید، دفعه بعد که صفحه را کشیدیم فقط اشیاء مرده را رنگ کنید",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "مورد را روی یک مختصات منفی قرار دهید",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "یک راه خوب برای شبیه سازی پرتاب لیزر در جاوا اسکریپت این است:",
+ "answerOptions": [
+ {
+ "answerText": "یک عنصر بصری را به یک رویداد کلیدی پاسخ دهد",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "گیف های متحرک بسازید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "دشمنان را در فواصل زمانی منفجر کنید",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 36,
+ "title": "درس 18 - بازی فضایی - اضافه کردن لیزر و تشخیص برخورد: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "در تشخیص برخورد شما دو مورد را با هم مقایسه می کنید",
+ "answerOptions": [
+ {
+ "answerText": "دایره ها و اینکه آیا آنها تلاقی می کنند یا خیر",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "مستطیل ها و اینکه آیا آنها همدیگر را قطع می کنند",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "فاصله بین دو نقطه",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "دلیل اجرای یک افکت خنک کننده به این دلیل است",
+ "answerOptions": [
+ {
+ "answerText": "بازی را سخت تر می کند زیرا نمی توانید به طور مکرر لیزر را برای از بین بردن دشمنان شلیک کنید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "جاوا اسکریپت فقط می تواند تعداد معینی رویداد را در واحد زمان تولید کند، بنابراین باید آنها را محدود کنید",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "ثابت ها در کد قابل شناسایی هستند زیرا",
+ "answerOptions": [
+ {
+ "answerText": "با حروف بزرگ نوشته می شوند",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "اسامی خاصی دارند",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "به این شکل در کباب نوشته شده اند",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 37,
+ "title": "درس 19 - بازی فضایی - امتیازدهی و زندگی: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "چگونه با استفاده از عنصر Canvas، متنی را بر روی صفحه میکشیم؟",
+ "answerOptions": [
+ {
+ "answerText": "متن را در یک عنصر div یا span قرار دهید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "() drawText را در عنصر Canvas فراخوانی کنید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "FillText() را در شیء متن فراخوانی کنید",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "چرا مفهوم "زندگی" را در یک بازی دارید؟",
+ "answerOptions": [
+ {
+ "answerText": "برای اینکه نشان دهید چقدر می توانید خسارت وارد کنید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "به طوری که بازی بلافاصله تمام نمی شود، اما قبل از پایان بازی n تعداد فرصت دارید",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "با استفاده از بوم به متن رنگ اضافه کنید",
+ "answerOptions": [
+ {
+ "answerText": "fillColor",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "fillStyle",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "textAlign",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 38,
+ "title": "درس 19 - بازی فضایی - امتیازدهی و زندگی: آزمون بعد از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "یک راه سرگرم کننده برای نشان دادن چند زندگی از یک بازیکن چیست؟",
+ "answerOptions": [
+ {
+ "answerText": "تعدادی کشتی",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "یک سیستم امتیازی",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "چگونه متن را با استفاده از عنصر Canvas در وسط صفحه قرار می دهید؟",
+ "answerOptions": [
+ {
+ "answerText": "شما از Flexbox استفاده می کنید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "شما دستور می دهید که متن در مختصات x عرض پنجره مشتری رسم شود",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "شما ویژگی textAlign را روی مرکز ارزش در شیء زمینه تنظیم می کنید",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "در کد، یک زندگی مانند این را کسر کنید:",
+ "answerOptions": [
+ {
+ "answerText": "this.life-",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "this.life--",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "this.life++",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 39,
+ "title": "درس 20 - بازی فضایی - پایان و شروع مجدد: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "چه زمانی زمان مناسبی برای شروع مجدد بازی است",
+ "answerOptions": [
+ {
+ "answerText": "زمانی که یک بازیکن برنده یا می بازد",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "هر گاه",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "کی باید یک بازی تمام شود",
+ "answerOptions": [
+ {
+ "answerText": "زمانی که یک کشتی دشمن منهدم می شود",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "وقتی یک کشتی قهرمان نابود می شود",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "وقتی امتیاز جمع می شود",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "یک راه خوب برای اضافه کردن یک سطح به بازی خود این است:",
+ "answerOptions": [
+ {
+ "answerText": "مقدار امتیاز لازم برای تکمیل یک سطح مشخص را افزایش دهید",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "بازیکنان بیشتری را به بازی اضافه کنید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "گرافیک بیشتری به بازی اضافه کنید",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 40,
+ "title": "درس 20 - بازی فضایی - پایان و شروع مجدد: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "وقتی شرط پایان بازی برآورده شد، چه الگویی مناسب برای استفاده است؟",
+ "answerOptions": [
+ {
+ "answerText": "نمایش یک پیام مناسب",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "دست از بازی بردارید",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "یک پیام مناسب را نمایش دهید، به پخش کننده پیشنهاد دهید که مجدداً راه اندازی شود، و نمایش دهید که چه کلیدی را برای آن عمل بزند",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "شما باید فقط زمانی که بازی به پایان رسیده است، راه اندازی مجدد ارائه دهید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "یک راه خوب برای پاک کردن EventEmitter هنگام پایان دادن به بازی این است:",
+ "answerOptions": [
+ {
+ "answerText": "پاک کردن شنوندگان",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "پاک کردن شنوندگان",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "بستن پنجره بازی",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 41,
+ "title": "درس 21 - پروژه بانک - الگوهای HTML و مسیرها در یک برنامه وب: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "برای نمایش صفحات مختلف در یک برنامه وب باید چندین فایل HTML ایجاد کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "میتوانید دادهها را به صورت محلی در یک برنامه وب ذخیره و نگهداری کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "بهترین ارائه دهنده داده برای یک برنامه وب چیست؟",
+ "answerOptions": [
+ {
+ "answerText": "یک پایگاه داده محلی",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "یک شی جاوا اسکریپت",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "سروری با JSON API",
+ "isCorrect": "true"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 42,
+ "title": "درس 21 - الگوهای HTML پروژه بانک و مسیرها در یک برنامه وب: آزمون پس از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "قالب های HTML به طور پیش فرض بخشی از DOM هستند",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "کدام قسمت از URL برای مسیریابی مورد نیاز است؟",
+ "answerOptions": [
+ {
+ "answerText": "window.location.pathname",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "window.location.origin",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "both",
+ "isCorrect": "true"
+ }
+ ]
+ },
+ {
+ "questionText": "نام رویدادی که هنگام فراخوانی تابع history.pushState() راه اندازی می شود چیست؟",
+ "answerOptions": [
+ {
+ "answerText": "pushstate",
+ "isCorrect": "false"
+ },
+ {
+ "answerText": "popstate",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "navigate",
+ "isCorrect": "false"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "id": 43,
+ "title": "درس 22 - پروژه بانک - ساخت فرم ورود و ثبت نام: آزمون قبل از سخنرانی",
+ "quiz": [
+ {
+ "questionText": "فرمهای HTML به شما امکان میدهند ورودی کاربر را بدون استفاده از جاوا اسکریپت به سرور ارسال کنید",
+ "answerOptions": [
+ {
+ "answerText": "true",
+ "isCorrect": "true"
+ },
+ {
+ "answerText": "false",
+ "isCorrect": "false"
+ }
+ ]
+ },
+ {
+ "questionText": "عناصر