Les 1 — Intro programmeren & Node.js

Wat is programmeren?

Programmeren = instructies schrijven die een computer exact uitvoert.

  • Instructies = algoritme (stappenplan)
  • Taal: JavaScript (menselijk leesbaar)
  • Uitvoerder: Node.js (JS buiten de browser)
// Een eerste instructie
console.log("Hallo, wereld!");

// De computer doet precies wat hier staat
console.log(2 + 3);

Node.js in 15 seconden

  • JavaScript‑runtime gebaseerd op V8 (Google Chrome engine).
  • Maakt het mogelijk JS te draaien in de terminal.
  • Handig om eerst logica te leren zonder UI.

CLI-basics

. # deze map
.. # vorige map
/ # root (diepste niveau van bestandsstructuur)
~ # home folder van de ingelogde user

CLI-basics

pwd # waar ben ik
ls # wat zit er in deze map
cd desktop # ga naar de map desktop (als deze te vinden is in de huidige map)
mkdir demo # maak een map
cd demo
node            # node shell starten (.exit om af te sluiten)

CLI-basics

ls desktop # wat zit er in de desktop map
ls . # wat zit er in deze map
ls .. # wat zit er in de parrent map
cd . # ga naar de huidige map (doet niets natuurlijk)
cd .. # ga naar de vorige map

CLI-basics

ni index.js # maak een bestand aan
rm index.js # verwijder bestand
cp index.js script.js # copy bestand
mv script.js script2.js # verplaats/hernoem bestand
cat index.js # lees bestand
code index.js # open bestand/folder in visual studio code

Eerste programma

console.log("Welkom bij programmeren!");
console.log("Vandaag leren we JavaScript met Node.js.");

Concepten: functie‑aanroep, string, newline, uitvoer.

Commentaar

// Dit is een commentaarregel
/*
  Meerdere regels commentaar
*/
console.log("Commentaar wordt niet uitgevoerd.");

Variabelen

let naam = "Sara";     // veranderbaar
const geboortejaar = 2009; // vaste waarde

console.log("Hallo " + naam);
// naam = "Sam"; // ok
// geboortejaar = 2010; // ❌ TypeError
  • let: later her‑toewijzen mogelijk.
  • const: niet her‑toewijzen.
  • Naamgeving: camelCase, geen spaties, niet met cijfer starten.

Strings

let voornaam = "Sam";
let leeftijd = 15;

// concatenatie
console.log("Hallo " + voornaam + ", je bent " + leeftijd + ".");

// template literal
console.log(`Hallo ${voornaam}, je bent ${leeftijd}.`);

// speciale tekens
console.log("Regel 1\nRegel 2");
  • Gebruik `backticks` voor leesbare zinnen.
  • \n = nieuwe regel, \t = tab.

Getallen

let a = 8, b = 3;
console.log(a + b); // 11
console.log(a - b); // 5
console.log(a * b); // 24
console.log(a / b); // 2.666...
console.log(a % b); // 2 (rest)

// operator‑volgorde: * en / vóór + en -
console.log(2 + 3 * 4); // 14

