Merge branch 'main' into patch-5

pull/1038/head
SmashedFrenzy16 3 years ago committed by GitHub
commit b7c79e4374
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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

@ -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
@ -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.

@ -5,7 +5,9 @@ Esta lección cubre los conceptos básicos de los lenguajes de programación. Lo
![Intro Programming](/sketchnotes/webdev101-programming.png)
> 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)

@ -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)

@ -5,13 +5,13 @@ Esta lección cubre los conceptos básicos de GitHub, una plataforma para alojar
![Introducción a GitHub](/sketchnotes/webdev101-github.png)
> 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
>
> [![Video de los conceptos básicos de Git y GitHub](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](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
>
> [![Video de los conceptos básicos de Git y GitHub](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](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/).
![Copia un repositorio localmente](../images/clone_repo.png)
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)

@ -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

@ -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

@ -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) द्वारा ♥️ से लिखा गया था

@ -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`। बूलियंस निर्णय लेने में मदद कर सकते हैं कि किन शर्तों को पूरा करने पर कोड की लाइनें चलनी चाहिए। कई मामलों में, [ऑपरेटर](#अंकगणितीय-आपरेटर) एक बूलियन का मूल्य निर्धारित करने में सहायता करते हैं और आप अक्सर वैरिएबल या उनके मूल्यों को एक ऑपरेटर के साथ अपडेट किए जाने पर ध्यान देंगे और लिखेंगे।

@ -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 |

@ -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 |

@ -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

@ -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

@ -4,10 +4,10 @@ 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)
### Благодарность

@ -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)
![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 `<div>`
Una etiqueta html que no necesita una etiqueta de cierre es la etiqueta `<img>`, 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:

@ -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

@ -1,13 +1,13 @@
# Terrarium Project Part 3: DOM Manipulación y cierre
! [DOM y un cierre](/sketchnotes/webdev101-js.png)
![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.
![DOM tree representation](../images/dom-tree.png)
> 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?

@ -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)

@ -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

@ -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") {

@ -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.
[![Arrow Functions](https://img.youtube.com/vi/JiXY9wlqUxQ/0.jpg)](https://youtube.com/watch?v=JiXY9wlqUxQ "Arrow Functions")

@ -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. |

@ -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

@ -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. |

@ -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.

@ -6,7 +6,7 @@
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`

@ -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.
<!----
TODO: add an optional image
@ -39,7 +39,7 @@ Once it loads, it should look similar to this image:
There are three main sections, starting from the far left and moving to the right:
1. The _activity bar_ which includes some icons, like the magnifying glass 🔎, the gear ⚙️ and a few others
1. The _activity bar_ which includes some icons, like the magnifying glass 🔎, the gear ⚙️, and a few others
1. The expanded activity bar which defaults to the _Explorer_, called the _side bar_.
1. And finally, the code area to the right.
@ -95,7 +95,7 @@ Select a file to open it on the code area, make your changes and save.
Once you are done updating your project, select the _`source control`_ icon which contains all the new changes you have made to your repository.
To view the changes you made to your project, select the file(s) in the `Changes` folder in the expanded activity bar. This will open a 'Working Tree' for you to visually see the changes you made to the file. Red shows an ommission to the project, while green signifies an addition.
To view the changes you made to your project, select the file(s) in the `Changes` folder in the expanded activity bar. This will open a 'Working Tree' for you to visually see the changes you made to the file. Red shows an omission to the project, while green signifies an addition.
![View changes](../images/working-tree.png)

@ -0,0 +1,161 @@
# Utilisation d'un éditeur de code
Cette leçon couvre les bases de l'utilisation de [VSCode.dev](https://vscode.dev), un éditeur de code pour le Web qui vous permet d'apporter des modifications à votre code et de contribuer à un projet sans installer quoi que ce soit sur votre ordinateur.
<!----
TODO : ajouter une image optionnelle
![Utilisation d'un éditeur de code](../../sketchnotes/webdev101-vscode-dev.png)
> Sketchnote par [Nom de l'auteur](https://example.com)
---->
<!---
## Quiz pré-lecture
[Quiz pré-lecture](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/3)
---->
## 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 :
![VSCode.dev par défaut](../images/default-vscode-dev.png)
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"_ :
![Ouvrir un répertoire distant](../images/open-remote-repository.png)
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).
![Menu Palette](../images/palette-menu.png)
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.
![Créer un nouveau fichier](../images/create-new-file.png)
### 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.
![Modifier un fichier](../images/edit-a-file.png)
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.
![Voir les modifications](../images/working-tree.png)
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.
![Stage & commit changes](../images/edit-vscode.dev.gif)
## 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**.
![Détails de l'extension](../images/extension-details.png)
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`_.
![Voir les extensions](../images/extensions.png)
### 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.
![Installer les extensions](../images/install-extension.gif)
### 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_.
![Modifier les paramètres de l'extension](../images/extension-settings.png)
### 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)
<!----
## Quiz post-conférence
[Quiz post-lecture](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/4)
---->
## 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.

@ -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.

@ -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.
[![Promo video](images/web.gif)](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

@ -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**

@ -0,0 +1,51 @@
# [Sujet de la Leçon]
![Vidéo intégrée ici](url-de-la-vidéo)
## [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)

@ -0,0 +1,9 @@
# [Nom de la Mission]
## Instructions
## Rubrique
| Critère | Exemplaire | Adéquat | A Améliorer |
| ------- | ---------- | ------- | ----------- |
| | | | |

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 438 KiB

@ -0,0 +1,111 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
# توسعه وب برای مبتدیان - یک برنامه درسی
آژوره کلود آدوکتس در مایکروسافت از ارائه یک برنامه درسی 12 هفته ای 24 درس در مورد مبانی جاوا اسکریپت، سی اس اس و اچ تی ام ال خوشحالند. هر درس شامل آزمون های قبل و بعد از درس، دستورالعمل های مکتوب برای تکمیل درس، یک راه حل، یک تکلیف و موارد دیگر است. آموزش مبتنی بر پروژه ما به شما امکان می دهد در حین ساختن یاد بگیرید، راهی ثابت شده برای "چسبیدن" مهارت های جدید.
از نویسندگانمان جن لوپر، کریس نورینگ، کریستوفر هریسون، جاسمین گریناوی، یوهان لاسورسا، فلور دریس، و تومومی ایمورا، نویسندگان ما صمیمانه تشکر می‌کنیم!
**از نویسندگانمان، جن لوپر، کریس نورینگ، کریستوفر هریسون، جاسمین گریناوی، یوهان لاسورسا، فلور دریس و تومومی ایمورا، نویسندگان ما صمیمانه تشکر می‌کنیم!**
# شما دانش آموز هستید؟
با منابع زیر شروع کنید:
- [Student Hub page](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-13441-cxa) در این صفحه، منابع مبتدی، بسته های دانشجویی و حتی راه های دریافت کوپن گواهی رایگان را خواهید یافت. این صفحه‌ای است که می‌خواهید هر چند وقت یک‌بار به عنوان نشانه‌گذاری و بررسی کنید، زیرا ما حداقل ماهانه محتوا را تغییر می‌دهیم
- [Microsoft Student Learn ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-13441-cxa) به یک جامعه جهانی از سفیران دانشجو بپیوندید، این می تواند راه شما برای ورود به مایکروسافت باشد
# شروع شدن
> **معلمان** [شامل چند پیشنهاد](for-teachers.md) داریم در مورد نحوه استفاده از این برنامه درسی. [در انجمن بحث ما](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **[دانش آموزان](https://aka.ms/student-page)**, برای استفاده از این برنامه درسی به تنهایی، کل مخزن را چنگال کنید و تمرینات را به تنهایی کامل کنید، با یک مسابقه قبل از سخنرانی شروع کنید، سپس سخنرانی را بخوانید و بقیه فعالیت ها را تکمیل کنید. سعی کنید پروژه ها را با درک درس ها به جای کپی کردن کد راه حل ایجاد کنید. با این حال، این کد در پوشه های /solutions در هر درس پروژه محور موجود است. ایده دیگر این است که یک گروه مطالعه با دوستان تشکیل دهید و مطالب را با هم مرور کنید. برای مطالعه بیشتر توصیه می کنیم [مايكروسافت لرن](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81?WT.mc_id=academic-13441-cxa) و با تماشای فیلم های ذکر شده در زیر.
[![Promo video](images/web.gif)](https://youtube.com/watch?v=R1wrdtmBSII)
گیف توسط [موهیت جیسال](https://linkedin.com/in/mohitjaisal)
> 🎥 برای دریافت ویدیویی در مورد پروژه و افرادی که آن را ایجاد کرده اند، روی تصویر بالا کلیک کنید!
## آموزش و پرورش
ما در هنگام ساختن این برنامه درسی دو اصل آموزشی را انتخاب کرده ایم: اطمینان از پروژه محور بودن آن و اینکه شامل آزمون های مکرر است. تا پایان این مجموعه، دانش‌آموزان یک بازی تایپ، یک تراریوم مجازی، یک افزونه مرورگر سبز، یک بازی از نوع مهاجمان فضایی و یک برنامه بانکی از نوع کسب‌وکار خواهند ساخت و اصول جاوا اسکریپت را یاد خواهند گرفت. ، اچ تی ام ال و سی اس اس به همراه زنجیره ابزار مدرن توسعه دهندگان وب امروزی.
> 🎓 شما می توانید چند درس اول این برنامه درسی را در مایکروسافت لرن به عنوان یک [مسیر یادگیری](https://docs.microsoft.com/learn/paths/web-development-101?WT.mc_id=academic-13441-cxa)
بخوانید.
با حصول اطمینان از همسویی محتوا با پروژه ها، این فرآیند برای دانش آموزان جذاب تر می شود و حفظ مفاهیم تقویت می شود. ما همچنین چندین درس ابتدایی در مبانی جاوا اسکریپت نوشتیم تا مفاهیم را معرفی کنیم، همراه با ویدئو از "[سری مبتدیان به: جاوا اسکریپت](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript?WT.mc_id=academic-13441-cxa)" مجموعه ای از آموزش های ویدئویی که برخی از نویسندگان آن در این برنامه درسی مشارکت داشته اند.
علاوه بر این، یک مسابقه کم هزینه قبل از کلاس، قصد دانش آموز را برای یادگیری یک موضوع تعیین می کند، در حالی که آزمون دوم بعد از کلاس، حفظ بیشتر را تضمین می کند. این برنامه درسی به گونه ای طراحی شده است که انعطاف پذیر و سرگرم کننده باشد و می تواند به طور کامل یا جزئی انجام شود. پروژه ها کوچک شروع می شوند و در پایان چرخه 12 هفته ای به طور فزاینده ای پیچیده می شوند.
در حالی که ما عمداً از معرفی فریمورک‌های جاوا اسکریپت خودداری کرده‌ایم تا بر مهارت‌های اساسی مورد نیاز به‌عنوان یک توسعه‌دهنده وب قبل از اتخاذ یک چارچوب تمرکز کنیم، گام بعدی خوب برای تکمیل این برنامه درسی، یادگیری در مورد Node.js از طریق مجموعه‌ای دیگر از ویدیوها است : "[سری مبتدی به: نود جی اس](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs?WT.mc_id=academic-13441-cxa)".
> ما را پیدا کنید [کد رفتار](CODE_OF_CONDUCT.md), [کمک کردن](CONTRIBUTING.md), و [ترجمه](TRANSLATIONS.md) دستورالعمل ها. ما از بازخورد سازنده شما استقبال می کنیم!
## هر درس شامل:
- طرحی اختیاری
- ویدیوی تکمیلی اختیاری
- مسابقه گرم کردن قبل از درس
- درس نوشتاری
- برای درس های پروژه محور، راهنمای گام به گام نحوه ساخت پروژه
- بررسی دانش
- یک چالش
- خواندن تکمیلی
- وظیفه
- مسابقه بعد از درس
> ** نکته ای در مورد آزمون ها **: همه آزمون ها [در این برنامه](https://ashy-river-0debb7803.1.azurestaticapps.net/?loc=fa) موجود است, برای 48 آزمون مجموع سه سوال هر کدام. آنها از داخل درس ها پیوند داده شده اند، اما برنامه مسابقه می تواند به صورت محلی اجرا شود. دستورالعمل موجود در پوشه «کویز-برنامه» را دنبال کنید. آنها به تدریج در حال بومی سازی هستند.
## درس ها
| | نام پروژه | مفاهیم تدریس شده | اهداف یادگیری | درس مرتبط | نویسنده |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | شروع شدن | مقدمه ای بر برنامه نویسی و ابزارهای تجارت | زیربنای اساسی بیشتر زبان های برنامه نویسی و نرم افزاری را بیاموزید که به توسعه دهندگان حرفه ای کمک می کند کارهای خود را انجام دهند | [مقدمه ای بر زبان های برنامه نویسی و ابزارهای تجارت](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | جزمین |
| 02 | شروع شدن | اصول گیت هاب شامل کار با یک تیم است | نحوه استفاده از گیت هاب در پروژه خود، نحوه همکاری با دیگران بر اساس کد | [معرفی گیت هاب](/1-getting-started-lessons/2-github-basics/README.md) | فلور |
| 03 | شروع شدن | دسترسی | اصول دسترسی به وب را بیاموزید | [مبانی دسترسی](/1-getting-started-lessons/3-accessibility/README.md) | کریستفر |
| 04 | اصول جی اس | انواع داده جاوا اسکریپت | اصول اولیه انواع داده جاوا اسکریپت | [انواع داده ها](/2-js-basics/1-data-types/README.md) | جزمین |
| 05 | اصول جی اس | توابع و روش ها | با توابع و روش های مدیریت جریان منطقی برنامه آشنا شوید | [توابع و روش ها](/2-js-basics/2-functions-methods/README.md) | جزمین و کریستوفر |
| 06 | اصول جی اس | تصمیم گیری با جی اس | بیاموزید که چگونه با استفاده از روش های تصمیم گیری در کد خود شرایط ایجاد کنید | [تصمیم گیری](/2-js-basics/3-making-decisions/README.md) | جزمین |
| 07 | اصول جی اس | آرایه ها و حلقه ها | با داده ها با استفاده از آرایه ها و حلقه ها در جاوا اسکریپت کار کنید | [آرایه ها و حلقه ها](/2-js-basics/4-arrays-loops/README.md) | جزمین |
| 08 | [تراریوم](/3-terrarium/solution/README.md) | اچ تی ام ال در عمل | کد اچ تی ام ال را به صورت آنلاین بسازید، با تمرکز بر روی ایجاد یک صفحه بزرگ | [مقدمه ای بر اچ تی ام ال](/3-terrarium/1-intro-to-html/README.md) | جن |
| 09 | [تراریوم](/3-terrarium/solution/README.md) | سی اس اس در عمل | ساخت سی اس اس برای سبک تراریوم آنلاین، با تمرکز بر اصول اولیه سی اس اس از جمله پاسخگو بودن صفحه | [مقدمه ای بر سی اس اس](/3-terrarium/2-intro-to-css/README.md) | جن || 10 | [تراریوم](/3-terrarium/solution/README.md) | بسته شدن جاوا اسکریپت، دستکاری دام | جاوا اسکریپت را بسازید تا تراریوم به عنوان یک رابط کشیدن و رها کردن، با تمرکز بر بسته شدن و دستکاری دام عمل کند. | [بسته شدن جاوا اسکریپت، دستکاری دام](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | جن |
| 11 | [بازی تایپ](/4-typing-game/solution/README.md) | یک بازی تایپ بسازید | با نحوه استفاده از رویدادهای صفحه کلید برای هدایت منطق برنامه جاوا اسکریپت خود آشنا شوید | [برنامه نویسی رویداد محور](/4-typing-game/typing-game/README.md) | کریستوفر |
| 12 | [پسوند مرورگر سبز](/5-browser-extension/solution/README.md) | کار با مرورگرها | با نحوه کار مرورگرها، تاریخچه آنها و نحوه ایجاد داربست در اولین عناصر یک برنامه افزودنی مرورگر آشنا شوید | [درباره مرورگرها](/5-browser-extension/1-about-browsers/README.md) | جن |
| 13 | [پسوند مرورگر سبز](/5-browser-extension/solution/README.md) | ساخت فرم، فراخوانی ای پی ای و ذخیره متغیرها در حافظه محلی | عناصر جاوا اسکریپت افزونه مرورگر خود را برای فراخوانی یک ای پی ای با استفاده از متغیرهای ذخیره شده در حافظه محلی بسازید | [ای پی ای، فرم‌ها و فضای ذخیره‌سازی محلی](/5-browser-extension/2-forms-browsers-local-storage/README.md) | جن |
| 14 | [پسوند مرورگر سبز](/5-browser-extension/solution/README.md) | فرآیندهای پس زمینه در مرورگر، عملکرد وب | از فرآیندهای پس‌زمینه مرورگر برای مدیریت نماد برنامه افزودنی استفاده کنید. در مورد عملکرد وب و برخی بهینه سازی هایی که باید انجام دهید بیاموزید | [وظایف و عملکرد پس زمینه](/5-browser-extension/3-background-tasks-and-performance/README.md) | جن |
| 15 | [بازی فضایی](/6-space-game/solution/README.md) | توسعه بازی پیشرفته تر با جاوا اسکریپت | با استفاده از کلاس‌ها و ترکیب و الگوی پاب/ساب، در آماده‌سازی برای ساختن یک بازی، درباره وراثت بیاموزید. | [مقدمه ای بر توسعه بازی پیشرفته](/6-space-game/1-introduction/README.md) | کریس |
| 16 | [بازی فضایی](/6-space-game/solution/README.md) | طراحی روی بوم | درباره کانواز ای پی ای که برای کشیدن عناصر به صفحه استفاده می شود، بیاموزید | [طراحی روی بوم](/6-space-game/2-drawing-to-canvas/README.md) | کریس |
| 17 | [بازی فضایی](/6-space-game/solution/README.md) | حرکت عناصر در اطراف صفحه نمایش | کشف کنید که چگونه عناصر می توانند با استفاده از مختصات دکارتی و کانواز ای پی ای حرکت کنند | [حرکت عناصر در اطراف](/6-space-game/3-moving-elements-around/README.md) | کریس |
| 18 | [بازی فضایی](/6-space-game/solution/README.md) | تشخیص برخورد | با استفاده از کلیدهای کلیدی، عناصر را با هم برخورد کرده و به یکدیگر واکنش نشان دهند و یک عملکرد خنک کننده برای اطمینان از عملکرد بازی ارائه دهید. | [تشخیص برخورد](/6-space-game/4-collision-detection/README.md) | کریس |
| 19 | [بازی فضایی](/6-space-game/solution/README.md) | حفظ امتیاز | محاسبات ریاضی را بر اساس وضعیت و عملکرد بازی انجام دهید | [حفظ امتیاز](/6-space-game/5-keeping-score/README.md) | کریس |
| 20 | [بازی فضایی](/6-space-game/solution/README.md) | پایان و شروع مجدد بازی | درباره پایان و شروع مجدد بازی، از جمله پاکسازی دارایی ها و بازنشانی مقادیر متغیر، اطلاعات کسب کنید | [شرط پایان](/6-space-game/6-end-condition/README.md) | کریس |
| 21 | [اپلیکیشن بانکداری](/7-bank-project/solution/README.md) | الگوها و مسیرهای اچ تی ام ال در یک برنامه وب | نحوه ایجاد داربست معماری یک وب سایت چند صفحه ای با استفاده از مسیریابی و قالب های اچ تی ام ال را بیاموزید | [الگوها و مسیرهای اچ تی ام ال](/7-bank-project/1-template-route/README.md) | یوهان |
| 22 | [اپلیکیشن بانکداری](/7-bank-project/solution/README.md) | یک فرم ورود و ثبت نام بسازید | در مورد ساخت فرم ها و روال های اعتبار سنجی ارائه اطلاعات کسب کنید | [فرم](/7-bank-project/2-forms/README.md) | یوهان |
| 23 | [اپلیکیشن بانکداری](/7-bank-project/solution/README.md) | روش های واکشی و استفاده از داده ها | چگونه داده ها به داخل و خارج از برنامه شما جریان می یابد، چگونه آن را واکشی کنید، ذخیره کنید، و از بین ببرید | [داده ها](/7-bank-project/3-data/README.md) | یوهان |
| 24 | [اپلیکیشن بانکداری](/7-bank-project/solution/README.md) | مفاهیم مدیریت دولتی | بیاموزید که چگونه برنامه شما حالت خود را حفظ می کند و چگونه آن را به صورت برنامه ریزی مدیریت کنید | [مدیریت ستیت](/7-bank-project/4-state-management/README.md) | یوهان |
## دسترسی آفلاین
با استفاده از [Docsify](https://docsify.js.org/#/) می توانید این اسناد را به صورت آفلاین اجرا کنید. این مخزن را در دستگاه محلی خود [نصب کنید Docsify](https://docsify.js.org/#/quickstart) و سپس در پوشه اصلی این مخزن، «docsify serve» را تایپ کنید. این وب سایت در پورت 3000 در لوکال هاست شما ارائه می شود: «localhost:3000».
## پی دی اف
پی دی اف تمام دروس را می توان یافت [اینجا](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)
## سایر برنامه های درسی
تیم ما برنامه های درسی دیگری تولید می کند! وارسی:
- [یادگیری ماشینی برای مبتدیان](https://aka.ms/ml-beginners)
- [اینترنت اشیا برای مبتدیان](https://aka.ms/iot-beginners)
- [علم داده برای مبتدیان](https://aka.ms/datascience-beginners)
- [هوش مصنوعی برای مبتدیان](https://aka.ms/ai-beginners)

@ -10,12 +10,23 @@
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
# शुरुआती के लिए वेब विकास - एक पाठ्यक्रम
# वेब डेवेलोपमेंट नौसीखियों के लिए - एक पाठ्यक्रम
Microsoft के Azure Cloud Advocates को 12-सप्ताह, 24-पाठ पाठ्यक्रम सभी JavaScript, सीएसएस और HTML मूल बातें प्रदान करने की कृपा है। प्रत्येक पाठ में पूर्व और बाद के पाठ क्विज़ शामिल हैं, पाठ को पूरा करने के लिए लिखित निर्देश, एक समाधान, एक असाइनमेंट और बहुत कुछ शामिल हैं। हमारी परियोजना-आधारित शिक्षाशास्त्र आपको निर्माण करते समय सीखने की अनुमति देता है, नए कौशल 'stick =' के लिए एक सिद्ध तरीका है।
Microsoft के Azure Cloud Advocates आपको प्रदान करती है 12-सप्ताह, 24-पाठ का पाठ्यक्रम जिसमें JavaScript, CSS और HTML की सभी मूल बातें हैं। प्रत्येक पाठ में पूर्व और बाद में पाठ क्विज़ शामिल हैं, पाठ को पूरा करने के लिए लिखित निर्देश, एक समाधान, एक असाइनमेंट और बहुत कुछ शामिल हैं। हमारी परियोजना-आधारित शिक्षाशास्त्र आपको निर्माण करते समय आपको एक नए कौशल को सीखने का मौका देती है।
**हमारे लेखकों जेन लूपर, क्रिस नॉरिंग, क्रिस्टोफर हैरिसन, जैस्मीन ग्रीनवे, योहान लसोरा, फ़्लोर ड्रीज़ और स्केचनोट कलाकार टोमोमी इमुरा को हार्दिक धन्यवाद!**
# क्या आप स्कूल में पढ़ते हैं?
निम्नलिखित संसाधनों के साथ आरंभ करें:
- [Student Hub page](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-13441-cxa)
इस पृष्ठ में, आपको शुरुआती संसाधन, छात्र पैक और यहां तक कि एक निःशुल्क प्रमाणपत्र वाउचर प्राप्त करने के तरीके भी मिलेंगे। यह एक ऐसा पृष्ठ है जिसे आप समय-समय पर बुकमार्क और जांचना चाहते हैं क्योंकि हम कम से कम मासिक सामग्री को बदलते हैं।
- [Microsoft Student Learn ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-13441-cxa) छात्रों के वैश्विक समुदाय में शामिल हों, यह Microsoft में आपका रास्ता हो सकता है।
# शुरू करना
> **शिक्षकों**, हमने इस पाठ्यक्रम का उपयोग करने के बारे में [कुछ सुझाव](for-teachers.hi.md) शामिल किए हैं। यदि आप अपना स्वयं का पाठ बनाना चाहते हैं, तो हमने एक [पाठ टेम्पलेट](lesson-template/translations/README.hi.md) भी शामिल किया है
> **छात्र**, अपने दम पर इस पाठ्यक्रम का उपयोग करने के लिए, पूरे रेपो को फोर्क करें और अपने दम पर अभ्यास पूरा करें, एक प्री-लेक्चर क्विज़ से शुरू करें, फिर लेक्चर को पढ़ें और बाकी गतिविधियों को पूरा करें। समाधान कोड को कॉपी करने के बजाय पाठों को समझकर परियोजनाओं को बनाने की कोशिश करें; हालाँकि यह कोड प्रत्येक प्रोजेक्ट-ओरिएंटेड पाठ में / समाधान फ़ोल्डर में उपलब्ध है। एक और विचार दोस्तों के साथ एक अध्ययन समूह बनाने और एक साथ सामग्री के माध्यम से जाने का होगा। आगे के अध्ययन के लिए, हम अनुशंसा करते हैं [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81/?WT.mc_id=academic-77807-sagibbon) और नीचे दिए गए वीडियो देखकर।
@ -24,13 +35,13 @@ Microsoft के Azure Cloud Advocates को 12-सप्ताह, 24-पा
> परियोजना के बारे में एक वीडियो और इसे बनाने वाले लोगों के लिए ऊपर की छवि पर क्लिक करें!
## शिक्षणशास्र
## शिक्षा शास्त्र
हमने इस पाठ्यक्रम का निर्माण करते समय दो शैक्षणिक सिद्धांतों को चुना है: यह सुनिश्चित करना कि यह परियोजना-आधारित है और इसमें बार-बार क्विज़ शामिल हैं। इस श्रृंखला के अंत तक, छात्रों ने एक टाइपिंग गेम, एक वर्चुअल टेरारियम, एक 'ग्रीन' ब्राउज़र एक्सटेंशन, एक 'स्पेस इनवेस्टर्स' टाइप गेम और एक बिजनेस-टाइप बैंकिंग ऐप बनाया होगा, और जावास्क्रिप्ट की मूल बातें सीखी होंगी। , आज के वेब डेवलपर के आधुनिक टूलचैन के साथ, HTML और सीएसएस।
हमने इस पाठ्यक्रम का निर्माण करते समय दो शैक्षणिक सिद्धांतों को चुना है: यह सुनिश्चित करना कि यह परियोजना-आधारित है और इसमें बार-बार क्विज़ शामिल हैं। इस श्रृंखला के अंत तक, छात्रों ने एक टाइपिंग गेम, एक वर्चुअल टेरारियम, एक 'ग्रीन' ब्राउज़र एक्सटेंशन, एक 'स्पेस इनवेस्टर्स' टाइप गेम और एक बिजनेस-टाइप बैंकिंग ऐप बनाया होगा, और जावास्क्रिप्ट की मूल बातें सीखी होंगी और आज के वेब डेवलपर के आधुनिक टूलचैन के साथ, HTML और सीएसएस भी सीखीं होंगी
यह सुनिश्चित करते हुए कि सामग्री परियोजनाओं के साथ संरेखित होती है, प्रक्रिया को छात्रों के लिए अधिक आकर्षक बनाया जाता है और अवधारणाओं की अवधारण को संवर्धित किया जाएगा। हमने अवधारणाओं को पेश करने के लिए जावास्क्रिप्ट मूल बातें में कई स्टार्टर पाठ भी लिखे, वीडियो ट्यूटोरियल के "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" संग्रह के साथ, जिनके कुछ लेखकों ने इस पाठ्यक्रम में योगदान दिया।
इसके अलावा, एक कक्षा से पहले एक कम-दांव प्रश्नोत्तरी एक विषय सीखने की दिशा में छात्र का इरादा निर्धारित करता है, जबकि कक्षा के बाद एक दूसरा प्रश्नोत्तरी एक प्रतिधारण सुनिश्चित करता है। इस पाठ्यक्रम को लचीला और मज़ेदार बनाने के लिए डिज़ाइन किया गया था और इसे पूर्ण या आंशिक रूप से लिया जा सकता है। परियोजनाएं छोटी शुरू होती हैं और 12 सप्ताह के चक्र के अंत तक तेजी से जटिल हो जाती हैं।
इसके अलावा, एक कक्षा से पहले एक कम-दांव प्रश्नोत्तरी एक विषय सीखने की दिशा में छात्र का इरादा निर्धारित करता है, जबकि कक्षा के बाद एक दूसरा प्रश्नोत्तरी एक प्रतिधारण सुनिश्चित करता है। इस पाठ्यक्रम को लचीला और मज़ेदार बनाने के लिए डिज़ाइन किया गया है और इसे पूर्ण या आंशिक रूप से लिया जा सकता है। परियोजनाएं छोटी शुरू होती हैं और 12 सप्ताह के चक्र के अंत तक तेजी से जटिल हो जाती हैं।
जबकि हमने उद्देश्यपूर्ण रूप से जावास्क्रिप्ट फ्रेमवर्क शुरू करने से बचा है, ताकि एक फ्रेमवर्क अपनाने से पहले वेब डेवलपर के रूप में आवश्यक बुनियादी कौशल पर ध्यान केंद्रित किया जा सके, इस पाठ्यक्रम को पूरा करने के लिए एक अच्छा अगला कदम वीडियो के एक अन्य संग्रह के माध्यम से Node.js के बारे में सीखना होगा: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
@ -53,35 +64,45 @@ Microsoft के Azure Cloud Advocates को 12-सप्ताह, 24-पा
## पाठ
| | प्रोजेक्टका नाम | अवधारणाओं जो सिखाया | सीखने के मकसद | लिंक किया हुआ पाठ | लिखा हुआ पाठ | स्केचनोट | असाइनमेंट | शुरुवाती प्रश्नोत्तरी | अंतिम प्रश्नोत्तरी | विडिओ | रचयिता |
| :---: | :------------------------------------------------------: | :----------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------: | :------: | :---: | :----: | :----------: | :---------: | :---: | :-------------: |
| 01 | शुरू करना | ट्रैड प्रोग्रामिंग और उपकरणों का परिचय | अधिकांश प्रोग्रामिंग भाषाओं के पीछे और सॉफ्टवेयर के बारे में बुनियादी जानकारी जानें जो पेशेवर डेवलपर्स को अपने काम करने में मदद करती हैं | [ट्रैड प्रोग्रामिंग और उपकरणों का परिचय](/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 02 | शुरू करना | गिटहब की मूल बातें, एक टीम के साथ काम करना शामिल है | अपनी परियोजना में गिटहब का उपयोग कैसे करें, कोड आधार पर दूसरों के साथ कैसे सहयोग करें | [गिटहब का परिचय](/1-getting-started-lessons/2-github-basics/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | फलर |
| 03 | शुरू करना | अभिगम्यता | वेब अभिगम्यता की मूल बातें जानें | [अभिगम्यता कोष](/1-getting-started-lessons/3-accessibility/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | क्रिस्टोफर |
| 04 | जेएस की मूलबाते | जावास्क्रिप्ट डेटा प्रकार | जावास्क्रिप्ट डेटा प्रकार की मूल बातें | [डेटा प्रकार](/2-js-basics/1-data-types/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 05 | जेएस की मूलबाते | फंगक्शनस और मेथड्स | एप्लिकेशन के तर्क प्रवाह को प्रबंधित करने के लिए फंगक्शनस और मेथड्स के बारे में जानें | [फंगक्शनस और मेथड्स](/2-js-basics/2-functions-methods/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन and क्रिस्टोफर |
| 06 | जेएस की मूलबाते | जेएस के साथ निर्णय करना | निर्णय लेने के मेथड्स का उपयोग करके अपने कोड में स्थितियां बनाना सीखें | [निर्णय लेना](/2-js-basics/3-making-decisions/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 07 | जेएस की मूलबाते | अररेस और लूपस | जावास्क्रिप्ट में अररेस और लूपस का उपयोग कर डेटा के साथ काम करें | [अररेस और लूपस](/2-js-basics/4-arrays-loops/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 08 | [टेरारियम](/3-terrarium/solution/translations/README.hi.md) | एचटीएमएल प्रैक्टिस में | लेआउट बनाने पर ध्यान केंद्रित करते हुए, एक ऑनलाइन टेरारियम बनाने के लिए HTML बनाएँ | [एचटीएमएल का परिचय](/3-terrarium/1-intro-to-html/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 09 | [टेरारियम](/3-terrarium/solution/translations/README.hi.md) | सीएसएस | पृष्ठ को उत्तरदायी बनाने सहित सीएसएस की मूल बातों पर ध्यान केंद्रित करते हुए, ऑनलाइन टेरेरियम को स्टाइल करने के लिए सीएसएस का निर्माण करें | [सीएसएसका परिचय](/3-terrarium/2-intro-to-css/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 10 | [टेरारियम](/3-terrarium/solution/README.md) | जावास्क्रिप्ट क्लोजर, डोम मनिप्यलैशन | एक टेरारियम फंगक्शन को ड्रैग/ड्रॉप इंटरफेस के रूप में बनाने के लिए जावास्क्रिप्ट का निर्माण करें ,क्लोजर और डोम मनिप्यलैशन पर ध्यान केंद्रित करके | [जावास्क्रिप्ट क्लोजर और डोम मनिप्यलैशन](/3-terrarium/3-intro-to-DOM-and-closures/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 11 | [टायपिंग गेम](/4-typing-game/solution/README.md) | एक टायपिंग गेम बनाए | अपने जावास्क्रिप्ट ऐप के तर्क को चलाने के लिए कीबोर्ड घटनाओं का उपयोग करना सीखें | [ईवेंट-संचालित प्रोग्रामिंग](/4-typing-game/typing-game/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | क्रिस्टोफर |
| 12 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | ब्राउज़रों के साथ काम करना | जानें कि ब्राउज़र कैसे काम करते हैं, उनका इतिहास और ब्राउज़र एक्सटेंशन के पहले एलिमेंट्स को कैसे मचानते हैं | [ब्राउज़रों के बारे में](/5-browser-extension/1-about-browsers/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 13 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | एक फॉर्म का निर्माण, एक एपीआई को कॉल करना और लोकल स्टॉरिज में चर को संग्रहीत करना | लोकल स्टॉरिज में संग्रहीत चर का उपयोग करके एपीआई को कॉल करने के लिए अपने ब्राउज़र एक्सटेंशन के जावास्क्रिप्ट एलिमेंट्स का निर्माण करें | [एपीआईज, फॉर्म्स, और लोकल स्टॉरिज](/5-browser-extension/2-forms-browsers-local-storage/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | जेन |
| 14 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | ब्राउज़र में पृष्ठभूमि प्रक्रियाएं, वेब प्रदर्शन | एक्सटेंशन के आइकन को प्रबंधित करने के लिए ब्राउज़र की पृष्ठभूमि प्रक्रियाओं का उपयोग करें; वेब प्रदर्शन और बनाने के लिए कुछ अनुकूलन के बारे में जानें | [पृष्ठभूमि कार्य और प्रदर्शन](/5-browser-extension/3-background-tasks-and-performance/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | जेन |
| 15 | [स्पेस गेम](/6-space-game/solution/README.md) | जावास्क्रिप्ट के साथ और अधिक उन्नत खेल विकास | एक खेल के निर्माण की तैयारी में क्लाससेस और काम्पज़िशन और पब/सब पैटर्न दोनों का उपयोग करके इन्हेरीटेन्स के बारे में जानें | [उन्नत खेल विकास का परिचय](/6-space-game/1-introduction/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 16 | [स्पेस गेम](/6-space-game/solution/README.md) | कैनवास पर ड्रॉ करना | कैनवास एपीआई के बारे में जानें, जिसका उपयोग एलिमेंट्स को स्क्रीन पर खींचने के लिए किया जाता है | [कैनवास पर ड्रॉ करना](/6-space-game/2-drawing-to-canvas/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 17 | [स्पेस गेम](/6-space-game/solution/README.md) | स्क्रीन के चारों ओर बढ़ते एलिमेंट्स | पता करे कि कार्टेशियन निर्देशांक और कैनवस एपीआई का उपयोग करके तत्व कैसे गति प्राप्त कर सकते हैं | [चारों ओर बढ़ते एलिमेंट्स](/6-space-game/3-moving-elements-around/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 18 | [स्पेस गेम](/6-space-game/solution/README.md) | कॉलिजन डिटेक्शन | एलिमेंट्स को आपस में टकराएं और कीपरेसेस का उपयोग करते हुए एक दूसरे से प्रतिक्रिया करें और खेल के प्रदर्शन को सुनिश्चित करने के लिए एक कुलडाउन फ़ंक्शन प्रदान करें | [कॉलिजन डिटेक्शन](/6-space-game/4-collision-detection/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 19 | [स्पेस गेम](/6-space-game/solution/README.md) | स्कोर रखना | खेल की स्थिति और प्रदर्शन के आधार पर गणित की गणना करें | [स्कोर रखना](/6-space-game/5-keeping-score/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 20 | [स्पेस गेम](/6-space-game/solution/README.md) | खेल को समाप्त करना और पुनः आरंभ करना | खेल को समाप्त करने और पुनः आरंभ करने के बारे में जानें,असेट्स को साफ करने और चरकी वैल्यू को रीसेट करने सहित | [अंत की स्थिति](/6-space-game/6-end-condition/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 21 | [बैंकिंग एप](/7-bank-project/solution/README.md) | एचटीएमएल टेम्पलेट्स और वेब ऐप में रूट | राउटिंग और एचटीएमएल टेम्प्लेट का उपयोग करके एक मल्टीफ़ेज वेबसाइट की वास्तुकला का मचान बनाना सीखें | [एचटीएमएल टेम्पलेट और रूट](/7-bank-project/1-template-route/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | योहन |
| 22 | [बैंकिंग एप](/7-bank-project/solution/README.md) | एक लॉगिन और पंजीकरण फॉर्म बनाएँ | फॉर्म के निर्माण और सत्यापन रूटीन सौंपने के बारे में जानें | [फॉर्म्स](/7-bank-project/2-forms/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | योहन |
| 23 | [बैंकिंग एप](/7-bank-project/solution/README.md) | डेटा लाने और उपयोग करने के तरीके | डेटा आपके ऐप से कैसे और कैसे बहता है, इसे कैसे लाया जाए, इसे स्टोर करें और इसका दिसपोस करें | [डाटा](/7-bank-project/3-data/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | योहन |
| 24 | [बैंकिंग एप](/7-bank-project/solution/README.md) | स्टेट प्रबंधन की अवधारणाएँ | जानें कि आपका ऐप किस तरह से स्थिति को बनाए रखता है और इसे कैसे व्यवस्थित रूप से प्रबंधित करता है | [स्टेट प्रबंधन](/7-bank-project/4-state-management/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | | योहन |
| | प्रोजेक्टका नाम | अवधारणाओं जो सिखाया | सीखने के मकसद | लिंक किया हुआ पाठ | रचयिता |
| :---: | :------------------------------------------------------: | :----------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------: | :------: |
| 01 | शुरू करना | ट्रैड प्रोग्रामिंग और उपकरणों का परिचय | अधिकांश प्रोग्रामिंग भाषाओं के पीछे और सॉफ्टवेयर के बारे में बुनियादी जानकारी जानें जो पेशेवर डेवलपर्स को अपने काम करने में मदद करती हैं | [ट्रैड प्रोग्रामिंग और उपकरणों का परिचय](/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.hi.md) | जैस्मिन |
| 02 | शुरू करना | गिटहब की मूल बातें, एक टीम के साथ काम करना शामिल है | अपनी परियोजना में गिटहब का उपयोग कैसे करें, कोड आधार पर दूसरों के साथ कैसे सहयोग करें | [गिटहब का परिचय](/1-getting-started-lessons/2-github-basics/translations/README.hi.md) | फलर |
| 03 | शुरू करना | अभिगम्यता | वेब अभिगम्यता की मूल बातें जानें | [अभिगम्यता कोष](/1-getting-started-lessons/3-accessibility/translations/README.hi.md) | क्रिस्टोफर |
| 04 | जेएस की मूलबाते | जावास्क्रिप्ट डेटा प्रकार | जावास्क्रिप्ट डेटा प्रकार की मूल बातें | [डेटा प्रकार](/2-js-basics/1-data-types/translations/README.hi.md) | जैस्मिन |
| 05 | जेएस की मूलबाते | फंगक्शनस और मेथड्स | एप्लिकेशन के तर्क प्रवाह को प्रबंधित करने के लिए फंगक्शनस और मेथड्स के बारे में जानें | [फंगक्शनस और मेथड्स](/2-js-basics/2-functions-methods/translations/README.hi.md) | जैस्मिन and क्रिस्टोफर |
| 06 | जेएस की मूलबाते | जेएस के साथ निर्णय करना | निर्णय लेने के मेथड्स का उपयोग करके अपने कोड में स्थितियां बनाना सीखें | [निर्णय लेना](/2-js-basics/3-making-decisions/translations/README.hi.md) | जैस्मिन |
| 07 | जेएस की मूलबाते | अररेस और लूपस | जावास्क्रिप्ट में अररेस और लूपस का उपयोग कर डेटा के साथ काम करें | [अररेस और लूपस](/2-js-basics/4-arrays-loops/translations/README.hi.md) | जैस्मिन |
| 08 | [टेरारियम](/3-terrarium/solution/translations/README.hi.md) | एचटीएमएल प्रैक्टिस में | लेआउट बनाने पर ध्यान केंद्रित करते हुए, एक ऑनलाइन टेरारियम बनाने के लिए HTML बनाएँ | [एचटीएमएल का परिचय](/3-terrarium/1-intro-to-html/translations/README.hi.md) | जेन |
| 09 | [टेरारियम](/3-terrarium/solution/translations/README.hi.md) | सीएसएस | पृष्ठ को उत्तरदायी बनाने सहित सीएसएस की मूल बातों पर ध्यान केंद्रित करते हुए, ऑनलाइन टेरेरियम को स्टाइल करने के लिए सीएसएस का निर्माण करें | [सीएसएसका परिचय](/3-terrarium/2-intro-to-css/translations/README.hi.md) | जेन |
| 10 | [टेरारियम](/3-terrarium/solution/README.md) | जावास्क्रिप्ट क्लोजर, डोम मनिप्यलैशन | एक टेरारियम फंगक्शन को ड्रैग/ड्रॉप इंटरफेस के रूप में बनाने के लिए जावास्क्रिप्ट का निर्माण करें ,क्लोजर और डोम मनिप्यलैशन पर ध्यान केंद्रित करके | [जावास्क्रिप्ट क्लोजर और डोम मनिप्यलैशन](/3-terrarium/3-intro-to-DOM-and-closures/translations/README.hi.md) | जेन |
| 11 | [टायपिंग गेम](/4-typing-game/solution/README.md) | एक टायपिंग गेम बनाए | अपने जावास्क्रिप्ट ऐप के तर्क को चलाने के लिए कीबोर्ड घटनाओं का उपयोग करना सीखें | [ईवेंट-संचालित प्रोग्रामिंग](/4-typing-game/typing-game/translations/README.hi.md) | क्रिस्टोफर |
| 12 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | ब्राउज़रों के साथ काम करना | जानें कि ब्राउज़र कैसे काम करते हैं, उनका इतिहास और ब्राउज़र एक्सटेंशन के पहले एलिमेंट्स को कैसे मचानते हैं | [ब्राउज़रों के बारे में](/5-browser-extension/1-about-browsers/translations/README.hi.md) | जेन |
| 13 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | एक फॉर्म का निर्माण, एक एपीआई को कॉल करना और लोकल स्टॉरिज में चर को संग्रहीत करना | लोकल स्टॉरिज में संग्रहीत चर का उपयोग करके एपीआई को कॉल करने के लिए अपने ब्राउज़र एक्सटेंशन के जावास्क्रिप्ट एलिमेंट्स का निर्माण करें | [एपीआईज, फॉर्म्स, और लोकल स्टॉरिज](/5-browser-extension/2-forms-browsers-local-storage/translations/README.hi.md) | जेन |
| 14 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | ब्राउज़र में पृष्ठभूमि प्रक्रियाएं, वेब प्रदर्शन | एक्सटेंशन के आइकन को प्रबंधित करने के लिए ब्राउज़र की पृष्ठभूमि प्रक्रियाओं का उपयोग करें; वेब प्रदर्शन और बनाने के लिए कुछ अनुकूलन के बारे में जानें | [पृष्ठभूमि कार्य और प्रदर्शन](/5-browser-extension/3-background-tasks-and-performance/translations/README.hi.md) | जेन |
| 15 | [स्पेस गेम](/6-space-game/solution/README.md) | जावास्क्रिप्ट के साथ और अधिक उन्नत खेल विकास | एक खेल के निर्माण की तैयारी में क्लाससेस और काम्पज़िशन और पब/सब पैटर्न दोनों का उपयोग करके इन्हेरीटेन्स के बारे में जानें | [उन्नत खेल विकास का परिचय](/6-space-game/1-introduction/translations/README.hi.md) | क्रिस |
| 16 | [स्पेस गेम](/6-space-game/solution/README.md) | कैनवास पर ड्रॉ करना | कैनवास एपीआई के बारे में जानें, जिसका उपयोग एलिमेंट्स को स्क्रीन पर खींचने के लिए किया जाता है | [कैनवास पर ड्रॉ करना](/6-space-game/2-drawing-to-canvas/translations/README.hi.md) | क्रिस |
| 17 | [स्पेस गेम](/6-space-game/solution/README.md) | स्क्रीन के चारों ओर बढ़ते एलिमेंट्स | पता करे कि कार्टेशियन निर्देशांक और कैनवस एपीआई का उपयोग करके तत्व कैसे गति प्राप्त कर सकते हैं | [चारों ओर बढ़ते एलिमेंट्स](/6-space-game/3-moving-elements-around/translations/README.hi.md) | क्रिस |
| 18 | [स्पेस गेम](/6-space-game/solution/README.md) | कॉलिजन डिटेक्शन | एलिमेंट्स को आपस में टकराएं और कीपरेसेस का उपयोग करते हुए एक दूसरे से प्रतिक्रिया करें और खेल के प्रदर्शन को सुनिश्चित करने के लिए एक कुलडाउन फ़ंक्शन प्रदान करें | [कॉलिजन डिटेक्शन](/6-space-game/4-collision-detection/translations/README.hi.md) | क्रिस |
| 19 | [स्पेस गेम](/6-space-game/solution/README.md) | स्कोर रखना | खेल की स्थिति और प्रदर्शन के आधार पर गणित की गणना करें | [स्कोर रखना](/6-space-game/5-keeping-score/translations/README.hi.md) | क्रिस |
| 20 | [स्पेस गेम](/6-space-game/solution/README.md) | खेल को समाप्त करना और पुनः आरंभ करना | खेल को समाप्त करने और पुनः आरंभ करने के बारे में जानें,असेट्स को साफ करने और चरकी वैल्यू को रीसेट करने सहित | [अंत की स्थिति](/6-space-game/6-end-condition/translations/README.hi.md) | क्रिस |
| 21 | [बैंकिंग एप](/7-bank-project/solution/README.md) | एचटीएमएल टेम्पलेट्स और वेब ऐप में रूट | राउटिंग और एचटीएमएल टेम्प्लेट का उपयोग करके एक मल्टीफ़ेज वेबसाइट की वास्तुकला का मचान बनाना सीखें | [एचटीएमएल टेम्पलेट और रूट](/7-bank-project/1-template-route/translations/README.hi.md) | योहन |
| 22 | [बैंकिंग एप](/7-bank-project/solution/README.md) | एक लॉगिन और पंजीकरण फॉर्म बनाएँ | फॉर्म के निर्माण और सत्यापन रूटीन सौंपने के बारे में जानें | [फॉर्म्स](/7-bank-project/2-forms/translations/README.hi.md) | योहन |
| 23 | [बैंकिंग एप](/7-bank-project/solution/README.md) | डेटा लाने और उपयोग करने के तरीके | डेटा आपके ऐप से कैसे और कैसे बहता है, इसे कैसे लाया जाए, इसे स्टोर करें और इसका दिसपोस करें | [डाटा](/7-bank-project/3-data/translations/README.hi.md) | योहन |
| 24 | [बैंकिंग एप](/7-bank-project/solution/README.md) | स्टेट प्रबंधन की अवधारणाएँ | जानें कि आपका ऐप किस तरह से स्थिति को बनाए रखता है और इसे कैसे व्यवस्थित रूप से प्रबंधित करता है | [स्टेट प्रबंधन](/7-bank-project/4-state-management/translations/README.hi.md) | योहन |
## ऑफ़लाइन एक्सेस
आप इस दस्तावेज़ को ऑफ़लाइन कर सकते हैं [Docsify](https://docsify.js.org/#/) का उपयोग करके। अपने स्थानीय मशीन पर इस रेपो, [स्थापित डॉक्सिफ़ाइस्ट](https://docsify.js.org/#/quickstart) को फोर्क करें, और फिर इस रेपो के रूट फ़ोल्डर में, `docsify serve` टाइप करें। वेबसाइट को आपके लोकलहोस्ट पर पोर्ट 3000 पर परोसा जाएगा: `localhost:3000`.
## पीडीएफ
सभी पाठों का पीडीएफ यहां पाया जा सकता है [here](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)
## अन्य पाठ्यक्रम
हमारी टीम अन्य पाठ्यक्रम तैयार करती है! इसे देखें:
- [नौसीखियों के लिए मशीन लर्निंग](https://aka.ms/ml-beginners)
- [नौसीखियों के लिए आईओटी](https://aka.ms/iot-beginners)
- [नौसीखियों के लिए डाटा साइंस](https://aka.ms/datascience-beginners)
- [नौसीखियों के लिए आर्टिफीसियल इंटेलिजेंस](https://aka.ms/ai-beginners)

@ -0,0 +1,85 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pull/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
# नवशिक्यांसाठी वेब विकास - एक कोर्स
सर्व JavaScript, CSS आणि HTML मूलभूत गोष्टींचा समावेश असलेला 12-आठवड्याचा, 24-धडा अभ्यासक्रम ऑफर करताना Microsoft च्या Azure Cloud Advocates खूश आहेत. प्रत्येक धड्यात पाठपूर्व आणि पाठोत्तर प्रश्नमंजुषा, धडा पूर्ण करण्यासाठी लिखित सूचना, उपाय, असाइनमेंट आणि बरेच काही समाविष्ट आहे. आमची प्रकल्प-आधारित अध्यापनशास्त्र तुम्हाला तुम्ही तयार करत असताना शिकण्याची परवानगी देते, नवीन कौशल्ये 'स्टिक=' करण्याचा एक सिद्ध मार्ग.
** आमच्या लेखक जेन लूपर, ख्रिस नॉरिंग, ख्रिस्तोफर हॅरिसन, जास्मिन ग्रीनवे, योहान लासोरा, फ्लोर ड्राईस आणि स्केचनोट कलाकार टोमोमी इमुरा यांचे मनःपूर्वक आभार!**
> **शिक्षक**, आम्ही हा अभ्यासक्रम कसा वापरायचा याबद्दल [काही टिपा](for-teachers.en.md) समाविष्ट केल्या आहेत. तुम्हाला तुमचा स्वतःचा मजकूर तयार करायचा असल्यास, आम्ही एक [मजकूर टेम्पलेट](leson-template/translations/README.mar.md) देखील समाविष्ट केले आहे.
> **विद्यार्थी**, या कोर्समध्ये स्वतःहून प्रवेश करण्यासाठी, संपूर्ण रेपो फोर्क करा आणि स्वतःच व्यायाम पूर्ण करा, व्याख्यानापूर्वीच्या प्रश्नमंजुषापासून सुरुवात करा, नंतर व्याख्यान वाचून उर्वरित क्रियाकलाप पूर्ण करा. सोल्यूशन कोड कॉपी करण्याऐवजी, धडे समजून घेऊन प्रकल्प तयार करण्याचा प्रयत्न करा; तथापि हा कोड प्रत्येक प्रकल्पाभिमुख धड्यातील /सोल्यूशन्स फोल्डरमध्ये उपलब्ध आहे. दुसरी कल्पना म्हणजे मित्रांसोबत अभ्यास गट तयार करणे आणि एकत्रितपणे साहित्याचा अभ्यास करणे. पुढील अभ्यासासाठी, आम्ही [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81?WT.mc_id=academic-13441-cxa) आणि पाहिल्यानंतर खालील व्हिडिओची शिफारस करतो.
[![प्रोमो व्हिडिओ](../images/web.gif)](https://youtube.com/watch?v=R1wrdtmBSII "प्रोमो व्हिडिओ")
> प्रकल्प आणि ज्या लोकांनी तो बनवला त्याबद्दलच्या व्हिडिओसाठी वरील इमेजवर क्लिक करा!
## अध्यापनशास्त्र
हा अभ्यासक्रम तयार करताना आम्ही दोन अध्यापनशास्त्रीय तत्त्वे निवडली: ते प्रकल्प-आधारित असल्याची खात्री करणे आणि त्यात पुनरावृत्ती झालेल्या प्रश्नमंजुषा समाविष्ट आहेत. या मालिकेच्या शेवटी, विद्यार्थ्यांनी एक टायपिंग गेम, एक व्हर्च्युअल टेरॅरियम, एक 'ग्रीन' ब्राउझर विस्तार, एक 'स्पेस इन्व्हेस्टर्स' प्रकारचा गेम आणि एक व्यवसाय-प्रकार बँकिंग अॅप तयार केला असेल आणि JavaScript च्या मूलभूत गोष्टी शिकल्या असतील. आजच्या वेब डेव्हलपरच्या आधुनिक टूलचेनसह HTML आणि CSS.
सामग्री प्रकल्पांशी संरेखित असल्याची खात्री करून, प्रक्रिया विद्यार्थ्यांसाठी अधिक आकर्षक बनविली जाते आणि संकल्पनांची धारणा वाढविली जाईल. आम्ही संकल्पनांचा परिचय करून देण्यासाठी JavaScript मूलभूत गोष्टींमध्ये अनेक स्टार्टर धडे देखील लिहिले, ज्यात व्हिडिओ ट्यूटोरियलच्या "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript?WT) समाविष्ट आहे. .mc_id=academic-13441-cxa)", ज्यांच्या काही लेखकांनी या अभ्यासक्रमासाठी योगदान दिले आहे.
शिवाय, वर्गापूर्वी कमी-स्‍टेक्‍स क्विझ विद्यार्थ्‍याचा विषय शिकण्‍याचा हेतू ठरवते, तर वर्गानंतर दुसरी क्विझ कायम ठेवण्‍याची खात्री देते. हा कोर्स लवचिक आणि मजेदार आणि संपूर्ण किंवा काही प्रमाणात घेतला जाऊ शकतो. प्रकल्प लहान सुरू होतात आणि 12 आठवड्यांच्या चक्राच्या शेवटी ते अधिकाधिक जटिल बनतात.
आम्ही जावास्क्रिप्ट फ्रेमवर्कची ओळख करून देण्याचे हेतुपुरस्सर टाळले आहे, फ्रेमवर्क स्वीकारण्यापूर्वी वेब डेव्हलपर म्हणून आवश्यक असलेल्या मूलभूत कौशल्यांवर लक्ष केंद्रित करण्यासाठी, हा अभ्यासक्रम पूर्ण करण्यासाठी पुढील चांगली पायरी म्हणजे व्हिडिओंचा दुसरा संग्रह. Node.js बद्दल याद्वारे शिकू: "[प्रारंभिक मालिका ते: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs?WT.mc_id=academic-13441 -cxa)".
आमची [आचारसंहिता](/CODE_OF_CONDUCT.md), [योगदान](/CONTRIBUTING.md), आणि [अनुवाद](/TRANSLATIONS.md) मार्गदर्शक तत्त्वे शोधा. आम्ही तुमच्या रचनात्मक अभिप्रायाचे स्वागत करतो!
,
## प्रत्येक धड्यात हे समाविष्ट आहे:
- पर्यायी स्केचनोट
- पर्यायी पूरक व्हिडिओ
- प्री-लेक्चर वॉर्मअप क्विझ
- लिखित मजकूर
- प्रकल्प-आधारित धड्यांसाठी, प्रकल्प तयार करण्यासाठी चरण-दर-चरण मार्गदर्शक
- ज्ञान तपासणी
- एक आव्हान
- परिशिष्ट वाचन
- असाइनमेंट
- पोस्ट लेक्चर क्विझ
> **क्विझबद्दल एक टीप**: सर्व प्रश्नमंजुषा [या अॅपमध्ये](https://ashy-river-0debb7803.1.azurestaticapps.net/)
## धडा
| | प्रकल्पाचे नाव | शिकवलेल्या संकल्पना | शिकण्याचे उद्दिष्ट | लिंक केलेला मजकूर | लिखित मजकूर | स्केचनोट | असाइनमेंट | नवशिक्या क्विझ | अंतिम क्विझ | विडिओ | लेखक |
| :---: | :------------------------------------------------------: | :----------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------ | :-----------------------------------------------------------------------------------------------------------------: | :------: | :---: | :----: | :----------: | :---------: | :---: | :-------------: |
| 01 | सुरू करण्यासाठी | ट्रैड प्रोग्रामिंग और उपकरणों का परिचय | बर्‍याच प्रोग्रामिंग भाषांमागील मूलभूत गोष्टी जाणून घ्या आणि सॉफ्टवेअर जे व्यावसायिक विकासकांना त्यांची कामे करण्यात मदत करतात | [क्वाड प्रोग्रामिंग आणि टूल्सचा परिचय](/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 02 | सुरू करण्यासाठी | टीमसोबत काम करण्यासह गिटहबच्या मूलभूत गोष्टी | तुमच्या प्रोजेक्टमध्ये GitHub कसे वापरावे, कोड बेसवर इतरांशी सहयोग कसे करावे | [GitHub परिचय](/1-getting-started-lessons/2-github-basics/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | फलर |
| 03 | सुरू करण्यासाठी | प्रवेशयोग्यता | वेब ऍक्सेसिबिलिटीची मूलभूत माहिती जाणून घ्या | [सुलभता निधी](/1-getting-started-lessons/3-accessibility/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | क्रिस्टोफर |
| 04 | JS च्या मूलभूत गोष्टी | जावास्क्रिप्ट डेटा प्रकार | Javascript डेटा प्रकारांची मूलभूत माहिती | [डेटा प्रकार](/2-js-basics/1-data-types/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 05 | JS च्या मूलभूत गोष्टी | कार्ये आणि पद्धती | अनुप्रयोगाचा तर्क प्रवाह व्यवस्थापित करण्यासाठी कार्ये आणि पद्धतींबद्दल जाणून घ्या | [फंगक्शनस और मेथड्स](/2-js-basics/2-functions-methods/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन and क्रिस्टोफर |
| 06 | JS च्या मूलभूत गोष्टी | JS सह निर्णय | ननिर्णय घेण्याच्या पद्धती वापरून तुमच्या कोडमध्ये परिस्थिती निर्माण करायला शिका | [निर्णय घेणे](/2-js-basics/3-making-decisions/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 07 | JS च्या मूलभूत गोष्टी | अररेस और लूपस | Javascript मध्ये अॅरे आणि ल्युपस वापरून डेटासह कार्य करा | [अररेस और लूपस](/2-js-basics/4-arrays-loops/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | जैस्मिन |
| 08 | [टेरारियम](/3-terrarium/solution/translations/README.hi.md) | सराव मध्ये HTML | लेआउटवर लक्ष केंद्रित करून ऑनलाइन टेरेरियम तयार करण्यासाठी HTML तयार करा | [HTML चा परिचय](/3-terrarium/1-intro-to-html/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 09 | [टेरारियम](/3-terrarium/solution/translations/README.hi.md) | सीएसएस | पृष्ठ प्रतिसादासह CSS च्या मूलभूत गोष्टींवर लक्ष केंद्रित करून टेरेरियम ऑनलाइन स्टाइल करण्यासाठी CSS तयार करा | [CSS चा परिचय](/3-terrarium/2-intro-to-css/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 10 | [टेरारियम](/3-terrarium/solution/README.md) | Javascript क्लोजर, DOM मॅनिपुलेशन | क्लोजर आणि डीओएम मॅनिपुलेशनवर लक्ष केंद्रित करून ड्रॅग/ड्रॉप इंटरफेस म्हणून टेरेरियम फंक्शन तयार करण्यासाठी JavaScript तयार करा | [जावास्क्रिप्ट क्लोजर और डोम मनिप्यलैशन](/3-terrarium/3-intro-to-DOM-and-closures/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 11 | [टायपिंग गेम](/4-typing-game/solution/README.md) | एक टायपिंग गेम बनाए | तुमच्या JavaScript अॅपचे लॉजिक चालविण्यासाठी कीबोर्ड इव्हेंट कसे वापरायचे ते शिका | [ईवेंट-संचालित प्रोग्रामिंग](/4-typing-game/typing-game/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | क्रिस्टोफर |
| 12 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | ब्राउझरसह कार्य करणे | ब्राउझर कसे कार्य करतात, त्यांचा इतिहास जाणून घ्या आणि ब्राउझर विस्तारांचे प्रथम घटक तयार करा | [ब्राउझर बद्दल](/5-browser-extension/1-about-browsers/translations/README.hi.md) | ✅ | ✅ | ✅ | ✅ | ✅ | 🛑 | जेन |
| 13 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | फॉर्म तयार करणे, API कॉल करणे आणि स्थानिक स्टोरेजमध्ये व्हेरिएबल्स संचयित करणे | लोकल स्टोरेजमध्ये संग्रहित व्हेरिएबल्स वापरून API कॉल करण्यासाठी तुमच्या ब्राउझर विस्ताराचे JavaScript घटक तयार करा | [API, फॉर्म आणि स्थानिक कथा](/5-browser-extension/2-forms-browsers-local-storage/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | जेन |
| 14 | [ग्रीन ब्राउजर इक्स्टेन्शन](/5-browser-extension/solution/README.md) | ब्राउझर, वेब डिस्प्ले मधील पार्श्वभूमी प्रक्रिया | विस्ताराचे चिन्ह व्यवस्थापित करण्यासाठी ब्राउझरच्या पार्श्वभूमी प्रक्रिया वापरा; वेब कार्यप्रदर्शन तयार करण्यासाठी काही ऑप्टिमायझेशनबद्दल जाणून घ्या आणि | [पार्श्वभूमी कार्ये आणि कार्यप्रदर्शन](/5-browser-extension/3-background-tasks-and-performance/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | जेन |
| 15 | [स्पेस गेम](/6-space-game/solution/README.md) | JavaScript सह अधिक प्रगत गेम डेव्हलपमेंट | गेम तयार करण्याच्या तयारीसाठी रचना आणि पब/सब पॅटर्न दोन्ही वापरून वर्ग आणि वारसा याविषयी जाणून घ्या | [प्रगत गेम विकासाचा परिचय](/6-space-game/1-introduction/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 16 | [स्पेस गेम](/6-space-game/solution/README.md) | कॅनव्हासवर काढा | कॅनव्हास API बद्दल जाणून घ्या, जो स्क्रीनवर घटक काढण्यासाठी वापरला जातो | [कॅनव्हासवर काढा](/6-space-game/2-drawing-to-canvas/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 17 | [स्पेस गेम](/6-space-game/solution/README.md) | स्क्रीनभोवती हलणारे घटक | कॅनव्हास API वापरून कार्टेशियन निर्देशांक आणि घटक कसे मिळवायचे ते शोधा | [हलणारे घटक](/6-space-game/3-moving-elements-around/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 18 | [स्पेस गेम](/6-space-game/solution/README.md) | टक्कर शोध | की दाबून घटक एकमेकांना टक्कर द्या आणि प्रतिक्रिया द्या आणि गेम कार्यप्रदर्शन सुनिश्चित करण्यासाठी कूलडाउन फंक्शन प्रदान करा | [टक्कर शोध](/6-space-game/4-collision-detection/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 19 | [स्पेस गेम](/6-space-game/solution/README.md) | स्कोअर ठेवा | खेळाची स्थिती आणि कामगिरीवर आधारित गणिताची गणना करा | [स्कोअर ठेवा](/6-space-game/5-keeping-score/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 20 | [स्पेस गेम](/6-space-game/solution/README.md) | गेम समाप्त करा आणि रीस्टार्ट करा | मालमत्ता साफ करणे आणि पुली मूल्ये रीसेट करणे यासह गेम कसा संपवायचा आणि रीस्टार्ट कसा करायचा ते जाणून घ्या | [शेवटची स्थिती](/6-space-game/6-end-condition/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | 🛑 | क्रिस |
| 21 | [बैंकिंग एप](/7-bank-project/solution/README.md) | HTML टेम्पलेट्स आणि वेब अॅपमध्ये रूट करा | राउटिंग आणि एचटीएमएल टेम्पलेट्स वापरून मल्टीफेस वेबसाइटचे आर्किटेक्चर स्कॅफोल्ड करायला शिका | [HTML टेम्पलेट आणि मार्ग](/7-bank-project/1-template-route/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | योहन |
| 22 | [बैंकिंग एप](/7-bank-project/solution/README.md) | लॉगिन आणि नोंदणी फॉर्म तयार करा | फॉर्म तयार करणे आणि प्रमाणीकरण दिनचर्या सुपूर्द करणे याबद्दल जाणून घ्या | [फॉर्म्स](/7-bank-project/2-forms/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | योहन |
| 23 | [बैंकिंग एप](/7-bank-project/solution/README.md) | डेटा कसा आणायचा आणि वापरायचा | तुमच्या अॅपवर डेटा कसा प्रवाहित होतो, तो कसा आणायचा, तो कसा संग्रहित करायचा आणि त्याची विल्हेवाट कशी लावायची | [डाटा](/7-bank-project/3-data/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | ✅ | योहन |
| 24 | [बैंकिंग एप](/7-bank-project/solution/README.md) | राज्य व्यवस्थापनाच्या संकल्पना | तुमचे अ‍ॅप स्थिती कशी राखते आणि ते सेंद्रिय पद्धतीने कसे व्यवस्थापित करते ते जाणून घ्या | [स्टेट प्रबंधन](/7-bank-project/4-state-management/translations/README.hi.md) | ✅ | 🛑 | ✅ | ✅ | ✅ | | योहन |
## ऑफलाइन प्रवेश
तुम्ही [Docsify](https://docsify.js.org/#/) वापरून हा दस्तऐवज ऑफलाइन डाउनलोड करू शकता. तुमच्या स्थानिक मशीनवर या रेपोला फोर्क करा, [installed docsify](https://docsify.js.org/#/quickstart) आणि नंतर या रेपोच्या रूट फोल्डरमध्ये `docsify serve` टाइप करा. वेबसाइट तुमच्या लोकलहोस्ट: `localhost:3000` वर पोर्ट 3000 वर दिली जाईल.

@ -0,0 +1,112 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
# หลักสูตรการพัฒนาเว็บสำหรับมือใหม่
Azure Cloud Adveocates ที่ Microsoft ยินดีที่จะเสนอหลักสูตร 12 สัปดาห์ 24 บทเรียนเกี่ยวกับ JavaScript CSS และพื้นฐาน HTML โดยแต่ละบทเรียนประกอบด้วยคำถามก่อน และหลังการเรียน มีแนวทางในการพิชิตบทเรียน วิธีแก้ปัญหา รวมถึงโจทย์ปัญหาและอื่น ๆ อีกมากมาย
การสอนแบบ project-based (เรียนรู้จากการทำโปรเจกต์)ของเราจะให้คุณได้เรียนรู้ในการสร้างสิ่งใหม่ ๆ ไปด้วยกัน ซึ่งเป็นวิธีที่ได้รับการพิสูจน์แล้วว่าจะเสริมสร้างทักษะใหม่ ๆ ให้'ติดตัว'ต่อไปได้
**ขอขอบพระคุณเหล่าผู้เขียนของเรา Jen Looper, Chris Noring, Christopher Harrison, Jasmine Greenaway, Yohan Lasorsa, Floor Drees, และศิลปินผู้วาด sketchnote Tomomi Imura!**
# คุณเป็นผู้เรียนใช่หรือไม่?
เริ่มเลยด้วยแหล่งข้อมูลดังต่อไปนี้:
- [Student Hub page](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-13441-cxa) ในเว็บนี้คุณจะเจอแหล่งข้อมูลสำหรับผู้ที่กำลังเริ่มต้น ซึ่งจะมีชุดสำหรับผู้เรียนรวมถึงโอกาสที่จะได้รับบัตรส่วนลดใบรับรองฟรี แนะนำให้ทำบุ๊กมาร์กและกลับมาดูเป็นครั้งคราวเพราะเราเปลี่ยนเนื้อหาใหม่ทุกเดือนเป็นอย่างต่ำ
- [Microsoft Student Learn ambassadors](https://studentambassadors.microsoft.com?WT.mc_id=academic-13441-cxa) เข้าร่วมชุมชน student ambassadors ที่นี่อาจเป็นหนทางที่จะพาคุณเข้ามาเป็นส่วนหนึ่งกับ Microsoft ได้
# เริ่มต้น
> **สำหรับผู้สอน** เรามี[คำแนะนำ](../for-teachers.md)ให้เกี่ยวกับวิธีการใช้งานหลักสูตรนี้ โดยเรายินดีเป็นอย่างมากที่จะรับฟังข้อเสนอแนะของคุณ[ในฟอรั่มแสดงความคิดเห็นของเรา](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **[สำหรับผู้เรียน](https://aka.ms/student-page)** ที่เรียนหลักสูตรนี้ด้วยตนเอง ให้ทำการ fork repository นี้ แล้วทำแบบทดสอบด้วยตนเอง โดยเริ่มจากการทำแบบทดสอบก่อนเรียน แล้วอ่านเนื้อหา ทำกิจกรรมที่เหลือให้ครบ ลองสร้างโปรเจกต์ด้วยการทำความเข้าใจบทเรียนมากกว่าที่จะลอกคำตอบ อย่างไรก็ตามจะมีโค้ดเฉลยอยู่ในโฟลเดอร์ /solutions ในแต่ละบทเรียน หรืออีกหนึ่งวิธีคือจัดกลุ่มเรียนกับเพื่อนเรียนด้วยกัน สำหรับผู้ที่ต้องการเรียนเพิ่มเติม เราขอแนะนำ [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81?WT.mc_id=academic-13441-cxa) และดูจากวิดีโอด้านล่าง
[![Promo video](../images/web.gif)](https://youtube.com/watch?v=R1wrdtmBSIII)
ภาพ Gif โดย [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 คลิกที่รูปด้านบนเพื่อดูวิดีโอเกี่ยวกับโปรเจกต์และเหล่าทีมงานผู้สร้าง!
## การสอน
เราได้เลือกหลักการสอน 2 อย่างในระหว่างที่สร้างหลักสูตรนี้ขึ้นมา คือต้องมั่นใจว่าเป็นแบบ project-based และมีหลายแบบทดสอบให้ทำ โดยในตอนท้ายของการเรียน ผู้เรียนจะได้สร้างเกมพิมพ์ดีด, virtual terrarium, 'green' browser extension, space invaders และแอพลิเคชั่นธนาคารประเภทธุรกิจ รวมถึงเรียนรู้พื้นฐานของภาษา JavaScript, HTML และ CSS ควบคู่ไปกับการใช้เครื่องมือที่ทันสมัยของนักพัฒนาเว็บในปัจจุบัน
> 🎓 คุณสามารถใช้บทเรียนแรก ๆ ในหลักสูตรนี้เป็น[เส้นทางการเรียนรู้](https://docs.microsoft.com/learn/paths/web-development-101?WT.mc_id=academic-13441-cxa) บน Microsoft Learn ได้!
การทำให้แน่ใจว่าเนื้อหาสอดคล้องกับโปรเจกต์นี้ทำให้นักเรียนมีส่วนร่วมมากขึ้น และทำให้จดจำคอนเซปต์ได้มากขึ้นอีกด้วย เรายังมีบทเรียนสำหรับผู้เริ่มต้นในพื้นฐาน JavaScript เพื่อปูพื้นฐานแนวคิด จับคู่กับวิดีโอจาก ชุดการสอน "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript?WT.mc_id=academic-13441-cxa)" ซึ่งผู้จัดทำบางคนเป็นผู้ร่วมพัฒนาหลักสูตรนี้
นอกจากนี้การทำแบบทดสอบก่อนเรียนจะช่วยให้ผู้เรียนสนใจในเนื้อหาที่จะเรียนได้ อีกทั้งการให้แบบทดสอบหลังเรียนจะช่วยให้ผู้เรียนจดจำและต่อยอดผลการเรียนเพิ่มมากขึ้นอีกด้วย หลักสูตรนี้ถูกออกแบบมาให้มีความยืดหยุ่น สนุก และสามารถเรียนรู้ทั้งหมด หรือเฉพาะบางส่วนก็ได้ โดยโปรเจกต์เริ่มต้นจากเล็ก ๆ และเพิ่มความซับซ้อนมากขึ้น ๆ เมื่อครบช่วง 12 สัปดาห์
แม้ว่าเราตั้งใจที่จะเลี่ยงการแนะนำเฟรมเวิร์ก JavaScript เพื่อเน้นที่ทักษะพื้นฐานที่จำเป็นสำหรับนักพัฒนาเว็บก่อนที่จะนำเอาเฟรมเวิร์กมาใช้ เพื่อที่จะสำเร็จหลักสูตรนี้ได้เราขอแนะนำให้ได้เรียนรู้เกี่ยวกับ Node.js ผ่านอีกชุดการสอน: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs?WT.mc_id=academic-13441-cxa)".
> ตรวจดูแนวทาง [จรรยาบรรณ](../CODE_OF_CONDUCT.md), [การมีส่วนช่วย](../CONTRIBUTING.md), และ [การแปล](../TRANSLATIONS.md) เรายินดีรับข้อเสนอแนะที่สร้างสรรค์ของคุณ!
## แต่ละบทเรียนประกอบไปด้วย:
- โน้ตเสริม
- วิดีโอเพิ่มเติม
- คำถามก่อนการเรียน
- บทเรียน
- สำหรับบทเรียนแบบ project-based จะมีขั้นตอนวิธีทำโปรเจกต์แบบ step-by-step
- ตัวตรวจวัดความรู้
- แบบทดสอบที่ท้าทาย
- เนื้อหาสำหรับอ่านเพิ่มเติม
- การบ้าน
- คำถามหลังการเรียน
> **หมายเหตุเกี่ยวกับคำถามแบบทดสอบ**: ทุกคำถามรวมอยู่[ในแอปนี้](https://ashy-river-0debb7803.1.azurestaticapps.net/) ทั้ง 48 แบบทดสอบมี 3 คำถามที่เกี่ยวข้องกับบทเรียน โดยแอปนี้สามารถใช้งานแบบ local ได้โดยการทำตามจากโฟลเดอร์ `quiz-app` ซึ่งกำลังทะยอยแปลภาษากันอยู่
## บทเรียน
| | ชื่อโปรเจกต์ | แนวคิดที่สอน | วัตถุประสงค์ของการเรียน | บทเรียนที่เกี่ยวข้อง | ผู้เขียน |
| :-: | :----------------------------------------------------------------: | :---------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | เริ่มต้น | แนะนำการเขียนโปรแกรมและเครื่องมือที่ใช้ | เรียนรู้พื้นฐานเบื้องหลังภาษาโปรแกรมมิ่งส่วนใหญ่และซอฟต์แวร์ที่ช่วยเหลือการทำงานของนักพัฒนามืออาชีพ | [Intro to Programming Languages and Tools of the Trade](../1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | เริ่มต้น | พื้นฐาน GitHub รวมถึงการทำงานร่วมกับทีม | วิธีการใช้ GitHub ในโปรเจกต์ของคุณ และวิธีการทำงานร่วมกับผู้อื่นบนโค้ดเบส | [Intro to GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | เร่ิมต้น | การเข้าถึง | เรียนรู้พื้นฐานของการเข้าถึงเว็บ | [Accessibility Fundamentals](/1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | พื้นฐาน JS | ชนิดข้อมูลบน JavaScript | พื้นฐานของชนิดข้อมูลบน JavaScript | [Data Types](/2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | พื้นฐาน JS | ฟังก์ชันและเมธทอด | เรียนเกี่ยวกับฟังก์ชันและเมธอดที่ใช้จัดการการทำงานลอจิกของแอพลิเคชั่น | [Functions and Methods](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | พื้นฐาน JS | สร้างการตัดสินใจด้วย JS | เรียนรู้วิธีสร้างเงื่อนไขในโค้ดของคุณโดยการใช้ decision-making methods | [Making Decisions](/2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | พื้นฐาน JS | อาเรย์และการวนซ้ำ | ทำงานกับข้อมูลด้วยอาเรย์และการวนซ้ำใน JavaScript | [Arrays and Loops](/2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](/3-terrarium/solution/README.md) | HTML ในทางปฏิบัติ | เขียน HTML เพื่อสร้างระบบนิเวศจำลองออนไลน์ โดยเน้นไปที่การจัดวางเลย์เอาต์ | [Introduction to HTML](/3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](/3-terrarium/solution/README.md) | CSS ในทางปฏิบัติ | เขียน CSS เพื่อตกแต่งระบบนิเวศจำลองออนไลน์ โดยเน้นที่พื้นฐาน CSS รวมถึงการทำ responsive | [Introduction to CSS](/3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](/3-terrarium/solution/README.md) | JavaScript Closures และการจัดการ DOM | เขียน JavaScript เพื่อสร้างฟังก์ชันให้ระบบนิเวศจำลองเช่นการลากวาง โดยเน้นที่หลักการ closures และการจัดการ DOM | [JavaScript Closures, DOM manipulation](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](/4-typing-game/solution/README.md) | Build a Typing Game | เรียนรู้วิธีการรับค่าจากคีย์บอร์ดเพื่อขับเคลื่อนการทำงานลอจิกบนแอพ JavaScript ของคุณ | [Event-Driven Programming](/4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](/5-browser-extension/solution/README.md) | การทำงานกับ Browsers | เรียนรู้การทำงานของ browsers ความเป็นมา และวิธีจัดวางองค์ประกอบแรกของส่วนขยาย browser | [About Browsers](/5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](/5-browser-extension/solution/README.md) | สร้างแบบฟอร์ม การเรียกใช้ API และการจัดเก็บตัวแปรบน local storage | สร้างองค์ประกอบ JavaScript ของส่วนขยาย browser เพื่อเรียกใช้ API โดยเรียกใช้ตัวแปรที่เก็บบน local storage | [APIs, Forms, and Local Storage](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](/5-browser-extension/solution/README.md) | การทำงานเบื้องหลัง Browser และประสิทธิภาพของเว็บ | ใช้การทำงานเบื้องหลังของ browser ในการจัดการไอคอนของส่วนขยาย เรียนรู้เกี่ยวกับประสิทธิภาพของเว็บและการเพิ่มประสิทธิภาพ | [Background Tasks and Performance](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](/6-space-game/solution/README.md) | การพัฒนาเกมขั้นสูงด้วย JavaScript | เรียนรู้เกี่ยวกับการสืบทอดโดยใช้คลาสและคอมโพสิชั่น และ Pub/Sub แพทเทิร์น ในการเตรียมพร้อมสำหรับสร้างเกม | [Introduction to Advanced Game Development](/6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](/6-space-game/solution/README.md) | วาดรูปด้วย Canvas | เรียนรู้เกี่ยวกับ Canvas API สำหรับวาดภาพบนหน้าจอ | [Drawing to Canvas](/6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](/6-space-game/solution/README.md) | การขยับองค์ประกอบไปรอบ ๆ จอ | ค้นพบวิธีที่องค์ประกอบสามารถเคลื่อนไหวโดยใช้พิกัดคาร์ทีเซียนและ Canvas API | [Moving Elements Around](/6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](/6-space-game/solution/README.md) | ตรวจสอบการชน | ทำให้องค์ประกอบชนกันและโต้ตอบกันและกันโดยใช้การกดปุ่มและสร้างฟังก์ชั่นคูลดาวน์เพื่อรับรองประสิทธิภาพของเกม | [Collision Detection](/6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](/6-space-game/solution/README.md) | การเก็บแต้ม | ทำการคำนวณทางคณิตศาสตร์ตามสถานะของเกม | [Keeping Score](/6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](/6-space-game/solution/README.md) | การจบเกมและเริ่มใหม่ | เรียนรู้เกี่ยวกับการจบเกมและเริ่มเกมใหม่ รวมถึงการล้างค่าและรีเซ็ตตัวแปร | [The Ending Condition](/6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](/7-bank-project/solution/README.md) | เทมเพลท HTML และ Routes ในเว็บแอพ | เรียนรู้วิธีการสร้างโครงสำหรับเว็บหลายหน้าโดยใช้ routing และ HTML templates | [HTML Templates and Routes](/7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](/7-bank-project/solution/README.md) | สร้างแบบฟอร์มล็อกอิน และสมัครสมาชิก | เรียนรู้เกี่ยวกับการสร้างฟอร์มและตรวจสอบความถูกต้องของข้อมูล | [Forms](/7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](/7-bank-project/solution/README.md) | วิธีการดึงและใช้ข้อมูล | วิธีการเดินทางของข้อมูลบนแอพ วิธีการดึง จัดเก็บ และกำจัดข้อมูลเหล่านั้น | [Data](/7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](/7-bank-project/solution/README.md) | แนวคิดการจัดการ State | เรียนรู้วิธีการเก็บ state ให้คงอยู่ และวิธีจัดการด้วยการโปรแกรม | [State Management](/7-bank-project/4-state-management/README.md) | Yohan |
## การเข้าถึงแบบออฟไลน์
คุณสามารถเปิดเอกสารนี้แบบออนไลน์ได้โดยใช้ [Docsify](https://docsify.js.org/#/) ทำการ Fork repo นี้แล้ว [ติดตั้ง Docsify](https://docsify.js.org/#/quickstart) บนอุปกรณ์ของคุณ จากนั้นใช้คำสั่ง `docsify serve` บน repo ที่ติดตั้งบนเครื่อง เว็บไซต์ก็จะให้บริการบนพอร์ต 3000 บนเครื่องของคุณ: `localhost:3000`
## PDF
ไฟล์ PDF ของทุกบทเรียนสามารถหาได้จาก[ที่นี่](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf)
## หลักสูตรอื่น ๆ
ทีมของเรายังมีหลักสูตรที่น่าสนใจอีกมากมาย ดูได้ตามนี้เลย!:
- [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)

@ -0,0 +1,113 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/stargazers/)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
# Yeni Başlayanlar için Web Geliştirme Bir Müfredat
Microsofttaki Azure Cloud Advocates JavaScript, CSS ve HTML temellerini içeren 12 haftalık 24 dersten oluşan müfredatı sunmaktan mutluluk duyuyor. Her bir ders, ders başı ve ders sonu kısa sınavlarını, dersi tamamlamak için yazılı yönergeleri, bir çözümü, bir ödevi ve daha fazlasını içermektedir. Yeni becerilerin 'kazanımı' için kanıtlanmış bir yol olan proje temelli pedagojimiz, yaparken öğrenmenizi sağlar.
**Yazarlarımıza en kalbi duygularla teşekkür ederiz: Jen Looper, Chris Noring, Christopher Harrison, Jasmine Greenaway, Yohan Lasorsa, Floor Drees ve sketchnote ressamı Tomomi Imuraye!**
# Öğrenci misin?
Aşağıdaki kaynaklarla başla:
- [Student Hub sayfası](https://docs.microsoft.com/en-gb/learn/student-hub?WT.mc_id=academic-77807-sagibbon) Bu sayfada, başlangıç kaynakları, Öğrenci paketleri ve hatta ücretsiz sertifika kuponu almanın yollarını bulacaksınız. Bu sayfa, içeriğini ayda en az bir kez değiştirdiğimiz için yer imlerine eklemek ve zaman zaman kontrol etmek isteyeceğin bir sayfadır.
- [Microsoft Student Learn elçileri](https://studentambassadors.microsoft.com?WT.mc_id=academic-77807-sagibbon) Küresel bir öğrenci elçileri topluluğuna katıl, bu Microsoft'a giriş yolun olabilir.
# Başlarken
> **Öğretmenler**, bu müfredatın nasıl kullanılacağına dair [bazı öneriler ekledik](for-teachers.md). [Tartışma forumlarımıza](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner) yazabileceğiniz geribildirimlerinizi görmeyi çok istiyoruz.
> **[Öğrenciler](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, bu müfredatı kendi başınıza kullanabilmek için tüm repoyu forklayın ve ders öncesi kısa sınavlarından başlayarak tek başınıza alıştırmaları tamamlamaya çalışın. Sonra dersi okuyun ve geri kalan etkinlikleri tamamlayın. Çözüm kodları her projeye dayalı dersin /solutions klasöründe bulunmaktadır ancak çözüm kodunu kopyalamaktansa derslerde öğrendiklerinizi kullanarak projeler yaratmaya çalışın. Başka bir fikir de arkadaşlarınızla bir çalışma grubu kurup içeriği birlikte takip etmeniz olabilir. Daha ileri çalışmalar için [Microsoft Learn](https://docs.microsoft.com/users/jenlooper-2911/collections/jg2gax8pzd6o81?WT.mc_id=academic-77807-sagibbon)’ü ve aşağıda sözü edilen videoları izlemenizi tavsiye ediyoruz.
[![Promo video](images/web.gif)](https://youtube.com/watch?v=R1wrdtmBSII)
Gif by [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 Click the image above for a video about the project and the folks who created it!
## Pedagoji
Bu müfredatı oluştururken iki pedagojik ilke seçtik: proje temelli olması ve sık kısa sınavlar içermesi. Bu serinin sonunda, öğrenciler birer tane typing game, virtual terrarium, green browser extension, 'space invaders' type game ve business-type banking app yapacak ve günümüz web geliştiricisinin çağdaş araçtakımı ile birlikte JavaScript, HTML ve CSSin temellerini öğrenmiş olacak.
> 🎓 Bu müfredattaki ilk birkaç dersi Microsoft Learndeki bir [Öğrenme Patikası](https://docs.microsoft.com/learn/paths/web-development-101?WT.mc_id=academic-77807-sagibbon)'dan alabilirsiniz.
İçeriğin projelerle uyumlu olması sağlanarak süreç öğrenciler için daha ilgi çekici hale getirilecek ve kavramların akılda kalıcılığı artırılacaktır. Ayrıca, kavramları tanıtmak için JavaScript temelleri üzerine birkaç başlangıç dersi yazdık ve bu müfredata katkıda bulunan bazı yazarların video eğitimleri koleksiyonu olan "[Yeni Başlayanlar için JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript?WT.mc_id=academic-77807-sagibbon)" videolarıyla eşleştirdik.
Bunlara ek olarak ders öncesi yüzeysel bir kısa sınav ile öğrencinin bir konuyu öğrenme niyetini oluştururken ders sonunda ikinci bir kısa sınav ileri pekiştirmeyi sağlar. Bu ders programı esnek ve eğlenceli olması için tasarlandı ve parçalar halinde veya bütün olarak takip edilebilir. Projeler temel düzeyde başlamaktadır ve 12 haftalık süreç içerisinde gittikçe kompleks bir hal almaktadır.
Bir frameworkü benimsemeden önce bir web geliştiricisi olarak ihtiyaç duyulan temel becerilere konsantre olmak için JavaScript frameworklerini tanıtmaktan bilerek kaçınmış olsak da, bu müfredatı tamamlamanın bir sonraki adımı, başka bir video koleksiyonu aracılığıyla Node.js hakkında bilgi edinmek olacaktır: "[Yeni Başlayanlar için Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs?WT.mc_id=academic-77807-sagibbon)".
> [Davranış Kuralları](CODE_OF_CONDUCT.md)'mızı, [Katkıda Bulunma](CONTRIBUTING.md) ve [Çeviri](TRANSLATIONS.md) kılavuz ilkelerimizi inceleyin. Yapıcı geribildirimlerinizi memnuniyetle karşılıyoruz!
## Her bir ders şunları içermektedir:
- isteğe bağlı sketchnote
- isteğe bağlı ek video
- ders öncesi ısınma kısa sınavı
- yazılı ders
- proje temelli dersler için, projenin nasıl yapılacağına dair adım adım kılavuz
- bilgi kontrolleri
- bir meydan okuma
- ek okuma
- ödev
- ders sonrası kısa sınavı
> **Kısa sınavlarla ilgili bir not**: Her biri üç sorudan oluşan toplam 48 kısa sınav [bu uygulamada](https://ashy-river-0debb7803.1.azurestaticapps.net/) yer alır. Bunlar derslerin içinden bağlantılıdır ancak sınav uygulaması yerel olarak çalıştırılabilir; 'quiz-app' klasöründeki yönergeleri izleyin.
## Dersler
| | Proje Adı | Öğretilen Kavramlar | Öğrenme Hedefleri | Bağlantılı Ders | Yazar |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Başlangıç | Introduction to Programming and Tools of the Trade | Çoğu programlama dilinin arkasındaki temeller ve profesyonel geliştiricilerin işlerini yapmalarına yardımcı olan yazılımlar hakkında bilgi edinmek | [Intro to Programming Languages and Tools of the Trade](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Başlangıç | Basics of GitHub, includes working with a team | Github'ın nasıl kullanıldığını ve başkalarıyla ortak projede nasıl işbirliği yapıldığını öğrenmek | [Intro to GitHub](/1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Başlangıç | Accessibility | Web erişilebilirliğinin temellerini öğrenmek | [Accessibility Fundamentals](/1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Temelleri | JavaScript Data Types | JavaScript veri yapılarının temellerini öğrenmek | [Data Types](/2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Temelleri | Functions and Methods | Bir uygulamanın mantıksal akışını yönetmeye yönelik fonksiyonlar ve metodlarla ilgili bilgi edinmek | [Functions and Methods](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS Temelleri | Making Decisions with JS | Karar verme yöntemlerini kullanarak kodda koşulların nasıl oluşturalacağını öğrenmek | [Making Decisions](/2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Temelleri | Arrays and Loops | JavaScript'te verileri diziler ve döngüleri kullanarak işlemek | [Arrays and Loops](/2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](/3-terrarium/solution/README.md) | HTML in Practice | Build the HTML to create an online terrarium, focusing on building a layout | [Introduction to HTML](/3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](/3-terrarium/solution/README.md) | CSS in Practice | Build the CSS to style the online terrarium, focusing on the basics of CSS including making the page responsive | [Introduction to CSS](/3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](/3-terrarium/solution/README.md) | JavaScript Closures, DOM manipulation | Build the JavaScript to make the terrarium function as a drag/drop interface, focusing on closures and DOM manipulation | [JavaScript Closures, DOM manipulation](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](/4-typing-game/solution/README.md) | Build a Typing Game | Learn how to use keyboard events to drive the logic of your JavaScript app | [Event-Driven Programming](/4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Working with Browsers | Learn how browsers work, their history, and how to scaffold the first elements of a browser extension | [About Browsers](/5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Building a form, calling an API and storing variables in local storage | Build the JavaScript elements of your browser extension to call an API using variables stored in local storage | [APIs, Forms, and Local Storage](/5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](/5-browser-extension/solution/README.md) | Background processes in the browser, web performance | Use the browser's background processes to manage the extension's icon; learn about web performance and some optimizations to make | [Background Tasks and Performance](/5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](/6-space-game/solution/README.md) | More Advanced Game Development with JavaScript | Learn about Inheritance using both Classes and Composition and the Pub/Sub pattern, in preparation for building a game | [Introduction to Advanced Game Development](/6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](/6-space-game/solution/README.md) | Drawing to canvas | Learn about the Canvas API, used to draw elements to a screen | [Drawing to Canvas](/6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](/6-space-game/solution/README.md) | Moving elements around the screen | Discover how elements can gain motion using the cartesian coordinates and the Canvas API | [Moving Elements Around](/6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](/6-space-game/solution/README.md) | Collision detection | Make elements collide and react to each other using keypresses and provide a cooldown function to ensure performance of the game | [Collision Detection](/6-space-game/4-collision-detection/README.md) | Chris |
| 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 |
| 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 |
## Çevrimdışı erişim
[Docsify](https://docsify.js.org/#/) kullanarak bu belgeleri çevrimdışı çalıştırabilirsiniz. Bu depoyu çatallayın, yerel makinenize [Docsify'ı yükleyin](https://docsify.js.org/#/quickstart) ve ardından bu deponun `etc/docsify` klasörüne `docsify serve` yazın. Web sitesi, localhost'unuzdaki 3000 numaralı bağlantı noktasında hizmet sağlayacak: `localhost:3000`.
## PDF
Müfredatın bir PDF'i [bu bağlantıda](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf) mevcut.
## Diğer Müfredatlar
Ekibimiz başka müfredatlar da üretiyor. Bakınız:
- [Yeni Başlayanlar için Makine Öğrenmesi](https://aka.ms/ml-beginners)
- [Yeni Başlayanlar için IoT](https://aka.ms/iot-beginners)
- [Yeni Başlayanlar için Veri Bilimi](https://aka.ms/datascience-beginners)
- [Yeni Başlayanlar için Yapay Zekâ](https://aka.ms/ai-beginners/?WT.mc_id=academic-77807-sagibbon)

@ -69,15 +69,15 @@ Gif by [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
| | 项目名称 | 教授概念 | 学习目标 | 课程链接 | 课程作者 |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | 入门篇 | 编程语言和行业工具介绍 | 了解大多数编程语言背后的基本支撑,以及帮助专业开发人员完成工作的软件。 | [编程语言和工具介绍](/1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | 入门篇 | GitHub的基础知识包括与一个团队合作 | 如何在你的项目中使用GitHub如何在代码库中与他人合作 | [GitHub介绍](/1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | 入门篇 | 无障碍性 | 学习网络无障碍的基本知识 | [无障碍基础知识](/1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS基础 | JavaScript数据类型 | JavaScript数据类型的基础知识 | [数据类型](/2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS基础 | 函数和方法 | 了解管理应用程序逻辑流的函数和方法 | [函数和方法](/2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS基础 | 用JS做出决定 | 学习如何使用决策方法在你的代码中创建条件 | [做出决定](/2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS基础 | 数组和循环 | 在JavaScript中使用数组和循环来处理数据 | [数组和循环](/2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [花艺瓶](/3-terrarium/solution/README.md) | 实践中的HTML | 构建HTML以创建一个在线花艺瓶重点是构建一个布局 | [HTML简介](/3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [花艺瓶](/3-terrarium/solution/README.md) | 实践中的CSS | 构建CSS为在线花艺瓶设计样式重点是CSS的基础知识包括使页面具有响应性 | [CSS简介](/3-terrarium/2-intro-to-css/README.md) | Jen |
| 01 | 入门篇 | 编程语言和行业工具介绍 | 了解大多数编程语言背后的基本支撑,以及帮助专业开发人员完成工作的软件。 | [编程语言和工具介绍](/1-getting-started-lessons/1-intro-to-programming-languages/translations/README.zh-cn.md) | Jasmine |
| 02 | 入门篇 | GitHub的基础知识包括与一个团队合作 | 如何在你的项目中使用GitHub如何在代码库中与他人合作 | [GitHub介绍](/1-getting-started-lessons/2-github-basics/translations/README.zh-cn.md) | Floor |
| 03 | 入门篇 | 无障碍性 | 学习网络无障碍的基本知识 | [无障碍基础知识](/1-getting-started-lessons/3-accessibility/translations/README.zh-cn.md) | Christopher |
| 04 | JS基础 | JavaScript数据类型 | JavaScript数据类型的基础知识 | [数据类型](/2-js-basics/1-data-types/translations/README.zh-cn.md) | Jasmine |
| 05 | JS基础 | 函数和方法 | 了解管理应用程序逻辑流的函数和方法 | [函数和方法](/2-js-basics/2-functions-methods/translations/README.zh-cn.md) | Jasmine and Christopher |
| 06 | JS基础 | 用JS做出决定 | 学习如何使用决策方法在你的代码中创建条件 | [做出决定](/2-js-basics/3-making-decisions/translations/README.zh-cn.md) | Jasmine |
| 07 | JS基础 | 数组和循环 | 在JavaScript中使用数组和循环来处理数据 | [数组和循环](/2-js-basics/4-arrays-loops/translations/README.zh-cn.md) | Jasmine |
| 08 | [花艺瓶](/3-terrarium/solution/README.md) | 实践中的HTML | 构建HTML以创建一个在线花艺瓶重点是构建一个布局 | [HTML简介](/3-terrarium/1-intro-to-html/translations/README.zh-cn.md) | Jen |
| 09 | [花艺瓶](/3-terrarium/solution/README.md) | 实践中的CSS | 构建CSS为在线花艺瓶设计样式重点是CSS的基础知识包括使页面具有响应性 | [CSS简介](/3-terrarium/2-intro-to-css/translations/README.zh-cn.md) | Jen |
| 10 | [花艺瓶](/3-terrarium/solution/README.md) | JavaScript闭包DOM操作 | 构建JavaScript使水族馆成为一个拖/放界面重点是闭包和DOM操作 | [JavaScript闭包DOM操作](/3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [打字游戏](/4-typing-game/solution/README.md) | 建立一个打字游戏 | 学习如何使用键盘事件来驱动你的JavaScript应用程序的逻辑 | [事件驱动编程](/4-typing-game/typing-game/README.md) | Christopher |
| 12 | [绿色浏览器扩展](/5-browser-extension/solution/README.md) | 与浏览器协作 | 了解浏览器是如何工作的,它们的历史,以及如何为浏览器扩展的第一批元素提供支架 | [关于浏览器](/5-browser-extension/1-about-browsers/README.md) | Jen |

@ -0,0 +1,33 @@
## Para Educadores
¿Te gustaría usar este curso en tu clase? ¡Estamos encantados de ayudarte! Aquí hay algunas sugerencias para ayudarte a comenzar.
De hecho, puedes usarlo dentro de GitHub usando GitHub Classroom.
Para hacerlo, haz un fork de este repositorio. Necesitarás crear un repositorio para cada lección, por lo que necesitarás extraer cada carpeta en un repositorio separado. De esta manera, [GitHub Classroom](https://classroom.github.com/classrooms) puede seleccionar cada lección por separado.
Estas [instrucciones](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) te darán una idea de cómo configurar tu aula.
## Usando el repositorio en Moodle, Canvas o Blackboard.
Este curso funciona bien en estos Sistemas de Gestión de Aprendizaje. Usa el archivo [Moodle](/teaching-files/webdev-moodle.mbz) para el contenido completo, o prueba el archivo [Common Cartridge](/teaching-files/webdev-common-cartridge.imscc) que contiene parte del contenido. Moodle Cloud no admite exportaciones completas de Common Cartridge, por lo que es preferible usar el archivo de descarga de Moodle que se puede cargar en Canvas. Por favor, háganos saber cómo podemos mejorar esta experiencia.
![Moodle](https://raw.githubusercontent.com/microsoft/Web-Dev-For-Beginners/main/teaching-files/moodle.png)
> El curso en Moodle Classroom
![Canvas](https://raw.githubusercontent.com/microsoft/Web-Dev-For-Beginners/main/teaching-files/canvas.png)
> El curso en Canvas
## Usando el repositorio de la forma en que está
Si deseas usar este repositorio tal como está, sin usar GitHub Classroom, también lo puedes hacer. Para ello, deberías conversar con tus estudiantes sobre qué lección van a trabajar juntos.
En un ambiente en línea (Zoom, Teams, u otro) podrías formar _breakout rooms_ (salas de descanso) para que tus alumnos presenten sus exámenes, y ayudar a los estudiantes para prepararse a aprender. Otro ejemplo, puedes invitar a los estudiantes a que participen en los exámenes y envíen sus respuestas como 'issues' a cierta hora. Podrías hacer lo mismo con las tareas, si quieres que los estudiantes trabajen de forma colaborativa externa.
Si prefieres un ambiente más privado, pide a tus estudiantes que hagan un fork del curso, lección por lección, a sus propios repositorios de GitHub como repositorios privados y te den acceso. Luego pueden completar los exámenes y las tareas de forma privada y enviártelas a través de "issues" en tu repositorio de aula.
Hay muchas formas de hacer funcionar el curso en un formato en línea. ¡Haznos saber cómo lo estás haciendo!
## Por favor, ayúdanos a mejorar
Queremos mejorar este curso para que sea más útil para los educadores y los estudiantes. Si tienes alguna sugerencia, por favor déjanos tus [comentarios](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u).

@ -0,0 +1,23 @@
## शिक्षकांसाठी
तुम्हाला हा कोर्स तुमच्या वर्गात वापरायला आवडेल का? कृपया मोकळे व्हा!
खरं तर, तुम्ही ते GitHub क्लासरूम वापरून GitHub मध्ये वापरू शकता.
हे करण्यासाठी, हा रेपो फोर्क करा. तुम्हाला प्रत्येक धड्यासाठी रेपो तयार करणे आवश्यक आहे, म्हणून तुम्हाला प्रत्येक फोल्डर वेगळ्या रेपोमध्ये काढावे लागेल. अशा प्रकारे, [GitHub Classroom](https://classroom.github.com/classrooms) प्रत्येक धडा स्वतंत्रपणे घेऊ शकतात.
या [संपूर्ण सूचना](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) तुम्हाला तुमचा वर्ग कसा सेट करायचा याची कल्पना देईल.
## रेपो जसा आहे तसा वापरा
GitHub Classroom न वापरता तुम्हाला हा रेपो वापरायचा असल्यास, जे काही करता येईल. तुम्हाला तुमच्या विद्यार्थ्यांशी संवाद साधावा लागेल जे एकत्र काम शिकवतात.
ऑनलाइन फॉरमॅटमध्ये (झूम, टीम्स किंवा इतर) विद्यार्थ्यांना शिकण्यासाठी तयार होण्यासाठी तुम्ही क्विझ आणि मार्गदर्शनासाठी ब्रेकआउट रूम तयार करू शकता. नंतर विद्यार्थ्यांना प्रश्नमंजुषा साठी आमंत्रित करा आणि दिलेल्या वेळी 'समस्या' समस्या म्हणून उपस्थित करा. विद्यार्थ्यांनी खुलेपणाने सहकार्य करावे असे तुम्हाला वाटत असल्यास, तुम्ही असाइनमेंटसह देखील असेच करू शकता.
जर तुम्हाला अधिक खाजगी स्वरूप आवडत असेल, तर तुमच्या विद्यार्थ्यांना तुम्हाला अभ्यासक्रमात प्रवेश देण्यास सांगा, पाठानुसार धडा, वैयक्तिक प्रतिनिधी म्हणून तुमचा स्वतःचा GitHub रेपो आणि बरेच काही. ते नंतर खाजगीरित्या क्विझ आणि असाइनमेंट पूर्ण करू शकतात आणि तुमच्या क्लास रेपोवरील समस्यांद्वारे तुम्हाला सबमिट करू शकतात.
ऑनलाइन क्लासरूम फॉरमॅटमध्ये हे करण्याचे अनेक मार्ग आहेत. कृपया आपल्यासाठी काय सर्वोत्तम आहे ते आम्हाला कळवा!
## कृपया आपले विचार कळवा!
आम्हाला हा कोर्स तुमच्यासाठी आणि तुमच्या विद्यार्थ्यांसाठी उपयुक्त बनवायचा आहे. कृपया आम्हाला [फीडबॅक](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWQ4WLKY) द्या.
Loading…
Cancel
Save