Merge pull request #3 from microsoft/main

Merge changes from microsoft/Web-Dev-For-Begineers
pull/59/head
mahinsagotra 5 years ago committed by GitHub
commit c5a58f85cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,12 +6,12 @@
- [ ] JavaScript
- [ ] Bash
1. Lingkungan pengembangan unik untuk setiap pengembang
2. Lingkungan pengembangan unik untuk setiap pengembang
- [ ] Benar
- [ ] Salah
1. Apa yang akan dilakukan pengembang untuk memperbaiki kode buggy (mudah rusak)?
3. Apa yang akan dilakukan pengembang untuk memperbaiki kode buggy (mudah rusak)?
- [ ] Syntax highlighting (Penyorotan sintaks)
- [ ] Debugging

@ -5,13 +5,13 @@
- [ ] Benar
- [ ] Salah
1. Bahasa tingkat rendah adalah pilihan populer untuk:
2. Bahasa tingkat rendah adalah pilihan populer untuk:
- [ ] Website
- [ ] Hardware
- [ ] Perangkat lunak permainan video
1. Manakah dari alat berikut yang kemungkinan besar ada di lingkungan pengembang web?
3. Manakah dari alat berikut yang kemungkinan besar ada di lingkungan pengembang web?
- [ ] Hardware, like a Raspberry Pi
- [ ] Browser DevTools

@ -2,7 +2,7 @@
Esta lección cubre los conceptos básicos de los lenguajes de programación. Los temas que se tratan aquí se aplican a la mayoría de los lenguajes de programación modernos en la actualidad. En la sección 'Herramientas del oficio', aprenderá sobre software útil que lo ayuda como desarrollador.
## [Pre-lecture quiz](.github/pre-lecture-quiz.md)
## [Pre-lecture quiz](../.github/pre-lecture-quiz.md)
### Introducción
@ -175,10 +175,10 @@ Cuando un desarrollador quiere aprender algo nuevo, lo más probable es que recu
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](.github/post-lecture-quiz.md)
## [Prueba Post-lectura](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Estudia un poco sobre los diferentes lenguajes disponibles para el programador. Intente escribir una línea en un idioma y luego vuelva a hacerlo en otros dos. ¿Qué aprendes?
**Asignación**: [Asignación](assignment.md)
**Asignación**: [Asignación](../assignment.md)

@ -6,13 +6,13 @@
- [ ] Pull Request (Tarik Permintaan)
- [ ] Feature branch (Cabang fitur)
1. Bagaimana Anda mendapatkan semua komit dari cabang remote (jarak jauh)?
2. Bagaimana Anda mendapatkan semua komit dari cabang remote (jarak jauh)?
- [ ] `git fetch`
- [ ] `git pull`
- [ ] `git commits -r`
1. Bagaimana Anda beralih ke sebuah cabang (branch)?
3. Bagaimana Anda beralih ke sebuah cabang (branch)?
- [ ] `git switch [branch-name]`
- [ ] `git checkout [branch-name]`

@ -6,7 +6,7 @@
- [ ] git start
- [ ] git init
1. Apa fungsi `git add`?
2. Apa fungsi `git add`?
- [ ] Commit (menyerahkan) kode Anda
- [ ] Menambahkan file Anda ke area pementasan (staging area) untuk dilacak

@ -2,7 +2,7 @@
Esta lección cubre los conceptos básicos de GitHub, una plataforma para alojar y administrar cambios en su código.
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
### Introducción
@ -266,7 +266,7 @@ Los proyectos también pueden tener discusiones en foros, listas de correo o can
🚀 Desafío: empareje con un amigo para trabajar en el código del otro. Cree un proyecto de forma colaborativa, bifurque el código, cree ramas y combine los cambios.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio

