Skip to content

Commit 00b53fa

Browse files
committed
2425: uitbreiding tekst en nieuwe eindopdracht
1 parent 329de33 commit 00b53fa

2 files changed

Lines changed: 131 additions & 21 deletions

File tree

syllabus/default.md

Lines changed: 128 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Welkom bij de module over javascript. Javascript is de meestgebruikte programmeertaal in 2023. Waarom dat zo is?
66
Javascript is ingebouwd in elke webbrowser. Sommige PC apps worden gemaakt in Javascript. Het is onderdeel van veel mobiele apps. Het wordt gebruikt in de back-end "de cloud", om verzoeken van webbrowsers en apps af te handelen.
77

8-
Je docent is Merijn Vogel, als docent een eetje een noob, maar zeer ervaren als software ontwikkelaar.
8+
Je docent is Merijn Vogel, als docent een beetje een noob, maar zeer ervaren als software ontwikkelaar.
99

1010
# Kennismaken met javascript
1111

@@ -43,9 +43,9 @@ Bestanden:
4343
- `style.css` is voor de styling van de HTML (als je de module *HTML en CSS* hebt gedaan komt dit je waarschijnlijk bekend voor).
4444

4545
Bewerken van dit soort bestanden doe je met een code-editor (en zeker niet met Word!).
46-
Bijvoorbeeld `notepad++` of een "echte" programmeeromgeving zoals Visual Studio Code (en die is zelf geschreven in ... Javascript).
46+
Bijvoorbeeld `notepad++` . Gebruik voor deze module liever geen "echte" programmeeromgeving zoals Visual Studio Code. Een dergelijke programmeeromgeving is zo erg behulpzaam dat het lastig wordt.
4747

48-
HTML:
48+
Voorbeeld HTML:
4949
```html
5050
<!DOCTYPE html>
5151
<html lang="en">
@@ -70,7 +70,7 @@ HTML:
7070
</html>
7171
```
7272

73-
CSS:
73+
Voorbeeld CSS:
7474
```css
7575
:root {
7676
/* (almost) all elements display a sans-serif font */
@@ -82,15 +82,6 @@ h1 {
8282
}
8383
```
8484

85-
#### NodeJS: de moderne manier van Javascript (ook geschikt voor niet-web toepassingen)
86-
87-
Installatie: https://nodejs.dev/en/learn/how-to-install-nodejs/
88-
Leren via: https://nodejs.dev/en/learn/
89-
90-
NodeJS is een generieke programmeeromgeving met Javascript. Net zoals bij python kun je een bestand maken en uitvoeren met NodeJS.
91-
92-
Bewerken van bestanden met computer code doe je met een code-editor (en zeker niet met Word!). Bijvoorbeeld `notepad++` of een volledige programmeeromgeving zoals Visual Studio Code (en die is zelf geschreven in ... Javascript).
93-
9485
#### Anders, namelijk...
9586

9687
Zoals altijd bij Q-highschool mag je het "beter weten" / iets anders doen... wij zijn er voor jou!
@@ -249,20 +240,143 @@ Dit kan bijvoorbeeld iets zijn als: de invoer van namen of teams en daaruit een
249240

250241
Natuurlijk is het internet een goede hulpbron; maar je maakt je werk wel zelf. Als je een tutorial volgt, geef duidelijk aan welke tutorial dat is. Dat maakt het mogelijk om bij het nakijken te zien wat je eigen inbreng is. De reden dat we willen dat je het _persoonlijk_ maakt, heeft hiermee ook te maken.
251242

