chore(i18n): sync translations with latest source changes (chunk 1/1, 291 changes)

update-translations
localizeflow[bot] 5 days ago
parent 4dc412aa0e
commit 791d3b81b4

@ -0,0 +1,584 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2025-11-04T01:14:39+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "fi"
},
"1-getting-started-lessons/1-intro-to-programming-languages/assignment.md": {
"original_hash": "17b8ec8e85d99e27dcb3f73842e583be",
"translation_date": "2025-10-23T00:18:12+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md",
"language_code": "fi"
},
"1-getting-started-lessons/2-github-basics/README.md": {
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-25T17:55:51+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "fi"
},
"1-getting-started-lessons/3-accessibility/README.md": {
"original_hash": "7f2c48e04754724123ea100a822765e5",
"translation_date": "2025-11-04T01:17:54+00:00",
"source_file": "1-getting-started-lessons/3-accessibility/README.md",
"language_code": "fi"
},
"1-getting-started-lessons/3-accessibility/assignment.md": {
"original_hash": "e6d0f456dfc22afb41bbdefeb5ec179d",
"translation_date": "2025-10-23T00:21:02+00:00",
"source_file": "1-getting-started-lessons/3-accessibility/assignment.md",
"language_code": "fi"
},
"1-getting-started-lessons/README.md": {
"original_hash": "770d9f83dddc841c19f210dee5fe0712",
"translation_date": "2025-10-03T13:28:13+00:00",
"source_file": "1-getting-started-lessons/README.md",
"language_code": "fi"
},
"10-ai-framework-project/README.md": {
"original_hash": "3925b6a1c31c60755eaae4d578232c25",
"translation_date": "2025-11-04T01:21:49+00:00",
"source_file": "10-ai-framework-project/README.md",
"language_code": "fi"
},
"10-ai-framework-project/solution/README.md": {
"original_hash": "d41d8cd98f00b204e9800998ecf8427e",
"translation_date": "2026-01-29T18:32:01+00:00",
"source_file": "10-ai-framework-project/solution/README.md",
"language_code": "fi"
},
"2-js-basics/1-data-types/README.md": {
"original_hash": "672b0bb6e8b431075f3bdb7130590d2d",
"translation_date": "2025-11-04T01:09:51+00:00",
"source_file": "2-js-basics/1-data-types/README.md",
"language_code": "fi"
},
"2-js-basics/1-data-types/assignment.md": {
"original_hash": "6fd645e97c48cd5eb5a3d290815ec8b5",
"translation_date": "2025-10-23T00:13:06+00:00",
"source_file": "2-js-basics/1-data-types/assignment.md",
"language_code": "fi"
},
"2-js-basics/2-functions-methods/README.md": {
"original_hash": "71f7d7dafa1c7194d79ddac87f669ff9",
"translation_date": "2025-11-04T01:10:41+00:00",
"source_file": "2-js-basics/2-functions-methods/README.md",
"language_code": "fi"
},
"2-js-basics/2-functions-methods/assignment.md": {
"original_hash": "8328f58f4593b4671656ff8f4b2edbd9",
"translation_date": "2025-10-23T00:13:41+00:00",
"source_file": "2-js-basics/2-functions-methods/assignment.md",
"language_code": "fi"
},
"2-js-basics/3-making-decisions/README.md": {
"original_hash": "c688385d15dd3645e924ea0ffee8967f",
"translation_date": "2025-11-04T01:11:59+00:00",
"source_file": "2-js-basics/3-making-decisions/README.md",
"language_code": "fi"
},
"2-js-basics/3-making-decisions/assignment.md": {
"original_hash": "ffe366b2d1f037b99fbadbe1dc81083d",
"translation_date": "2025-10-23T00:15:00+00:00",
"source_file": "2-js-basics/3-making-decisions/assignment.md",
"language_code": "fi"
},
"2-js-basics/4-arrays-loops/README.md": {
"original_hash": "1710a50a519a6e4a1b40a5638783018d",
"translation_date": "2025-11-04T01:11:19+00:00",
"source_file": "2-js-basics/4-arrays-loops/README.md",
"language_code": "fi"
},
"2-js-basics/4-arrays-loops/assignment.md": {
"original_hash": "8abcada0534e0fb3a7556ea3c5a2a8a4",
"translation_date": "2025-10-23T00:14:21+00:00",
"source_file": "2-js-basics/4-arrays-loops/assignment.md",
"language_code": "fi"
},
"2-js-basics/README.md": {
"original_hash": "cc9e70a2f096c67389c8acff1521fc27",
"translation_date": "2025-08-27T20:12:26+00:00",
"source_file": "2-js-basics/README.md",
"language_code": "fi"
},
"3-terrarium/1-intro-to-html/README.md": {
"original_hash": "3fcfa99c4897e051b558b5eaf1e8cc74",
"translation_date": "2025-11-04T01:29:03+00:00",
"source_file": "3-terrarium/1-intro-to-html/README.md",
"language_code": "fi"
},
"3-terrarium/1-intro-to-html/assignment.md": {
"original_hash": "650e63282e1dfa032890fcf5c1c4119d",
"translation_date": "2025-10-23T00:31:02+00:00",
"source_file": "3-terrarium/1-intro-to-html/assignment.md",
"language_code": "fi"
},
"3-terrarium/2-intro-to-css/README.md": {
"original_hash": "e39f3a4e3bcccf94639e3af1248f8a4d",
"translation_date": "2025-11-04T01:28:10+00:00",
"source_file": "3-terrarium/2-intro-to-css/README.md",
"language_code": "fi"
},
"3-terrarium/2-intro-to-css/assignment.md": {
"original_hash": "bee6762d4092a13fc7c338814963f980",
"translation_date": "2025-10-23T00:30:09+00:00",
"source_file": "3-terrarium/2-intro-to-css/assignment.md",
"language_code": "fi"
},
"3-terrarium/3-intro-to-DOM-and-closures/README.md": {
"original_hash": "973e48ad87d67bf5bb819746c9f8e302",
"translation_date": "2025-11-04T01:27:08+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/README.md",
"language_code": "fi"
},
"3-terrarium/3-intro-to-DOM-and-closures/assignment.md": {
"original_hash": "947ca5ce7c94aee9c7de7034e762bc17",
"translation_date": "2025-10-23T00:29:10+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/assignment.md",
"language_code": "fi"
},
"3-terrarium/README.md": {
"original_hash": "bc5c5550f79d10add90ce419ee34abb3",
"translation_date": "2026-01-07T01:03:14+00:00",
"source_file": "3-terrarium/README.md",
"language_code": "fi"
},
"3-terrarium/solution/README.md": {
"original_hash": "6329fbe8bd936068debd78cca6f09c0a",
"translation_date": "2025-08-27T20:11:59+00:00",
"source_file": "3-terrarium/solution/README.md",
"language_code": "fi"
},
"4-typing-game/README.md": {
"original_hash": "efa2ab875b8bb5a7883816506da6b6d2",
"translation_date": "2025-11-04T01:37:13+00:00",
"source_file": "4-typing-game/README.md",
"language_code": "fi"
},
"4-typing-game/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T21:07:51+00:00",
"source_file": "4-typing-game/solution/README.md",
"language_code": "fi"
},
"4-typing-game/typing-game/README.md": {
"original_hash": "da8bc72041a2bb3826a54654ee1a8844",
"translation_date": "2025-11-04T01:37:28+00:00",
"source_file": "4-typing-game/typing-game/README.md",
"language_code": "fi"
},
"4-typing-game/typing-game/assignment.md": {
"original_hash": "3eac59d70e2532a677a2ce6bf765485a",
"translation_date": "2025-10-23T00:39:12+00:00",
"source_file": "4-typing-game/typing-game/assignment.md",
"language_code": "fi"
},
"5-browser-extension/1-about-browsers/README.md": {
"original_hash": "00aa85715e1efd4930c17a23e3012e69",
"translation_date": "2025-11-04T01:46:41+00:00",
"source_file": "5-browser-extension/1-about-browsers/README.md",
"language_code": "fi"
},
"5-browser-extension/1-about-browsers/assignment.md": {
"original_hash": "b6897c02603d0045dd6d8256e8714baa",
"translation_date": "2025-10-23T00:46:06+00:00",
"source_file": "5-browser-extension/1-about-browsers/assignment.md",
"language_code": "fi"
},
"5-browser-extension/2-forms-browsers-local-storage/README.md": {
"original_hash": "2b6203a48c48d8234e0948353b47d84e",
"translation_date": "2025-11-04T01:45:13+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/README.md",
"language_code": "fi"
},
"5-browser-extension/2-forms-browsers-local-storage/assignment.md": {
"original_hash": "25b8d28b8531352d4eb67291fd7824c4",
"translation_date": "2025-10-23T00:44:35+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/assignment.md",
"language_code": "fi"
},
"5-browser-extension/3-background-tasks-and-performance/README.md": {
"original_hash": "b275fed2c6fc90d2b9b6661a3225faa2",
"translation_date": "2025-11-04T01:43:38+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/README.md",
"language_code": "fi"
},
"5-browser-extension/3-background-tasks-and-performance/assignment.md": {
"original_hash": "a203e560e58ccc6ba68bffc40c7c8676",
"translation_date": "2025-10-23T00:43:46+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/assignment.md",
"language_code": "fi"
},
"5-browser-extension/README.md": {
"original_hash": "b121a279a6ab39878491f3e572673515",
"translation_date": "2025-08-27T20:42:33+00:00",
"source_file": "5-browser-extension/README.md",
"language_code": "fi"
},
"5-browser-extension/solution/README.md": {
"original_hash": "fab4e6b4f0efcd587a9029d82991f597",
"translation_date": "2025-08-27T20:51:28+00:00",
"source_file": "5-browser-extension/solution/README.md",
"language_code": "fi"
},
"5-browser-extension/solution/translation/README.es.md": {
"original_hash": "cbaf73f94a9ab4c680a10ef871e92948",
"translation_date": "2025-08-27T20:51:54+00:00",
"source_file": "5-browser-extension/solution/translation/README.es.md",
"language_code": "fi"
},
"5-browser-extension/solution/translation/README.fr.md": {
"original_hash": "9361268ca430b2579375009e1eceb5e5",
"translation_date": "2025-08-27T20:53:15+00:00",
"source_file": "5-browser-extension/solution/translation/README.fr.md",
"language_code": "fi"
},
"5-browser-extension/solution/translation/README.hi.md": {
"original_hash": "dd58ae1b7707034f055718c1b68bc8de",
"translation_date": "2025-08-27T20:52:21+00:00",
"source_file": "5-browser-extension/solution/translation/README.hi.md",
"language_code": "fi"
},
"5-browser-extension/solution/translation/README.it.md": {
"original_hash": "9a6b22a2eff0f499b66236be973b24ad",
"translation_date": "2025-08-27T20:53:45+00:00",
"source_file": "5-browser-extension/solution/translation/README.it.md",
"language_code": "fi"
},
"5-browser-extension/solution/translation/README.ja.md": {
"original_hash": "3f5e6821e0febccfc5d05e7c944d9e3d",
"translation_date": "2025-08-27T20:54:15+00:00",
"source_file": "5-browser-extension/solution/translation/README.ja.md",
"language_code": "fi"
},
"5-browser-extension/solution/translation/README.ms.md": {
"original_hash": "21b364c158c8e4f698de65eeac16c9fe",
"translation_date": "2025-08-27T20:52:48+00:00",
"source_file": "5-browser-extension/solution/translation/README.ms.md",
"language_code": "fi"
},
"5-browser-extension/start/README.md": {
"original_hash": "26fd39046d264ba185dcb086d3a8cf3e",
"translation_date": "2025-08-27T20:46:19+00:00",
"source_file": "5-browser-extension/start/README.md",
"language_code": "fi"
},
"6-space-game/1-introduction/README.md": {
"original_hash": "a6332a7bb4d0be3bfd24199c83993777",
"translation_date": "2025-11-04T01:42:27+00:00",
"source_file": "6-space-game/1-introduction/README.md",
"language_code": "fi"
},
"6-space-game/1-introduction/assignment.md": {
"original_hash": "c8fc39a014d08247c082878122e2ba73",
"translation_date": "2025-10-23T00:42:44+00:00",
"source_file": "6-space-game/1-introduction/assignment.md",
"language_code": "fi"
},
"6-space-game/2-drawing-to-canvas/README.md": {
"original_hash": "7994743c5b21fdcceb36307916ef249a",
"translation_date": "2025-11-04T01:39:23+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/README.md",
"language_code": "fi"
},
"6-space-game/2-drawing-to-canvas/assignment.md": {
"original_hash": "87cd43afe5b69dbbffb5c4b209ea6791",
"translation_date": "2025-10-23T00:40:40+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/assignment.md",
"language_code": "fi"
},
"6-space-game/3-moving-elements-around/README.md": {
"original_hash": "8c55a2bd4bc0ebe4c88198fd563a9e09",
"translation_date": "2025-11-04T01:38:27+00:00",
"source_file": "6-space-game/3-moving-elements-around/README.md",
"language_code": "fi"
},
"6-space-game/3-moving-elements-around/assignment.md": {
"original_hash": "c162b3b3a1cafc1483c8015e9b266f0d",
"translation_date": "2025-10-23T00:40:05+00:00",
"source_file": "6-space-game/3-moving-elements-around/assignment.md",
"language_code": "fi"
},
"6-space-game/4-collision-detection/README.md": {
"original_hash": "039b4d8ce65f5edd82cf48d9c3e6728c",
"translation_date": "2025-11-04T01:41:40+00:00",
"source_file": "6-space-game/4-collision-detection/README.md",
"language_code": "fi"
},
"6-space-game/4-collision-detection/assignment.md": {
"original_hash": "124efddbb65166cddb38075ad6dae324",
"translation_date": "2025-10-23T00:42:10+00:00",
"source_file": "6-space-game/4-collision-detection/assignment.md",
"language_code": "fi"
},
"6-space-game/4-collision-detection/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:27:48+00:00",
"source_file": "6-space-game/4-collision-detection/solution/README.md",
"language_code": "fi"
},
"6-space-game/4-collision-detection/your-work/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:27:36+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/README.md",
"language_code": "fi"
},
"6-space-game/5-keeping-score/README.md": {
"original_hash": "2ed9145a16cf576faa2a973dff84d099",
"translation_date": "2025-11-04T01:43:07+00:00",
"source_file": "6-space-game/5-keeping-score/README.md",
"language_code": "fi"
},
"6-space-game/5-keeping-score/assignment.md": {
"original_hash": "81f292dbda01685b91735e0398dc0504",
"translation_date": "2025-08-27T20:21:54+00:00",
"source_file": "6-space-game/5-keeping-score/assignment.md",
"language_code": "fi"
},
"6-space-game/5-keeping-score/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:22:25+00:00",
"source_file": "6-space-game/5-keeping-score/solution/README.md",
"language_code": "fi"
},
"6-space-game/5-keeping-score/your-work/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:22:12+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/README.md",
"language_code": "fi"
},
"6-space-game/6-end-condition/README.md": {
"original_hash": "a4b78043f4d64bf3ee24e0689b8b391d",
"translation_date": "2025-11-04T01:40:10+00:00",
"source_file": "6-space-game/6-end-condition/README.md",
"language_code": "fi"
},
"6-space-game/6-end-condition/assignment.md": {
"original_hash": "232d592791465c1678cab3a2bb6cd3e8",
"translation_date": "2025-10-23T00:41:20+00:00",
"source_file": "6-space-game/6-end-condition/assignment.md",
"language_code": "fi"
},
"6-space-game/6-end-condition/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:40+00:00",
"source_file": "6-space-game/6-end-condition/solution/README.md",
"language_code": "fi"
},
"6-space-game/6-end-condition/your-work/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:28+00:00",
"source_file": "6-space-game/6-end-condition/your-work/README.md",
"language_code": "fi"
},
"6-space-game/README.md": {
"original_hash": "c40a698395ee5102715f7880bba3f2e7",
"translation_date": "2025-08-27T20:20:32+00:00",
"source_file": "6-space-game/README.md",
"language_code": "fi"
},
"6-space-game/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:53+00:00",
"source_file": "6-space-game/solution/README.md",
"language_code": "fi"
},
"7-bank-project/1-template-route/README.md": {
"original_hash": "351678bece18f07d9daa987a881fb062",
"translation_date": "2025-11-04T01:34:05+00:00",
"source_file": "7-bank-project/1-template-route/README.md",
"language_code": "fi"
},
"7-bank-project/1-template-route/assignment.md": {
"original_hash": "df0dcecddcd28ea8cbf6ede0ad57d673",
"translation_date": "2025-10-23T00:35:48+00:00",
"source_file": "7-bank-project/1-template-route/assignment.md",
"language_code": "fi"
},
"7-bank-project/2-forms/README.md": {
"original_hash": "7cbdbd132d39a2bb493e85bc2a9387cc",
"translation_date": "2025-11-04T01:36:11+00:00",
"source_file": "7-bank-project/2-forms/README.md",
"language_code": "fi"
},
"7-bank-project/2-forms/assignment.md": {
"original_hash": "efb01fcafd2ef40c593a6e662fc938a8",
"translation_date": "2025-10-23T00:37:54+00:00",
"source_file": "7-bank-project/2-forms/assignment.md",
"language_code": "fi"
},
"7-bank-project/3-data/README.md": {
"original_hash": "86ee5069f27ea3151389d8687c95fac9",
"translation_date": "2025-11-04T01:32:51+00:00",
"source_file": "7-bank-project/3-data/README.md",
"language_code": "fi"
},
"7-bank-project/3-data/assignment.md": {
"original_hash": "d0a02cb117e91a5b5f24178080068a3d",
"translation_date": "2025-10-23T00:34:40+00:00",
"source_file": "7-bank-project/3-data/assignment.md",
"language_code": "fi"
},
"7-bank-project/4-state-management/README.md": {
"original_hash": "b807b09df716dc48a2b750835bf8e933",
"translation_date": "2025-11-04T01:30:38+00:00",
"source_file": "7-bank-project/4-state-management/README.md",
"language_code": "fi"
},
"7-bank-project/4-state-management/assignment.md": {
"original_hash": "50a7783473b39a2e0f133e271a102231",
"translation_date": "2025-10-23T00:32:11+00:00",
"source_file": "7-bank-project/4-state-management/assignment.md",
"language_code": "fi"
},
"7-bank-project/README.md": {
"original_hash": "830359535306594b448db6575ce5cdee",
"translation_date": "2025-08-27T20:54:43+00:00",
"source_file": "7-bank-project/README.md",
"language_code": "fi"
},
"7-bank-project/api/README.md": {
"original_hash": "9884f8c8a61cf56214450f8b16a094ce",
"translation_date": "2025-08-27T20:55:06+00:00",
"source_file": "7-bank-project/api/README.md",
"language_code": "fi"
},
"7-bank-project/solution/README.md": {
"original_hash": "461aa4fc74c6b1789c3a13b5d82c0cd9",
"translation_date": "2025-08-27T21:03:43+00:00",
"source_file": "7-bank-project/solution/README.md",
"language_code": "fi"
},
"8-code-editor/1-using-a-code-editor/README.md": {
"original_hash": "a9a3bcc037a447e2d8994d99e871cd9f",
"translation_date": "2025-11-04T01:13:38+00:00",
"source_file": "8-code-editor/1-using-a-code-editor/README.md",
"language_code": "fi"
},
"8-code-editor/1-using-a-code-editor/assignment.md": {
"original_hash": "effe56ba51c38d7bdfad1ea38288666b",
"translation_date": "2025-10-23T00:16:03+00:00",
"source_file": "8-code-editor/1-using-a-code-editor/assignment.md",
"language_code": "fi"
},
"9-chat-project/README.md": {
"original_hash": "2066c17078e9d18b5e309f31d8e8bc24",
"translation_date": "2025-11-04T01:24:59+00:00",
"source_file": "9-chat-project/README.md",
"language_code": "fi"
},
"9-chat-project/solution/README.md": {
"original_hash": "cb549dcad8eea3221cb89793aeaa3bb3",
"translation_date": "2025-09-01T15:33:05+00:00",
"source_file": "9-chat-project/solution/README.md",
"language_code": "fi"
},
"9-chat-project/solution/backend/README.md": {
"original_hash": "bcd2c2bbaae71151b1ed1b9170aa78af",
"translation_date": "2025-09-01T15:43:54+00:00",
"source_file": "9-chat-project/solution/backend/README.md",
"language_code": "fi"
},
"9-chat-project/solution/backend/python/README.md": {
"original_hash": "0aaa930f076f2d83cc872ad157f8ffd3",
"translation_date": "2025-10-23T00:28:13+00:00",
"source_file": "9-chat-project/solution/backend/python/README.md",
"language_code": "fi"
},
"9-chat-project/solution/frontend/README.md": {
"original_hash": "7746a470be8fc7f736eb1b43ebb710ee",
"translation_date": "2025-09-01T15:52:45+00:00",
"source_file": "9-chat-project/solution/frontend/README.md",
"language_code": "fi"
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:30:52+00:00",
"source_file": "AGENTS.md",
"language_code": "fi"
},
"CODE_OF_CONDUCT.md": {
"original_hash": "b0a9b4cccd918195f58224d5793da1a6",
"translation_date": "2025-08-27T20:03:03+00:00",
"source_file": "CODE_OF_CONDUCT.md",
"language_code": "fi"
},
"CONTRIBUTING.md": {
"original_hash": "777400e9f0336c7ee2f9a1200a88478f",
"translation_date": "2025-08-27T20:04:19+00:00",
"source_file": "CONTRIBUTING.md",
"language_code": "fi"
},
"Git-Basics/README.md": {
"original_hash": "5cf5e1ed51455fefed4895fcc4d6ba2a",
"translation_date": "2025-10-03T15:54:51+00:00",
"source_file": "Git-Basics/README.md",
"language_code": "fi"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T18:36:15+00:00",
"source_file": "README.md",
"language_code": "fi"
},
"SECURITY.md": {
"original_hash": "4ecc3bf2e27983d4c780be6f26ee6228",
"translation_date": "2025-08-27T20:03:36+00:00",
"source_file": "SECURITY.md",
"language_code": "fi"
},
"SUPPORT.md": {
"original_hash": "c9d207ff77b4bb46e46dc2b607a8ec1a",
"translation_date": "2025-08-27T20:02:12+00:00",
"source_file": "SUPPORT.md",
"language_code": "fi"
},
"_404.md": {
"original_hash": "ea9f0804bd62f46d9808e953ec7fc459",
"translation_date": "2025-08-27T20:03:22+00:00",
"source_file": "_404.md",
"language_code": "fi"
},
"docs/_navbar.md": {
"original_hash": "3bd2f51ecf4ac9b39277cba748943793",
"translation_date": "2025-08-27T20:20:14+00:00",
"source_file": "docs/_navbar.md",
"language_code": "fi"
},
"docs/_sidebar.md": {
"original_hash": "655c91b5979de46f1d70d97f0c5f1d14",
"translation_date": "2025-08-27T20:19:47+00:00",
"source_file": "docs/_sidebar.md",
"language_code": "fi"
},
"for-teachers.md": {
"original_hash": "71009af209f81cc01a1f2d324200375f",
"translation_date": "2025-10-03T10:03:24+00:00",
"source_file": "for-teachers.md",
"language_code": "fi"
},
"lesson-template/README.md": {
"original_hash": "0494be70ad7fadd13a8c3d549c23e355",
"translation_date": "2025-08-27T21:06:51+00:00",
"source_file": "lesson-template/README.md",
"language_code": "fi"
},
"lesson-template/assignment.md": {
"original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130",
"translation_date": "2025-08-27T21:07:13+00:00",
"source_file": "lesson-template/assignment.md",
"language_code": "fi"
},
"memory-game/README.md": {
"original_hash": "ff47271e53637b2ba6ba72ad2b70f6d7",
"translation_date": "2025-10-03T11:57:10+00:00",
"source_file": "memory-game/README.md",
"language_code": "fi"
},
"quiz-app/README.md": {
"original_hash": "5301875c55bb305e6046bed3a4fd06d2",
"translation_date": "2025-08-27T21:10:23+00:00",
"source_file": "quiz-app/README.md",
"language_code": "fi"
}
}

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2025-11-04T01:14:39+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "fi"
}
-->
# Johdatus ohjelmointikieliin ja moderneihin kehittäjätyökaluihin
Hei tuleva kehittäjä! 👋 Voinko kertoa sinulle jotain, mikä saa minut edelleen innostumaan joka päivä? Olet juuri astumassa maailmaan, jossa ohjelmointi ei ole pelkästään tietokoneiden kanssa puuhastelua se on supervoima, jonka avulla voit toteuttaa villeimmät ideasi!

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "17b8ec8e85d99e27dcb3f73842e583be",
"translation_date": "2025-10-23T00:18:12+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md",
"language_code": "fi"
}
-->
# Tehtävä: Modernien web-kehitystyökalujen tutkiminen
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-25T17:55:51+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "fi"
}
-->
# Johdanto GitHubiin
Hei tuleva kehittäjä! 👋 Oletko valmis liittymään miljoonien koodareiden joukkoon ympäri maailmaa? Olen todella innoissani saadessani esitellä sinulle GitHubin ajattele sitä ohjelmoijien sosiaalisen median alustana, mutta sen sijaan että jakaisimme kuvia lounaastamme, jaamme koodia ja rakennamme yhdessä uskomattomia asioita!

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "7f2c48e04754724123ea100a822765e5",
"translation_date": "2025-11-04T01:17:54+00:00",
"source_file": "1-getting-started-lessons/3-accessibility/README.md",
"language_code": "fi"
}
-->
# Luodaan saavutettavia verkkosivuja
![Kaikki saavutettavuudesta](../../../../translated_images/fi/webdev101-a11y.8ef3025c858d897a.webp)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "e6d0f456dfc22afb41bbdefeb5ec179d",
"translation_date": "2025-10-23T00:21:02+00:00",
"source_file": "1-getting-started-lessons/3-accessibility/assignment.md",
"language_code": "fi"
}
-->
# Kattava verkkosivuston saavutettavuusauditointi
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "770d9f83dddc841c19f210dee5fe0712",
"translation_date": "2025-10-03T13:28:13+00:00",
"source_file": "1-getting-started-lessons/README.md",
"language_code": "fi"
}
-->
# Web-kehityksen alkeet
Tässä osassa opintosuunnitelmaa tutustut projektipohjaisiin käsitteisiin, jotka ovat tärkeitä ammattilaiskehittäjäksi ryhtymisessä.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "3925b6a1c31c60755eaae4d578232c25",
"translation_date": "2025-11-04T01:21:49+00:00",
"source_file": "10-ai-framework-project/README.md",
"language_code": "fi"
}
-->
# AI-kehys
Oletko koskaan tuntenut olevasi hukassa yrittäessäsi rakentaa tekoälysovelluksia alusta alkaen? Et ole yksin! AI-kehykset ovat kuin monitoimityökalu tekoälykehitykseen tehokkaita työkaluja, jotka säästävät aikaa ja vaivaa älykkäiden sovellusten rakentamisessa. Ajattele AI-kehystä hyvin järjestettynä kirjastona: se tarjoaa valmiita komponentteja, standardoituja API-rajapintoja ja älykkäitä abstraktioita, jotta voit keskittyä ongelmien ratkaisemiseen sen sijaan, että kamppailisit toteutuksen yksityiskohtien kanssa.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "672b0bb6e8b431075f3bdb7130590d2d",
"translation_date": "2025-11-04T01:09:51+00:00",
"source_file": "2-js-basics/1-data-types/README.md",
"language_code": "fi"
}
-->
# JavaScriptin perusteet: Tietotyypit
![JavaScriptin perusteet - Tietotyypit](../../../../translated_images/fi/webdev101-js-datatypes.4cc470179730702c.webp)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "6fd645e97c48cd5eb5a3d290815ec8b5",
"translation_date": "2025-10-23T00:13:06+00:00",
"source_file": "2-js-basics/1-data-types/assignment.md",
"language_code": "fi"
}
-->
# Tietotyyppien harjoittelu: Verkkokaupan ostoskori
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "71f7d7dafa1c7194d79ddac87f669ff9",
"translation_date": "2025-11-04T01:10:41+00:00",
"source_file": "2-js-basics/2-functions-methods/README.md",
"language_code": "fi"
}
-->
# JavaScriptin perusteet: metodit ja funktiot
![JavaScript Basics - Functions](../../../../translated_images/fi/webdev101-js-functions.be049c4726e94f8b.webp)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "8328f58f4593b4671656ff8f4b2edbd9",
"translation_date": "2025-10-23T00:13:41+00:00",
"source_file": "2-js-basics/2-functions-methods/assignment.md",
"language_code": "fi"
}
-->
# Hauskaa funktioiden parissa
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "c688385d15dd3645e924ea0ffee8967f",
"translation_date": "2025-11-04T01:11:59+00:00",
"source_file": "2-js-basics/3-making-decisions/README.md",
"language_code": "fi"
}
-->
# JavaScriptin perusteet: Päätöksenteko
![JavaScriptin perusteet - Päätöksenteko](../../../../translated_images/fi/webdev101-js-decisions.69e1b20f272dd1f0.webp)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "ffe366b2d1f037b99fbadbe1dc81083d",
"translation_date": "2025-10-23T00:15:00+00:00",
"source_file": "2-js-basics/3-making-decisions/assignment.md",
"language_code": "fi"
}
-->
# Päätöksenteko: Opiskelijoiden arvosanojen käsittely
## Oppimistavoitteet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "1710a50a519a6e4a1b40a5638783018d",
"translation_date": "2025-11-04T01:11:19+00:00",
"source_file": "2-js-basics/4-arrays-loops/README.md",
"language_code": "fi"
}
-->
# JavaScriptin perusteet: Taulukot ja silmukat
![JavaScriptin perusteet - Taulukot](../../../../translated_images/fi/webdev101-js-arrays.439d7528b8a29455.webp)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "8abcada0534e0fb3a7556ea3c5a2a8a4",
"translation_date": "2025-10-23T00:14:21+00:00",
"source_file": "2-js-basics/4-arrays-loops/assignment.md",
"language_code": "fi"
}
-->
# Taulukot ja silmukat -tehtävä
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "cc9e70a2f096c67389c8acff1521fc27",
"translation_date": "2025-08-27T20:12:26+00:00",
"source_file": "2-js-basics/README.md",
"language_code": "fi"
}
-->
# Johdanto JavaScriptiin
JavaScript on verkon kieli. Näissä neljässä oppitunnissa opit sen perusteet.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "3fcfa99c4897e051b558b5eaf1e8cc74",
"translation_date": "2025-11-04T01:29:03+00:00",
"source_file": "3-terrarium/1-intro-to-html/README.md",
"language_code": "fi"
}
-->
# Terrarium-projekti Osa 1: Johdatus HTML:ään
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "650e63282e1dfa032890fcf5c1c4119d",
"translation_date": "2025-10-23T00:31:02+00:00",
"source_file": "3-terrarium/1-intro-to-html/assignment.md",
"language_code": "fi"
}
-->
# HTML-harjoitustehtävä: Blogimallin rakentaminen
## Oppimistavoitteet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "e39f3a4e3bcccf94639e3af1248f8a4d",
"translation_date": "2025-11-04T01:28:10+00:00",
"source_file": "3-terrarium/2-intro-to-css/README.md",
"language_code": "fi"
}
-->
# Terrarium-projekti Osa 2: Johdatus CSS:ään
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "bee6762d4092a13fc7c338814963f980",
"translation_date": "2025-10-23T00:30:09+00:00",
"source_file": "3-terrarium/2-intro-to-css/assignment.md",
"language_code": "fi"
}
-->
# CSS Refaktorointitehtävä
## Tavoite

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "973e48ad87d67bf5bb819746c9f8e302",
"translation_date": "2025-11-04T01:27:08+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/README.md",
"language_code": "fi"
}
-->
# Terrarium-projekti, osa 3: DOM-manipulaatio ja JavaScript-sulkeumat
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "947ca5ce7c94aee9c7de7034e762bc17",
"translation_date": "2025-10-23T00:29:10+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/assignment.md",
"language_code": "fi"
}
-->
# DOM-elementtien tutkimustehtävä
## Yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "bc5c5550f79d10add90ce419ee34abb3",
"translation_date": "2026-01-07T01:03:14+00:00",
"source_file": "3-terrarium/README.md",
"language_code": "fi"
}
-->
## Julkaise Terrariumisi
Voit julkaista Terrariumisi verkossa käyttämällä **Azure Static Web Apps** -palvelua.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "6329fbe8bd936068debd78cca6f09c0a",
"translation_date": "2025-08-27T20:11:59+00:00",
"source_file": "3-terrarium/solution/README.md",
"language_code": "fi"
}
-->
# Minun Terraarioni: Projekti HTML:n, CSS:n ja DOM-manipulaation oppimiseen JavaScriptin avulla 🌵🌱
Pieni vedä ja pudota -koodimeditaatio. Vähän HTML:ää, JS:ää ja CSS:ää käyttäen voit rakentaa verkkokäyttöliittymän, tyylitellä sen ja lisätä siihen vuorovaikutteisuutta.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "efa2ab875b8bb5a7883816506da6b6d2",
"translation_date": "2025-11-04T01:37:13+00:00",
"source_file": "4-typing-game/README.md",
"language_code": "fi"
}
-->
# Tapahtumapohjainen ohjelmointi - Rakenna kirjoituspeli
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T21:07:51+00:00",
"source_file": "4-typing-game/solution/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "da8bc72041a2bb3826a54654ee1a8844",
"translation_date": "2025-11-04T01:37:28+00:00",
"source_file": "4-typing-game/typing-game/README.md",
"language_code": "fi"
}
-->
# Pelin luominen tapahtumien avulla
Oletko koskaan miettinyt, miten verkkosivustot tietävät, kun klikkaat painiketta tai kirjoitat tekstikenttään? Se on tapahtumapohjaisen ohjelmoinnin taikaa! Mikä olisikaan parempi tapa oppia tämä olennainen taito kuin rakentaa jotain hyödyllistä kirjoitusnopeuspeli, joka reagoi jokaiseen näppäimen painallukseesi.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "3eac59d70e2532a677a2ce6bf765485a",
"translation_date": "2025-10-23T00:39:12+00:00",
"source_file": "4-typing-game/typing-game/assignment.md",
"language_code": "fi"
}
-->
# Luo uusi näppäimistöpeli
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "00aa85715e1efd4930c17a23e3012e69",
"translation_date": "2025-11-04T01:46:41+00:00",
"source_file": "5-browser-extension/1-about-browsers/README.md",
"language_code": "fi"
}
-->
# Selaimen laajennusprojekti Osa 1: Kaikki selaimista
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "b6897c02603d0045dd6d8256e8714baa",
"translation_date": "2025-10-23T00:46:06+00:00",
"source_file": "5-browser-extension/1-about-browsers/assignment.md",
"language_code": "fi"
}
-->
# Tehtävä: Tyylittele selaimen laajennuksesi uudelleen
## Yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "2b6203a48c48d8234e0948353b47d84e",
"translation_date": "2025-11-04T01:45:13+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/README.md",
"language_code": "fi"
}
-->
# Selaimen laajennusprojekti Osa 2: API-kutsut ja paikallinen tallennus
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "25b8d28b8531352d4eb67291fd7824c4",
"translation_date": "2025-10-23T00:44:35+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/assignment.md",
"language_code": "fi"
}
-->
# Ota API käyttöön
## Yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "b275fed2c6fc90d2b9b6661a3225faa2",
"translation_date": "2025-11-04T01:43:38+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/README.md",
"language_code": "fi"
}
-->
# Selaimen laajennusprojekti Osa 3: Taustatehtävät ja suorituskyky
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "a203e560e58ccc6ba68bffc40c7c8676",
"translation_date": "2025-10-23T00:43:46+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/assignment.md",
"language_code": "fi"
}
-->
# Analysoi sivuston suorituskykyä
## Tehtävän yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "b121a279a6ab39878491f3e572673515",
"translation_date": "2025-08-27T20:42:33+00:00",
"source_file": "5-browser-extension/README.md",
"language_code": "fi"
}
-->
# Selaimen laajennuksen rakentaminen
Selaimen laajennusten rakentaminen on hauska ja mielenkiintoinen tapa pohtia sovellustesi suorituskykyä samalla kun luot erilaisen verkkovarannon. Tämä moduuli sisältää oppitunteja siitä, miten selaimet toimivat ja miten selaimen laajennus otetaan käyttöön, miten lomake rakennetaan, API kutsutaan ja paikallista tallennusta käytetään, sekä miten verkkosivustosi suorituskykyä arvioidaan ja parannetaan.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "fab4e6b4f0efcd587a9029d82991f597",
"translation_date": "2025-08-27T20:51:28+00:00",
"source_file": "5-browser-extension/solution/README.md",
"language_code": "fi"
}
-->
# Carbon Trigger -selainlaajennus: Valmis koodi
Käyttämällä tmrow:n CO2 Signal -API:ta sähkönkulutuksen seuraamiseen voit rakentaa selainlaajennuksen, joka muistuttaa sinua suoraan selaimessa siitä, kuinka kuormittavaa alueesi sähkönkulutus on. Tämän laajennuksen satunnainen käyttö auttaa sinua tekemään päätöksiä toimistasi tämän tiedon perusteella.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "cbaf73f94a9ab4c680a10ef871e92948",
"translation_date": "2025-08-27T20:51:54+00:00",
"source_file": "5-browser-extension/solution/translation/README.es.md",
"language_code": "fi"
}
-->
# Carbon Trigger -selaimen laajennus: Täydellinen koodi
Käyttämällä tmrow'n CO2 Signal -API:ta sähkönkulutuksen seuraamiseen, luo selaimen laajennus, joka tarjoaa suoraan selaimessasi muistutuksen alueesi sähkönkulutuksesta. Tämän ad hoc -laajennuksen käyttö auttaa sinua tekemään päätöksiä toimistasi perustuen tähän tietoon.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9361268ca430b2579375009e1eceb5e5",
"translation_date": "2025-08-27T20:53:15+00:00",
"source_file": "5-browser-extension/solution/translation/README.fr.md",
"language_code": "fi"
}
-->
# Carbon Trigger -selainlaajennus: Valmis koodi
Käyttämällä tmrow'n CO2 Signal -API:ta sähkönkulutuksen seuraamiseen, luo selainlaajennus, joka muistuttaa sinua suoraan selaimessasi alueesi sähkönkulutuksesta. Tämän ad hoc -laajennuksen käyttö auttaa sinua tekemään päätöksiä toimintasi suhteen näiden tietojen perusteella.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "dd58ae1b7707034f055718c1b68bc8de",
"translation_date": "2025-08-27T20:52:21+00:00",
"source_file": "5-browser-extension/solution/translation/README.hi.md",
"language_code": "fi"
}
-->
# Carbon Trigger -selainlaajennus: Valmis koodi
Tmrow:n CO2 Signal API:n avulla seurataan sähkönkulutusta ja luodaan selainlaajennus, joka muistuttaa sinua siitä, kuinka kuormittavaa alueesi sähkönkäyttö on selaimessasi. Tämän laajennuksen käyttö auttaa sinua tekemään päätöksiä toiminnastasi tämän tiedon perusteella.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9a6b22a2eff0f499b66236be973b24ad",
"translation_date": "2025-08-27T20:53:45+00:00",
"source_file": "5-browser-extension/solution/translation/README.it.md",
"language_code": "fi"
}
-->
# Carbon Trigger -selainlaajennus: koodi alkuun pääsemiseksi
Tässä projektissa käytetään tmrow:n Signal CO2 -rajapintaa sähköenergian käytön seuraamiseen. Tarkoituksena on luoda selainlaajennus, joka muistuttaa suoraan selaimessa, kuinka kuormittavaa sähköenergian käyttö on omalla alueella. Tämän laajennuksen avulla voi arvioida omia toimintojaan näiden tietojen perusteella.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "3f5e6821e0febccfc5d05e7c944d9e3d",
"translation_date": "2025-08-27T20:54:15+00:00",
"source_file": "5-browser-extension/solution/translation/README.ja.md",
"language_code": "fi"
}
-->
# Carbon Trigger - selainlaajennus: Valmis koodi
Rakennetaan selainlaajennus, joka käyttää tmrow:n CO2 Signal API:ta seuratakseen energiankulutusta ja näyttää muistutuksena, kuinka paljon sähköä alueellasi käytetään. Tämän laajennuksen avulla voit tehdä päätöksiä toiminnastasi tämän tiedon perusteella.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "21b364c158c8e4f698de65eeac16c9fe",
"translation_date": "2025-08-27T20:52:48+00:00",
"source_file": "5-browser-extension/solution/translation/README.ms.md",
"language_code": "fi"
}
-->
# Carbon Trigger - Selaimen laajennus: Täydellinen koodi
Käyttämällä tmrow:n CO2 Signal -API:ta sähkönkulutuksen seuraamiseen, rakenna selaimen laajennus, joka antaa sinulle ilmoituksia siitä, kuinka raskasta alueesi sähkönkulutus on. Tämän laajennuksen käyttö auttaa sinua tekemään tietoisempia päätöksiä toiminnastasi näiden tietojen perusteella.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "26fd39046d264ba185dcb086d3a8cf3e",
"translation_date": "2025-08-27T20:46:19+00:00",
"source_file": "5-browser-extension/start/README.md",
"language_code": "fi"
}
-->
# Carbon Trigger - Selaimen laajennus: Aloituskoodi
Käyttämällä tmrow'n CO2 Signal API:ta sähkönkulutuksen seuraamiseen, voit rakentaa selaimen laajennuksen, joka muistuttaa sinua suoraan selaimessa siitä, kuinka kuormittavaa alueesi sähkönkulutus on. Tämän laajennuksen satunnainen käyttö auttaa sinua tekemään harkittuja päätöksiä toimistasi tämän tiedon perusteella.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "a6332a7bb4d0be3bfd24199c83993777",
"translation_date": "2025-11-04T01:42:27+00:00",
"source_file": "6-space-game/1-introduction/README.md",
"language_code": "fi"
}
-->
# Rakenna avaruuspeli Osa 1: Johdanto
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "c8fc39a014d08247c082878122e2ba73",
"translation_date": "2025-10-23T00:42:44+00:00",
"source_file": "6-space-game/1-introduction/assignment.md",
"language_code": "fi"
}
-->
# Luo peli: Käytä suunnittelumalleja
## Tehtävän yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "7994743c5b21fdcceb36307916ef249a",
"translation_date": "2025-11-04T01:39:23+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/README.md",
"language_code": "fi"
}
-->
# Rakenna avaruuspeli osa 2: Piirrä sankari ja hirviöt kankaalle
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "87cd43afe5b69dbbffb5c4b209ea6791",
"translation_date": "2025-10-23T00:40:40+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/assignment.md",
"language_code": "fi"
}
-->
# Tehtävä: Tutustu Canvas API:in
## Oppimistavoitteet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "8c55a2bd4bc0ebe4c88198fd563a9e09",
"translation_date": "2025-11-04T01:38:27+00:00",
"source_file": "6-space-game/3-moving-elements-around/README.md",
"language_code": "fi"
}
-->
# Rakenna avaruuspeli osa 3: Liikkeen lisääminen
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "c162b3b3a1cafc1483c8015e9b266f0d",
"translation_date": "2025-10-23T00:40:05+00:00",
"source_file": "6-space-game/3-moving-elements-around/assignment.md",
"language_code": "fi"
}
-->
# Kommentoi koodiasi
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "039b4d8ce65f5edd82cf48d9c3e6728c",
"translation_date": "2025-11-04T01:41:40+00:00",
"source_file": "6-space-game/4-collision-detection/README.md",
"language_code": "fi"
}
-->
# Rakenna avaruuspeli osa 4: Lisää laser ja tunnista törmäykset
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "124efddbb65166cddb38075ad6dae324",
"translation_date": "2025-10-23T00:42:10+00:00",
"source_file": "6-space-game/4-collision-detection/assignment.md",
"language_code": "fi"
}
-->
# Tutki Törmäyksiä
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:27:48+00:00",
"source_file": "6-space-game/4-collision-detection/solution/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:27:36+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "2ed9145a16cf576faa2a973dff84d099",
"translation_date": "2025-11-04T01:43:07+00:00",
"source_file": "6-space-game/5-keeping-score/README.md",
"language_code": "fi"
}
-->
# Rakenna avaruuspeli osa 5: Pisteet ja elämät
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "81f292dbda01685b91735e0398dc0504",
"translation_date": "2025-08-27T20:21:54+00:00",
"source_file": "6-space-game/5-keeping-score/assignment.md",
"language_code": "fi"
}
-->
# Luo pisteytyspeli
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:22:25+00:00",
"source_file": "6-space-game/5-keeping-score/solution/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:22:12+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "a4b78043f4d64bf3ee24e0689b8b391d",
"translation_date": "2025-11-04T01:40:10+00:00",
"source_file": "6-space-game/6-end-condition/README.md",
"language_code": "fi"
}
-->
# Rakenna avaruuspeli osa 6: Loppu ja uudelleenkäynnistys
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "232d592791465c1678cab3a2bb6cd3e8",
"translation_date": "2025-10-23T00:41:20+00:00",
"source_file": "6-space-game/6-end-condition/assignment.md",
"language_code": "fi"
}
-->
# Rakenna näytepeli
## Tehtävän yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:40+00:00",
"source_file": "6-space-game/6-end-condition/solution/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:28+00:00",
"source_file": "6-space-game/6-end-condition/your-work/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "c40a698395ee5102715f7880bba3f2e7",
"translation_date": "2025-08-27T20:20:32+00:00",
"source_file": "6-space-game/README.md",
"language_code": "fi"
}
-->
# Rakenna avaruuspeli
Avaruuspeli, joka opettaa edistyneempiä JavaScriptin perusteita

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:53+00:00",
"source_file": "6-space-game/solution/README.md",
"language_code": "fi"
}
-->
Tämä on paikkamerkki, jätetty tarkoituksella tyhjäksi
---

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "351678bece18f07d9daa987a881fb062",
"translation_date": "2025-11-04T01:34:05+00:00",
"source_file": "7-bank-project/1-template-route/README.md",
"language_code": "fi"
}
-->
# Rakenna pankkisovellus Osa 1: HTML-mallit ja reitit verkkosovelluksessa
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "df0dcecddcd28ea8cbf6ede0ad57d673",
"translation_date": "2025-10-23T00:35:48+00:00",
"source_file": "7-bank-project/1-template-route/assignment.md",
"language_code": "fi"
}
-->
# Paranna reititystä
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "7cbdbd132d39a2bb493e85bc2a9387cc",
"translation_date": "2025-11-04T01:36:11+00:00",
"source_file": "7-bank-project/2-forms/README.md",
"language_code": "fi"
}
-->
# Rakenna pankkisovellus, osa 2: Luo kirjautumis- ja rekisteröintilomake
```mermaid

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "efb01fcafd2ef40c593a6e662fc938a8",
"translation_date": "2025-10-23T00:37:54+00:00",
"source_file": "7-bank-project/2-forms/assignment.md",
"language_code": "fi"
}
-->
# Muotoile pankkisovelluksesi modernilla CSS:llä
## Projektin yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "86ee5069f27ea3151389d8687c95fac9",
"translation_date": "2025-11-04T01:32:51+00:00",
"source_file": "7-bank-project/3-data/README.md",
"language_code": "fi"
}
-->
# Rakenna pankkisovellus, osa 3: Tietojen hakeminen ja käyttäminen
Ajattele Star Trekin Enterprise-aluksen tietokonetta - kun kapteeni Picard kysyy aluksen tilasta, tiedot ilmestyvät välittömästi ilman, että koko käyttöliittymä sulkeutuu ja rakentuu uudelleen. Juuri tällaista saumattoman tiedonkulun järjestelmää olemme rakentamassa dynaamisella tiedonhakumenetelmällä.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "d0a02cb117e91a5b5f24178080068a3d",
"translation_date": "2025-10-23T00:34:40+00:00",
"source_file": "7-bank-project/3-data/assignment.md",
"language_code": "fi"
}
-->
# Koodin refaktorointi ja dokumentointi -tehtävä
## Oppimistavoitteet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "b807b09df716dc48a2b750835bf8e933",
"translation_date": "2025-11-04T01:30:38+00:00",
"source_file": "7-bank-project/4-state-management/README.md",
"language_code": "fi"
}
-->
# Rakenna pankkisovellus, osa 4: Tilanhallinnan periaatteet
## ⚡ Mitä voit tehdä seuraavan viiden minuutin aikana

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "50a7783473b39a2e0f133e271a102231",
"translation_date": "2025-10-23T00:32:11+00:00",
"source_file": "7-bank-project/4-state-management/assignment.md",
"language_code": "fi"
}
-->
# Toteuta "Lisää tapahtuma" -dialogi
## Yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "830359535306594b448db6575ce5cdee",
"translation_date": "2025-08-27T20:54:43+00:00",
"source_file": "7-bank-project/README.md",
"language_code": "fi"
}
-->
# :dollar: Rakenna Pankki
Tässä projektissa opit rakentamaan kuvitteellisen pankin. Näissä oppitunneissa annetaan ohjeita siitä, miten verkkosovellus suunnitellaan ja reitit määritetään, miten lomakkeita rakennetaan, tilaa hallitaan ja tietoja haetaan API:sta, josta voit hakea pankin tiedot.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9884f8c8a61cf56214450f8b16a094ce",
"translation_date": "2025-08-27T20:55:06+00:00",
"source_file": "7-bank-project/api/README.md",
"language_code": "fi"
}
-->
# Pankki API
> Pankki API, rakennettu [Node.js](https://nodejs.org) + [Express](https://expressjs.com) -teknologioilla.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "461aa4fc74c6b1789c3a13b5d82c0cd9",
"translation_date": "2025-08-27T21:03:43+00:00",
"source_file": "7-bank-project/solution/README.md",
"language_code": "fi"
}
-->
# Pankkisovellus
> Esimerkkiratkaisu pankkisovellusprojektille, rakennettu käyttäen pelkkää HTML5:ttä, CSS:ää ja JavaScriptiä (ei käytetty frameworkeja tai kirjastoja).

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "a9a3bcc037a447e2d8994d99e871cd9f",
"translation_date": "2025-11-04T01:13:38+00:00",
"source_file": "8-code-editor/1-using-a-code-editor/README.md",
"language_code": "fi"
}
-->
# Käyttämällä koodieditoria: Hallitse VSCode.dev
Muistatko *Matrixista*, kun Neo joutui kytkeytymään massiiviseen tietokoneeseen päästäkseen digitaaliseen maailmaan? Nykyajan web-kehitystyökalut kertovat aivan toisenlaisen tarinan uskomattoman tehokkaat ominaisuudet ovat saatavilla mistä tahansa. VSCode.dev on selaimessa toimiva koodieditori, joka tuo ammattilaistason kehitystyökalut mihin tahansa laitteeseen, jossa on internetyhteys.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "effe56ba51c38d7bdfad1ea38288666b",
"translation_date": "2025-10-23T00:16:03+00:00",
"source_file": "8-code-editor/1-using-a-code-editor/assignment.md",
"language_code": "fi"
}
-->
# Luo ansioluettelosivusto VSCode.dev:llä
Paranna uramahdollisuuksiasi rakentamalla ammattimainen ansioluettelosivusto, joka esittelee taitosi ja kokemuksesi interaktiivisessa, modernissa muodossa. Perinteisten PDF-tiedostojen lähettämisen sijaan voit tarjota rekrytoijille tyylikkään, responsiivisen verkkosivuston, joka osoittaa sekä pätevyytesi että verkkokehitystaitosi.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "2066c17078e9d18b5e309f31d8e8bc24",
"translation_date": "2025-11-04T01:24:59+00:00",
"source_file": "9-chat-project/README.md",
"language_code": "fi"
}
-->
# Rakenna keskusteluavustaja tekoälyn avulla
Muistatko Star Trekistä, kun miehistö keskusteli rennosti aluksen tietokoneen kanssa, esitti monimutkaisia kysymyksiä ja sai harkittuja vastauksia? Se, mikä vaikutti 1960-luvulla puhtaalta tieteiskirjallisuudelta, on nyt jotain, jonka voit rakentaa käyttämällä jo tuntemiasi verkkoteknologioita.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "cb549dcad8eea3221cb89793aeaa3bb3",
"translation_date": "2025-09-01T15:33:05+00:00",
"source_file": "9-chat-project/solution/README.md",
"language_code": "fi"
}
-->
# Käynnistä ratkaisu
1. Käynnistä [taustajärjestelmä](./backend/README.md)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "bcd2c2bbaae71151b1ed1b9170aa78af",
"translation_date": "2025-09-01T15:43:54+00:00",
"source_file": "9-chat-project/solution/backend/README.md",
"language_code": "fi"
}
-->
Valitse suoritusympäristösi
- [Python](./python/README.md)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0aaa930f076f2d83cc872ad157f8ffd3",
"translation_date": "2025-10-23T00:28:13+00:00",
"source_file": "9-chat-project/solution/backend/python/README.md",
"language_code": "fi"
}
-->
# Suorita koodi
## Valmistelut

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "7746a470be8fc7f736eb1b43ebb710ee",
"translation_date": "2025-09-01T15:52:45+00:00",
"source_file": "9-chat-project/solution/frontend/README.md",
"language_code": "fi"
}
-->
# Suorita koodi
```sh

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:30:52+00:00",
"source_file": "AGENTS.md",
"language_code": "fi"
}
-->
# AGENTS.md
## Projektin yleiskatsaus

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "b0a9b4cccd918195f58224d5793da1a6",
"translation_date": "2025-08-27T20:03:03+00:00",
"source_file": "CODE_OF_CONDUCT.md",
"language_code": "fi"
}
-->
# Microsoftin avoimen lähdekoodin toimintaohjeet
Tämä projekti on ottanut käyttöön [Microsoftin avoimen lähdekoodin toimintaohjeet](https://opensource.microsoft.com/codeofconduct/?WT.mc_id=academic-77807-sagibbon).

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "777400e9f0336c7ee2f9a1200a88478f",
"translation_date": "2025-08-27T20:04:19+00:00",
"source_file": "CONTRIBUTING.md",
"language_code": "fi"
}
-->
# Osallistuminen
Tämä projekti toivottaa tervetulleiksi osallistumiset ja ehdotukset. Useimmat osallistumiset edellyttävät, että hyväksyt Contributor License Agreementin (CLA), jossa vahvistat, että sinulla on oikeus ja todella annat meille oikeudet käyttää panostasi. Lisätietoja löydät osoitteesta [https://cla.microsoft.com](https://cla.microsoft.com/?WT.mc_id=academic-77807-sagibbon).

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "5cf5e1ed51455fefed4895fcc4d6ba2a",
"translation_date": "2025-10-03T15:54:51+00:00",
"source_file": "Git-Basics/README.md",
"language_code": "fi"
}
-->
## Gitin perusteet web-kehityksen aloittelijoille👶
## Mikä on `Git`?

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "fea3a0fceb8ad86fd640c09cf63a2aac",
"translation_date": "2026-01-07T01:01:45+00:00",
"source_file": "README.md",
"language_code": "fi"
}
-->
[![GitHub license](https://img.shields.io/github/license/microsoft/Web-Dev-For-Beginners.svg)](https://github.com/microsoft/Web-Dev-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
@ -21,198 +12,195 @@ CO_OP_TRANSLATOR_METADATA:
# Verkkokehitys aloittelijoille - Opetussuunnitelma
Opi verkkokehityksen perusteet Microsoft Cloud Advocatesin 12 viikon kattavassa kurssissa. Jokainen 24 oppitunnista syventyy JavaScriptiin, CSS:ään ja HTML:ään käytännön projektien, kuten terrarionien, selainlaajennusten ja avaruuspeliensä kautta. Osallistu tietovisailuihin, keskusteluihin ja käytännön tehtäviin. Kehitä taitojasi ja optimoi oppimisesi tehokkaan projektioppimisen menetelmämme avulla. Aloita koodausmatkasi jo tänään!
Opi verkkokehityksen perusteet 12 viikon kattavalla kurssillamme, jonka on kehittänyt Microsoft Cloud Advocates. Jokainen 24 oppitunnista syventyy JavaScriptiin, CSS:ään ja HTML:ään käytännön projektien kautta, kuten terrariumeihin, selaimen laajennuksiin ja avaruuspeliin. Osallistu visoihin, keskusteluihin ja käytännön tehtäviin. Kehitä taitojasi ja optimoi tiedon säilytyskykyä tehokkaan projektipohjaisen opetusmetodimme avulla. Aloita koodausmatkasi jo tänään!
Liity Azure AI Foundry Discord -yhteisöön
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Noudata näitä ohjeita aloittaaksesi näiden resurssien käytön:
1. **Forkkaa repositorio**: Klikkaa [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
Noudata näitä vaiheita päästäksesi alkuun näiden resurssien kanssa:
1. **Haarauta repositorio**: Klikkaa [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Kloonaa repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Liity Azure AI Foundry Discordiin ja tapaa asiantuntijoita sekä muita kehittäjiä**](https://discord.com/invite/ByRwuEEgH4)
3. [**Liity Azure AI Foundry Discordiin ja tapaa asiantuntijoita ja muita kehittäjiä**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Monikielinen tuki
#### Tuettu GitHub Actionin kautta (Automaattinen & aina ajan tasalla)
#### Tuettu GitHub Actionin kautta (automaattinen ja aina ajan tasalla)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh/README.md) | [Chinese (Traditional, Hong Kong)](../hk/README.md) | [Chinese (Traditional, Macau)](../mo/README.md) | [Chinese (Traditional, Taiwan)](../tw/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](./README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../br/README.md) | [Portuguese (Portugal)](../pt/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](./README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Haluatko kloonata paikallisesti?**
> Tämä repositorio sisältää yli 50 kielen käännökset, mikä lisää merkittävästi latauskokoa. Jos haluat kloonata ilman käännöksiä, käytä sparse checkoutia:
> Tässä repositoriossa on yli 50 käännöstä, mikä lisää merkittävästi latauskoon. Jos haluat kloonata ilman käännöksiä, käytä sparse checkoutia:
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Saat kaiken tarvitsemasi kurssin suorittamiseen huomattavasti nopeammalla latauksella.
> Tämä antaa sinulle kaiken, mitä tarvitset kurssin suorittamiseen huomattavasti nopeammalla latauksella.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Jos haluat lisää tuettuja käännöskieliä, ne on listattu [tässä](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Jos haluat lisätä tuettuja käännöskieliä, ne on listattu [tässä](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![Avaa Visual Studio Codessa](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Avaa%20Visual%20Studio%20Codessa&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Oletko opiskelija?_
Vieraile [**Student Hub -sivulla**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), jolta löydät aloittelijan resurssit, opiskelijapaketit ja jopa tapoja saada ilmainen sertifikaattikuponki. Tämä on sivu, jonka haluat lisätä kirjanmerkkeihin ja tarkistaa säännöllisesti, sillä päivitämme sisältöä kuukausittain.
Vieraile [**Student Hub -sivulla**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), josta löydät aloittelijan resurssit, opiskelijapaketit ja jopa tapoja saada ilmainen sertifikaattikuponki. Tämä on sivu, jonka haluat tallentaa kirjanmerkkeihin ja tarkistaa säännöllisesti, sillä sisältöä vaihdetaan kuukausittain.
### 📣 Ilmoitus - Uudet GitHub Copilot Agent -tilan haasteet suoritettaviksi!
### 📣 Ilmoitus Uusia GitHub Copilot Agent -tilan haasteita suoritettavaksi!
Uusi haaste lisätty, etsi "GitHub Copilot Agent Challenge 🚀" useimmista luvuista. Tämä on uusi haaste, jonka suoritat GitHub Copilotin ja Agent-tilan avulla. Jos et ole käyttänyt Agent-tilaa aiemmin, se pystyy paitsi tuottamaan tekstiä, myös luomaan ja muokkaamaan tiedostoja, suorittamaan komentoja ja paljon muuta.
Uusi haaste lisätty, katso "GitHub Copilot Agent Challenge 🚀" useimmista luvuista. Tämä on uusi haaste, jonka voit suorittaa käyttämällä GitHub Copilotia ja Agent-tilaa. Jos et ole aiemmin käyttänyt Agent-tilaa, se pystyy paitsi generoimaan tekstiä, myös luomaan ja muokkaamaan tiedostoja, suorittamaan komentoja ja muuta.
### 📣 Ilmoitus - _Uusi Generatiivisen tekoälyn projekti_
### 📣 Ilmoitus _Uusi generatiiviseen tekoälyyn perustuva projekti rakennettavaksi_
Uusi AI-avustajaprojekti juuri lisätty, tutustu projektiin [tästä](./9-chat-project/README.md)
Uusi AI-avustajaprojekti juuri lisätty, tutustu [projektiin](./9-chat-project/README.md)
### 📣 Ilmoitus - _Uusi opetussuunnitelma_ Generatiivisesta tekoälystä JavaScriptille julkaistu
### 📣 Ilmoitus _Uusi Generative AI -opetussuunnitelma JavaScriptille julkaistu_
Älä jää paitsi uudesta Generatiivisen AI:n opetussuunnitelmastamme!
Älä jää paitsi uudesta Generative AI -opetussuunnitelmastamme!
Käy osoitteessa [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) aloittaaksesi!
Aloita [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course)
![Background](../../translated_images/fi/background.148a8d43afde5730.webp)
![Tausta](../../translated_images/fi/background.148a8d43afde5730.webp)
- Oppitunnit kattavat kaiken perusteista RAG:iin.
- Vuorovaikutus historiallisten hahmojen kanssa GenAI:n ja lisäsovelluksemme kautta.
- Oppitunteja perusteista RAG-malliin asti.
- Keskustele historiallisten hahmojen kanssa GenAI:n ja kumppanisovelluksemme avulla.
- Hauska ja mukaansatempaava tarinankerronta, matkustat ajassa!
![character](../../translated_images/fi/character.5c0dd8e067ffd693.webp)
![hahmo](../../translated_images/fi/character.5c0dd8e067ffd693.webp)
Jokaisessa oppitunnissa on tehtävä suoritettavaksi, tietoarviointi ja haaste, jotka ohjaavat sinua oppimaan aiheista kuten:
- Kehotteen kirjoittaminen ja kehoteinsinööritys
- Teksti- ja kuva-applikaatioiden generointi
Jokainen oppitunti sisältää tehtävän suoritettavaksi, tietokokeen ja haasteen, jotka ohjaavat sinua oppimaan aiheita, kuten:
- Promptauksen ja promptinsuunnittelun perusteet
- Teksti- ja kuvapohjaiset sovellukset
- Hakusovellukset
Käy osoitteessa [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course) aloittaaksesi!
Aloita täällä: [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course)
## 🌱 Aloittaminen
> **Opettajat**, olemme [lisänneet joitakin ehdotuksia](for-teachers.md) siitä, miten tätä opetussuunnitelmaa voi käyttää. Haluaisimme saada palautetta [keskustelufoorumillamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Opettajat**, olemme [sisällyttäneet ehdotuksia](for-teachers.md) tämän opetussuunnitelman käyttöön. Toivomme palautettasi [keskustelufoorumissamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Oppijat](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, jokaista oppituntia varten aloita esiluentotestillä ja jatka luentomateriaalin lukemisella, erilaisten aktiviteettien suorittamisella ja tarkista ymmärryksesi jälkiluentotestillä.
**[Oppijat](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, aloita jokainen oppitunti ennakkokyselyllä ja jatka luentomateriaalin lukemisella, suorita erilaiset aktiviteetit ja testaa ymmärryksesi jälkikyselyllä.
Paranna oppimiskokemustasi yhdistämällä vertaisryhmiesi kanssa projektityöhön! Keskusteluja suositellaan [keskustelufoorumillamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), jossa moderaattoritiimimme on valmiina vastaamaan kysymyksiisi.
Paranna oppimiskokemustasi liittymällä vertaistesi seuraan projekteissa! Keskustelut ovat tervetulleita [keskustelufoorumillamme](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), jossa moderaattoritiimimme vastaa kysymyksiisi.
Jatkaaksesi opiskelua suosittelemme vahvasti tutustumaan [Microsoft Learniin](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) lisäoppimateriaalien saamiseksi.
Syvennä osaamistasi tutustumalla myös [Microsoft Learniin](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) lisäopetusmateriaaleja varten.
### 📋 Ympäristön pystyttäminen
### 📋 Ympäristön asennus
ssä opetussuunnitelmassa on valmiiksi määritetty kehitysympäristö! Voit aloittaessasi valita suorittavasi opetussuunnitelman [Codespacessa](https://github.com/features/codespaces/) (_selainnäkymäinen, asennuksia ei tarvita_), tai paikallisesti tietokoneellasi tekstieditorilla, kuten [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
män opetussuunnitelman kehitysympäristö on valmiina! Aloittaessasi voit valita suorittaa opetussuunnitelman [Codespacessa](https://github.com/features/codespaces/) (_selaimessa toimiva, ei asennuksia vaativa ympäristö_) tai paikallisesti tietokoneellasi tekstieditorilla, kuten [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Luo oma repositoriosi
Työsi tallentamisen helpottamiseksi on suositeltavaa luoda oma kopiosi tästä repositoriosta. Voit tehdä sen klikkaamalla sivun ylälaidasta kohtaa **Use this template**. Tämä luo uuden repositorion GitHub-tilillesi kopiona opetussuunnitelmasta.
Jotta voit helposti tallentaa työsi, suosittelemme luomaan oman kopion tästä repositoriosta. Voit tehdä tämän painamalla sivun yläreunassa olevaa **Use this template** -painiketta. Tämä luo uuden repositorion GitHub-tilillesi, joka sisältää kopion opetussuunnitelmasta.
Noudata näitä ohjeita:
1. **Forkkaa repositorio**: Klikkaa oikeasta yläkulmasta "Fork".
1. **Haarauta repositorio**: Klikkaa tämän sivun oikeassa yläkulmassa olevaa "Fork"-painiketta.
2. **Kloonaa repositorio**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Opetussuunnitelman suorittaminen Codespacessa
Omassa kopiossasi tästä repositoriosta, jonka loit, klikkaa **Code** ja valitse **Open with Codespaces**. Tämä luo sinulle uuden Codespace-työtilan.
Oman kopion repositoriosta luomasi jälkeen napsauta **Code**-painiketta ja valitse **Open with Codespaces**. Tämä luo sinulle uuden Codespace-ympäristön työskennellä.
![Codespace](../../translated_images/fi/createcodespace.0238bbf4d7a8d955.webp)
#### Opetussuunnitelman suorittaminen paikallisesti tietokoneella
Jos haluat suorittaa opetussuunnitelman paikallisesti tietokoneellasi, tarvitset tekstieditorin, selaimen ja komentorivityökalun. Ensimmäinen oppituntimme, [Ohjelmointikieliin ja työkaluisiin perehtyminen](../../1-getting-started-lessons/1-intro-to-programming-languages), opastaa sinut eri vaihtoehdoissa kuhunkin näistä työkaluista, jotta voit valita sinulle parhaiten sopivat.
#### Opetussuunnitelman suorittaminen paikallisesti tietokoneellasi
Suosittelemme käyttämään editorina [Visual Studio Codea](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon), joka sisältää myös sisäänrakennetun [Päätteen](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Voit ladata Visual Studio Coden [tästä](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Jos haluat suorittaa opetussuunnitelman paikallisesti tietokoneellasi, tarvitset tekstieditorin, selaimen ja komentorivityökalun. Ensimmäinen oppituntimme, [Johdanto ohjelmointikieliin ja työkaluihin](../../1-getting-started-lessons/1-intro-to-programming-languages), opastaa sinut eri vaihtoehtojen pariin, jotta voit valita itsellesi sopivimmat työkalut.
Suosittelemme käyttämään tekstieditorina [Visual Studio Codea](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon), joka sisältää myös sisäänrakennetun [Komentorivin](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Voit ladata Visual Studio Coden [tästä](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Kloonaa repositoriosi tietokoneellesi. Voit tehdä tämän klikkaamalla **Code** ja kopioimalla URL-osoitteen:
1. Kloonaa oma repositorio tietokoneellesi. Voit tehdä tämän klikkaamalla **Code**-painiketta ja kopioimalla URL-osoitteen:
[CodeSpace](./images/createcodespace.png)
Sitten avaa [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) -sovelluksessa ja suorita seuraava komento korvaten `<your-repository-url>` äsken kopioimallasi URL-osoitteella:
Sitten avaa [Pääte](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) Visual Studio Codessa [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ja suorita seuraava komento korvaten `<your-repository-url>` juuri kopioimallasi URL-osoitteella:
```bash
git clone <your-repository-url>
```
2. Avaa kansio Visual Studio Codessa. Voit tehdä tämän valitsemalla **File** > **Open Folder** ja valitsemalla juuri kloonatun kansion.
2. Avaa kansio Visual Studio Codessa. Voit tehdä tämän valitsemalla **Tiedosto** > **Avaa kansio** ja valitsemalla juuri kloonaamasi kansion.
> Suositellut Visual Studio Code -laajennukset:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - HTML-sivujen esikatseluun suoraan Visual Studio Codessa
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - auttamaan koodin kirjoittamisessa nopeammin
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - esikatsele HTML-sivuja suoraan Visual Studio Codessa
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - auttaaksesi sinua kirjoittamaan koodia nopeammin
## 📂 Jokainen oppitunti sisältää:
- valinnaisen muistion
- valinnaisen lisävideo
- ennakkoharjoituksen / lämmittelykyselyn
- valinnaisen luonnosmuistion
- valinnaisen lisävideon
- ennakkolämmittelykyselyn ennen oppituntia
- kirjallisen oppitunnin
- projektipohjaisissa oppitunneissa ohjeet projektin rakentamiseen vaihe vaiheelta
- tietotarkistuksia
- projektilähtöisissä oppitunneissa vaiheittaiset ohjeet projektin rakentamiseen
- tietotestin
- haasteen
- lisälukemista
- tehtävän
- [jälkioppitunnin kyselyn](https://ff-quizzes.netlify.app/web/)
- [oppitunnin jälkeisen kyselyn](https://ff-quizzes.netlify.app/web/)
> **Huomautus kyselyistä**: Kaikki kyselyt löytyvät Quiz-app-kansiosta, yhteensä 48 kyselyä, joissa jokaisessa on kolme kysymystä. Ne ovat saatavilla [tässä](https://ff-quizzes.netlify.app/web/). Kyselysovellus voidaan suorittaa paikallisesti tai ottaa käyttöön Azureen; noudata ohjeita `quiz-app`-kansiossa.
> **Huomio kyselyistä**: Kaikki kyselyt löytyvät Quiz-app-kansiosta, yhteensä 48 kyselyä joissa jokaisessa kolme kysymystä. Ne ovat saatavilla [tässä](https://ff-quizzes.netlify.app/web/). Kyselysovelluksen voi ajaa paikallisesti tai julkaista Azureen; noudata ohjeita `quiz-app`-kansiossa.
## 🗃️ Oppitunnit
| | Projektin nimi | Opitut käsitteet | Oppimistavoitteet | Linkitetty oppitunti | Tekijä |
| :-: | :--------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Aloittaminen | Johdatus ohjelmointiin ja työkaluihin | Opit ohjelmointikielten perustan ja ohjelmistot, jotka auttavat ammattilaisia työssään | [Intro to Programming Languages and Tools of the Trade](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Aloittaminen | GitHubin perusteet, myös tiimityöskentely | Kuinka käyttää GitHubia projektissa ja miten tehdä yhteistyötä koodipohjalla | [Intro to GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Aloittaminen | Esteettömyys | Opit verkkosivujen esteettömyyden perusteet | [Accessibility Fundamentals](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | JavaScriptin tietotyypit | JavaScriptin tietotyyppien perusteet | [Data Types](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | Funktiot ja metodit | Opit sovelluksen logiikan hallinnan funktioiden ja metodien avulla | [Functions and Methods](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher |
| 06 | JS Basics | Päätöksenteko JavaScriptillä | Kuinka luoda ehtoja koodissasi päätöksentekomenetelmien avulla | [Making Decisions](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | Taulukot ja silmukat | Työskentele datan kanssa taulukoiden ja silmukoiden avulla JavaScriptissä | [Arrays and Loops](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML käytännössä | Rakenna HTML luodaksesi online-terraariumin, keskittyen layoutin rakentamiseen | [Introduction to HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS käytännössä | Rakenna CSS tyylittääksesi online-terraariumia, keskittyen CSS:n perusteisiin mukaan lukien sivun responsiivisuuden tekemisen | [Introduction to CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScriptin sulut (closures), DOM-manipulointi | Rakenna JavaScript, joka tekee terraariumista toimivan drag/drop-käyttöliittymän, keskittyen sulkuihin ja DOM-manipulointiin | [JavaScript Closures, DOM manipulation](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Kirjoituspelin rakentaminen | Opit käyttämään näppäimistötapahtumia JavaScript-sovelluksen logiikan ohjaamiseen | [Event-Driven Programming](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Työskentely selainten kanssa | Opit, miten selaimet toimivat, niiden historian ja miten luoda ensimmäiset elementit selaimen laajennukseen | [About Browsers](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lomakkeen rakentaminen, API-kutsut ja muuttujien tallennus paikalliseen muistiin | Rakenna selaimen laajennuksen JavaScript-elementit API:n kutsumiseen käyttäen muuttujiin tallennettuja paikalliseen muistiin | [APIs, Forms, and Local Storage](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Taustaprosessit selaimessa, verkkosivuston suorituskyky | Käytä selaimen taustaprosesseja hallitsemaan laajennuksen kuvaketta; opi web-suorituskyvystä ja optimoinnista | [Background Tasks and Performance](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Edistyneempi pelikehitys JavaScriptillä | Opit periytymisestä luokkien ja koostumisen avulla sekä Pub/Sub-kuvion, valmistautuen pelin rakentamiseen | [Introduction to Advanced Game Development](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Piirtäminen kankaalle | Opit Canvas API:sta, jota käytetään elementtien piirtämiseen näytölle | [Drawing to Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Elementtien liikuttaminen ruudulla | Opi, miten elementtejä voi liikuttaa kartesisilla koordinaateilla ja Canvas API:lla | [Moving Elements Around](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Törmäyksentunnistus | Tee elementeistä törmäileviä ja reagoivia toisiinsa näppäinpainallusten avulla, ja lisää cooldown-funktio pelin suorituskyvyn varmistamiseksi | [Collision Detection](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Pisteiden kirjaaminen | Suorita matemaattisia laskuja pelin tilan ja suorituskyvyn mukaan | [Keeping Score](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Pelin lopetus ja uudelleenkäynnistys | Opit pelin lopettamisesta ja uudelleenkäynnistyksestä, mukaan lukien resurssien siistimisestä ja muuttujien nollaamisesta | [The Ending Condition](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-mallit ja reititykset web-sovelluksessa | Opit rakentamaan monisivuisen verkkosivuston arkkitehtuurin reitityksen ja HTML-mallien avulla | [HTML Templates and Routes](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Kirjautumis- ja rekisteröitymislomakkeen rakentaminen | Opit lomakkeiden rakentamisesta ja validointirutiinien hallinnasta | [Forms](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Tietojen hakemisen ja käytön menetelmät | Kuinka tieto virtaa sovellukseen ja sieltä ulos, miten hakea, tallentaa ja poistaa sitä | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Tilanhallinnan käsitteet | Opit, kuinka sovelluksesi säilyttää tilaa ja miten sitä hallitaan ohjelmallisesti | [State Management](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Työskentely VScoden kanssa | Opit käyttämään koodieditoria | [Use VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Työskentely tekoälyn kanssa | Opit rakentamaan oman tekoälyavustajan | [AI Assistant project](./9-chat-project/README.md) | Chris |
| | Projektin nimi | Opitut käsitteet | Oppimistavoitteet | Linkitetty oppitunti | Tekijä |
| :-: | :-------------------------------------------------------: | :--------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Aloittaminen | Johdanto ohjelmointiin ja työkaluihin | Opettele lähes kaikkien ohjelmointikielten perusperiaatteet sekä ohjelmistot jotka auttavat ammattilaisia työnsä tekemisessä | [Ohjelmointikielten ja työkalujen johdanto](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Aloittaminen | GitHubin perusteet, tiimityöskentely | Miten käytät GitHubia projektissasi ja teet yhteistyötä muiden kanssa koodipohjan parissa | [GitHubin johdanto](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Aloittaminen | Esteettömyys | Opi verkkosivujen esteettömyyden perusteet | [Esteettömyyden perusteet](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Basics | JavaScriptin tietotyypit | JavaScriptin tietotyyppien perusteet | [Tietotyypit](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Basics | Funktiot ja metodit | Opettele funktioista ja metodeista sovelluksen logiikan hallintaan | [Funktiot ja metodit](./2-js-basics/2-functions-methods/README.md) | Jasmine ja Christopher |
| 06 | JS Basics | Päätöksenteko JavaScriptillä | Opettele luomaan ehtoja koodissa päätöksentekomenetelmien avulla | [Päätöksenteko](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Basics | Taulukot ja silmukat | Työskentele tietojen kanssa taulukkojen ja silmukoiden avulla JavaScriptissä | [Taulukot ja silmukat](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML-käytännössä | Rakenna HTML verkossa olevaa terrariota varten, keskittyen asettelun rakentamiseen | [Johdanto HTML:ään](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS-käytännössä | Rakenna CSS tyylittämään verkossa olevaa terrariota, keskittyen CSS:n perusteisiin ja sivun responsiivisuuteen | [Johdanto CSS:ään](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | JavaScriptin sulkeet, DOM-käsittely | Rakenna JavaScript terrariumin vetämis- ja pudotusliittymän toiminnalle, keskittyen sulkuihin ja DOM:n käsittelyyn | [JavaScriptin sulkeet ja DOM-käsittely](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Kirjoituspelin rakentaminen | Opi käyttämään näppäimistötapahtumia sovelluksen logiikan ohjaamiseen | [Tapahtumapohjainen ohjelmointi](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Työskentely selainten kanssa | Opi miten selaimet toimivat, niiden historia sekä miten rakentaa selaimen laajennuksen ensimmäiset elementit | [Selaimista](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lomakkeen rakentaminen, API-kutsu ja muuttujien tallennus paikalliseen tallennustilaan | Rakenna JavaScript-selaimen laajennuksen elementit API-kutsujen tekemiseen muuttujien avulla, jotka tallennetaan paikalliseen tallennustilaan | [API:t, lomakkeet ja paikallinen tallennus](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Taustaprosessit selaimessa, verkkotehokkuus | Hyödynnä selaimen taustaprosesseja laajennuksen kuvakkeen hallinnassa; opi verkkotehokkuudesta ja optimoinneista | [Taustatehtävät ja suorituskyky](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Kehittyneempi pelikehitys JavaScriptillä | Opi perinnöstä luokkien ja koostumuksen avulla sekä Pub/Sub-kuviosta valmistautuaksesi pelin rakentamiseen | [Johdanto kehittyneeseen pelikehitykseen](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Piirtäminen canvakselle | Opi Canvas API:sta, joka on käytössä ruudulle piirtämisessä | [Piirtäminen canvakselle](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Elementtien liikuttaminen ruudulla | Opi miten elementit liikkuvat karteesisissa koordinaateissa ja Canvas APIn avulla | [Elementtien liikuttaminen](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Törmäyksentunnistus | Tee elementeistä törmäileviä ja reagoivia, käytä näppäinkomentoja ja tarjoa jäähdytysfunktio pelin toiminnan varmistamiseksi | [Törmäyksentunnistus](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Pisteiden laskeminen | Suorita matemaattisia laskutoimituksia pelin tilaan ja suoritukseen perustuen | [Pisteiden laskeminen](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Pelin lopetus ja uudelleenkäynnistys | Opi pelin lopettamisesta ja uudelleenkäynnistyksestä, mukaan lukien resurssien siivous ja muuttujien arvon nollaus | [Lopetusehto](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML-pohjat ja reitit web-sovelluksessa | Opi luomaan monisivuisen verkkosivun arkkitehtuurin runko reitityksen ja HTML-pohjien avulla | [HTML-pohjat ja reitit](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Kirjautumis- ja rekisteröintilomakkeen rakentaminen | Tutustu lomakkeiden rakentamiseen ja validointirutiinien käsittelyyn | [Lomakkeet](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Datan hakemisen ja käytön menetelmät | Miten data virtaa sovellukseesi, miten hakea, tallentaa ja poistaa sitä | [Data](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Tilanhallinnan käsitteet | Opi miten sovelluksesi säilyttää tilansa ja hallitsee sitä ohjelmallisesti | [Tilanhallinta](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Selaimen/VScode koodi](../../8-code-editor) | Työskentely VScoden kanssa | Opi käyttämään koodieditoria| [Käytä VScode koodieditoria](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI-apulaiset](./9-chat-project/README.md) | Työskentely tekoälyn kanssa | Opi rakentamaan oma tekoälyavustajasi | [AI-avustajaprojekti](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogiikka
Opetussuunnitelmamme on suunniteltu kahden keskeisen pedagogisen periaatteen mukaan:
Oppimäärämme on suunniteltu kahden keskeisen pedagogisen periaatteen mukaisesti:
* projektipohjainen oppiminen
* usein toistuvat kyselyt
* säännölliset kyselyt
Ohjelma opettaa JavaScriptin, HTML:n ja CSS:n perusteet sekä viimeisimmät työkalut ja tekniikat, joita nykyiset web-kehittäjät käyttävät. Oppilaat pääsevät kehittämään käytännön kokemusta rakentamalla kirjoituspelin, virtuaalisen terraariumin, ympäristöystävällisen selaimen laajennuksen, avaruuslainen henkisen pelin ja pankkisovelluksen yrityksille. Sarjan lopussa oppilaat ovat saaneet vankan ymmärryksen web-kehityksestä.
Ohjelma opettaa JavaScriptin, HTML:n ja CSS:n perusteet sekä viimeisimmät työkalut ja tekniikat, joita nykyiset web-kehittäjät käyttävät. Oppilaat saavat käytännön kokemusta rakentamalla kirjoituspelin, virtuaalisen terrariumin, ekologisen selaimen laajennuksen, avaruusmuukalaisaiheisen pelin ja yrityskäyttöön tarkoitetun pankkisovelluksen. Sarjan lopussa oppilaat ovat hankkineet vahvan ymmärryksen verkkokehityksestä.
> 🎓 Voit suorittaa tämän opetussuunnitelman ensimmäiset oppitunnit Microsoft Learnin [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) -polun kautta!
> 🎓 Voit suorittaa tämän oppimäärän ensimmäiset oppitunnit Microsoft Learnin [Oppimispolun](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) kautta!
Varmistamalla, että sisältö vastaa projekteja, prosessi on opiskelijoille mielekkäämpi ja käsitteiden muistaminen tehostuu. Kirjoitimme lisäksi useita aloitusoppitunteja JavaScriptin perusteista esitelläksemme käsitteitä, yhdistettynä videoihin "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" -videokokoelmasta, joiden tekijät osallistuivat tähän opetussuunnitelmaan.
Varmistamalla, että sisältö vastaa projekteja, prosessi tehdään opiskelijoille kiinnostavammaksi ja käsitteiden omaksuminen tehostuu. Kirjoitimme myös useita aloitusoppitunteja JavaScriptin perusteista esittelemään käsitteitä, jotka on yhdistetty videoon "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)" -videokokoelmasta, joiden tekijöistä osa osallistui tähän oppimäärään.
Lisäksi oppituntia edeltävä matalariskinen kysely asettaa opiskelijalle opiskeluaiheen tavoitteen, ja oppitunnin jälkeinen toinen kysely varmistaa jatkumon. Tämä opetussuunnitelma on suunniteltu joustavaksi ja hauskaksi, ja sen voi suorittaa kokonaisuudessaan tai osittain. Projektit alkavat pieninä ja muuttuvat yhä vaativammiksi 12 viikon aikana.
Lisäksi kevyt kysely ennen tuntia suuntaa opiskelijan tarkoitusta oppia aihetta, ja toinen kysely tunnin jälkeen takaa lisäomaksumisen. Tämä oppimäärä on suunniteltu joustavaksi ja hauskaksi, ja sen voi suorittaa kokonaan tai osittain. Projektit alkavat pienestä ja monimutkaistuvat vähitellen 12 viikon jakson loppuun mennessä.
Vaikka tarkoituksella olemme välttäneet JavaScript-kirjastojen käyttöönottoa keskittyäksemme verkkokehittäjän perustaitoihin ennen kehysten käyttöönottoa, hyvä seuraava askel tämän opetussuunnitelman jälkeen olisi oppia Node.js:stä toisen videokokoelman kautta: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Vaikka olemme tarkoituksella välttäneet JavaScript-kehysten esittelyä keskittyäksemme perusosaamiseen, joka web-kehittäjällä tulee olla ennen kehysten käyttöönottoa, hyvä seuraava askel oppimäärän suorittamisen jälkeen olisi Node.js:n opiskeluun keskittyvä videokokoelma: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Tutustu [käyttäytymissääntöihimme](CODE_OF_CONDUCT.md) ja [osallistumisohjeisiin](CONTRIBUTING.md). Arvostamme rakentavaa palautettasi!
> Tutustu [käyttäytymissääntöihimme](CODE_OF_CONDUCT.md) ja [osallistumisohjeisiin](CONTRIBUTING.md). Otamme mielellämme vastaan rakentavaa palautettasi!
## 🧭 Offline-käyttö
Voit käyttää tätä dokumentaatiota offline-tilassa käyttämällä [Docsify](https://docsify.js.org/#/). Haarauta tämä repositorio, [asenna Docsify](https://docsify.js.org/#/quickstart) paikalliselle koneellesi ja siirry tämän repositorion juurikansioon, kirjoita `docsify serve`. Sivusto palvelee portissa 3000 paikallisessa koneessasi: `localhost:3000`.
Voit käyttää tätä dokumentaatiota offline-tilassa käyttämällä [Docsifyä](https://docsify.js.org/#/). Forkkaa tämä repositorio, [asenna Docsify](https://docsify.js.org/#/quickstart) paikalliselle koneellesi, ja aja sitten tämän repojen juuressa komentoa `docsify serve`. Verkkosivusto palvellaan portissa 3000 osoitteessa `localhost:3000`.
## 📘 PDF
PDF-versio kaikista oppitunneista löytyy [täältä](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
Kaikkien oppituntien PDF löytyy [täältä](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Muut kurssit
@ -225,7 +213,7 @@ Tiimimme tuottaa myös muita kursseja! Tutustu:
---
### Azure / Edge / MCP / Agents
### Azure / Edge / MCP / Agentit
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -233,7 +221,7 @@ Tiimimme tuottaa myös muita kursseja! Tutustu:
---
### Generative AI Series
### Generatiivinen AI -sarja
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -241,7 +229,7 @@ Tiimimme tuottaa myös muita kursseja! Tutustu:
---
### Core Learning
### Perusopiskelu
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -252,29 +240,29 @@ Tiimimme tuottaa myös muita kursseja! Tutustu:
---
### Copilot Series
### Copilot-sarja
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Apua saatavana
## Apua saamaan
Jos jumitut tai sinulla on kysyttävää tekoälysovellusten rakentamisesta. Liity muiden oppijoiden ja kokeneiden kehittäjien keskusteluihin MCP:stä. Se on kannustava yhteisö, jossa kysymykset ovat tervetulleita ja tieto jaetaan vapaasti.
Jos jumitut tai sinulla on kysyttävää tekoälysovellusten rakentamisesta, liity muiden oppijoiden ja kokeneiden kehittäjien keskusteluihin MCP:stä. Se on kannustava yhteisö, jossa kysymykset ovat tervetulleita ja tietoa jaetaan vapaasti.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Jos sinulla on tuotepalaute tai kohtaat virheitä rakentamisen aikana, käy:
Jos sinulla on tuotepalautetta tai rakentaessa ilmenee virheitä, käy:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Lisenssi
Tämä arkisto on lisensoitu MIT-lisenssillä. Lisätietoja löydät tiedostosta [LICENSE](../../LICENSE).
Tämä arkisto on lisensoitu MIT-lisenssillä. Lisätietoja on tiedostossa [LICENSE](../../LICENSE).
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Vastuuvapauslauseke**:
Tämä asiakirja on käännetty tekoälypohjaisella käännöspalvelulla [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, automaattisissa käännöksissä saattaa esiintyä virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen omalla kielellä tulee pitää virallisena lähteenä. Tärkeiden tietojen osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.
**Vastuuvapauslauseke**:
Tämä asiakirja on käännetty tekoälypohjaisella käännöspalvelulla [Co-op Translator](https://github.com/Azure/co-op-translator). Vaikka pyrimme tarkkuuteen, otathan huomioon, että automaattikäännöksissä voi esiintyä virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäiskielellä tulee pitää ensisijaisena lähteenä. Tärkeissä asioissa suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä aiheutuvista väärinymmärryksistä tai tulkinnoista.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "4ecc3bf2e27983d4c780be6f26ee6228",
"translation_date": "2025-08-27T20:03:36+00:00",
"source_file": "SECURITY.md",
"language_code": "fi"
}
-->
## Tietoturva
Microsoft suhtautuu vakavasti ohjelmistotuotteidensa ja palveluidensa tietoturvaan, mukaan lukien kaikki lähdekoodivarastot, joita hallinnoidaan GitHub-organisaatioidemme kautta, kuten [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin) ja [GitHub-organisaatiomme](https://opensource.microsoft.com/?WT.mc_id=academic-77807-sagibbon).

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "c9d207ff77b4bb46e46dc2b607a8ec1a",
"translation_date": "2025-08-27T20:02:12+00:00",
"source_file": "SUPPORT.md",
"language_code": "fi"
}
-->
# Tuki
## Kuinka raportoida ongelmia ja saada apua

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "ea9f0804bd62f46d9808e953ec7fc459",
"translation_date": "2025-08-27T20:03:22+00:00",
"source_file": "_404.md",
"language_code": "fi"
}
-->
# Työn alla
Työskentelemme tämän sivun parissa. Tarkista myöhemmin uudelleen.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "3bd2f51ecf4ac9b39277cba748943793",
"translation_date": "2025-08-27T20:20:14+00:00",
"source_file": "docs/_navbar.md",
"language_code": "fi"
}
-->
- Käännökset
- [English (United States)](../../../docs/README)
- [বাংলা](../../../docs/README.bn)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "655c91b5979de46f1d70d97f0c5f1d14",
"translation_date": "2025-08-27T20:19:47+00:00",
"source_file": "docs/_sidebar.md",
"language_code": "fi"
}
-->
- Johdanto
- [1](../1-getting-started-lessons/1-intro-to-programming-languages/README.md)
- [2](../1-getting-started-lessons/2-github-basics/README.md)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "71009af209f81cc01a1f2d324200375f",
"translation_date": "2025-10-03T10:03:24+00:00",
"source_file": "for-teachers.md",
"language_code": "fi"
}
-->
### Opettajille
Voit käyttää tätä opetusohjelmaa luokassasi. Se toimii saumattomasti GitHub Classroomin ja johtavien LMS-alustojen kanssa, ja sitä voidaan käyttää myös itsenäisenä repositoriona opiskelijoiden kanssa.

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0494be70ad7fadd13a8c3d549c23e355",
"translation_date": "2025-08-27T21:06:51+00:00",
"source_file": "lesson-template/README.md",
"language_code": "fi"
}
-->
# [Oppiaihe]
![Upota video tähän](../../../lesson-template/video-url)

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130",
"translation_date": "2025-08-27T21:07:13+00:00",
"source_file": "lesson-template/assignment.md",
"language_code": "fi"
}
-->
# [Tehtävän nimi]
## Ohjeet

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "ff47271e53637b2ba6ba72ad2b70f6d7",
"translation_date": "2025-10-03T11:57:10+00:00",
"source_file": "memory-game/README.md",
"language_code": "fi"
}
-->
Tämä on [Next.js](https://nextjs.org) -projekti, joka on luotu [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) -työkalulla.
## Aloittaminen

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "5301875c55bb305e6046bed3a4fd06d2",
"translation_date": "2025-08-27T21:10:23+00:00",
"source_file": "quiz-app/README.md",
"language_code": "fi"
}
-->
# Visailusovellus
Nämä visailut ovat ennen ja jälkeen luentojen tehtäviä data-analytiikan opetusohjelmassa osoitteessa https://aka.ms/webdev-beginners

@ -0,0 +1,584 @@
{
"1-getting-started-lessons/1-intro-to-programming-languages/README.md": {
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2025-11-04T01:51:13+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "nl"
},
"1-getting-started-lessons/1-intro-to-programming-languages/assignment.md": {
"original_hash": "17b8ec8e85d99e27dcb3f73842e583be",
"translation_date": "2025-10-23T00:51:28+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md",
"language_code": "nl"
},
"1-getting-started-lessons/2-github-basics/README.md": {
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-25T18:00:57+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "nl"
},
"1-getting-started-lessons/3-accessibility/README.md": {
"original_hash": "7f2c48e04754724123ea100a822765e5",
"translation_date": "2025-11-04T01:52:37+00:00",
"source_file": "1-getting-started-lessons/3-accessibility/README.md",
"language_code": "nl"
},
"1-getting-started-lessons/3-accessibility/assignment.md": {
"original_hash": "e6d0f456dfc22afb41bbdefeb5ec179d",
"translation_date": "2025-10-23T00:52:41+00:00",
"source_file": "1-getting-started-lessons/3-accessibility/assignment.md",
"language_code": "nl"
},
"1-getting-started-lessons/README.md": {
"original_hash": "770d9f83dddc841c19f210dee5fe0712",
"translation_date": "2025-10-03T13:28:20+00:00",
"source_file": "1-getting-started-lessons/README.md",
"language_code": "nl"
},
"10-ai-framework-project/README.md": {
"original_hash": "3925b6a1c31c60755eaae4d578232c25",
"translation_date": "2025-11-04T01:55:07+00:00",
"source_file": "10-ai-framework-project/README.md",
"language_code": "nl"
},
"10-ai-framework-project/solution/README.md": {
"original_hash": "d41d8cd98f00b204e9800998ecf8427e",
"translation_date": "2026-01-29T18:32:01+00:00",
"source_file": "10-ai-framework-project/solution/README.md",
"language_code": "nl"
},
"2-js-basics/1-data-types/README.md": {
"original_hash": "672b0bb6e8b431075f3bdb7130590d2d",
"translation_date": "2025-11-04T01:48:19+00:00",
"source_file": "2-js-basics/1-data-types/README.md",
"language_code": "nl"
},
"2-js-basics/1-data-types/assignment.md": {
"original_hash": "6fd645e97c48cd5eb5a3d290815ec8b5",
"translation_date": "2025-10-23T00:47:37+00:00",
"source_file": "2-js-basics/1-data-types/assignment.md",
"language_code": "nl"
},
"2-js-basics/2-functions-methods/README.md": {
"original_hash": "71f7d7dafa1c7194d79ddac87f669ff9",
"translation_date": "2025-11-04T01:48:54+00:00",
"source_file": "2-js-basics/2-functions-methods/README.md",
"language_code": "nl"
},
"2-js-basics/2-functions-methods/assignment.md": {
"original_hash": "8328f58f4593b4671656ff8f4b2edbd9",
"translation_date": "2025-10-23T00:48:03+00:00",
"source_file": "2-js-basics/2-functions-methods/assignment.md",
"language_code": "nl"
},
"2-js-basics/3-making-decisions/README.md": {
"original_hash": "c688385d15dd3645e924ea0ffee8967f",
"translation_date": "2025-11-04T01:49:56+00:00",
"source_file": "2-js-basics/3-making-decisions/README.md",
"language_code": "nl"
},
"2-js-basics/3-making-decisions/assignment.md": {
"original_hash": "ffe366b2d1f037b99fbadbe1dc81083d",
"translation_date": "2025-10-23T00:49:03+00:00",
"source_file": "2-js-basics/3-making-decisions/assignment.md",
"language_code": "nl"
},
"2-js-basics/4-arrays-loops/README.md": {
"original_hash": "1710a50a519a6e4a1b40a5638783018d",
"translation_date": "2025-11-04T01:49:25+00:00",
"source_file": "2-js-basics/4-arrays-loops/README.md",
"language_code": "nl"
},
"2-js-basics/4-arrays-loops/assignment.md": {
"original_hash": "8abcada0534e0fb3a7556ea3c5a2a8a4",
"translation_date": "2025-10-23T00:48:34+00:00",
"source_file": "2-js-basics/4-arrays-loops/assignment.md",
"language_code": "nl"
},
"2-js-basics/README.md": {
"original_hash": "cc9e70a2f096c67389c8acff1521fc27",
"translation_date": "2025-08-27T20:12:32+00:00",
"source_file": "2-js-basics/README.md",
"language_code": "nl"
},
"3-terrarium/1-intro-to-html/README.md": {
"original_hash": "3fcfa99c4897e051b558b5eaf1e8cc74",
"translation_date": "2025-11-04T01:58:55+00:00",
"source_file": "3-terrarium/1-intro-to-html/README.md",
"language_code": "nl"
},
"3-terrarium/1-intro-to-html/assignment.md": {
"original_hash": "650e63282e1dfa032890fcf5c1c4119d",
"translation_date": "2025-10-23T00:58:48+00:00",
"source_file": "3-terrarium/1-intro-to-html/assignment.md",
"language_code": "nl"
},
"3-terrarium/2-intro-to-css/README.md": {
"original_hash": "e39f3a4e3bcccf94639e3af1248f8a4d",
"translation_date": "2025-11-04T01:58:16+00:00",
"source_file": "3-terrarium/2-intro-to-css/README.md",
"language_code": "nl"
},
"3-terrarium/2-intro-to-css/assignment.md": {
"original_hash": "bee6762d4092a13fc7c338814963f980",
"translation_date": "2025-10-23T00:58:09+00:00",
"source_file": "3-terrarium/2-intro-to-css/assignment.md",
"language_code": "nl"
},
"3-terrarium/3-intro-to-DOM-and-closures/README.md": {
"original_hash": "973e48ad87d67bf5bb819746c9f8e302",
"translation_date": "2025-11-04T01:57:31+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/README.md",
"language_code": "nl"
},
"3-terrarium/3-intro-to-DOM-and-closures/assignment.md": {
"original_hash": "947ca5ce7c94aee9c7de7034e762bc17",
"translation_date": "2025-10-23T00:57:26+00:00",
"source_file": "3-terrarium/3-intro-to-DOM-and-closures/assignment.md",
"language_code": "nl"
},
"3-terrarium/README.md": {
"original_hash": "bc5c5550f79d10add90ce419ee34abb3",
"translation_date": "2026-01-07T01:04:17+00:00",
"source_file": "3-terrarium/README.md",
"language_code": "nl"
},
"3-terrarium/solution/README.md": {
"original_hash": "6329fbe8bd936068debd78cca6f09c0a",
"translation_date": "2025-08-27T20:12:09+00:00",
"source_file": "3-terrarium/solution/README.md",
"language_code": "nl"
},
"4-typing-game/README.md": {
"original_hash": "efa2ab875b8bb5a7883816506da6b6d2",
"translation_date": "2025-11-04T02:03:03+00:00",
"source_file": "4-typing-game/README.md",
"language_code": "nl"
},
"4-typing-game/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T21:07:55+00:00",
"source_file": "4-typing-game/solution/README.md",
"language_code": "nl"
},
"4-typing-game/typing-game/README.md": {
"original_hash": "da8bc72041a2bb3826a54654ee1a8844",
"translation_date": "2025-11-04T02:03:14+00:00",
"source_file": "4-typing-game/typing-game/README.md",
"language_code": "nl"
},
"4-typing-game/typing-game/assignment.md": {
"original_hash": "3eac59d70e2532a677a2ce6bf765485a",
"translation_date": "2025-10-23T01:03:44+00:00",
"source_file": "4-typing-game/typing-game/assignment.md",
"language_code": "nl"
},
"5-browser-extension/1-about-browsers/README.md": {
"original_hash": "00aa85715e1efd4930c17a23e3012e69",
"translation_date": "2025-11-04T02:08:40+00:00",
"source_file": "5-browser-extension/1-about-browsers/README.md",
"language_code": "nl"
},
"5-browser-extension/1-about-browsers/assignment.md": {
"original_hash": "b6897c02603d0045dd6d8256e8714baa",
"translation_date": "2025-10-23T01:08:39+00:00",
"source_file": "5-browser-extension/1-about-browsers/assignment.md",
"language_code": "nl"
},
"5-browser-extension/2-forms-browsers-local-storage/README.md": {
"original_hash": "2b6203a48c48d8234e0948353b47d84e",
"translation_date": "2025-11-04T02:08:08+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/README.md",
"language_code": "nl"
},
"5-browser-extension/2-forms-browsers-local-storage/assignment.md": {
"original_hash": "25b8d28b8531352d4eb67291fd7824c4",
"translation_date": "2025-10-23T01:08:02+00:00",
"source_file": "5-browser-extension/2-forms-browsers-local-storage/assignment.md",
"language_code": "nl"
},
"5-browser-extension/3-background-tasks-and-performance/README.md": {
"original_hash": "b275fed2c6fc90d2b9b6661a3225faa2",
"translation_date": "2025-11-04T02:07:31+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/README.md",
"language_code": "nl"
},
"5-browser-extension/3-background-tasks-and-performance/assignment.md": {
"original_hash": "a203e560e58ccc6ba68bffc40c7c8676",
"translation_date": "2025-10-23T01:07:24+00:00",
"source_file": "5-browser-extension/3-background-tasks-and-performance/assignment.md",
"language_code": "nl"
},
"5-browser-extension/README.md": {
"original_hash": "b121a279a6ab39878491f3e572673515",
"translation_date": "2025-08-27T20:42:44+00:00",
"source_file": "5-browser-extension/README.md",
"language_code": "nl"
},
"5-browser-extension/solution/README.md": {
"original_hash": "fab4e6b4f0efcd587a9029d82991f597",
"translation_date": "2025-08-27T20:51:38+00:00",
"source_file": "5-browser-extension/solution/README.md",
"language_code": "nl"
},
"5-browser-extension/solution/translation/README.es.md": {
"original_hash": "cbaf73f94a9ab4c680a10ef871e92948",
"translation_date": "2025-08-27T20:52:03+00:00",
"source_file": "5-browser-extension/solution/translation/README.es.md",
"language_code": "nl"
},
"5-browser-extension/solution/translation/README.fr.md": {
"original_hash": "9361268ca430b2579375009e1eceb5e5",
"translation_date": "2025-08-27T20:53:24+00:00",
"source_file": "5-browser-extension/solution/translation/README.fr.md",
"language_code": "nl"
},
"5-browser-extension/solution/translation/README.hi.md": {
"original_hash": "dd58ae1b7707034f055718c1b68bc8de",
"translation_date": "2025-08-27T20:52:30+00:00",
"source_file": "5-browser-extension/solution/translation/README.hi.md",
"language_code": "nl"
},
"5-browser-extension/solution/translation/README.it.md": {
"original_hash": "9a6b22a2eff0f499b66236be973b24ad",
"translation_date": "2025-08-27T20:53:56+00:00",
"source_file": "5-browser-extension/solution/translation/README.it.md",
"language_code": "nl"
},
"5-browser-extension/solution/translation/README.ja.md": {
"original_hash": "3f5e6821e0febccfc5d05e7c944d9e3d",
"translation_date": "2025-08-27T20:54:25+00:00",
"source_file": "5-browser-extension/solution/translation/README.ja.md",
"language_code": "nl"
},
"5-browser-extension/solution/translation/README.ms.md": {
"original_hash": "21b364c158c8e4f698de65eeac16c9fe",
"translation_date": "2025-08-27T20:52:57+00:00",
"source_file": "5-browser-extension/solution/translation/README.ms.md",
"language_code": "nl"
},
"5-browser-extension/start/README.md": {
"original_hash": "26fd39046d264ba185dcb086d3a8cf3e",
"translation_date": "2025-08-27T20:46:28+00:00",
"source_file": "5-browser-extension/start/README.md",
"language_code": "nl"
},
"6-space-game/1-introduction/README.md": {
"original_hash": "a6332a7bb4d0be3bfd24199c83993777",
"translation_date": "2025-11-04T02:06:32+00:00",
"source_file": "6-space-game/1-introduction/README.md",
"language_code": "nl"
},
"6-space-game/1-introduction/assignment.md": {
"original_hash": "c8fc39a014d08247c082878122e2ba73",
"translation_date": "2025-10-23T01:06:36+00:00",
"source_file": "6-space-game/1-introduction/assignment.md",
"language_code": "nl"
},
"6-space-game/2-drawing-to-canvas/README.md": {
"original_hash": "7994743c5b21fdcceb36307916ef249a",
"translation_date": "2025-11-04T02:04:47+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/README.md",
"language_code": "nl"
},
"6-space-game/2-drawing-to-canvas/assignment.md": {
"original_hash": "87cd43afe5b69dbbffb5c4b209ea6791",
"translation_date": "2025-10-23T01:04:56+00:00",
"source_file": "6-space-game/2-drawing-to-canvas/assignment.md",
"language_code": "nl"
},
"6-space-game/3-moving-elements-around/README.md": {
"original_hash": "8c55a2bd4bc0ebe4c88198fd563a9e09",
"translation_date": "2025-11-04T02:04:02+00:00",
"source_file": "6-space-game/3-moving-elements-around/README.md",
"language_code": "nl"
},
"6-space-game/3-moving-elements-around/assignment.md": {
"original_hash": "c162b3b3a1cafc1483c8015e9b266f0d",
"translation_date": "2025-10-23T01:04:25+00:00",
"source_file": "6-space-game/3-moving-elements-around/assignment.md",
"language_code": "nl"
},
"6-space-game/4-collision-detection/README.md": {
"original_hash": "039b4d8ce65f5edd82cf48d9c3e6728c",
"translation_date": "2025-11-04T02:05:56+00:00",
"source_file": "6-space-game/4-collision-detection/README.md",
"language_code": "nl"
},
"6-space-game/4-collision-detection/assignment.md": {
"original_hash": "124efddbb65166cddb38075ad6dae324",
"translation_date": "2025-10-23T01:06:09+00:00",
"source_file": "6-space-game/4-collision-detection/assignment.md",
"language_code": "nl"
},
"6-space-game/4-collision-detection/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:27:52+00:00",
"source_file": "6-space-game/4-collision-detection/solution/README.md",
"language_code": "nl"
},
"6-space-game/4-collision-detection/your-work/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:27:40+00:00",
"source_file": "6-space-game/4-collision-detection/your-work/README.md",
"language_code": "nl"
},
"6-space-game/5-keeping-score/README.md": {
"original_hash": "2ed9145a16cf576faa2a973dff84d099",
"translation_date": "2025-11-04T02:07:06+00:00",
"source_file": "6-space-game/5-keeping-score/README.md",
"language_code": "nl"
},
"6-space-game/5-keeping-score/assignment.md": {
"original_hash": "81f292dbda01685b91735e0398dc0504",
"translation_date": "2025-08-27T20:22:01+00:00",
"source_file": "6-space-game/5-keeping-score/assignment.md",
"language_code": "nl"
},
"6-space-game/5-keeping-score/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:22:29+00:00",
"source_file": "6-space-game/5-keeping-score/solution/README.md",
"language_code": "nl"
},
"6-space-game/5-keeping-score/your-work/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:22:17+00:00",
"source_file": "6-space-game/5-keeping-score/your-work/README.md",
"language_code": "nl"
},
"6-space-game/6-end-condition/README.md": {
"original_hash": "a4b78043f4d64bf3ee24e0689b8b391d",
"translation_date": "2025-11-04T02:05:22+00:00",
"source_file": "6-space-game/6-end-condition/README.md",
"language_code": "nl"
},
"6-space-game/6-end-condition/assignment.md": {
"original_hash": "232d592791465c1678cab3a2bb6cd3e8",
"translation_date": "2025-10-23T01:05:29+00:00",
"source_file": "6-space-game/6-end-condition/assignment.md",
"language_code": "nl"
},
"6-space-game/6-end-condition/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:45+00:00",
"source_file": "6-space-game/6-end-condition/solution/README.md",
"language_code": "nl"
},
"6-space-game/6-end-condition/your-work/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:33+00:00",
"source_file": "6-space-game/6-end-condition/your-work/README.md",
"language_code": "nl"
},
"6-space-game/README.md": {
"original_hash": "c40a698395ee5102715f7880bba3f2e7",
"translation_date": "2025-08-27T20:20:42+00:00",
"source_file": "6-space-game/README.md",
"language_code": "nl"
},
"6-space-game/solution/README.md": {
"original_hash": "068cbb9b3c10a96d503f6cdd6c9ace8c",
"translation_date": "2025-08-27T20:30:58+00:00",
"source_file": "6-space-game/solution/README.md",
"language_code": "nl"
},
"7-bank-project/1-template-route/README.md": {
"original_hash": "351678bece18f07d9daa987a881fb062",
"translation_date": "2025-11-04T02:01:18+00:00",
"source_file": "7-bank-project/1-template-route/README.md",
"language_code": "nl"
},
"7-bank-project/1-template-route/assignment.md": {
"original_hash": "df0dcecddcd28ea8cbf6ede0ad57d673",
"translation_date": "2025-10-23T01:01:39+00:00",
"source_file": "7-bank-project/1-template-route/assignment.md",
"language_code": "nl"
},
"7-bank-project/2-forms/README.md": {
"original_hash": "7cbdbd132d39a2bb493e85bc2a9387cc",
"translation_date": "2025-11-04T02:02:10+00:00",
"source_file": "7-bank-project/2-forms/README.md",
"language_code": "nl"
},
"7-bank-project/2-forms/assignment.md": {
"original_hash": "efb01fcafd2ef40c593a6e662fc938a8",
"translation_date": "2025-10-23T01:02:41+00:00",
"source_file": "7-bank-project/2-forms/assignment.md",
"language_code": "nl"
},
"7-bank-project/3-data/README.md": {
"original_hash": "86ee5069f27ea3151389d8687c95fac9",
"translation_date": "2025-11-04T02:00:17+00:00",
"source_file": "7-bank-project/3-data/README.md",
"language_code": "nl"
},
"7-bank-project/3-data/assignment.md": {
"original_hash": "d0a02cb117e91a5b5f24178080068a3d",
"translation_date": "2025-10-23T01:00:48+00:00",
"source_file": "7-bank-project/3-data/assignment.md",
"language_code": "nl"
},
"7-bank-project/4-state-management/README.md": {
"original_hash": "b807b09df716dc48a2b750835bf8e933",
"translation_date": "2025-11-04T01:59:30+00:00",
"source_file": "7-bank-project/4-state-management/README.md",
"language_code": "nl"
},
"7-bank-project/4-state-management/assignment.md": {
"original_hash": "50a7783473b39a2e0f133e271a102231",
"translation_date": "2025-10-23T00:59:43+00:00",
"source_file": "7-bank-project/4-state-management/assignment.md",
"language_code": "nl"
},
"7-bank-project/README.md": {
"original_hash": "830359535306594b448db6575ce5cdee",
"translation_date": "2025-08-27T20:54:51+00:00",
"source_file": "7-bank-project/README.md",
"language_code": "nl"
},
"7-bank-project/api/README.md": {
"original_hash": "9884f8c8a61cf56214450f8b16a094ce",
"translation_date": "2025-08-27T20:55:14+00:00",
"source_file": "7-bank-project/api/README.md",
"language_code": "nl"
},
"7-bank-project/solution/README.md": {
"original_hash": "461aa4fc74c6b1789c3a13b5d82c0cd9",
"translation_date": "2025-08-27T21:03:51+00:00",
"source_file": "7-bank-project/solution/README.md",
"language_code": "nl"
},
"8-code-editor/1-using-a-code-editor/README.md": {
"original_hash": "a9a3bcc037a447e2d8994d99e871cd9f",
"translation_date": "2025-11-04T01:50:28+00:00",
"source_file": "8-code-editor/1-using-a-code-editor/README.md",
"language_code": "nl"
},
"8-code-editor/1-using-a-code-editor/assignment.md": {
"original_hash": "effe56ba51c38d7bdfad1ea38288666b",
"translation_date": "2025-10-23T00:49:50+00:00",
"source_file": "8-code-editor/1-using-a-code-editor/assignment.md",
"language_code": "nl"
},
"9-chat-project/README.md": {
"original_hash": "2066c17078e9d18b5e309f31d8e8bc24",
"translation_date": "2025-11-04T01:55:49+00:00",
"source_file": "9-chat-project/README.md",
"language_code": "nl"
},
"9-chat-project/solution/README.md": {
"original_hash": "cb549dcad8eea3221cb89793aeaa3bb3",
"translation_date": "2025-09-01T15:33:35+00:00",
"source_file": "9-chat-project/solution/README.md",
"language_code": "nl"
},
"9-chat-project/solution/backend/README.md": {
"original_hash": "bcd2c2bbaae71151b1ed1b9170aa78af",
"translation_date": "2025-09-01T15:43:58+00:00",
"source_file": "9-chat-project/solution/backend/README.md",
"language_code": "nl"
},
"9-chat-project/solution/backend/python/README.md": {
"original_hash": "0aaa930f076f2d83cc872ad157f8ffd3",
"translation_date": "2025-10-23T00:56:07+00:00",
"source_file": "9-chat-project/solution/backend/python/README.md",
"language_code": "nl"
},
"9-chat-project/solution/frontend/README.md": {
"original_hash": "7746a470be8fc7f736eb1b43ebb710ee",
"translation_date": "2025-09-01T15:52:50+00:00",
"source_file": "9-chat-project/solution/frontend/README.md",
"language_code": "nl"
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:31:33+00:00",
"source_file": "AGENTS.md",
"language_code": "nl"
},
"CODE_OF_CONDUCT.md": {
"original_hash": "b0a9b4cccd918195f58224d5793da1a6",
"translation_date": "2025-08-27T20:03:10+00:00",
"source_file": "CODE_OF_CONDUCT.md",
"language_code": "nl"
},
"CONTRIBUTING.md": {
"original_hash": "777400e9f0336c7ee2f9a1200a88478f",
"translation_date": "2025-08-27T20:04:27+00:00",
"source_file": "CONTRIBUTING.md",
"language_code": "nl"
},
"Git-Basics/README.md": {
"original_hash": "5cf5e1ed51455fefed4895fcc4d6ba2a",
"translation_date": "2025-10-03T15:55:11+00:00",
"source_file": "Git-Basics/README.md",
"language_code": "nl"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T18:37:58+00:00",
"source_file": "README.md",
"language_code": "nl"
},
"SECURITY.md": {
"original_hash": "4ecc3bf2e27983d4c780be6f26ee6228",
"translation_date": "2025-08-27T20:03:50+00:00",
"source_file": "SECURITY.md",
"language_code": "nl"
},
"SUPPORT.md": {
"original_hash": "c9d207ff77b4bb46e46dc2b607a8ec1a",
"translation_date": "2025-08-27T20:02:18+00:00",
"source_file": "SUPPORT.md",
"language_code": "nl"
},
"_404.md": {
"original_hash": "ea9f0804bd62f46d9808e953ec7fc459",
"translation_date": "2025-08-27T20:03:27+00:00",
"source_file": "_404.md",
"language_code": "nl"
},
"docs/_navbar.md": {
"original_hash": "3bd2f51ecf4ac9b39277cba748943793",
"translation_date": "2025-08-27T20:20:20+00:00",
"source_file": "docs/_navbar.md",
"language_code": "nl"
},
"docs/_sidebar.md": {
"original_hash": "655c91b5979de46f1d70d97f0c5f1d14",
"translation_date": "2025-08-27T20:19:56+00:00",
"source_file": "docs/_sidebar.md",
"language_code": "nl"
},
"for-teachers.md": {
"original_hash": "71009af209f81cc01a1f2d324200375f",
"translation_date": "2025-10-03T10:06:52+00:00",
"source_file": "for-teachers.md",
"language_code": "nl"
},
"lesson-template/README.md": {
"original_hash": "0494be70ad7fadd13a8c3d549c23e355",
"translation_date": "2025-08-27T21:06:58+00:00",
"source_file": "lesson-template/README.md",
"language_code": "nl"
},
"lesson-template/assignment.md": {
"original_hash": "b5f62ec256c7e43e771f0d3b4e1a9130",
"translation_date": "2025-08-27T21:07:18+00:00",
"source_file": "lesson-template/assignment.md",
"language_code": "nl"
},
"memory-game/README.md": {
"original_hash": "ff47271e53637b2ba6ba72ad2b70f6d7",
"translation_date": "2025-10-03T11:57:18+00:00",
"source_file": "memory-game/README.md",
"language_code": "nl"
},
"quiz-app/README.md": {
"original_hash": "5301875c55bb305e6046bed3a4fd06d2",
"translation_date": "2025-08-27T21:10:37+00:00",
"source_file": "quiz-app/README.md",
"language_code": "nl"
}
}

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "d45ddcc54eb9232a76d08328b09d792e",
"translation_date": "2025-11-04T01:51:13+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/README.md",
"language_code": "nl"
}
-->
# Introductie tot programmeertalen en moderne ontwikkeltools
Hoi daar, toekomstige ontwikkelaar! 👋 Mag ik je iets vertellen dat me elke dag weer kippenvel bezorgt? Je staat op het punt te ontdekken dat programmeren niet alleen over computers gaat het is alsof je superkrachten krijgt om je wildste ideeën tot leven te brengen!

@ -1,12 +1,3 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "17b8ec8e85d99e27dcb3f73842e583be",
"translation_date": "2025-10-23T00:51:28+00:00",
"source_file": "1-getting-started-lessons/1-intro-to-programming-languages/assignment.md",
"language_code": "nl"
}
-->
# Opdracht: Verkennen van moderne webontwikkelingstools
## Instructies

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save