Tai yra švietimo programa skirta mokyti pradedančiuosius interneto kūrimo pagrindų. Programa yra išsami 12 savaičių kursų sistema, sukurta Microsoft Cloud Advocates komandos, apimanti 24 praktines pamokas apie JavaScript, CSS ir HTML.
Tai yra edukacinio mokymo programa, skirta mokyti pradedančiuosius internetinių svetainių kūrimo pagrindų. Programa yra išsami 12 savaičių trukmės kursas, sukurtas Microsoft Cloud Advocates komandos, apimantis 24 praktines pamokas, kuriose nagrinėjami JavaScript, CSS ir HTML.
### Pagrindinės sudedamosios dalys
- **Švietimo turinys**: 24 struktūruotos pamokos, suskirstytos į projektų modulius
- **Praktiniai projektai**: Terariumas, Rašymo žaidimas, Naršyklės plėtinys, Kosminis žaidimas, Banko programa, Kodo redaktorius ir AI pokalbių asistentas
- **Interaktyvūs testai**: 48 testai po 3 klausimus kiekviename (prieš ir po pamokų įvertinimai)
- **Daugiakalbė palaikymas**: Automatizuoti vertimai į 50+ kalbų naudojant GitHub Actions
- **Mokomoji medžiaga**: 24 struktūruotos pamokos, suskirstytos į projektų modulėlius
- **Praktiniai projektai**: Terariumas, Rašymo žaidimas, Naršyklės plėtinys, Kosminis žaidimas, Banko programa, Kodo redaktorius ir DI pokalbių asistentas
- **Interaktyvūs testai**: 48 testai po 3 klausimus kiekviename (testavimas prieš ir po pamokos)
- **Daugiakalbė palaikymas**: Automatiniai vertimai į daugiau nei 50 kalbų naudojant GitHub Actions
- `9-chat-project/README.md` - AI pokalbių asistento projektas
- `6-space-game/README.md` - Žaidimo su Canvas kūrimas
- `9-chat-project/README.md` - DI pokalbių asistento projektas
### Monorepo struktūra
Nors tai nėra tradicinis monorepo, ši saugykla turi kelis nepriklausomus projektus:
- Kiekviena pamoka yra savarankiška
Nors tai nėra tradicinis monorepo, ši saugykla talpina kelis nepriklausomus projektus:
- Kiekviena pamoka yra atskira
- Projektai nesidalina priklausomybėmis
- Darbai su atskirais projektais neturi įtakos kitiems
- Klonuokite visą saugyklą pilnam kursui gauti
- Dirbkite su atskiromis dalimis nedarydami įtakos kitoms
- Norint naudotis visa programa, reikalingas visos saugyklos klonavimas
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės ribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors stengiamės užtikrinti tikslumą, atkreipkite dėmesį, kad automatizuoti vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba yra laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojamas profesionalus žmogiškasis vertimas. Mes neatsakome už bet kokius nesusipratimus ar klaidingas interpretacijas, kylančias naudojant šį vertimą.
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors stengiamės užtikrinti tikslumą, atkreipkite dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turi būti laikomas autoritetingu šaltiniu. Dėl svarbios informacijos rekomenduojame naudotis profesionalaus žmogaus vertimu. Mes neatsakome už jokius nesusipratimus ar netinkamus aiškinimus, kylantčius iš šio vertimo naudojimo.
# Interneto svetainių kūrimas pradedantiesiems – mokymo planas
# Tinklalapių kūrimas pradedantiesiems – Mokymo programa
Išmokite interneto svetainių kūrimo pagrindus per mūsų 12 savaičių išsamų kursą, kurį veda Microsoft Cloud Advocates komanda. Kiekviena iš 24 pamokų detalizuojama JavaScript, CSS ir HTML temas, dirbant su praktiniais projektais, tokiais kaip terariumai, naršyklės plėtiniai ir erdvės žaidimai. Dalyvaukite viktorinose, diskusijose ir praktiniuose užduotyse. Tobulinkite savo įgūdžius ir optimizuokite žinių įsisavinimą naudojant mūsų efektyvią projektinę pedagogiką. Pradėkite savo programavimo kelionę jau šiandien!
Išmokite tinklalapių kūrimo pagrindus mūsų 12 savaičių išsamiame kurse, kurį rengia Microsoft Cloud Advocates. Kiekviena iš 24 pamokų gilina žinias apie JavaScript, CSS ir HTML per praktinius projektus, tokius kaip terariumai, naršyklės plėtiniai ir kosmoso žaidimai. Dalyvaukite viktorinose, diskusijose ir praktiniuose užduotyse. Tobulinkite įgūdžius ir optimizuokite žinių įsisavinimą su mūsų efektyvia projektais pagrįsta pedagogika. Pradėkite programavimo kelionę šiandien!
Prisijunkite prie Azure AI Foundry Discord bendruomenės
Prisijunkite prie Azure AI Foundry Discord ir susipažinkite su ekspertais bei kitais programuotojais.
> Šioje saugykloje yra daugiau kaip 50 kalbų vertimų, dėl ko labai padidėja atsisiuntimo dydis. Jei norite klonuoti be vertimų, naudokite sparse checkout:
> Šiame repositorijoje yra virš 50 kalbų vertimų, kas ženkliai padidina atsisiuntimo dydį. Norėdami klonuoti be vertimų, naudokite sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
@ -48,170 +48,169 @@ Atlikite šiuos žingsnius, kad pradėtumėte naudotis šiomis priemonėmis:
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Taip gausite viską, ko reikia kursui atlikti, žymiai greičiau atsisiųsdami.
> Tai suteiks jums viską, ko reikia kursui užbaigti, žymiai greičiau atsisiuntus.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Jei norite, kad būtų pridedamos papildomos palaikomos kalbos, jos išvardytos [čia](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Jei norite papildomų vertimų, palaikomos kalbos yra čia. [čia](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑🎓 _Ar esi studentas?_
#### 🧑🎓 _Ar esate studentas?_
Aplankyk [**Studentų centrą puslapį**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kur rasi pradedančiųjų resursus, studentų paketus ir net galimybes gauti nemokamą sertifikato kuponą. Tai puslapis, kurį verta pažymėti ir periodiškai tikrinti, nes mes kas mėnesį atnaujiname turinį.
Apsilankykite [**Studentų centras puslapyje**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), kur rasite pradedančiųjų išteklius, studentų rinkinius ir net būdus gauti nemokamą sertifikato kuponą. Šį puslapį verta įsidėti į žymes ir kartais patikrinti, nes turinys kas mėnesį keičiasi.
### 📣 Pranešimas – Nauji GitHub Copilot Agent režimo iššūkiai!
Pridėtas naujas iššūkis– ieškokite "GitHub Copilot Agent Challenge 🚀" daugelyje skyrių. Tai naujas iššūkis, skirtas atlikti naudojant GitHub Copilot ir Agent režimą. Jei dar nenaudojote Agent režimo, jis ne tik generuoja tekstą, bet gali ir kurti bei redaguoti failus, vykdyti komandas ir daugiau.
Pridėtas naujas iššūkis, ieškokite „GitHub Copilot Agent Challenge 🚀“ daugelyje skyrių. Tai naujas iššūkis, kurį turite atlikti naudodami GitHub Copilot ir Agent režimą. Jei anksčiau nenaudojote Agent režimo, jis gali ne tik generuoti tekstą, bet ir kurti bei redaguoti failus, vykdyti komandas ir daugiau.
### 📣 Pranešimas – _Naujas projektas generuojant dirbtiniu intelektu_
### 📣 Pranešimas – _Naujas projektas naudojant Generatyviąją AI_
Pridėtas naujas AI Asistento projektas, pažiūrėkite [projektą](./9-chat-project/README.md)
Pridėtas naujas AI Asistento projektas, pasižiūrėkite [projektą](./9-chat-project/README.md)
### 📣 Pranešimas –_Naujasis Generatyvinio DI kursas JavaScript buvo ką tik išleistas_
### 📣 Pranešimas –_Nauja mokymo programa_ apie Generatyviąją AI JavaScript kalboje ką tik išleista
Nepraleiskite mūsų naujo Generatyvinio DI mokymo plano!
Nepraleiskite mūsų naujos Generatyviosios AI mokymo programos!
Aplankykite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) ir pradėkite!
Apsilankykite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) ir pradėkite mokytis!
Kiekviena pamoka apima užduotį, žinių patikrinimą ir iššūkį, kuris padės išmokti:
- Užklausų ir užklausų inžinerijos
- Teksto ir vaizdo programėlių generavimo
- Paieškos programėlių
Kiekvienoje pamokoje yra užduotis, žinių patikra ir iššūkis, padėsiantys mokytis šia tema:
- Užklausų pateikimas ir jų kūrimas
- Teksto ir vaizdų programėlių kūrimas
- Paieškos programėlės
Aplankykite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) ir pradėkite!
Apsilankykite [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) ir pradėkite mokytis!
## 🌱 Pradžia
> **Mokytojai**, mes paruošėme [kelias rekomendacijas](for-teachers.md), kaip naudotis šiuo mokymo planu. Labai laukiame jūsų atsiliepimų [mūsų diskusijų forume](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Mokytojai**, mes pateikėme [kelias rekomendacijas](for-teachers.md), kaip naudoti šią mokymo programą. Labai lauktume jūsų atsiliepimų [mūsų diskusijų forume](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Mokiniai](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, kiekvienos pamokos pradžioje pradėkite nuo priešpaskaitinės viktorinos, vėliau peržiūrėkite paskaitos medžiagą, atlikite įvairias užduotis ir pasitikrinkite savo supratimą paskaitos pabaigos viktorinoje.
**[Mokiniai](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, kiekvienai pamokai pradėkite nuo priešpaskaitinės viktorinos, paskui skaitykite paskaitos medžiagą, atlikite įvairias veiklas ir pasitikrinkite supratimą po paskaitos viktorinoje.
Siekiant pagerinti mokymosi patirtį, susisiekite su savo bendraamžiais ir dirbkite kartu prie projektų! Skatintinos diskusijos mūsų [diskusijų forume](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kuriame dirba mūsų moderatorių komanda, pasirengusi atsakyti į jūsų klausimus.
Norėdami geriau mokytis, jungkitės prie savo bendramokslio ir dirbkite kartu su projektais! Diskusijos skatinamos mūsų [diskusijų forume](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), kur mūsų moderatorių komanda bus pasirengusi atsakyti į jūsų klausimus.
Norėdami toliau tobulėti, rekomenduojame peržiūrėti [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) papildomoms mokomosioms medžiagoms.
Norėdami gilinti žinias, rekomenduojame naršyti [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) papildomoms mokymosi priemonėms.
### 📋 Aplinkos paruošimas
### 📋 Aplinkos sąranka
Šiam mokymo planui yra paruošta plėtros aplinka! Pradėdami galite pasirinkti vykdyti kursą [Codespace](https://github.com/features/codespaces/) aplinkoje (_naršyklėje, nereikia diegti jokių programų_), arba lokaliai savo kompiuteryje naudodami teksto redaktorių, pvz., [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Ši mokymo programa turi paruoštą kūrimo aplinką! Pradėdami galite rinktis vykdyti kursą [Codespace](https://github.com/features/codespaces/) (naršyklėje veikianti aplinka be diegimo), arba lokaliai savo kompiuteryje naudodami teksto redaktorių, pavyzdžiui, [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Sukurkite savo saugyklą
Kad lengvai išsaugotumėte savo darbus, rekomenduojama sukurti savo šios saugyklos kopiją. Tai galite padaryti paspaudę mygtuką **Use this template** šio puslapio viršuje. Tai sukurs naują saugyklą jūsų GitHub paskyroje su šio mokymo plano kopija.
#### Sukurkite savo repository
Kad galėtumėte lengvai išsaugoti savo darbą, rekomenduojama sukurti savo kopiją šio repository. Tai galite padaryti paspausdami mygtuką **Use this template** puslapio viršuje. Tai sukurs naują repository jūsų GitHub paskyroje su mokymo programos kopija.
Atlikite šiuos veiksmus:
1. **Padarykite Fork**: Spauskite "Fork" mygtuką viršutiniame dešiniajame puslapio kampe.
Norėdami vykdyti kursą lokaliai savo kompiuteryje, jums reikės teksto redaktoriaus, naršyklės ir komandų eilutės įrankio. Mūsų pirma pamoka [Programavimo kalbų ir darbo įrankių įvadas](../../1-getting-started-lessons/1-intro-to-programming-languages) supažindins jus su įvairiomis šių įrankių pasirinkimo galimybėmis, kad galėtumėte pasirinkti tinkamiausią.
Kad galėtumėte vykdyti mokymo programą lokaliai, jums reikės teksto redaktoriaus, naršyklės ir komandinės eilutės įrankio. Mūsų pirma pamoka, [Įvadas į programavimo kalbas ir įrankius](../../1-getting-started-lessons/1-intro-to-programming-languages), jus supažindins su galimybėmis kiekvienam iš šių įrankių, kad pasirinktumėte tinkamiausius sau.
Rekomenduojame naudoti [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) kaip redaktorių, kuris taip pat turi integruotą [Terminalą](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code galite parsisiųsti [čia](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Nuklonuokite savo saugyklą į savo kompiuterį. Tai galite padaryti spustelėję mygtuką **Code** ir nukopijavę URL:
Rekomenduojame naudoti [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) redaktorių, kuris turi integruotą [Terminalą](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code galite atsisiųsti [čia](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Klonuokite savo saugyklą į savo kompiuterį. Tai galite padaryti spustelėję mygtuką **Code** ir nukopijavę URL:
[CodeSpace](./images/createcodespace.png)
Tada atidarykite [Terminalą](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) aplinkoje ir vykdykite šią komandą, pakeisdami `<your-repository-url>` į ką tik nukopijuotą URL:
Tada atidarykite [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) „Visual Studio Code“ aplinkoje ir paleiskite šią komandą, pakeisdami `<your-repository-url>` tuo URL, kurį ką tik nukopijavote:
```bash
git clone <your-repository-url>
```
2. Atidarykite aplanką Visual Studio Code. Tai galite padaryti spustelėję **File** > **Open Folder** ir pasirinkdami ką tik nuklonuotą aplanką.
2. Atidarykite katalogą „Visual Studio Code“. Tai galite padaryti spustelėję **File** > **Open Folder** ir pasirinkę ką tik nuklonuotą katalogą.
> Rekomenduojami Visual Studio Code plėtiniai:
> Rekomenduojami „Visual Studio Code“ plėtiniai:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - HTML puslapių peržiūrai Visual Studio Code aplinkoje
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - padeda greičiau rašyti kodą
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) – HTML puslapių peržiūrai „Visual Studio Code“ aplinkoje
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) – padeda greičiau rašyti kodą
## 📂 Kiekviena pamoka apima:
- neprivalomą sketchnote užrašą
- neprivalomą brėžinį (sketchnote)
- neprivalomą papildomą vaizdo įrašą
- šiltinimo viktoriną prieš pamoką
- apšilimo testą prieš pamoką
- rašytinę pamoką
- projektinėse pamokose – žingsnis po žingsnio instrukcijas, kaip sukurti projektą
- projektinėms pamokoms – žingsnis po žingsnio gidas, kaip sukurti projektą
- žinių patikrinimus
- iššūkį
- papildomą skaitymą
- užduotį
- [pamokos pabaigos viktoriną](https://ff-quizzes.netlify.app/web/)
- [testą po pamokos](https://ff-quizzes.netlify.app/web/)
> **Pastaba apie viktorinas**: Visos viktorinos yra Quiz-app aplanke, iš viso 48 viktorinos po tris klausimus kiekvienoje. Jas rasite [čia](https://ff-quizzes.netlify.app/web/) – viktorinų programėlę galima paleisti lokaliai arba diegti Azure; sekite nurodymus `quiz-app` aplanke.
> **Pastaba apie testus**: Visi testai yra saugomi Quiz-app kataloge, yra iš viso 48 testai po tris klausimus kiekviename. Jie pasiekiami [čia](https://ff-quizzes.netlify.app/web/), testų programėlę galima paleisti lokaliai arba publikuoti „Azure“; vadovaukitės nurodymais `quiz-app` kataloge.
## 🗃️ Pamokos
| | Projekto pavadinimas | Mokomi konceptai | Mokymosi tikslai | Susietos pamokos | Autorius |
| 01 | Pradžia | Programavimo pagrindai ir naudojami įrankiai | Sužinokite pagrindinius daugumos programavimo kalbų pagrindus ir apie programinę įrangą, padedančią profesionalams | [Įvadas į programavimo kalbas ir įrankius](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Pradžia | GitHub pagrindai, įskaitant komandinius darbus | Kaip naudotis GitHub projekte, kaip bendradarbiauti dirbant su kodo baze | [Įvadas į GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Pradžia | Prieinamumas | Sužinokite interneto prieinamumo pagrindus | [Prieinamumo pagrindai](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS pagrindai | JavaScript duomenų tipai | JavaScript duomenų tipų pagrindai | [Duomenų tipai](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS pagrindai | Funkcijos ir metodai | Sužinokite apie funkcijas ir metodus, valdančius programos logikos eigą | [Funkcijos ir metodai](./2-js-basics/2-functions-methods/README.md) | Jasmine ir Christopher |
| 06 | JS pagrindai | Sprendimų priėmimas JS | Sužinokite, kaip sukurti sąlygas savo kode naudojant sprendimų priėmimo būdus | [Sprendimų kūrimas](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS pagrindai | Masyvai ir ciklai | Darbas su duomenimis naudojant masyvus ir ciklus JavaScript | [Masyvai ir ciklai](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML praktikoje | Sukurkite HTML, kad sukurtumėte internetinį terariumą, koncentruojantis į išdėstymo kūrimą | [Įvadas į HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS praktikoje | Sukurkite CSS, kad stilizuotumėte internetinį terariumą, įskaitant pagrindus ir atsaką į skirtingų ekranų dydžius | [Įvadas į CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScript Closure ir DOM manipuliavimas | Parašykite JavaScript, kad terariumas veiktų kaip vilkimo / metimo sąsaja, koncentruojantis į closure ir DOM manipuliavimą | [JavaScript Closure ir DOM manipuliavimas](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Rašymo žaidimas](./4-typing-game/solution/README.md) | Sukurkite rašymo žaidimą | Sužinokite, kaip naudoti klaviatūros įvykius valdyti jūsų JavaScript programos logiką | [Įvykių valdymas](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Žalioji naršyklės plėtinys](./5-browser-extension/solution/README.md) | Darbas su naršyklėmis | Sužinokite, kaip veikia naršyklės, jų istoriją ir kaip sukurti pirmuosius naršyklės plėtinio elementus | [Apie naršykles](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Žalioji naršyklės plėtinys](./5-browser-extension/solution/README.md) | Formos kūrimas, API kvietimas ir kintamųjų saugojimas local storage | Parašykite naršyklės plėtinio JavaScript elementus, kad kvietumėte API naudodami kintamuosius saugojamus local storage | [API, formos ir local storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Žalioji naršyklės plėtinys](./5-browser-extension/solution/README.md) | Naršyklės fono procesai, žiniatinklio našumas | Naudokite naršyklės foninius procesus plėtinio ikonų valdymui; sužinokite apie žiniatinklio našumą bei optimizacijas | [Fono darbai ir našumas](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Kosmoso žaidimas](./6-space-game/solution/README.md) | Sudėtingesnis žaidimų kūrimas su JavaScript | Sužinokite apie paveldėjimą naudojant klases ir kompoziciją, taip pat Pub/Sub modelį žaidimo kūrimui | [Įvadas į pažangų žaidimų kūrimą](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Kosmoso žaidimas](./6-space-game/solution/README.md) | Piešimas ant drobės | Sužinokite apie Canvas API, kuris leidžia piešti elementus ekrane | [Piešimas ant drobės](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Kosmoso žaidimas](./6-space-game/solution/README.md) | Elementų judinimas ekrane | Sužinokite, kaip elementai gali judėti naudojant kartezines koordinates ir Canvas API | [Elementų judinimas ekrane](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Kosmoso žaidimas](./6-space-game/solution/README.md) | Kolizijos aptikimas | Sukurkite elementų susidūrimus ir reakcijas į rakto paspaudimus, įdiekite „cooldown“ funkciją žaidimo našumui užtikrinti | [Kolizijos aptikimas](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Kosmoso žaidimas](./6-space-game/solution/README.md) | Taškų skaičiavimas | Atlikite matematikos skaičiavimus pagal žaidimo būseną ir rezultatus | [Taškų skaičiavimas](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Kosmoso žaidimas](./6-space-game/solution/README.md) | Žaidimo pabaiga ir paleidimas iš naujo | Sužinokite apie žaidimo pabaigą ir iš naujo paleidimą, įskaitant išteklių valymą ir kintamųjų reikšmių atstatymą | [Pabaigos sąlyga](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banko programa](./7-bank-project/solution/README.md) | HTML šablonai ir maršrutizacija web programoje | Sužinokite, kaip sukurti daugiapusės svetainės architektūrą naudojant maršrutizavimą ir HTML šablonus | [HTML šablonai ir maršrutizacija](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banko programa](./7-bank-project/solution/README.md) | Prisijungimo ir registracijos formos kūrimas | Sužinokite apie formų kūrimą ir validacijos tvarkymą | [Formos](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banko programa](./7-bank-project/solution/README.md) | Duomenų gavimo ir naudojimo būdai | Kaip duomenys teka jūsų programoje, kaip juos gauti, saugoti ir išmesti | [Duomenys](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banko programa](./7-bank-project/solution/README.md) | Būsenos valdymo konceptai | Sužinokite, kaip jūsų programa saugo būseną ir kaip ją valdyti programiškai | [Būsenos valdymas](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Naršyklės / VScode kodas](../../8-code-editor) | Darbas su VScode | Išmokite naudotis kodo redaktoriumi | [Naudokite VScode redaktorių](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI asistentai](./9-chat-project/README.md) | Darbas su AI | Išmokite sukurti savo AI asistentą | [AI asistento projektas](./9-chat-project/README.md) | Chris |
| | Projekto pavadinimas | Mokomi konceptai | Mokymosi tikslai | Susieta pamoka | Autorius |
| 01 | Pradžia | Įvadas į programavimą ir įrankiai | Sužinoti pagrindus, kurie slypi daugumoje programavimo kalbų, ir apie programinę įrangą, kuri padeda profesionaliems kūrėjams dirbti | [Įvadas į programavimo kalbas ir įrankius](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Pradžia | GitHub pagrindai, komandinio darbo ypatumai | Kaip naudoti GitHub projekte, kaip bendradarbiauti dirbant su kodo baze | [Įvadas į GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Pradžia | Prieinamumas | Susipažinti su interneto prieinamumo pagrindais | [Prieinamumo pagrindai](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS pagrindai | JavaScript duomenų tipai | JavaScript duomenų tipų pagrindai | [Duomenų tipai](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS pagrindai | Funkcijos ir metodai | Sužinoti apie funkcijas ir metodus, valdant programos logikos srautą | [Funkcijos ir metodai](./2-js-basics/2-functions-methods/README.md) | Jasmine ir Christopher |
| 06 | JS pagrindai | Sprendimų kūrimas su JS | Kaip kurti sąlygas savo kode naudojant sprendimų priėmimo būdus| [Sprendimų kūrimas](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS pagrindai | Masyvai ir ciklai | Dirbti su duomenimis naudojant masyvus ir ciklus JavaScript | [Masyvai ir ciklai](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarijus](./3-terrarium/solution/README.md) | HTML praktikoje | Sukurti HTML, kad sukurtumėte internetinį terarijų, daugiausia dėmesio skiriant maketui | [Įvadas į HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarijus](./3-terrarium/solution/README.md) | CSS praktikoje | Kurti CSS stiliaus taisykles internetiniam terarijui, daugiausia dėmesio skiriant CSS pagrindams, įskaitant puslapio adaptaciją | [Įvadas į CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarijus](./3-terrarium/solution/README.md) | JavaScript closure’ai, DOM manipuliacija | Kurti JavaScript, kuris užtikrintų terarijaus veikimą per tempimą/paleidimą, daugiausia dėmesio skiriant closure’ams ir DOM manipuliacijai | [JavaScript closure’ai, DOM manipuliacija](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Rašymo žaidimas](./4-typing-game/solution/README.md) | Sukurti rašymo žaidimą | Sužinoti, kaip naudoti klaviatūros įvykius, kad valdytumėte savo JavaScript programos logiką | [Įvykių valdymas](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Žalioji naršyklės plėtinys](./5-browser-extension/solution/README.md) | Darbas su naršyklėmis | Sužinoti, kaip veikia naršyklės, jų istoriją ir kaip sukurti pirmuosius naršyklės plėtinio elementus| [Apie naršykles](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Žalioji naršyklės plėtinys](./5-browser-extension/solution/README.md) | Forma, API iškvietimas ir kintamųjų saugojimas local storage | Kurti naršyklės plėtinio JavaScript elementus, kurie kviečia API naudojant local storage | [API, formos ir local storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Žalioji naršyklės plėtinys](./5-browser-extension/solution/README.md) | Fono procesai naršyklėje, interneto našumas | Naudoti naršyklės fono procesus plėtinio piktogramai valdyti; sužinoti apie interneto našumą ir optimizacijas | [Fono užduotys ir našumas](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Kosminis žaidimas](./6-space-game/solution/README.md) | Pažangesnė žaidimų kūrimo su JavaScript dalis | Sužinoti apie paveldėjimą naudojant klases ir kompoziciją bei pub/sub modelį, pasirengti žaidimo kūrimui | [Įvadas į pažangią žaidimų kūrimą](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Kosminis žaidimas](./6-space-game/solution/README.md) | Piešimas ant drobės | Sužinoti apie Canvas API, naudojamą elementų piešimui ekrane | [Piešimas ant drobės](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Kosminis žaidimas](./6-space-game/solution/README.md) | Elementų judinimas ekrane | Sužinoti, kaip elementai gali judėti naudojant Dekartines koordinates ir Canvas API | [Judinamų elementų valdymas](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Kosminis žaidimas](./6-space-game/solution/README.md) | Susidūrimo atpažinimas | Leisti elementams susidurti ir reaguoti vienam į kitą, naudoti klavišų paspaudimus ir suteikti atšildymo funkciją, užtikrinančią našumą | [Susidūrimo atpažinimas](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Kosminis žaidimas](./6-space-game/solution/README.md) | Balansavimas | Atlikti matematikos skaičiavimus pagal žaidimo būseną ir veikimą | [Balansavimas](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Kosminis žaidimas](./6-space-game/solution/README.md) | Žaidimo pabaiga ir paleidimas iš naujo | Sužinoti apie žaidimo pabaigą ir paleidimą iš naujo, įskaitant išteklių valymą ir kintamųjų reikšmių atstatymą | [Pabaigos sąlyga](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banko programėlė](./7-bank-project/solution/README.md) | HTML šablonai ir maršrutai interneto programoje | Sužinoti, kaip sukurti daugiasluoksnio tinklalapio struktūrą, naudojant maršrutizavimą ir HTML šablonus | [HTML šablonai ir maršrutai](./7-bank-project/1-template-route/README.md)| Yohan |
| 22 | [Banko programėlė](./7-bank-project/solution/README.md) | Prisijungimo ir registracijos formos kūrimas | Sužinoti apie formų kūrimą ir validacijos vykdymą | [Formos](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banko programėlė](./7-bank-project/solution/README.md) | Duomenų užklausų ir panaudojimo būdai | Kaip duomenys teka programoje, kaip juos gauti, saugoti ir atsikratyti | [Duomenys](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banko programėlė](./7-bank-project/solution/README.md) | Būsenos valdymo pagrindai | Sužinoti, kaip programa išlaiko būseną ir kaip ją valdyti programiškai | [Būsenos valdymas](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Darbas su VScode | Sužinoti, kaip naudotis kodo redaktoriumi | [Naudok VScode kodo redaktorių](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [Dirbtiniai intelektai](./9-chat-project/README.md) | Darbas su DI | Sužinoti, kaip sukurti savo dirbtinio intelekto asistentą | [DI asistento projektas](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogika
Mūsų mokymo programa sukurta remiantis dviem pagrindinėmis pedagoginėmis taisyklėmis:
* mokymasis per projektus
* dažnos viktorinos
* projektinis mokymasis
* dažni testai
Programa moko JavaScript, HTML ir CSS pagrindus bei naujausius įrankius ir metodus, kuriuos naudoja šių dienų interneto kūrėjai. Studentai turės galimybę įgyti praktinės patirties kuriant rašymo žaidimą, virtualų terariumą, ekologišką naršyklės plėtinį, kosmoso invazijos tipo žaidimą ir verslo banko programėlę. Baigus šį ciklą studentai įgis tvirtą supratimą apie interneto kūrimą.
Programa moko JavaScript, HTML ir CSS pagrindų, taip pat naujausių įrankių ir metodų, kuriuos naudoja šių laikų interneto kūrėjai. Studentai turės galimybę įgyti praktinės patirties kurdami rašymo žaidimą, virtualų terarijų, ekologišką naršyklės plėtinį, kosminį invazijos stiliaus žaidimą ir banko programėlę verslui. Baigus šį ciklą, studentai turės tvirtą žinių pagrindą apie interneto kūrimą.
> 🎓 Pirmas kelias šios programos pamokas galite atlikti kaip [Mokymosi kelią](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) Microsoft Learn platformoje!
> 🎓 Pirmas kelias pamokas galite išklausyti kaip [mokymosi kelią](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) Microsoft Learn platformoje!
Užtikrinant, kad turinys atitiktų projektus, procesas tampa labiau įtraukiantis studentams, o konceptų įsisavinimas pagerėja. Taip pat parašėme keletą pradinio lygio pamokų JavaScript pagrindams supažindinti, jas lydi video iš „[Pradedančiųjų serijos į JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)“ kolekcijos, kurios autorių dalyvavo ir šioje programoje.
Uždraudžiant turinį susieti su projektais, procesas tampa įdomesnis studentams, o konceptų įsisavinimas – geresnis. Taip pat parašėme keletą pradiniams JavaScript pagrindų orientuotų pamokų, supažindinančių su konceptais, papildytų vaizdo įrašu iš „Beginners Series to: JavaScript“ mokymų serijos, kurių kai kurie autoriai prisidėjo prie šios programos.
Be to, žemesnio slenksčio viktorina prieš pamoką nukreipia studentų dėmesį mokytis temą, o antroji viktorina po pamokos užtikrina geresnį įsisavinimą. Ši programa sukurta taip, kad būtų lanksti ir smagi, ją galima atlikti visa arba dalimis. Projektai prasideda nedideli ir pamažu tampa vis sudėtingesni per visą 12 savaičių ciklą.
Be to, žemo slenksčio testas prieš pamoką nukreipia studentus į mokymosi temą, o antras testas po pamokos padeda įsisavinti žinias dar geriau. Ši programa sukurta būti lanksti ir smagi, ją galima įgyti visą arba iš dalies. Projektai prasideda nuo paprastų ir turi vis didėjančią sudėtingumo laipsnį per 12 savaičių ciklą.
Nors sąmoningai vengėme įvesti JavaScript karkasus, kad susikoncentruotume į pagrindinius įgūdžius, reikalingus kaip interneto kūrėjui prieš pereinant prie karkasų, gera tolesnė žingsnis būtų išmokti apie Node.js per kitą video kolekciją: „[Pradedančiųjų serija į Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)“.
> Apsilankykite mūsų [Elgesio kodekse](CODE_OF_CONDUCT.md) ir [Dalyvavimo taisyklėse](CONTRIBUTING.md). Laukiame jūsų konstruktyvių atsiliepimų!
Nors sąmoningai vengėme pristatyti JavaScript karkasus, kad susitelktume į pagrindinius įgūdžius, reikalingus interneto kūrėjui prieš perėjimą prie karkaso, kitas geras žingsnis po šios programos būtų susipažinti su Node.js per vaizdo įrašų seriją: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Apsilankykite mūsų [Elgesio kodekse](CODE_OF_CONDUCT.md) ir [Prisidėjimo](CONTRIBUTING.md) gairėse. Laukiame jūsų konstruktyvaus grįžtamojo ryšio!
## 🧭 Offline prieiga
Šią dokumentaciją galite naudoti offline naudodami [Docsify](https://docsify.js.org/#/). Nuklonuokite šį repo, [įdiekite Docsify](https://docsify.js.org/#/quickstart) savo vietinėje mašinoje, tada šio repo šakniniame aplanke paleiskite `docsify serve`. Svetainė bus pasiekiama per 3000 prievadą jūsų localhost: `localhost:3000`.
Šią dokumentaciją galite naudoti neprisijungę, naudodami [Docsify](https://docsify.js.org/#/). Sukurkite šaką (fork) šios saugyklos, [įdiekite Docsify](https://docsify.js.org/#/quickstart) savo vietiniame įrenginyje, tada įeiname į šios saugyklos pagrindinį katalogą ir įveskite komandą `docsify serve`. Svetainė bus pateikta jūsų localhost:3000 prievade: `localhost:3000`.
## 📘 PDF
Visų pamokų PDF galite rasti [čia](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Visų pamokų PDF galima rasti [čia](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Kiti kursai
@ -229,52 +228,52 @@ Mūsų komanda kuria ir kitus kursus! Pažiūrėkite:
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Generatyvinio DI serija
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
Jei užstrigote arba turite klausimų apie AI programėlių kūrimą. Prisijunkite prie bendraminčių ir patyrusių programuotojų diskusijų apie MCP. Tai palaikanti bendruomenė, kurioje klausimai laukiami, o žinios laisvai dalijamos.
Jei sustojote arba turite klausimų apie DI programų kūrimą. Prisijunkite prie kitų besimokančiųjų ir patyrusių programuotojų diskusijose apie MCP. Tai palaikanti bendruomenė, kurioje klausimai yra laukiami, o žinios dalijamos laisvai.
Šis saugykla licencijuota pagal MIT licenciją. Daugiau informacijos žr. faile [LICENSE](../../LICENSE).
Šis saugykla yra licencijuota pagal MIT licenciją. Daugiau informacijos žr. faile [LICENSE](../../LICENSE).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritiškai svarbiai informacijai rekomenduojamas profesionalus žmogiškas vertimas. Mes neatsakome už jokius nesusipratimus ar neteisingus aiškinimus, kilusius naudojant šį vertimą.
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors stengiamės užtikrinti tikslumą, prašome atkreipti dėmesį, kad automatizuoti vertimai gali būti su klaidomis ar netikslumais. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Esant kritinei informacijai, rekomenduojamas profesionalus žmogaus vertimas. Mes neatsakome už bet kokius nesusipratimus ar klaidingą interpretavimą, kylančius dėl šio vertimo naudojimo.
**Užduoties terminas [MM/YY]**: [Užduoties pavadinimas](assignment.md)
**Uždavinys turi būti atliktas iki [MM/YY]**: [Uždavinio pavadinimas](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Atsakomybės apribojimas**:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Kritinei informacijai rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius naudojant šį vertimą.
Šis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatizuoti vertimai gali turėti klaidų arba netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Svarbiai informacijai rekomenduojame naudotis profesionalaus žmogaus vertimu. Mes neatsakome už jokius nesusipratimus ar neteisingus aiškinimus, atsiradusius dėl šio vertimo naudojimo.
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
သင့် ကွန်ပျူတာတွင် ဤသင်ခန်းစာတန်းကို အသုံးပြုရန် စာသားရိုက်တည်းဖြတ်သူ၊ ဘရောက်ဇာ နှင့် command line ကိရိယာ တိုက်ရိုက် လိုအပ်ပါသည်။ ပထမဆုံး သင်ခန်းစာဖြစ်သော [Introduction to Programming Languages and Tools of the Trade](../../1-getting-started-lessons/1-intro-to-programming-languages) တွင် သင့်အတွက် သင့်လျော်သော ကိရိယာများကို ရွေးချယ်ရန် လမ်းညွှန်ပေးပါမည်။
ကျွန်ုပ်တို႔ အကြံပြုနေသည်မှာ [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) တည်းဖြတ်စက်ကို အသုံးပြုရန်ဖြစ်ပြီး ထိုတွင် အတွင်းတွင် ပါဝင်သော [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) ပါရှိသည်။ Visual Studio Code ကို [ဤနေရာတွင်](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ဒေါင်းလုပ်ဆွဲနိုင်ပါသည်။
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | form တည်ဆောက်ခြင်း၊ API ခေါ်ယူခြင်းနှင့် local storage တွင် variables သိမ်းဆည်းခြင်း | browser extension ၏ JavaScript element များကို API ခေါ်ရန်နှင့် local storage တွင် သိမ်းဆည်းထားသော variables အသုံးပြု၍ ဖန်တီးခြင်း | [API များ၊ Form များ၊ Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
@ -223,7 +237,7 @@ JavaScript framework များကို မသွင်းယူဘဲ web de
---
### Core Learning
### အခြေခံသင်ယူမှု
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -234,29 +248,29 @@ JavaScript framework များကို မသွင်းယူဘဲ web de
---
### Copilot Series
### Copilot စီးရီး
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
Це навчальний репозиторій курсу для викладання основ веб-розробки для початківців. Курс є всебічним 12-тижневим курсом, розробленим Microsoft Cloud Advocates, що включає 24 практичні уроки з JavaScript, CSS та HTML.
Це репозиторій навчальної програми для викладання основ веб-розробки для початківців. Програма — це комплексний 12-тижневий курс, розроблений Microsoft Cloud Advocates, що містить 24 практичні уроки, які охоплюють JavaScript, CSS та HTML.
### Ключові компоненти
### Основні компоненти
- **Навчальний контент**: 24 структуровані уроки, організовані в модулі, орієнтовані на проєкти
- **Практичні проєкти**: Терраріум, Гра на друку, Розширення браузера, Космічна гра, Банківський додаток, Код-редактор і AI чат-асистент
- **Інтерактивні вікторини**: 48 вікторин по 3 питання у кожній (до/після уроку)
- **Підтримка багатьох мов**: Автоматичний переклад більш ніж на 50 мов за допомогою GitHub Actions
- **Навчальний контент**: 24 структуровані уроки, організовані в модулі на основі проєктів
- **Практичні проєкти**: Терраріум, гра на друку, розширення браузера, космічна гра, банківський додаток, редактор коду та AI чат-асистент
- **Інтерактивні вікторини**: 48 вікторин по 3 питання в кожній (оцінки до/після уроку)
- **Підтримка багатьох мов**: Автоматизований переклад більш ніж 50 мовами за допомогою GitHub Actions
- **Технології**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (для AI проєктів)
### Архітектура
- Репозиторій з навчальним контентом, структурованим за уроками
- Кожна директорія уроку містить README, приклади коду та рішення
- Окремі проєкти розміщені в власних папках (quiz-app, різні уроки)
- Система перекладів з використанням GitHub Actions (co-op-translator)
- Документація подається через Docsify і доступна у форматі PDF
- Навчальний репозиторій зі структурою на основі уроків
- Кожна папка уроку містить README, приклади коду та рішення
- Окремі проєкти у різних директоріях (quiz-app, різні проєкти уроків)
- Система перекладу з використанням GitHub Actions (co-op-translator)
- Документація на Docsify і доступна в PDF
## Команди для налаштування
@ -41,12 +41,12 @@ npm run build # Зібрати для продакшена
npm run lint # Запустити ESLint
```
### API Банківського проєкту (Node.js + Express)
### API банківського проєкту (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Запустити сервер API
npm start # Запустити API сервер
npm run lint # Запустити ESLint
npm run format # Відформатувати за допомогою Prettier
```
@ -56,7 +56,7 @@ npm run format # Відформатувати за допомогою Pretti
```bash
cd 5-browser-extension/solution
npm install
# Дотримуйтесь інструкцій із завантаження розширень, специфічних для браузера
# Дотримуйтеся інструкцій завантаження розширень, специфічних для браузера
```
### Проєкти космічної гри
@ -64,10 +64,10 @@ npm install
```bash
cd 6-space-game/solution
npm install
# Відкрийте index.html у браузері або використовуйте Live Server
# Відкрийте index.html у браузері або використайте Live Server
```
### Проєкт чату (Python бекенд)
### Чат-проєкт (бекенд на Python)
```bash
cd 9-chat-project/solution/backend/python
@ -76,35 +76,35 @@ pip install openai
python api.py
```
## Робочий процес розробки
## Розробницький робочий процес
### Для внесення контенту
### Для авторів контенту
1. **Форкніть репозиторій** у свій акаунт GitHub
2. **Клонуйте ваш форк** локально
1. **Форкуйте репозиторій** у свій обліковий запис GitHub
2. **Клонуйте форк** локально
3. **Створіть нову гілку** для своїх змін
4. Внесіть зміни у контент уроків або приклади коду
5. Перевірте кодиу відповідних директоріях проєктів
6. Надішліть pull request відповідно до інструкцій внесення змін
4. Вносьте зміни до контенту уроків або прикладів коду
5. Тестуйте зміни кодуу відповідних директоріях проєктів
6. Надсилайте pull request відповідно до правил внеску
### Для учнів
1. Форкніть або клонувати репозиторій
2. Перейдіть послідовно до директорій уроків
3. Читайте README в кожному уроці
4. Проходьте вікторини перед уроком на https://ff-quizzes.netlify.app/web/
5. Працюйте з прикладами коду в папках уроків
6. Виконуйте завдання і виклики
7. Проходьте вікторини після уроку
1. Форкуйте або клоньте репозиторій
2. Послідовно переходьте в директорії уроків
3. Читайте README файли для кожного уроку
4. Виконуйте вікторини перед уроком на https://ff-quizzes.netlify.app/web/
- [Студентський центр ресурсів](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) рекомендований для учнів
- Додаткові курси: Генеративний AI, Data Science, ML, IoT навчальні курси
### Робота з конкретними проєктами
Для детальних інструкцій з окремих проєктів дивіться README файли у:
- `quiz-app/README.md` - Vue 3 quiz додаток
- `7-bank-project/README.md` - Банківський додаток з автентифікацією
- `5-browser-extension/README.md` - Розробка розширення браузера
Для докладних інструкцій щодо окремих проєктів дивіться README файли у:
- `quiz-app/README.md` - Vue 3 додаток для вікторин
- `7-bank-project/README.md` - Банківський додаток з аутентифікацією
- `5-browser-extension/README.md` - Розробка розширень браузера
- `6-space-game/README.md` - Розробка гри на Canvas
- `9-chat-project/README.md` - AI чат-асистент
- `9-chat-project/README.md` - Проєкт AI чат-асистента
### Структура монорепозиторію
Хоча це не традиційний монорепозиторій, він містить кілька незалежних проєктів:
Хоча це не класичний монорепозиторій, цей репозиторій містить кілька незалежних проєктів:
- Кожен урок автономний
- Проєкти не ділять залежності
- Можна працювати з окремими проєктами без впливу на інші
- Клонування всього репозиторію для повного досвіду курсу
- Проєкти не ділять залежностей
- Працюйте над окремими проєктами без впливу на інші
- Клонуйте весь репозиторій для повного досвіду навчальної програми
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний переклад людиною. Ми не несемо відповідальності за будь-які непорозуміння абохибні тлумачення, що виникли внаслідок використання цього перекладу.
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматизовані переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння абопомилкові тлумачення, що виникли через використання цього перекладу.
# Веб-розробка для початківців - навчальна програма
Вивчайте основи веб-розробки за нашим комплексним 12-тижневим курсом від Microsoft Cloud Advocates. Кожен з 24 уроків занурюється у JavaScript, CSS та HTML через практичні проєкти, такі як тераріуми, розширення для браузера та космічні ігри. Взаємодійте з вікторинами, дискусіями та практичними завданнями. Покращуйте свої навички та оптимізуйте засвоєння знань за допомогою ефективної педагогіки, орієнтованої на проєкти. Почніть свою подорож у кодинг вже сьогодні!
Вивчайте основи веб-розробки за допомогою нашого комплексного курсу тривалістю 12 тижнів від Microsoft Cloud Advocates. Кожен з 24 уроків занурюється у JavaScript, CSS та HTML через практичні проєкти, такі як тераріуми, розширення для браузера та космічні ігри. Залучайтесь до вікторин, обговорень і практичних завдань. Покращуйте свої навички та оптимізуйте засвоєння знань за допомогою нашої ефективної проектно-орієнтованої педагогіки. Розпочніть свою програмістську подорож сьогодні!
Приєднуйтесь до спільноти Azure AI Foundry в Discord
Приєднуйтесь до Azure AI Foundry Discordі зустрічайте експертів та інших розробників.
> Цей репозиторій містить понад 50 мовних перекладів, що значно збільшує розмір завантаження. Щоб клонувати без перекладів, використовуйте sparse checkout:
>
@ -48,82 +48,82 @@
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> Це надасть вам все необхідне для проходження курсу з набагато швидшим завантаженням.
> Це дасть вам все необхідне для проходження курсу з значно швидшим завантаженням.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Якщо ви хочете, щоб підтримувалися додаткові мови перекладу, вони перелічені [тут](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Якщо ви хочете мати додаткові переклади, підтримувані мови наведені [тут](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑🎓 _Ви студент?_
Відвідайте [**сторінку Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), де ви знайдете ресурси для початківців, студентські набори та навіть можливості отримати безкоштовний сертифікат. Це сторінка, яку варто додати до закладок і періодично перевіряти, оскільки вміст оновлюється щомісяця.
Відвідайте [**сторінку Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), де ви знайдете ресурси для початківців, студентські комплекти та навіть способи отримати безкоштовний сертифікат. Цю сторінку варто додати в закладки та перевіряти час від часу, оскільки щомісяця оновлюється контент.
### 📣 Оголошення - Нові виклики в режимі GitHub Copilot Agent для виконання!
### 📣 Оголошення - Нові завдання в режимі GitHub Copilot Agent для виконання!
Додано нове завдання, шукайте "GitHub Copilot Agent Challenge 🚀" у більшості розділів. Це нове завдання, яке ви можете виконати за допомогою GitHub Copilot та режиму Agent. Якщо ви раніше не використовували режим Agent, він може не лише генерувати текст, а й створювати та редагувати файли, запускати команди та багато іншого.
Додано нове завдання, шукайте "GitHub Copilot Agent Challenge 🚀" у більшості розділів. Це нове завдання, яке вам потрібно виконати за допомогою GitHub Copilot і режиму Agent. Якщо ви ще не використовували режим Agent, він здатний не лише генерувати текст, а й створювати та редагувати файли, запускати команди та інше.
### 📣 Оголошення - _Новий проєкт для створення із використанням генеративного ШІ_
### 📣 Оголошення - _Новий проєкт на основі Генеративного ШІ_
Щойно додано новий AI Assistant проєкт, ознайомтеся з ним [проєкт](./9-chat-project/README.md)
Додав новий проєкт AI Assistant, перевірте його [тут](./9-chat-project/README.md)
### 📣 Оголошення - _Новий навчальний план_ з генеративного ШІ для JavaScript щойно випущено
### 📣 Оголошення - _Нова навчальна програма_ з генеративного ШІ для JavaScript тільки що випущена
Не пропустіть наш новий навчальний план з генеративного ШІ!
Не пропустіть нашу нову навчальну програму з генеративного ШІ!
Відвідайте [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), щоб розпочати!
Відвідайте [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), щоб почати!
Кожен урок включає завдання для виконання, перевірку знань та виклик, які допоможуть у вивченні таких тем, як:
- Підказки та інженерія підказок
- Генерація текстових і графічних додатків
Кожен урок містить завдання для виконання, перевірку знань та виклик, який допоможе вам освоїти теми, такі як:
- Формулювання запитів та інженерія запитів
- Генерація текстових та графічних додатків
- Пошукові додатки
Відвідайте [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), щоб розпочати!
Відвідайте [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), щоб почати!
## 🌱 Початок роботи
> **Вчителі**, ми включили [деякі пропозиції](for-teachers.md) щодо використання цього навчального плану. Ми будемо раді вашим відгукам [на нашому форумі обговорень](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Викладачі**, ми включили [деякі пропозиції](for-teachers.md) щодо того, як використовувати цю навчальну програму. Ми будемо раді вашим відгукам [у нашому форумі обговорень](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Учні](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, для кожного уроку починайте з передлекційної вікторини, потім читайте матеріал лекції, виконуйте різні активності та перевіряйте розуміння за допомогою післялекційної вікторини.
**[Учні](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, для кожного уроку починайте з вікторини перед лекцією та продовжуйте читати матеріал лекції, виконувати різні активності та перевіряти свої знання за допомогою вікторини після лекції.
Щоб покращити свій досвід навчання, об'єднуйтесь із однокурсниками для спільної роботи над проєктами! Обговорення заохочуються на нашому [форумі обговорень](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), де команда модераторів допоможе відповісти на ваші запитання.
Щоб покращити ваш досвід навчання, спілкуйтеся з однокласниками, щоб працювати над проєктами разом! Заохочуємо обговорення у нашому [форумі обговорень](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), де наша команда модераторів буде готова відповідати на ваші питання.
Для поглиблення освіти ми настійно рекомендуємо досліджувати [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) для додаткових навчальних матеріалів.
Для подальшої освіти ми настійно рекомендуємо досліджувати [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) для додаткових навчальних матеріалів.
### 📋 Налаштування вашого середовища
### 📋 Налаштування середовища
Цей навчальний план має готове до роботи середовище розробки! Розпочинаючи, ви можете вибрати запуск курсу в [Codespace](https://github.com/features/codespaces/) (_браузерне середовище без потреби встановлення_), або локально на своєму комп’ютері, використовуючи текстовий редактор, наприклад [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Ця навчальна програма має готове до роботи середовище розробки! Починаючи, ви можете обрати запуск програми в [Codespace](https://github.com/features/codespaces/) (_браузерне середовище без необхідності інсталяції_), або локально на вашому комп'ютері за допомогою текстового редактора, такого як [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Створіть свій репозиторій
Щоб легко зберігати свою роботу, рекомендується створити власну копію цього репозиторію. Ви можете зробити це, натиснувши кнопку **Use this template**у верхній частині сторінки. Це створить новий репозиторій у вашому обліковому записі GitHub з копією навчального плану.
Щоб вам було легко зберігати свою роботу, радимо створити власну копію цього репозиторію. Це можна зробити, натиснувши кнопку **Use this template**у верхній частині сторінки. Це створить новий репозиторій у вашому акаунті GitHub із копією навчальної програми.
Виконайте ці кроки:
1. **Форкніть репозиторій**: Натисніть кнопку "Fork" у правому верхньому куті цієї сторінки.
1. **Зробіть форк репозиторію**: Натисніть кнопку "Fork" у верхньому правому куті цієї сторінки.
У власній копії репозиторію, що ви створили, натисніть кнопку **Code** та оберіть **Open with Codespaces**. Це створить для вас новий Codespace для роботи.
У вашій копії репозиторію, яку ви створили, натисніть кнопку **Code** та оберіть **Open with Codespaces**. Це створить новий Codespace для вашої роботи.
#### Запуск програми локально на вашому комп’ютері
Для локального запуску цього курсу вам знадобиться текстовий редактор, браузер та інструмент командного рядка. Перший урок, [Вступ до мов програмування та інструментів професії](../../1-getting-started-lessons/1-intro-to-programming-languages), проведе вас через різні варіанти кожного з цих інструментів, щоб ви могли обрати найкращий для себе.
Щоб запускати цю навчальну програму локально на вашому комп’ютері, вам потрібен текстовий редактор, браузер і інструмент командного рядка. Наш перший урок, [Вступ до мов програмування та інструментів](../../1-getting-started-lessons/1-intro-to-programming-languages), познайомить вас з різними варіантами для кожного з цих інструментів, щоб ви могли обрати найзручніший для себе.
Ми рекомендуємо використовувати [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) як свій редактор, який також має вбудований [термінал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Завантажити Visual Studio Code можна [тут](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Клонуйте ваш репозиторій на свій комп’ютер. Ви можете зробити це, натиснувши кнопку **Code**і скопіювавши URL:
Ми рекомендуємо використовувати [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) як текстовий редактор, який також має вбудований [Термінал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Завантажити Visual Studio Code можна [тут](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Клонувати ваше сховище на комп’ютер. Це можна зробити, клацнувши кнопку **Code**і скопіювавши URL:
[CodeSpace](./images/createcodespace.png)
@ -133,89 +133,90 @@
git clone <your-repository-url>
```
2. Відкрийте папку у Visual Studio Code. Ви можете зробити це, натиснувши **File** > **Open Folder**і вибравши щойно клоновану папку.
2. Відкрийте папку у Visual Studio Code. Це можна зробити, клацнувши **File** > **Open Folder**і вибравши папку, яку ви щойно клонували.
> Рекомендовані розширення Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - для перегляду HTML-сторінок у Visual Studio Code
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - для попереднього перегляду HTML-сторінок всередині Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - щоб допомогти вам швидше писати код
## 📂 Кожен урок включає:
## 📂 Кожен урок містить:
- необов’язкову схематичну замітку
- необов’язкове додаткове відео
- розминку у вигляді вікторини перед уроком
- додаткову замальовку (sketchnote) за бажанням
- додаткове відео за бажанням
- розігрівальний вікторину перед уроком
- письмовий урок
- для уроків, заснованих на проектах, покрокові інструкції з будування проекту
- для проектно-орієнтованих уроків — покрокові керівництва зі створення проєкту
- перевірки знань
- завдання
- виклик (challenge)
- додаткове читання
- завдання
- [вікторину після уроку](https://ff-quizzes.netlify.app/web/)
> **Примітка про вікторини**: Усі вікторини зберігаються у папці Quiz-app, загалом 48 вікторин по три питання кожна. Вони доступні [тут](https://ff-quizzes.netlify.app/web/), додаток для вікторин може запускатися локально або бути розгорнутим в Azure; дотримуйтесь інструкцій у папці `quiz-app`.
> **Примітка щодо вікторин**: Усі вікторини знаходяться в папці Quiz-app, всього 48 вікторин по три запитання кожна. Вони доступні [тут](https://ff-quizzes.netlify.app/web/). Квіз-додаток можна запускати локально або розгортати в Azure; дотримуйтесь інструкцій у папці `quiz-app`.
## 🗃️ Уроки
| | Назва проекту | Навчаємі концепції | Навчальні цілі | Пов’язаний урок | Автор |
| 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 та 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 | [Terrarium](./3-terrarium/solution/README.md) | HTML на практиці | Створити HTML для онлайн-терраріуму, зосереджуючись на побудові макету | [Вступ до HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS на практиці | Робота з CSS для стилізації онлайн-терраріуму, зосереджуючись на основах CSS, включно з адаптивністю сторінки | [Вступ до CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Замикання JavaScript, маніпулювання DOM | Написати JavaScript, щоб зробити терраріум із можливістю перетягування, з акцентом на замикання та роботу з DOM | [Замикання JavaScript, маніпулювання DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Створення гри для набору тексту | Вивчення використання подій клавіатури для логіки у JavaScript додатку | [Програмування на подіях](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Робота з браузерами | Вивчення роботи браузерів, їхньої історії та створення перших елементів розширення браузера | [Про браузери](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Створення форми, виклик API та збереження змінних у локальне сховище | Написання JavaScript для виклику API в розширенні браузера із змінними, збереженими у локальному сховищі | [API, форми і локальне сховище](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Процеси у фоновому режимі браузера, продуктивність веба | Використання фонового режиму браузера для керування іконкою розширення; знайомство з продуктивністю та оптимізаціями веба | [Фонові задачі та продуктивність](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Розвинена розробка ігор на JavaScript | Вивчення спадкоємності на базі класів, композиції та шаблону Pub/Sub для створення гри | [Вступ до розвиненої розробки ігор](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Малювання на canvas | Ознайомлення з Canvas API для малювання елементів на екрані| [Малювання на Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Рух елементів по екрану | Дізнатися про рух елементів за допомогою декартових координат і Canvas API | [Рух елементів на екрані](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Виявлення колізій | Зробити зіткнення і реакцію між об’єктами за допомогою натискань клавіш та реалізувати функцію охолодження дляпродуктивності| [Виявлення колізій](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Ведення рахунку | Виконувати обчислення на основі стану і результатів гри | [Ведення рахунку](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Завершення та перезапуск гри| Вивчити завершення та перезапуск гри, в тому числі очищення ресурсів та скидання змінних | [Умова завершення](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-шаблони та маршрути в вебдодатку | Вивчити створення каркасу мультисторінкового сайту, використання маршрутизації та HTML-шаблонів | [HTML-шаблони і маршрути](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Створення форм для входу та реєстрації | Вивчити створення форм та обробку перевірок | [Форми](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Методи отримання та використання даних | Розуміння потоків даних у додатку, їх отримання, збереження та видалення | [Дані](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Концепції керування станом | Вивчити, як додаток зберігає стан і як ним керувати програмно | [Керування станом](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Робота з VScode | Навчитися використовувати редактор коду | [Використання редактора VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Робота з AI | Навчитися створювати власного AI-асистента | [Проєкт AI асистента](./9-chat-project/README.md) | Chris |
| | Назва проєкту | Навчені поняття | Навчальні цілі | Пов’язаний урок | Автор |
| 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 |
| 10 | [Тераріум](./3-terrarium/solution/README.md) | Замикання JavaScript, маніпулювання DOM | Написати JavaScript для функціонування тераріуму як інтерфейсу перетягування, зосереджуючись на замиканнях і маніпулюванні DOM | [Замикання JS, маніпулювання DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Гра на друкування](./4-typing-game/solution/README.md) | Створення гри на друкування | Вивчити, як використовувати події клавіатури для керування логікою вашого JS-додатка | [Подійне програмування](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Зелене розширення для браузера](./5-browser-extension/solution/README.md) | Робота з браузерами | Дізнатися, як працюють браузери, їх історію і як створити перші елементи розширення для браузера | [Про браузери](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Зелене розширення для браузера](./5-browser-extension/solution/README.md) | Створення форм, виклик API та збереження змінних у локальному сховищі | Створити JS-елементи розширення браузера для виклику API, використовуючи змінні у локальному сховищі | [API, форми та локальне сховище](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Зелене розширення для браузера](./5-browser-extension/solution/README.md) | Фонові процеси у браузері, веб-продуктивність | Користуватись фоновими процесами браузера для керування іконкою розширення; вивчити веб-продуктивність і оптимізації | [Фонові завдання та продуктивність](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Космічна гра](./6-space-game/solution/README.md) | Більш просунута розробка ігор на JavaScript | Вивчити наслідування за допомогою класів і композиції та патерн Pub/Sub перед створенням гри | [Вступ до просунутої розробки ігор](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Космічна гра](./6-space-game/solution/README.md) | Малювання на канвасі | Вивчити Canvas API, який використовується для малювання елементів на екрані | [Малювання на канвасі](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Космічна гра](./6-space-game/solution/README.md) | Переміщення елементів по екрану | Дізнатися, як елементи можуть набувати рух за допомогою картезіанських координат і Canvas API | [Переміщення елементів](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Космічна гра](./6-space-game/solution/README.md) | Виявлення зіткнень | Зробити зіткнення елементів і реакцію один на одного з використанням натискань клавіш, а також реалізувати функцію охолодження | [Виявлення зіткнень](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Космічна гра](./6-space-game/solution/README.md) | Підрахунок очок | Виконувати математичні обчислення на основі статусу та продуктивності гри | [Підрахунок очок](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Космічна гра](./6-space-game/solution/README.md) | Завершення та перезапуск гри | Вивчити завершення та перезапуск гри, включно з очищенням ресурсів та скиданням змінних | [Умова завершення](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Банківський додаток](./7-bank-project/solution/README.md) | HTML-шаблони та маршрути у веб-додатку | Вивчити, як створювати каркас мультисторінкового сайту, використовуючи маршрутизацію та HTML-шаблони | [HTML-шаблони та маршрути](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Банківський додаток](./7-bank-project/solution/README.md) | Створення форми входу та реєстрації | Вивчити створення форм і перевірку даних | [Форми](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Банківський додаток](./7-bank-project/solution/README.md) | Методи отримання та використання даних | Як дані надходять і виходять з вашого додатку, як їх отримувати, зберігати і видаляти | [Дані](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Банківський додаток](./7-bank-project/solution/README.md) | Поняття управління станом | Вивчити, як ваш додаток зберігає стан і як програмно ним управляти | [Управління станом](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Код браузера/VScode](../../8-code-editor) | Робота з VScode | Вивчити використання редактора коду | [Використання редактора коду VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Асистенти](./9-chat-project/README.md) | Робота з AI | Вивчити створення власного AI асистента | [Проєкт AI асистента](./9-chat-project/README.md) | Chris |
## 🏫 Педагогіка
Наша навчальна програма розроблена з дотриманням двох ключових педагогічних принципів:
* навчання на основі проєктів
Наша навчальна програма розроблена з урахуванням двох ключових педагогічних принципів:
* навчання на основі проектів
* часті вікторини
Програма навчає основам JavaScript, HTML та CSS, а також сучасним інструментам і методам, які застосовують сьогодні веб-розробники. Студенти матимуть можливість отримати практичний досвід, створюючи грудля набору тексту, віртуальний терраріум, екологічне розширення браузера, груу стилі space-invader і банківський додаток для бізнесу. Наприкінці серії учні отримають ґрунтовні знання з веб-розробки.
Програма викладає основи JavaScript, HTML та CSS, а також сучасні інструменти і техніки, які використовують сьогоднішні веб-розробники. Студенти матимуть можливість отримати практичний досвід, створюючи груна друку, віртуальний тераріум, екологічно дружнє розширення для браузера, гру в стилі космічних загарбників і банківський додаток для бізнесу. Наприкінці курсу студенти здобудуть міцне розуміння веб-розробки.
> 🎓 Ви можете пройти перші кілька уроків цієї навчальної програми як [шлях навчання](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) на Microsoft Learn!
> 🎓 Ви можете пройти перші уроки цієї навчальної програми як [шлях навчання](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) на Microsoft Learn!
Забезпечуючи відповідність контенту проєктам, процес навчання стає більш захопливим, а засвоєння концепцій покращується. Ми також створили кілька початкових уроків з основ JavaScript, щоб представити концепції, підкріплених відео з колекції "[Серія для початківців: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", автори якої також долучились до цієї програми.
Забезпечення відповідності контенту проєктам робить процес більш захопливим для студентів і підвищує засвоєння понять. Ми також написали кілька вступних уроків з основ JavaScript у поєднанні з відео з колекції "[Серія для початківців з JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", де деякі автори брали участь у створенні цієї навчальної програми.
Додатково, вікторина з низькою ставкою перед заняттям налаштовує намір студента вивчати тему, а друга вікторина після заняття забезпечує подальше закріплення матеріалу. Ця навчальна програма спроектована як гнучка та цікава, її можна проходити повністю або частково. Проєкти починаються просто і поступово ускладнюються до кінця 12-тижневого циклу.
Крім того, низькопорогова вікторина перед заняттям встановлює намір студента вивчити тему, а друга вікторина після уроку забезпечує кращу засвоюваність. Ця програма розроблена так, щоб бути гнучкою і цікавою, і її можна пройти повністю або частково. Проєкти починаються з невеликих і стають дедалі складнішими до кінця 12-тижневого циклу.
Хоч ми цілеспрямовано уникали введення фреймворків JavaScript, щоб зосередитись на базових навичках веб-розробника перед впровадженням фреймворку, хорошим наступним кроком після цієї програми буде вивчення Node.js за допомогою іншої колекції відео: "[Серія для початківців: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Ми навмисно утримувалися від впровадження JavaScript-фреймворків, щоб зосередитися на базових навичках, необхідних веб-розробнику, перш ніж починати роботу з фреймворком, однак наступним кроком після проходження цієї програми варто вивчити Node.js за допомогою іншої колекції відео: "[Серія для початківців з Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Відвідайте наші правила [Code of Conduct](CODE_OF_CONDUCT.md) та [Contributing](CONTRIBUTING.md). Ми радо приймаємо ваші конструктивні відгуки!
> Відвідайте наші настанови [Кодекс поведінки](CODE_OF_CONDUCT.md) та [Участь](CONTRIBUTING.md). Ми вітаємо ваші конструктивні зауваження!
## 🧭 Офлайн-доступ
## 🧭 Доступ офлайн
Ви можете переглядати цю документацію офлайн за допомогою [Docsify](https://docsify.js.org/#/). Форкніть цей репозиторій, [встановіть Docsify](https://docsify.js.org/#/quickstart) на свій локальний комп’ютер, а потім у кореневій папці репозиторію введіть `docsify serve`. Вебсайт буде запущений на порту 3000 локального хоста: `localhost:3000`.
Ви можете працювати з цією документацією офлайн, використовуючи [Docsify](https://docsify.js.org/#/). Форкніть це репозиторій, [встановіть Docsify](https://docsify.js.org/#/quickstart) на свій локальний комп’ютер, а потім у кореневій папці репозиторію введіть команду `docsify serve`. Вебсайт буде доступний на порту 3000 на вашому локальному хості: `localhost:3000`.
## 📘 PDF
PDF усіх уроків можна знайти [тут](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
PDF-файлусіх уроків можна знайти [тут](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Інші курси
## 🎒 Інші Курси
Наша команда створює інші курси! Ознайомтесь із ними:
Наша команда створює інші курси! Ознайомтесь:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -232,7 +233,7 @@ PDF усіх уроків можна знайти [тут](https://microsoft.git
---
### Серія про генеративний ШІ
### Серія Generative AI
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -240,7 +241,7 @@ PDF усіх уроків можна знайти [тут](https://microsoft.git
---
### Основні курси
### Основне навчання
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -251,7 +252,7 @@ PDF усіх уроків можна знайти [тут](https://microsoft.git
---
### Серія про Copilot
### Серія Copilot
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
@ -259,21 +260,21 @@ PDF усіх уроків можна знайти [тут](https://microsoft.git
## Отримання допомоги
Якщо ви застрягли або маєте питання щодо створення AI-додатків. Приєднуйтесь до інших учнів та досвідчених розробників у обговореннях MCP. Це підтримуюча спільнота, де питання вітаються, а знання вільно діляться.
Якщо ви застрягли або маєте питання щодо створення AI-додатків, приєднуйтесь до інших учнів і досвідчених розробників у обговореннях MCP. Це підтримуюча спільнота, де питання вітаються, а знання вільно поширюються.
Цей репозиторій ліцензовано під ліцензією MIT. Детальніше дивітьсяу файлі [LICENSE](../../LICENSE).
Цей репозиторій ліцензовано за ліцензією MIT. Детальніше див.у файлі [LICENSE](../../LICENSE).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Незважаючи на наші зусилля забезпечити точність, будь ласка, враховуйте, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ його рідною мовою вважається авторитетним джерелом. Для критичної інформації рекомендується професійний переклад людиною. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, врахуйте, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
**Термін здачі завдання [MM/YY]**: [Назва завдання](assignment.md)
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, просимо звернути увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний переклад людиною. Ми не несемо відповідальності за будь-які непорозуміння чи неправильні тлумачення, що виникли внаслідок використання цього перекладу.