243+
Dat geldt ook voor het gebruik van chat-bots. Je kunt ChatGPT heel veel laten doen voor je, maar dan leer je het zelf niet! Natuurlijk werkt jullie docent dagelijks met chatbots samen, maar dat is wel na 20+ jaar alles zelf doen!
244+
245+
Dus als je een chatbot gebruikt, houdt dan ajb bij wat je vraag was, wat de reactie was en _waarom_ dat een goed idee is (of juist niet).
246+
247+
## Wat ga je maken
248+
249+
Maak een digitaal huisdiertje. Zorg ervoor dat het bij jou past, of bij jullie docent. Of misschien juist een monstertje is!
250+
251+
- Je diertje heeft minimaal 4 stats, zoals hoe blij die is, hoe moe, etc.
252+
- Je kunt die stats beinvloeden met acties
253+
- Er mag iets van willekeur in zitten bij die acties om het spannender te maken
254+
255+
## Startpakket (ja, met dank aan ChatGPT)
256+
257+
Let op dat dit startpakket natuurlijk niet volledig is!
258+
Personaliseer het dier naar hartelust!
259+
260+
```html
261+
<!DOCTYPE html>
262+
<html lang="en">
263+
<head>
264+
<meta charset="UTF-8">
265+
<meta name="viewport" content="width=device-width, initial-scale=1">
266+
<title>My Digital Pet</title>
267+
<link rel="stylesheet" href="style.css">
268+
</head>
269+
<body>
270+
<div class="container">
271+
<h1>My Digital Pet</h1>
272+
273+
<div class="pet-area">
274+
<img src="pet-happy.png" alt="Digital Pet" id="pet-image">
275+
<p id="pet-message">I'm feeling great!</p>
276+
</div>
277+
278+
<div class="stats">
279+
<div>Hunger: <span id="hunger">5</span></div>
280+
<div>Happiness: <span id="happiness">5</span></div>
281+
<div>Energy: <span id="energy">5</span></div>
282+
</div>
283+
284+
<div class="actions">
285+
<button id="feed-btn">🍕 Feed</button>
286+
<button id="play-btn">🎾 Play</button>
287+
<button id="sleep-btn">💤 Sleep</button>
288+
</div>
289+
</div>
290+
291+
<script src="script.js"></script>
292+
</body>
293+
</html>
294+
295+
296+
```css
297+
body {
298+
font-family: 'Arial', sans-serif;
299+
background: #f0f8ff;
300+
color: #333;
301+
display: flex;
302+
justify-content: center;
303+
align-items: center;
304+
min-height: 100vh;
305+
margin: 0;
306+
}
307+
308+
.container {
309+
text-align: center;
310+
background: white;
311+
padding: 2rem;
312+
border-radius: 12px;
313+
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
314+
width: 90%;
315+
max-width: 400px;
316+
}
317+
318+
.pet-area {
319+
margin: 1.5rem 0;
320+
}
321+
322+
.pet-area img {
323+
width: 150px;
324+
height: auto;
325+
}
326+
327+
.stats {
328+
margin: 1rem 0;
329+
font-size: 1.1rem;
330+
}
331+
332+
.stats div {
333+
margin: 0.5rem 0;
334+
}
335+
336+
.actions button {
337+
font-size: 1.1rem;
338+
margin: 0.5rem;
339+
padding: 0.5rem 1rem;
340+
border: none;
341+
background-color: #87cefa;
342+
color: white;
343+
border-radius: 6px;
344+
cursor: pointer;
345+
transition: background 0.2s;
346+
}
347+
348+
.actions button:hover {
349+
background-color: #4682b4;
350+
}
351+
352+
```
353+
354+
Het bestand `script.js` maak je zelf, dat is namelijk waar jij in actie komt!
355+
356+
Veel plezier
357+
252358

253359
## Inleveren
254360

361+
- Maak een map met je naam erin als naam.
362+
- Maak van die map een zip-bestandje
363+
- Lever het in via https://app.q-highschool.nl/
364+
255365

256366
## Beoordeling
257367

258368
Het gaat om de Javascript en niet zozeer om de HTML en CSS. Een leuk uiterlijk is prettig en kan bonus opleveren maar is niet noodzakelijk om een hoog cijfer te halen.
259369

260370
* Werk netjes, dus evenveel inspringen overal, gebruik code conventies of in elk geval doe steeds hetzelfde
261371
* Geef functies en variabelen duidelijke namen.
262-
* Voorkom herhalingen; schrijf je 2x hetzelfde of copy/paste,
372+
* Voorkom herhalingen; schrijf je niet meerdere keren hetzelfde of copy/paste, maar gebruikt loops en functies.
263373
* Probeer grote stukken programma op te breken in kleinere stukken door functies te gebruiken. Wat "groot" is verschilt soms.
264374

265375

376+
Op "deadline-donderdag" plan ik gesprekjes met jullie in. Dat kan de deadline-donderdag zelf zijn, of de uitstel-deadline-donderdag.
377+
In een kort gesprekje kun je uitleggen wat je hebt gemaakt en waarom je bepaalde keuzes hebt gemaakt. Komen die dagen je niet uit, dan kunnen we in overleg een andere dag afspreken, zolang dat maar voor de deadline ligt!
378+
379+
266380
# Enkele vreemde dingen in Javascript
267381

268382
## Twee (of meer!) manieren om hetzelfde te bereiken

syllabus/index.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,12 @@ Wat ga je leren? Aan het eind van deze module kun je ...
1717

1818
## Wat gaan jullie maken?
1919

20-
Jullie gaan een digitaal huisdiertje maken. Maak een persoonlijk fantasiedier dat bij jou past, of waarvan je denkt dat het bij de docent past. Wees origineel.
21-
22-
- Je diertje heeft minimaal 4 stats, zoals hoe blij die is, hoe moe, etc.
23-
- Je kunt die stats beinvloeden met acties
24-
- Er mag iets van willekeur in zitten bij die acties om het spannender te maken
25-
20+
Jullie gaan een digitaal huisdiertje maken. Maak een persoonlijk fantasiedier dat bij jou past, of waarvan je denkt dat het bij de docent past. Wees origineel. Zie verder de sectie over de eindopdracht hieronder.
2621

2722
## Hoe ga je te werk?
2823

29-
Je begint met mijn "startpakket", dat is een bestand met HTML en CSS en een leeg javascript-bestand.
24+
Zie [De eindopdracht]
25+
3026

3127
## Hoe werkt de beoordeling
3228

0 commit comments

Comments
 (0)