Skip to article frontmatterSkip to article content

1Codespaces voor docenten

Pagina met hulp voor docenten die met de online ontwikkelomgeving Codespaces aan de slag willen in hun klassen.

Codespaces is een online codeeromgeving binnen GitHub. In Codespaces run je programma’s in een container in de cloud. Codespaces maakt gebruik van de webversie van de editor Visual Studio Code, daarmee maak je wijzigingen in je Codespace. Wijzigingen sla je op (push) in GitHub.

1.11. Quickstart: Codespaces gebruiken in je klas

  1. Maak organisaties in GitHub (eenmalig)
    1. Maak github account
    2. Maak twee organisaties, één voor docenten (vanaf nu: schooldocent) en één voor leerlingen (vanaf nu: schoolleerling)
    3. Nodig collega informaticadocenten van je school uit als owner van beide organisaties
    4. Optioneel: vraag de gratis educatiestatus aan voor je github account en zet daarmee je abonnement voor je organisaties om van free naar team
  2. Maak startcode voor opdrachten (eenmalig)
    1. Kopieer wat voorbeelden van anderen: maak een fork van een repository van iemand anders en zet die in je schooldocent organisatie
    2. optioneel: startcode aanpassen
    3. optioneel: aanpassen devcontainer configuratie
    4. optioneel: aanpassen vscode configuratie
  3. Maak klassen in GitHub Classroom (jaarlijks)
    1. Maak een class voor elke lesgroep en elk jaar. Tip: Gebruik een systematische naamgeving, bijvoorbeeld 2425-4Hin1 volgens schema jaar-klas.
    2. Voeg leerlingen toe aan elke klas. Tip: Gebruik voornaam zonder speciale tekens en als nodig een letter van de achternaam.
    3. optioneel: nodig collega’s uit als TA’s in je klassen
  4. Maak een opdracht aan (per opdracht)
    1. Kies de repository met startcode, deze wordt gekopieerd naar de school-leerling organisatie voor elke leerling of elk groepje.
      Tip: Gebruik een systematische naamgeving voor de opdrachten, bijvoorbeeld 2425-4Hin1-website volgens schema jaar-klas-opdracht.
      Gebruik dit systeem ook voor de voorvoegsels van de namen van de repositories en als je in groepjes werkt tevens voor de voorvoegsels van de namen van de teams.
    2. Deel de inschrijflink met je leerlingen.
  5. Begeleid leerlingen (per opdracht)
    1. Gebruik Leerlinghandleiding Codespaces
  6. Ga nakijken (per opdracht)
    1. Bekijk het werk p github in de organisatie school-leerling.
      Tip: je kunt alle bestanden downloaden onder de groene knop “Code” (dit kan per repository, niet voor alle repositories tegelijk) of het werk openen in een Codespace
      Tip: onder “commits” kun je zien wanneer de laatste wijziging is gemaakt, je kunt een oude versie kiezen als er na de afgesproken inleverdatum nog gewijzigd is.
      Tip: per bestand kun je onder “blame” zien welke regels op welk moment door wie zijn toegevoegd of gewijzigd

1.22. GitHub

GitHub is een online omgeving waar programmeurs code opslaan en delen. GitHub is gebaseerd op Git.

Het kost tijd om Git te leren begrijpen, maar een team dat Git begrijpt kan veel efficienter werken. Leeringen die beginnen met programmeren werken veelal samen tegelijk achter 1 computer of typen tegelijk online in hetzelfde document. Het typen en runnen van code moet dan synchroon gebeuren. Professionele teams van programmeurs verdelen werk, maken en testen dat in hun eigen kopie van de omgeving en voegen stukjes code die werken toe aan het gezamenlijke product. Zo is er altijd een werkende versie van het product en kan iedereen zijn eigen versie op elk moment runnen.

2.1 GitHub: Functionaliteit

Functionaliteit van GitHub:

2.2 GitHub: Gratis aanbod

Git is open-source.

GitHub is eigendom van Microsoft. Met een gratis account kun je bijna alle functionaliteit gebruiken. De betaalde functies zijn gericht op software-bedrijven, in het onderwijs heb je die niet nodig.

2.3 GitHub: Aan de slag

Tips voor gebruik:

2.4 GitHub: Alternatieven

GitHub wordt heel veel gebruikt, als je specifieke wensen hebt dan zijn er alternatieven voor GitHub.

1.33. Codespaces

Codespaces is een online ontwikkelomgeving voor alle programmeertalen.

3.1 Codespaces: Functionaliteit

Functionaliteit van Codespaces:

Wat kan niet:

3.2 Codespaces: Gratis aanbod

Codespaces maakt onderdeel uit van GitHub. CodeSpaces is geïntegreerd in GitHub. Je GitHub account gebruik je voor CodeSpaces.

Met een gratis GitHub account kun je per maand 60 uur gebruik maken van Codespaces en gemiddeld 15 GB opslag gebruiken. Je kunt je gebruik inzien, bij overschrijding van de limit wordt Codespaces (niet GitHub) geblokkeerd totdat de maand voorbij is.

Eén codespace vraagt ongeveer 1 GB data, tegen de opslag limiet loop je normaliter niet aan.

De 60 uur is voldoende voor bijna alle leerlingen. Een enkele leerling die door de limiet gaat kan een 2e GitHub account aanmaken op een ander email adres, zichzelf als collaborator toevoegen aan de repositories waarin die werkt en dan weer 60 uur vooruit.

Een docent die door de limieten heen gaat kan creditcardgegevens en een bestedingslimiet toevoegen aan zijn account. Dat is normaal gesproken niet nodig. Een tweede account aanmaken kan ook.

3.3 Codespaces: Aan de slag

Login op GitHub, ga naar een repository, klik op de groene code knop en maak een Codespace. Er wordt een standaard image van een linux server gestart en je bestanden uit de repository worden gekopieerd naar de server. Je kunt de Codespace configureren door een devcontainer.json bestand in de .devcontainer map te plaatsen. Open het Source-Control tab links in het scherm om wijzigingen te bewaren in GitHub.

3.4 Codespaces: Alternatieven

Alle onderstaande alternatieven kunnen samenwerken met GitHub, maar zijn ook zonder GitHub te gebruiken.

Wij hebben enkele jaren Gitpod (vwo) en replit (havo) gebruikt. In 2023 hebben we een geslaagde pilot in 5-vwo gedraaid met Codespaces, ondermeer vanwege de naadloze integratie met GitHub. De firewall van de nieuwe internetaanbieder van de school blokkeerde gebruik op schoolcomputers. In schooljaar 24/25 willen we Gitpod gebruiken, zowel voor de havo als voor het vwo.

1.44 GitHub Classroom

Met GitHub Classroom kun je opdrachten klaarzetten voor (grote aantallen) leerlingen.

4.1 Classroom: Functionaliteit

Wat wel kan:

Wat niet kan:

4.2 Classroom: Gratis aanbod

Je gebruikt je GitHub account voor classroom. Classroom is geheel gratis, zonder beperkingen. Je kunt de educatie-status aanvragen voor je GitHub account, maar dat is niet nodig.

4.3 Classroom: Aan de slag

Tips voor gebruik:

4.4 Classroom: Alternatieven

Alternatieven voor Classroom:

1.55. Veelgestelde vragen

Heb je een voorbeeld-repository om mee aan de slag te gaan?

Ik zie geen open poorten Codespaces, hoe kan dat?

De merge-conflicten zijn lastig op te lossen, is er een simpelere manier van werken?

1.66. Documentatie