@ -1,8 +1,8 @@
# Pengantar GitHub
# Dasar-dasar GitHub
Pelajaran ini mencakup dasar-dasar GitHub, platform untuk menghosting dan mengelola perubahan pada kode Anda.
![Pengantar GitHub](images/webdev101-github.png)
![Dasar-dasar GitHub](images/webdev101-github.png)
> Catatan sketsa oleh [Tomomi Imura](https://twitter.com/girlie_mac)
## Kuis Pra-Kuliah

@ -0,0 +1,17 @@
*Selesaikan kuis ini dengan mencentang satu jawaban per pertanyaan.*
1. Lighthouse hanya memeriksa masalah aksesibilitas
- [ ] benar
- [ ] salah
2. Palet warna aman membantu orang dengan
- [ ] buta warna
- [ ] gangguan penglihatan
- [ ] keduanya di atas
3. Tautan deskriptif sangat penting untuk situs web yang dapat diakses
- [ ] benar
- [ ] salah

@ -0,0 +1,17 @@
*Selesaikan kuis ini di kelas*
1. Situs web yang dapat diakses dapat diperiksa di alat browser mana
- [ ] Lighthouse
- [ ] Deckhouse
- [ ] Cleanhouse
2. Anda memerlukan pembaca layar fisik untuk menguji aksesibilitas bagi pengguna dengan gangguan penglihatan
- [ ] benar
- [ ] salah
3. Aksesibilitas hanya penting di situs web pemerintah
- [ ] benar
- [ ] salah

@ -3,7 +3,7 @@
![Todo sobre accesibilidad](webdev101-a11y.png)
> Sketchnote por [Tomomi Imura](https://twitter.com/girlie_mac)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
> El poder de la Web está en su universalidad. El acceso de todas las personas independientemente de su discapacidad es un aspecto fundamental.
>
@ -202,13 +202,13 @@ Una web accesible para algunos no es una verdadera "red mundial". La mejor maner
</html>
```
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Muchos gobiernos tienen leyes sobre los requisitos de accesibilidad. Lea sobre las leyes de accesibilidad de su país de origen. ¿Qué está cubierto y qué no? Un ejemplo es [este sitio web del gobierno](https://accessibility.blog.gov.uk/).
** Tarea **: [Analizar un sitio web no accesible](assignment.md)
** Tarea **: [Analizar un sitio web no accesible](assignment.es.md)
Credits: [Turtle Ipsum](https://github.com/Instrument/semantic-html-sample) por Instrument

@ -0,0 +1,221 @@
# Membuat Halaman Web yang Dapat Diakses (oleh Semua Orang)
![Semua Tentang Aksesibilitas](../webdev101-a11y.png)
> Catatan sketsa oleh [Tomomi Imura](https://twitter.com/girlie_mac)
## Kuis Pra-Kuliah
[Kuis pra-kuliah](.github/pre-lecture-quiz.id.md)
> Kekuatan Web ada dalam universalitasnya. Akses oleh semua orang tanpa memandang disabilitas merupakan aspek penting.
>
> \- Sir Timothy Berners-Lee, Direktur W3C dan penemu World Wide Web
Kutipan ini dengan sempurna menyoroti pentingnya membuat situs web yang dapat diakses. Sebuah aplikasi yang tidak dapat diakses oleh semua adalah menurut definisi pengecualian. Sebagai pengembang web, kami harus selalu memikirkan aksesibilitas. Dengan memiliki fokus ini sejak awal Anda akan berada di jalur yang benar untuk memastikan semua orang dapat mengakses halaman yang Anda buat. Dalam pelajaran ini, Anda akan mempelajari tentang alat yang dapat membantu Anda memastikan bahwa aset web Anda dapat diakses dan cara membangun dengan mempertimbangkan aksesibilitas.
## Alat yang digunakan
### Pembaca layar (Screen readers)
Salah satu alat aksesibilitas paling terkenal adalah pembaca layar.
[Pembaca layar](https://en.wikipedia.org/wiki/Screen_reader) adalah klien yang biasa digunakan untuk mereka yang memiliki gangguan penglihatan. Saat kami menghabiskan waktu untuk memastikan browser menyampaikan informasi yang ingin kami bagikan dengan benar, kami juga harus memastikan pembaca layar melakukan hal yang sama.
Pada dasarnya, pembaca layar akan membaca halaman dari atas ke bawah dengan suara. Jika halaman Anda semuanya teks, pembaca akan menyampaikan informasi dengan cara yang mirip dengan browser. Tentu saja, halaman web jarang hanya berupa teks; mereka akan berisi tautan, grafik, warna, dan komponen visual lainnya. Perhatian harus diberikan untuk memastikan bahwa informasi ini dibaca dengan benar oleh pembaca layar.
Setiap pengembang web harus membiasakan diri dengan pembaca layar. Seperti yang disorot di atas, itu adalah klien yang akan digunakan pengguna Anda. Sama seperti saat Anda memahami cara kerja browser, Anda juga harus mempelajari cara kerja pembaca layar. Untungnya, pembaca layar sudah terpasang di sebagian besar sistem operasi, dan banyak browser berisi ekstensi untuk meniru pembaca layar.
✅ Coba ekstensi atau alat browser pembaca layar. Salah satu yang hanya berfungsi di Windows adalah [JAWS](https://webaim.org/articles/jaws/). Peramban (browser) juga memiliki alat bawaan yang dapat digunakan untuk tujuan ini; lihat [alat browser Edge yang berfokus pada aksesibilitas ini](https://support.microsoft.com/en-us/help/4000734/microsoft-edge-accessibility-features).
### Pemeriksa kontras
Warna di situs web perlu dipilih dengan cermat untuk menjawab kebutuhan pengguna buta warna atau orang yang kesulitan melihat warna kontras rendah.
✅ Uji situs web yang Anda sukai untuk penggunaan warna dengan ekstensi browser seperti [pemeriksa warna WCAG](https://microsoftedge.microsoft.com/addons/detail/wcag-color-contrast-check/idahaggnlnekelhgplklhfpchbfdmkjp?hl=en-US). Apa yang Anda pelajari?
### Lighthouse
Di area alat pengembang di browser Anda, Anda akan menemukan alat Lighthouse. Alat ini penting untuk mendapatkan tampilan pertama aksesibilitas (serta analisis lain) dari situs web. Meskipun penting untuk tidak mengandalkan Lighthouse secara eksklusif, skor 100% sangat membantu sebagai dasar.
✅ Temukan Lighthouse di panel alat pengembang browser Anda dan jalankan analisis di situs mana pun. apa yang kamu temukan?
## Mendesain untuk aksesibilitas
Aksesibilitas adalah topik yang relatif besar. Untuk membantu Anda, ada banyak sumber daya yang tersedia.
- [Accessible U - Universitas Minnesota](https://accessibility.umn.edu/your-role/web-developers)
Meskipun kami tidak dapat mencakup setiap aspek dalam membuat situs yang dapat diakses, berikut adalah beberapa prinsip inti yang ingin Anda terapkan. Mendesain halaman yang dapat diakses dari awal **selalu** lebih mudah daripada kembali ke halaman yang ada untuk membuatnya dapat diakses.
## Prinsip tampilan yang bagus
### Palet warna yang aman
Orang melihat dunia dengan cara yang berbeda, dan ini termasuk warna. Saat memilih skema warna untuk situs Anda, Anda harus memastikannya dapat diakses oleh semua orang. Salah satu [alat hebat untuk menghasilkan palet warna adalah Color Safe](http://colorsafe.co/).
✅ Identifikasi situs web yang sangat bermasalah dalam penggunaan warna. Mengapa?
Properly highlight text
### Sorot teks dengan benar
Highlighting text by color, [font weight (berat font)](https://developer.mozilla.org/docs/Web/CSS/font-weight), atau [dekorasi teks lainnya](https://developer.mozilla.org/docs/Web/CSS/text-decoration) tidak secara langsung memberi tahu pembaca layar tentang kepentingannya. Sebuah kata dapat dicetak tebal karena merupakan kata kunci, atau karena kata pertama dan perancang memutuskan kata tersebut harus dicetak tebal.
Saat frasa tertentu perlu disorot, gunakan elemen `<strong>` atau `<em>`. Ini akan menunjukkan kepada pembaca layar bahwa item tersebut penting.
### Gunakan HTML yang benar
Dengan CSS dan JavaScript, memungkinkan banyak elemen terlihat seperti jenis kontrol apa pun. `<span>` bisa digunakan untuk membuat sebuah `<button>`, dan `<b>` bisa menjadi hyperlink. Meskipun ini mungkin dianggap lebih mudah untuk diatur, ini membingungkan pembaca layar. Gunakan HTML yang sesuai saat membuat kontrol di halaman. Jika Anda menginginkan hyperlink, gunakan `<a>`. Menggunakan HTML yang tepat untuk kontrol yang tepat disebut dengan menggunakan HTML Semantik.
✅ Kunjungi situs web mana saja dan lihat apakah perancang dan pengembang menggunakan HTML dengan benar. Dapatkah Anda menemukan tombol yang seharusnya menjadi tautan? Petunjuk: klik kanan dan pilih 'View Page Source' di browser Anda untuk melihat kode yang mendasarinya.
### Gunakan petunjuk visual yang baik
CSS menawarkan kontrol penuh atas tampilan elemen apa pun di halaman. Anda dapat membuat kotak teks tanpa kerangka atau hyperlink tanpa garis bawah. Sayangnya, menghapus petunjuk tersebut dapat membuat seseorang yang bergantung padanya lebih sulit untuk mengenali jenis kontrol tersebut.
## Pentingnya teks tautan
Hyperlink adalah inti untuk menavigasi web. Hasilnya, memastikan pembaca layar dapat membaca tautan dengan benar memungkinkan semua pengguna menavigasi situs Anda.
### Pembaca layar dan tautan
Seperti yang Anda harapkan, pembaca layar membaca teks link dengan cara yang sama seperti membaca teks lain di halaman. Dengan pemikiran ini, teks yang ditunjukkan di bawah ini mungkin terasa sangat dapat diterima.
> Penguin kecil, terkadang dikenal sebagai penguin peri, adalah penguin terkecil di dunia. [Klik disini](https://en.wikipedia.org/wiki/Little_penguin) untuk informasi lebih lanjut.
> Penguin kecil, terkadang dikenal sebagai penguin peri, adalah penguin terkecil di dunia. Kunjungi https://en.wikipedia.org/wiki/Little_penguin untuk informasi lebih lanjut.
> **CATATAN** Saat akan membaca, Anda **jangan pernah** membuat tautan seperti di atas.
Ingat, pembaca layar adalah antarmuka yang berbeda dari browser dengan sekumpulan fitur yang berbeda.
### Masalah dengan menggunakan URL
Pembaca layar membaca teks. Jika URL muncul di teks, pembaca layar akan membaca URL tersebut. Secara umum, URL tidak menyampaikan informasi yang berarti, dan dapat terdengar mengganggu. Anda mungkin pernah mengalami ini jika ponsel Anda pernah membaca pesan teks dengan URL.
### Masalah dengan "klik di sini"
Pembaca layar juga memiliki kemampuan untuk membaca hanya hyperlink pada halaman, sama seperti orang awam yang memindai halaman untuk mencari link. Jika teks tautan selalu "klik di sini", yang akan didengar pengguna hanyalah "klik di sini, klik di sini, klik di sini, klik di sini, klik di sini, ..." Semua tautan sekarang tidak dapat dibedakan satu sama lain.
### Teks tautan yang bagus
Teks tautan yang bagus menjelaskan secara singkat apa yang ada di sisi lain tautan. Dalam contoh di atas yang berbicara tentang penguin kecil, tautannya menuju ke halaman Wikipedia tentang spesies tersebut. Frasa *penguin kecil* akan menjadi teks tautan yang sempurna karena menjelaskan apa yang akan dipelajari seseorang jika mereka mengeklik tautan - penguin kecil.
> [Penguin kecil](https://en.wikipedia.org/wiki/Little_penguin), kadang dikenal sebagai penguin peri, adalah penguin terkecil di dunia.
✅ Jelajahi web selama beberapa menit untuk menemukan halaman yang menggunakan strategi penautan yang tidak jelas. Bandingkan mereka dengan situs lain yang ditautkan lebih baik. Apa yang kamu pelajari?
#### Catatan mesin pencari
Sebagai bonus tambahan untuk memastikan situs Anda dapat diakses oleh semua, Anda juga akan membantu mesin pencari menavigasi situs Anda. Mesin pencari menggunakan teks link untuk mempelajari topik halaman. Jadi, menggunakan teks tautan yang bagus membantu semua orang!
### ARIA
Bayangkan halaman berikut:
| Produk | Deskripsi | Pesan |
|--------------|------------------|--------------|
| Widget | [Deskripsi]('#') | [Pesan]('#') |
| Widget super | [Deskripsi]('#') | [Pesan]('#') |
Dalam contoh ini, menduplikasi teks deskripsi dan urutan masuk akal bagi seseorang yang menggunakan browser. Namun, seseorang yang menggunakan pembaca layar hanya akan mendengar kata *deskripsi* dan *pesan* diulang tanpa konteks.
Untuk mendukung jenis skenario ini, HTML mendukung sekumpulan atribut yang dikenal sebagai [Accessible Rich Internet Applications (ARIA)](https://developer.mozilla.org/docs/Web/Accessibility/ARIA) (Aplikasi Internet Kaya yang Dapat Diakses). Atribut ini memungkinkan Anda memberikan informasi tambahan kepada pembaca layar.
> **CATATAN**: Seperti banyak aspek HTML, dukungan browser dan pembaca layar mungkin berbeda. Namun, sebagian besar klien pasaran mendukung atribut ARIA.
Anda dapat menggunakan `aria-label` untuk mendeskripsikan link jika format halaman tidak mengizinkan Anda. Deskripsi untuk widget dapat disetel sebagai
``` html
<a href="#" aria-label="Deskripsi widget">deskripsi</a>
```
✅ Secara umum, menggunakan markup Semantik seperti yang dijelaskan di atas menggantikan penggunaan ARIA, tetapi terkadang tidak ada padanan semantik untuk berbagai widget HTML. Contoh yang bagus adalah Progressbar. Tidak ada HTML yang setara untuk bilah kemajuan, jadi Anda mengidentifikasi `<div>` generik untuk elemen ini dengan peran yang tepat dan nilai aria. [Dokumentasi MDN tentang ARIA](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA) berisi informasi yang lebih berguna.
```html
<div id="percent-loaded" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100">
</div>
```
## Gambar-gambar
Tak perlu dikatakan pembaca layar tidak dapat secara otomatis membaca apa yang ada dalam gambar. Memastikan gambar dapat diakses tidak membutuhkan banyak pekerjaan - itulah yang dimaksud dengan atribut `alt`. Semua gambar harus memiliki `alt` untuk mendeskripsikan gambar tersebut.
✅ Seperti yang Anda duga, mesin telusur juga tidak dapat memahami apa yang ada di gambar. Mereka juga menggunakan teks alt. Jadi sekali lagi, memastikan halaman Anda dapat diakses memberikan bonus tambahan!
## Keyboard
Beberapa pengguna tidak dapat menggunakan mouse atau trackpad, sebagai gantinya mengandalkan interaksi keyboard untuk tab dari satu elemen ke elemen berikutnya. Situs web Anda harus menyajikan konten Anda dalam urutan logis sehingga keyboard dapat mengakses setiap elemen saat pengguna bergerak ke bawah dokumen. Jika Anda membangun halaman web Anda dengan markup semantik dan menggunakan CSS untuk mengatur tata letak visualnya, situs Anda harus dapat dinavigasi dengan keyboard, tetapi penting untuk menguji aspek ini secara manual. Pelajari lebih lanjut tentang [strategi navigasi keyboard](https://webaim.org/techniques/keyboard/).
✅ Buka situs web mana pun dan coba menavigasi hanya dengan menggunakan tombol tab Anda. Apa yang berhasil, apa yang tidak berhasil? Mengapa?
## Ringkasan
Web yang dapat diakses oleh beberapa orang bukanlah benar-benar 'web di seluruh dunia'. Cara terbaik untuk memastikan situs yang Anda buat dapat diakses adalah dengan menerapkan praktik terbaik aksesibilitas sejak awal. Meskipun ada langkah tambahan yang terlibat, menggabungkan keterampilan ini ke dalam alur kerja Anda sekarang berarti semua halaman yang Anda buat dapat diakses.
---
## 🚀 Tantangan
Ambil HTML ini dan tulis ulang agar dapat diakses semaksimal mungkin, dengan strategi yang Anda pelajari.
```html
<!DOCTYPE html>
<html>
<head>
<title>
Example
</title>
<link href='../assets/style.css' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="site-header">
<p class="site-title">Turtle Ipsum</p>
<p class="site-subtitle">The World's Premier Turtle Fan Club</p>
</div>
<div class="main-nav">
<p class="nav-header">Resources</p>
<div class="nav-list">
<p class="nav-item nav-item-bull"><a href="https://www.youtube.com/watch?v=CMNry4PE93Y">"I like turtles"</a></p>
<p class="nav-item nav-item-bull"><a href="https://en.wikipedia.org/wiki/Turtle">Basic Turtle Info</a></p>
<p class="nav-item nav-item-bull"><a href="https://en.wikipedia.org/wiki/Turtles_(chocolate)">Chocolate Turtles</a></p>
</div>
</div>
<div class="main-content">
<div>
<p class="page-title">Welcome to Turtle Ipsum.
<a href="">Click here</a> to learn more.
</p>
<p class="article-text">
Turtle ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
</div>
</div>
<div class="footer">
<div class="footer-section">
<span class="button">Sign up for turtle news</span>
</div><div class="footer-section">
<p class="nav-header footer-title">
Internal Pages
</p>
<div class="nav-list">
<p class="nav-item nav-item-bull"><a href="../">Index</a></p>
<p class="nav-item nav-item-bull"><a href="../semantic">Semantic Example</a></p>
</div>
</div>
<p class="footer-copyright">&copy; 2016 Instrument</span>
</div>
</body>
</html>
```
## Kuis Pasca Kuliah
[Kuis pasca kuliah](.github/post-lecture-quiz.id.md)
## Review & Belajar Mandiri
Banyak pemerintah memiliki undang-undang tentang persyaratan aksesibilitas. Baca tentang undang-undang aksesibilitas negara asal Anda. Apa yang tercakup, dan apa yang tidak? Contohnya adalah [situs web pemerintah ini](https://accessibility.blog.gov.uk/).
## Tugas
[Analisis situs web yang tidak dapat diakses](assignment.id.md)
Kredit: [Turtle Ipsum](https://github.com/Instrument/semantic-html-sample) oleh Instrumen

@ -0,0 +1,11 @@
# Analisis situs web yang tidak dapat diakses
## Instruksi
Identifikasi situs web yang Anda yakini TIDAK dapat diakses, dan buat rencana tindakan untuk meningkatkan aksesibilitasnya. Tugas pertama Anda adalah mengidentifikasi situs ini, merinci cara yang menurut Anda tidak dapat diakses tanpa menggunakan alat analitik, dan kemudian memasukkannya melalui analisis Lighthouse. Ambil hasil analisis ini dan uraikan rencana rinci dengan minimal sepuluh poin yang menunjukkan bagaimana situs dapat ditingkatkan.
## Rubrik
| Kriteria | Teladan | Memenuhi Syarat | Perlu Perbaikan |
|---------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|---------------------------------|
| laporan siswa | termasuk paragraf tentang bagaimana situs tersebut tidak memadai, laporan Lighthouse diambil sebagai pdf, daftar sepuluh poin untuk diperbaiki, dengan rincian tentang cara memperbaikinya | kurang 20% dari yang dibutuhkan | kurang 50% dari yang dibutuhkan |

@ -0,0 +1,17 @@
# Memulai Pengembangan Web
Di bagian kurikulum ini, Anda akan diperkenalkan dengan konsep berbasis non-proyek yang penting untuk menjadi pengembang profesional.
### Topik
1. [Pengantar Bahasa Pemrograman dan Alat Keterampilan](../1-intro-to-programming-languages/translations/README.id.md)
2. [Dasar-dasar GitHub](../2-github-basics/translations/README.id.md)
3. [Dasar-dasar Aksesibilitas](../3-accessibility/translations/README.id.md)
### Kredit
Dasar-dasar Aksesibilitas ditulis dengan ♥ oleh [Christopher Harrison](https://twitter.com/geektrainer)
Pengantar GitHub ditulis dengan ♥ oleh [Floor Drees](https://twitter.com/floordrees)
Pengantar Bahasa Pemrograman dan Alat Keterampilan ditulis dengan ♥ oleh [Jasmine Greenaway](https://twitter.com/paladique)

@ -2,7 +2,7 @@
[![Datentypen in JavaScript](https://img.youtube.com/vi/JNIXfGiDWM8/0.jpg)](https://youtube.com/watch?v=JNIXfGiDWM8 "Datentypen in JavaScript")
## [Pre-Lecture Quiz](.github/pre-lecture-quiz.md)
## [Pre-Lecture Quiz](../.github/pre-lecture-quiz.md)
Diese Lektion behandelt die Grundlagen von JavaScript, der Sprache, die Interaktivität im Web bietet.
@ -186,7 +186,7 @@ Boolesche Werte können nur zwei Werte sein: `true` oder `false`. Boolesche Wert
JavaScript ist bekannt für seine überraschende Art, gelegentlich mit Datentypen umzugehen. Recherchiere ein bisschen über diese 'Fallstricke'. Zum Beispiel: Groß- und Kleinschreibung kann beißen! Versuchen Sie dies in Ihrer Konsole: `let age = 1; let Age = 2; age == Age` (löst `false` auf - warum?). Welche anderen Fallstricke können Sie finden?
## [Quiz nach der Vorlesung](.github/post-lecture-quiz.md)
## [Quiz nach der Vorlesung](../.github/post-lecture-quiz.md)
## Review & Selbststudium
@ -194,4 +194,4 @@ Schauen Sie sich [diese Liste der JavaScript-Übungen](https://css-tricks.com/sn
## Zuordnung
[Praxis für Datentypen](assignment.md)
[Praxis für Datentypen](assignment.de.md)

@ -2,7 +2,7 @@
[![Tipos de datos en JavaScript](https://img.youtube.com/vi/rEHV3fFMfn0/0.jpg)](https://youtube.com/watch?v=rEHV3fFMfn0 "Tipos de datos en JavaScript")
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
Esta lección cubre los conceptos básicos de JavaScript, el lenguaje que proporciona interactividad en la web.
@ -178,10 +178,10 @@ Los booleanos pueden tener solo dos valores: `true` o `false`. Los valores boole
🚀 Desafío: JavaScript es conocido por sus sorprendentes formas de manejar tipos de datos en ocasiones. Investiga un poco sobre estos "errores". Por ejemplo: ¡la sensibilidad a mayúsculas y minúsculas puede morder! Pruebe esto en su consola: `let age = 1; let Age = 2; age == Age` (resuelve `false` - ¿por qué?). ¿Qué otras trampas puedes encontrar?
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Eche un vistazo a [esta lista de ejercicios de JavaScript](https://css-tricks.com/snippets/javascript/) y pruebe uno. ¿Qué aprendiste?
**Tarea**: [Práctica de tipos de datos](assignment.md)
**Tarea**: [Práctica de tipos de datos](assignment.es.md)

@ -2,7 +2,7 @@
[![Methoden und Funktionen](https://img.youtube.com/vi/XgKsD6Zwvlc/0.jpg)](https://youtube.com/watch?v=XgKsD6Zwvlc "Methoden und Funktionen")
## [Pre-Lecture Quiz](.github/pre-lecture-quiz.md)
## [Pre-Lecture Quiz](../.github/pre-lecture-quiz.md)
Wenn wir darüber nachdenken, Code zu schreiben, möchten wir immer sicherstellen, dass unser Code lesbar ist. Während dies nicht intuitiv klingt, wird Code viel öfter gelesen als geschrieben. Ein Kernwerkzeug in der Toolbox eines Entwicklers, um wartbaren Code sicherzustellen, ist die **Funktion**.
@ -184,7 +184,7 @@ Sie haben jetzt gesehen, dass wir drei Möglichkeiten haben, eine Funktion als P
Können Sie den Unterschied zwischen Funktionen und Methoden in einem Satz artikulieren? Versuche es!
## [Quiz nach der Vorlesung](.github/post-lecture-quiz.md)
## [Quiz nach der Vorlesung](../.github/post-lecture-quiz.md)
## Review & Selbststudium
@ -192,4 +192,4 @@ Es lohnt sich, [etwas mehr über Pfeilfunktionen zu lesen](https://developer.moz
## Zuordnung
[Spaß mit Funktionen](assignment.md)
[Spaß mit Funktionen](assignment.de.md)

@ -2,7 +2,7 @@
[![Métodos y funciones](https://img.youtube.com/vi/XgKsD6Zwvlc/0.jpg)](https://youtube.com/watch?v=XgKsD6Zwvlc "Métodos y funciones")
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
Cuando necesite su código para realizar una tarea, utilizará un método o una función. Analicemos las diferencias.
@ -89,11 +89,11 @@ Cualquier parámetro con valores predeterminados debe estar al final de la lista
🚀 Desafío:
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
TODO
**Tarea**: [Práctica de tipos de datos](assignment.md)
**Tarea**: [Práctica de tipos de datos](assignment.es.md)

@ -31,7 +31,7 @@ Operators are used to evaluate conditions by making comparisons that will create
| `<` | **Greater than**: Compares two values and returns the `true` Boolean data type if the value on the right side is larger than the left | `5 < 6 // true` |
| `<=` | **Greater than or equal to**: Compares two values and returns the `true` Boolean data type if the value on the right side is larger than or equal to the left | `5 <= 6 // true` |
| `>` | **Less than**: Compares two values and returns the `true` Boolean data type if the value on the left side is larger than the right | `5 > 6 // false` |
| `=>` | **Less than or equal to**: Compares two values and returns the `true` Boolean data type if the value on the left side is larger than or equal to the right | `5 => 6 // false` |
| `>=` | **Less than or equal to**: Compares two values and returns the `true` Boolean data type if the value on the left side is larger than or equal to the right | `5 >= 6 // false` |
| `===` | **Strict equality**: Compares two values and returns the `true` Boolean data type if values on the right and left are equal AND are the same data type. | `5 === 6 // false` |
| `!==` | **Inequality**: Compares two values and returns the opposite Boolean value of what a strict equality operator would return | `5 !== 6 // true` |

@ -2,7 +2,7 @@
[![Entscheidungen treffen](https://img.youtube.com/vi/SxTp8j-fMMY/0.jpg)](https://youtube.com/watch?v=SxTp8j-fMMY "Entscheidungen treffen")
## [Pre-Lecture Quiz](.github/pre-lecture-quiz.md)
## [Pre-Lecture Quiz](../.github/pre-lecture-quiz.md)
Wenn Sie Entscheidungen treffen und die Reihenfolge steuern, in der Ihr Code ausgeführt wird, ist Ihr Code wiederverwendbar und robust. Dieser Abschnitt behandelt die Syntax zur Steuerung des Datenflusses in JavaScript und ihre Bedeutung bei Verwendung mit booleschen Datentypen.
@ -158,7 +158,7 @@ if (firstNumber > secondNumber) {
Erstellen Sie ein Programm, das zuerst mit logischen Operatoren geschrieben wird, und schreiben Sie es dann mit einem ternären Ausdruck neu. Was ist Ihre bevorzugte Syntax?
## [Quiz nach der Vorlesung] (.github/post-lecture-quiz.md)
## [Quiz nach der Vorlesung](../.github/post-lecture-quiz.md)
## Review & Selbststudium
@ -166,4 +166,4 @@ Lesen Sie mehr über die vielen Operatoren, die dem Benutzer [auf MDN](https://d
## Zuordnung
[Operators](assignment.md)
[Operators](assignment.de.md)

@ -2,7 +2,7 @@
![video](video-url)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
Tomar decisiones y controlar el orden en que se ejecuta su código hace que su código sea reutilizable y robusto. Esta sección cubre la sintaxis para controlar el flujo de datos en JavaScript y su importancia cuando se usa con tipos de datos booleanos.
@ -154,11 +154,11 @@ if (firstNumber > secondNumber) {
🚀 Desafío: cree un programa que se escriba primero con operadores lógicos y luego vuelva a escribirlo utilizando una expresión ternaria. ¿Cuál es tu sintaxis preferida?
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Más información sobre los muchos operadores disponibles para el usuario [en MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators).
**Asignación**: [Operadores](assignment.md)
**Asignación**: [Operadores](assignment.es.md)

@ -2,7 +2,7 @@
[![Arrays und Loops](https://img.youtube.com/vi/Q_CRM2lXXBg/0.jpg)](https://youtube.com/watch?v=Q_CRM2lXXBg "Arrays and Loops")
## [Pre-Lecture Quiz](.github/pre-lecture-quiz.md)
## [Pre-Lecture Quiz](../.github/pre-lecture-quiz.md)
Diese Lektion behandelt die Grundlagen von JavaScript, der Sprache, die Interaktivität im Web bietet. In dieser Lektion lernen Sie Arrays und Loops kennen, mit denen Daten bearbeitet werden.
@ -111,7 +111,7 @@ for (let i = 0; i < iceCreamFlavors.length; i++) {
Es gibt andere Möglichkeiten, Arrays als for- und while-Schleifen zu durchlaufen. Es gibt [forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach), [for-of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) und [map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map). Schreiben Sie Ihre Array-Schleife mit einer dieser Techniken neu.
## [Quiz nach der Vorlesung](.github/post-lecture-quiz.md)
## [Quiz nach der Vorlesung](../.github/post-lecture-quiz.md)
## Review & Selbststudium
@ -119,4 +119,4 @@ An Arrays in JavaScript sind viele Methoden angehängt, die für die Datenmanipu
## Zuordnung
[Array schleifen](assignment.md)
[Array schleifen](assignment.de.md)

@ -3,7 +3,7 @@
[![Matrices y bucles](https://img.youtube.com/vi/Q_CRM2lXXBg/0.jpg)](https://youtube.com/watch?v=Q_CRM2lXXBg "Matrices y bucles")
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
Esta lección cubre los conceptos básicos de JavaScript, el lenguaje que proporciona interactividad en la web. En esta lección, aprenderá sobre matrices y bucles, que se utilizan para manipular datos.
@ -105,10 +105,10 @@ for (let i = 0; i < iceCreamFlavors.length; i++) {
🚀 Desafío: Hay otras formas de realizar un bucle sobre arreglos además de los bucles for y while. Existen [forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach), [for-of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of), y [map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map). Vuelva a escribir su bucle de matriz utilizando una de estas técnicas.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Las matrices en JavaScript tienen muchos métodos adjuntos, extremadamente útiles para la manipulación de datos. [Lea sobre estos métodos](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) y pruebe algunos de ellos (como push, pop, slice y splice) en una matriz de su creación.
**Asignación**: [Bucle de una matriz](assignment.md)
**Asignación**: [Bucle de una matriz](assignment.es.md)

@ -3,7 +3,7 @@
![Introducción a HTML](images/webdev101-html.png)
> Sketchnote por [Tomomi Imura](https://twitter.com/girlie_mac)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
### Introducción:
@ -205,10 +205,10 @@ Agregue este marcado encima de la última etiqueta `</div>`:
🚀 Desafío: hay algunas etiquetas "antiguas" salvajes en HTML con las que todavía es divertido jugar, aunque no debes usar etiquetas obsoletas como [estas etiquetas](https://developer.mozilla.org/en-US/docs/Web/HTML/Element) en su marcado. Aún así, ¿puede usar la antigua etiqueta `<marquee>` para hacer que el título h1 se desplace horizontalmente? (si lo hace, no olvide quitarlo después)
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
HTML es el sistema de bloques de construcción 'probado y verdadero' que ha ayudado a convertir la web en lo que es hoy. Aprenda un poco sobre su historia estudiando algunas etiquetas antiguas y nuevas. ¿Puedes averiguar por qué algunas etiquetas quedaron obsoletas y otras se agregaron? ¿Qué etiquetas podrían introducirse en el futuro?
** Tarea: [Practica tu HTML: crea una maqueta de blog](assignment.md)
** Tarea: [Practica tu HTML: crea una maqueta de blog](assignment.es.md)

@ -1,9 +1,9 @@
# Terrarium Project Parte 2: Introducción a CSS
![Introducción a CSS](images/webdev101-css.png)
![Introducción a CSS](../images/webdev101-css.png)
> Sketchnote por [Tomomi Imura](https://twitter.com/girlie_mac)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
### Introducción:
@ -67,7 +67,7 @@ body {
Abra la consola de su navegador en la pestaña 'Elementos' y observe la fuente H1. Hereda su fuente del cuerpo, como se indica en el navegador:
![fuente heredada](images/1.png)
![fuente heredada](../images/1.png)
✅ ¿Puede hacer que un estilo anidado herede una propiedad diferente?
@ -242,17 +242,16 @@ Tenga en cuenta el uso de porcentajes aquí, incluso para el `border-radius`. Si
🚀 Desafío: agregue un brillo de 'burbuja' al área inferior izquierda del frasco para que se vea más parecido al vidrio. Estarás diseñando el `.jar-glossy-long` y el `.jar-glossy-short` para que parezca un brillo reflejado. Así es como se vería:
! [terrario terminado](./images/terrarium-final.png)
![terrario terminado](../images/terrarium-final.png)
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
CSS parece engañosamente sencillo, pero existen muchos desafíos cuando se trata de diseñar una aplicación perfectamente para todos los navegadores y todos los tamaños de pantalla. CSS-Grid y Flexbox son herramientas que se han desarrollado para hacer el trabajo un poco más estructurado y más confiable. Aprende sobre estas herramientas jugando a [Flexbox Froggy](https://flexboxfroggy.com/) y [Grid Garden](https://codepip.com/games/grid-garden/).
**Asignación**: [Refactorización CSS] (asignación.md)
**Asignación**: [Refactorización CSS](assignment.es.md)
Complete los siguientes módulos de aprendizaje para completar el [cuestionario posterior a la conferencia](. Github / post-lecture-quiz.md):
Complete los siguientes módulos de aprendizaje para completar el [cuestionario posterior a la conferencia](../.github/post-lecture-quiz.md):
[Diseñe su aplicación HTML con CSS](https://docs.microsoft.com/en-us/learn/modules/build-simple-website/4-css-basics)

@ -1,9 +1,9 @@
# Terrarium Project Part 3: DOM Manipulación y cierre
! [DOM y un cierre](images/webdev101-js.png)
! [DOM y un cierre](../images/webdev101-js.png)
> Boceto de [Tomomi Imura](https://twitter.com/girlie_mac)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
### Introducción:
@ -16,7 +16,7 @@ Usaremos un cierre para manipular el DOM.
> Piense en el DOM como un árbol, que representa todas las formas en que se puede manipular un documento de página web. Se han escrito varias API (interfaces de programas de aplicación) para que los programadores, utilizando el lenguaje de programación de su elección, puedan acceder al DOM y editarlo, cambiarlo, reorganizarlo y administrarlo de otro modo.
![DOM tree representation](./images/dom-tree.png)
![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)
@ -193,7 +193,7 @@ Esta pequeña función restablece los eventos `onpointerup` y `onpointermove` pa
---
🥇¡Felicitaciones! Has terminado tu hermoso terrario. ![terrario terminado](./images/terrarium-final.png)
🥇¡Felicitaciones! Has terminado tu hermoso terrario. ![terrario terminado](../images/terrarium-final.png)
🚀Challenge: agregue un nuevo controlador de eventos a su cierre para hacer algo más en las plantas; por ejemplo, haga doble clic en una planta para traerla al frente. ¡Se creativo!
@ -203,5 +203,5 @@ Esta pequeña función restablece los eventos `onpointerup` y `onpointermove` pa
Si bien arrastrar elementos por la pantalla parece trivial, hay muchas formas de hacerlo y muchas trampas, según el efecto que busque. De hecho, hay una [API de arrastrar y soltar](https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API) completa que puedes probar. No lo usamos en este módulo porque el efecto que queríamos era algo diferente, pero pruebe esta API en su propio proyecto y vea lo que puede lograr.
** Tarea: [Trabajar un poco más con el DOM](assignment.md)
** Tarea: [Trabajar un poco más con el DOM](assignment.es.md)

@ -23,7 +23,7 @@ This lesson assumes you're familiar with the following concepts:
## Lesson
[Creating a typing game by using event driven programming](./project/README.md)
[Creating a typing game by using event driven programming](./typing-game/README.md)
## Credits

@ -2,7 +2,7 @@
## Pre-Lecture Quiz
[Pre-lecture quiz](.github/pre-lecture-quiz.md)
[Pre-lecture quiz](../.github/pre-lecture-quiz.md)
## Event driven programming
@ -90,6 +90,7 @@ Create a new file named **index.html**. Add the following HTML:
<div>
<input type="text" id="typed-value" /> <!-- The textbox for typing -->
<button type="button" id="start">Start</button> <!-- To start the game -->
</div>
<script src="script.js"></script>
</body>
</html>
@ -325,7 +326,7 @@ Add more functionality
## Post-Lecture Quiz
[Post-lecture quiz](.github/post-lecture-quiz.md)
[Post-lecture quiz](../.github/post-lecture-quiz.md)
## Review & Self Study

@ -2,7 +2,7 @@
Usando la API de señal C02 de tmrow para rastrear el uso de electricidad, cree una extensión de navegador para que pueda tener un recordatorio directamente en su navegador sobre el consumo de electricidad de su región. El uso de esta extensión ad hoc le ayudará a tomar decisiones sobre sus actividades basándose en esta información.
![extension screenshot](extension-screenshot.png)
![extension screenshot](../extension-screenshot.png)
## Empezando
@ -22,7 +22,7 @@ npm run build
Para instalar en Edge, use el menú de 'tres puntos' en la esquina superior derecha del navegador para encontrar el panel Extensiones. Desde allí, seleccione 'Cargar sin empaquetar' para cargar una nueva extensión. Abra la carpeta 'dist' cuando se le solicite y se cargará la extensión. Para usarlo, necesitará una clave API para la API de CO2 Signal ([obtenga una aquí por correo electrónico](https://www.co2signal.com/) - ingrese su correo electrónico en el cuadro de esta página) y el [código para su región](http://api.electricitymap.org/v3/zones) correspondiente al [Mapa de electricidad](https://www.electricitymap.org/map) (en Boston, por ejemplo, utilizo 'US- NEISO').
![instalación](install-on-edge.png)
![instalación](../install-on-edge.png)
Una vez que se ingresa la clave API y la región en la interfaz de extensión, el punto de color en la barra de extensión del navegador debe cambiar para reflejar el uso de energía de su región y darle un indicador sobre las actividades de alto consumo de energía que serían apropiadas para usted. El concepto detrás de este sistema de "puntos" me lo dio la [extensión Energy Lollipop](https://energylollipop.com/) para las emisiones de California.

@ -2,7 +2,7 @@
![video](video-url)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
### Herencia y composición en el desarrollo de juegos
@ -207,10 +207,10 @@ A medida que las cosas se complican cuando tu juego crece, este patrón permanec
🚀Desafío: Piense en cómo el patrón pub-sub puede mejorar un juego. ¿Qué partes deberían emitir eventos y cómo debería reaccionar el juego ante ellos? Ahora tienes la oportunidad de ser creativo, pensar en un nuevo juego y en cómo podrían comportarse sus partes.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Obtenga más información sobre Pub / Sub al [leer sobre él](https://docs.microsoft.com/en-us/azure/architecture/patterns/publisher-subscriber).
**Tarea**: [Mock up a game](assignment.md)
**Tarea**: [Mock up a game](assignment.es.md)

@ -2,7 +2,7 @@
![video](video-url)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
## El lienzo
@ -122,11 +122,11 @@ Construirá una página web con un elemento Canvas. Debería representar una pan
- Barco héroe
![Barco héroe](solution/assets/player.png)
![Barco héroe](../solution/assets/player.png)
- Monstruo 5*5
![Monster ship](solution/assets/enemyShip.png)
![Monster ship](../solution/assets/enemyShip.png)
### Pasos recomendados para iniciar el desarrollo
@ -194,7 +194,7 @@ Agregue el código necesario a `your-work/app.js` para resolver lo siguiente
El resultado final debería verse así:
![Pantalla negra con un héroe y monstruos 5*5](partI-solution.png)
![Pantalla negra con un héroe y monstruos 5*5](../partI-solution.png)
## Solución
@ -203,10 +203,10 @@ Intente resolverlo usted mismo primero, pero si se atasca, eche un vistazo a una
🚀 Desafío: ha aprendido a dibujar con la API Canvas enfocada en 2D; eche un vistazo a la [API WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API) e intente dibujar un objeto 3D.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Obtenga más información sobre la API de Canvas [leyendo sobre ella](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API).
**Tarea**: [Jugar con la API de Canvas](assignment.md)
**Tarea**: [Jugar con la API de Canvas](assignment.es.md)

@ -2,7 +2,7 @@
![video](video-url)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
¡Los juegos no son muy divertidos hasta que tienes extraterrestres corriendo por la pantalla! En este juego haremos uso de dos tipos de movimientos:
@ -376,10 +376,10 @@ Lo anterior iniciará un servidor HTTP en la dirección `http://localhost:5000`.
🚀 Desafío: como puede ver, su código puede convertirse en 'código espagueti' cuando comienza a agregar funciones, variables y clases. ¿Cómo puede organizar mejor su código para que sea más legible? Esboce un sistema para organizar su código, incluso si todavía reside en un archivo.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Mientras escribimos nuestro juego sin usar marcos, existen muchos marcos de lienzo basados en JavaScript para el desarrollo de juegos. Tómate un tiempo para hacer algo [leer sobre estos](https://github.com/collections/javascript-game-engines).
**Tarea**: [Comenta tu código](assignment.md)
**Tarea**: [Comenta tu código](assignment.es.md)

@ -2,7 +2,7 @@
![video](video-url)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
¡En esta lección aprenderá a disparar láseres con JavaScript! Agregaremos dos cosas a nuestro juego:
@ -284,10 +284,10 @@ En este punto, ¡tu juego tiene algunas funciones! Puedes navegar con tus flecha
🚀 Desafío: ¡Agrega una explosión! Echa un vistazo a los recursos del juego en [el repositorio de Space Art](../solution/spaceArt/readme.txt) e intenta agregar una explosión cuando el láser golpea a un extraterrestre.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Experimente con los intervalos de su juego hasta ahora. ¿Qué pasa cuando los cambias? Más información sobre [eventos de tiempo de JavaScript](https://www.freecodecamp.org/news/javascript-timing-events-settimeout-and-setinterval/).
**Asignación**: [Explorar colisiones](assignment.md)
**Asignación**: [Explorar colisiones](assignment.es.md)

@ -2,7 +2,7 @@
![video](video-url)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
En esta lección, aprenderá cómo agregar puntos a un juego y calcular vidas.
@ -173,10 +173,10 @@ Al final de este trabajo, deberías ver las pequeñas naves de 'vida' en la part
🚀Challenge: Tu código está casi completo. ¿Puedes imaginar tus próximos pasos?
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Investigue algunas formas en las que puede incrementar y disminuir las puntuaciones y vidas del juego. Hay algunos motores de juegos interesantes como [PlayFab](https://playfab.com). ¿Cómo podría mejorar tu juego el uso de uno de estos?
**Tarea**: [Crear un juego de puntuación](assignment.md)
**Tarea**: [Crear un juego de puntuación](assignment.es.md)

@ -2,7 +2,7 @@
![video](video-url)
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
Hay diferentes formas de expresar y *condición final* en un juego. Depende de usted, como creador del juego, decir por qué ha terminado. Aquí hay algunas razones, si asumimos que estamos hablando del juego espacial que has estado construyendo hasta ahora:
@ -205,10 +205,10 @@ Lo anterior iniciará un servidor HTTP en la dirección `http://localhost:5000`.
🚀 Desafío: ¡Agrega un sonido! ¿Puedes agregar un sonido para mejorar tu juego, tal vez cuando hay un golpe de láser, o el héroe muere o gana? Eche un vistazo a este [sandbox](https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_audio_play) para aprender a reproducir sonido con JavaScript.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
Tu tarea es crear un juego de muestra nuevo, así que explora algunos de los juegos interesantes que existen para ver qué tipo de juego podrías construir.
**Tarea**: [Crear un juego de muestra](assignment.md)
**Tarea**: [Crear un juego de muestra](assignment.es.md)

@ -2,7 +2,7 @@
<!-- ![video](video-url) -->
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
### Introducción
@ -273,15 +273,14 @@ updateRoute();
Ahora intente utilizar los botones de avance y retroceso de sus navegadores y compruebe que esta vez lo que se muestra está actualizado correctamente.
---
## 🚀 Desafío
Agregue una nueva plantilla y ruta para una tercera página que muestre los créditos de esta aplicación.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
**Tarea**: [Mejorar el enrutamiento](assignment.md)
**Tarea**: [Mejorar el enrutamiento](assignment.es.md)

@ -1,6 +1,6 @@
# Cree un formulario de inicio de sesión y registro
## [Prueba previa a la conferencia](.github/prelecture-quiz.md)
## [Prueba previa a la conferencia](../.github/prelecture-quiz.md)
### Introducción
@ -280,7 +280,7 @@ Aquí hay un ejemplo de cómo puede verse la página de inicio de sesión final
![Captura de pantalla de la página de inicio de sesión después de agregar estilos CSS](./images/result.png)
## [Prueba posterior a la conferencia](.github/post-lecture-quiz.md)
## [Prueba posterior a la conferencia](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
@ -288,4 +288,4 @@ Los desarrolladores se han vuelto muy creativos en sus esfuerzos de creación de
## Asignación
[Diseña tu aplicación bancaria](assignment.md)
[Diseña tu aplicación bancaria](assignment.es.md)

@ -2,7 +2,7 @@
! [Insertar un video aquí](video-url)
## [Prueba previa a la conferencia](.github/prelecture-quiz.md)
## [Prueba previa a la conferencia](../.github/prelecture-quiz.md)
[Describe lo que aprenderemos]
@ -52,8 +52,8 @@ 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](.github/post-lecture-quiz.md)
## [Prueba posterior a la conferencia](../.github/post-lecture-quiz.md)
## Revisión y autoestudio
**Vencimiento de la asignación [MM/AA]**: [Nombre de la asignación](assignment.md)
**Vencimiento de la asignación [MM/AA]**: [Nombre de la asignación](assignment.es.md)

@ -1,6 +1,6 @@
# Conceptos de gestión del estado
## [Pre-lecture prueba](.github/pre-lecture-quiz.md)
## [Pre-lecture prueba](../.github/pre-lecture-quiz.md)
### Introducción
@ -267,12 +267,12 @@ Ahora que recargamos los datos de la cuenta cada vez que se carga el panel, ¿cr
Intente trabajar juntos para cambiar lo que se guarda y carga desde `localStorage` para incluir solo lo que es absolutamente necesario para que la aplicación funcione.
## [Post-lecture prueba](.github/post-lecture-quiz.md)
## [Post-lecture prueba](../.github/post-lecture-quiz.md)
## Asignación
[Implementar el cuadro de diálogo "Agregar transacción"](assignment.md)
[Implementar el cuadro de diálogo "Agregar transacción"](assignment.es.md)
Aquí hay un ejemplo de resultado después de completar la tarea:
![Captura de pantalla que muestra un ejemplo de diálogo "Agregar transacción"](./images/dialog.png)
![Captura de pantalla que muestra un ejemplo de diálogo "Agregar transacción"](../images/dialog.png)

@ -11,11 +11,11 @@ Utilizando todo lo que ha aprendido en las cuatro lecciones anteriores, implemen
- Cree datos JSON a partir de los datos del formulario y envíelos a la API
- Actualiza la página del tablero con los nuevos datos.
Mire las [especificaciones de la API del servidor](./images/dialog.png) para ver a qué API debe llamar y cuál es el formato JSON esperado.
Mire las [especificaciones de la API del servidor](../images/dialog.png) para ver a qué API debe llamar y cuál es el formato JSON esperado.
Aquí hay un ejemplo de resultado después de completar la tarea:
! [Captura de pantalla que muestra un ejemplo de diálogo "Agregar transacción"] (./ images / dialog.png)
! [Captura de pantalla que muestra un ejemplo de diálogo "Agregar transacción"](../images/dialog.png)
## Rúbrica

@ -6,10 +6,10 @@ En este proyecto, aprenderá a construir un banco ficticio. Estas lecciones incl
## Lecciones
1. [Rutas y plantillas HTML en una aplicación web](template-route/README.md)
2. [Cree un formulario de inicio de sesión y registro](forms/README.md)
3. [Conceptos de gestión de estado](state-management/README.md)
4. [Métodos de obtención y uso de datos](data/README.md)
1. [Rutas y plantillas HTML en una aplicación web](../1-template-route/translations/README.es.md)
2. [Cree un formulario de inicio de sesión y registro](../2-forms/translations/README.es.md)
3. [Métodos de obtención y uso de datos](../3-data/translations/README.es.md)
4. [Conceptos de gestión de estado](../4-state-management/translations/README.es.md)
### Credits

Loading…
Cancel
Save