Oefening 1 — Hallo, ik ben…

  1. Maak variabelen naam en leeftijd.
  2. Print met één console.log een zin zoals:
    "Hallo, ik ben Sam en ik ben 15 jaar oud."
  3. Tip: gebruik een template literal met backticks `.
Toon voorbeeldoplossing
let naam = "Sam";
let leeftijd = 15;
console.log(`Hallo, ik ben ${naam} en ik ben ${leeftijd} jaar oud.`);

Oefening 2 — Favorieten

  1. Maak favorieteKleur en favorieteEten.
  2. Print twee regels tekst (gebruik \n of twee keer console.log).
  3. Voorbeeld: "Mijn favoriete kleur is blauw" en "Ik hou van pizza".
Toon voorbeeldoplossing
let favorieteKleur = "blauw";
let favorieteEten = "pizza";
console.log(`Mijn favoriete kleur is ${favorieteKleur}.\nIk hou van ${favorieteEten}.`);

Oefening 3 — Naam‑length

  1. Bewaar je voornaam in voornaam.
  2. Print het aantal karakters met .length.
  3. Print ook je naam in hoofdletters met .toUpperCase().
Toon voorbeeldoplossing
let voornaam = "Mila";
console.log(`Je naam heeft ${voornaam.length} letters.`);
console.log(voornaam.toUpperCase());

Oefening 4 — Mini‑rekenmachine

  1. Maak a en b (kies zelf getallen).
  2. Print som, verschil, product, quotiënt en rest (%).
  3. Gebruik duidelijke labels in je output.
Toon voorbeeldoplossing
let a = 8, b = 3;
console.log(`Som: ${a + b}`);
console.log(`Verschil: ${a - b}`);
console.log(`Product: ${a * b}`);
console.log(`Quotiënt: ${a / b}`);
console.log(`Rest: ${a % b}`);

Oefening 5 — Temperatuurconverter

  1. Bewaar een temperatuur in °C in c (bijv. 20).
  2. Bereken °F met f = c * 9/5 + 32.
  3. Print: "20°C = 68°F".
Toon voorbeeldoplossing
let c = 20;
let f = c * 9/5 + 32;
console.log(`${c}°C = ${f}°F`);

Oefening 6 — Gemiddelde

  1. Maak drie punten: p1, p2, p3.
  2. Bereken het gemiddelde.
  3. Print het resultaat met één decimaal (gebruik .toFixed(1)).
Toon voorbeeldoplossing
let p1 = 12, p2 = 15, p3 = 17;
let gem = (p1 + p2 + p3) / 3;
console.log(`Gemiddelde: ${gem.toFixed(1)}`);

Oefening 7 — Minuten → uren & minuten

  1. Bewaar een totaal aantal minuten in minuten (bijv. 135).
  2. Bereken uren (hele uren) en resterende min.
  3. Print: "135 minuten is 2 uur en 15 minuten".
Toon voorbeeldoplossing
let minuten = 135;
let uren = Math.floor(minuten / 60);
let min = minuten % 60;
console.log(`${minuten} minuten is ${uren} uur en ${min} minuten`);

Oefening 8 — Kassaticket (simpel)

  1. Maak drie prijzen: pA, pB, pC.
  2. Bereken tussensom, btw 21%, en totaal.
  3. Print alles op aparte regels, met 2 cijfers na de komma.
Toon voorbeeldoplossing
let pA = 3.5, pB = 2.2, pC = 5.0;
let subtotaal = pA + pB + pC;
let btw = subtotaal * 0.21;
let totaal = subtotaal + btw;
console.log(`Subtotaal: €${subtotaal.toFixed(2)}`);
console.log(`BTW (21%): €${btw.toFixed(2)}`);
console.log(`Totaal: €${totaal.toFixed(2)}`);

Oefening 9 — Dobbelsteen (1–6)

  1. Genereer een willekeurig getal 1–6.
  2. Print: "Je rolde: X".
  3. Tip: Math.floor(Math.random()*6) + 1
Toon voorbeeldoplossing
let worp = Math.floor(Math.random() * 6) + 1;
console.log(`Je rolde: ${worp}`);

Oefening 10 — Tekst met speciale tekens

  1. Print twee regels met aanhalingstekens in de tekst.
  2. Gebruik ofwel escapes (\") of template literals.
  3. Voorbeeld:
    "Programmeren is leuk!" en "Laten we beginnen!" op twee regels.
Toon voorbeeldoplossing
console.log("\"Programmeren is leuk!\"");
console.log("\"Laten we beginnen!\"");
// of met backticks:
// console.log(`"Programmeren is leuk!"\n"Laten we beginnen!"`);

Klaar! ✅

Extra uitdaging: maak zelf oefening 11 waarin je de gebruiker begroet in 3 verschillende talen met variabelen.