Leerarrangement Inleiding Java 1

Beoordeling leerarrangement

Je hebt eigenlijk een complete lesmethode ontwikkeld! Het ziet er prachtig uit en je leidt studenten mooi stapsgewijs door de stof heen. Daarbij sluit je elke les af met een paar leuke programmeeropdrachtjes, waarmee studenten zelf kunnen controleren of ze het geleerde kunnen toepassen. Je bent duidelijk aan het zoeken naar een evenwicht tussen enerzijds: met opdrachten aan het werk zetten, waarbij het risico is dat studenten gaan 'zwemmen' of andere dingen doen en anderzijds: zelf voordoen en veel structuur bieden, waarbij het risico is dat slimmeriken en studenten die het juist heel moeilijk vinden afhaken. Differentiatie is hierbij het sleutelwoord en daarin heb je met dit leerarrangement duidelijk een begin gemaakt. Ook het plan voor de koppeling vanuit SLB m.b.t. tot de ondersteuning bij het plannen lijkt me heel zinvol.

Hannah Wielenga -opleidster PDG cursus

Cursus informatie

  • vereiste voorkennis: geen
  • studiemateriaal: Inleiding java t/m h10
  • leerdoelen zie studiemateriaal
  • Overige info, opdrachten, resultaten etc: Classroom
  • kwalificatiedossier: Kerntaak 2: Realiseren van de applicatie, (cross)media-uiting of game
  • duur: ca 6 weken
  • studiebelasting: ca 60 uur

Keuzes en verantwoording

Inleiding Java is de "instapcursus" programmeren van AO. Van de studenten wordt verwacht dat ze het cursusmateriaal zelfstandig doornemen en de bijbehorende opdrachten maken om te oefenen met het schrijven van java code.

Programmeren leer je vooral door veel te oefenen, niet van een docent die voor de klas vertelt hoe je het moet doen. Het studiemateriaal is zoveel mogelijk opgezet volgens het 4C-id-model zoals dat wordt beschreven in 'Innovatief onderwijs in de praktijk' (van Merriënboer, 2011). Studenten krijgen steeds complexere opdrachten die ze uit moeten werken, waarbij eerder opgedane kennis wordt gecombineerd met nieuwe geleerde onderdelen.

De volgorde is eerst zelfstandig de opdrachten maken met behulp van het studiemateriaal en een korte briefing, daarna wordt uitgebreider op de essentie van het geleerde ingegaan. Dit maakt dat studenten meer betrokken zijn bij de les en de uitleg veel beter begrijpen.

Individuele begeleiding

Van de 8 uren programmeren per week wordt er slechts ongeveer een half uur besteed aan directe klassikale instructie. De rest van de tijd worden studenten geacht zelfstandig te werken waarbij docenten geregeld door het studielandschap lopen om ze aan te sporen aan het werk te gaan en te helpen bij problemen waar ze niet uit komen. Indien blijkt dat meerdere studenten problemen hebben met bepaalde onderdelen kunnen deze in kleinere groepen nader worden uitgelegd. Dit is uiteraard moeilijk te plannen.

Studenten krijgen wekelijks opdracht om één of meerdere hoofdstukken te bestuderen, de opdrachten/vragen te maken en in te leveren. De opdrachten worden van commentaar voorzien en beoordeeld met voldoende/onvoldoende waarbij vooral wordt gekeken naar volledigheid. De opdrachten geven de gemiddelde marsroute aan die naar succesvolle afronding leidt. Ze tellen niet mee in de beoordeling, maar dat hoeven we natuurlijk niet met zoveel woorden aan te kondigen.

Verbinding met SLB lessen

Naast het leren programmeren is het uitdrukkelijk de bedoeling dat studenten leren hun werkzaamheden op een realistische wijze te plannen. Aan te raden is om studenten hierin te ondersteunen bijvoorbeeld in de lessen Studie Loopbaan Begeleiding (SLB). Studenten die moeite hebben met tempo/niveau moeten dit met hun coaches bespreken.

In schooljaar 2015/'16 hebben wij als vakgroep het initiatief genomen dit idee nader uit te werken. Onder begeleiding van een trainster LOB gaan we dit jaar een aanzet maken tot een nieuwe opzet SLB. (Momenteel in opstartfase).

Toetsing

Studenten moeten gedurende de cursus naast de reguliere opdrachten een achttal praktijkopdrachten maken. Twee daarvan dienen als proeve van bekwaamheid, waarbij summatieve toetsing op Shows How niveau (Geerts, 2011) plaats vindt middels "technische gesprekken", zoals die ook tijdens het eindexamen worden gehouden. Belangrijkste onderdelen van een technisch gesprek zijn:

  • voldoet de uitwerking aan de gegeven specificaties in de opdracht
  • begrijpt de student de code die hij heeft ingeleverd
  • begrijpt de student de "vaktermen" die in de leerdoelen zijn benoemd

Naast de praktijopdrachten worden tijdens de cursus twee formatieve toetsen in de vorm van "hackathons" gehouden waarbij studenten gedurende een dag of dagdeel een uitdagende opdracht moeten maken. De eerste poging leidt tot "goed" of "onvoldoende". Er wordt vooral gekeken of de applicatie goed werkt en of student het zelfstandig heeft gemaakt. De herkansing wordt wat genuanceerder (OVG) beoordeeld. De gedachte hierachter is dat studenten zoveel mogelijk moeten oefenen en het is een goede oefening om onder een zekere tijdsdruk tot een resultaat te moeten komen. IJverige studenten die de eerste poging halen hebben een ochtend of middag vrij verdiend.

Eerste lesbijeenkomst: intro en h1

  • Korte introductie zie presentatie en bekijk samen filmpje h1 cursussite over objectgeoriënteerd programmeren. Nabespreken met klas. Wat zijn de voordelen van objectgeoriënteerd programmeren? Zijn er ook nadelen?
  • inventariseren aanwezige ervaring/kennis. Studenten met ervaring na de les even apart nemen om hun kennis te testen.
  • Check of iedereen in Classroom zit.
  • Inleveren opdrachten via Classroom (gebruik Google docs en opmerkingen)

opdracht individueel of tweetallen:

Opdracht klassikaal: Zorg dat de benodigde software is geïnstalleerd en test of het goed werkt. Studenten die klaar zijn helpen hun medestudenten

Applets maken zie hoofdstuk 2

In de klas voordoen hoe je een applet maakt in Eclipse en één of twee opdrachten samen met ze doen. Dit zijn opdrachten die ze zelf moeten doen, dus laat ze meeschrijven. Demonstreren hoe je in Eclipse foutopsporing kunt gebruiken en relateren aan schema hoofdstuk 1.

Komende week hoofdstuk 1 t/m 4 lezen en opdrachten maken. Alle info staat in Classroom.

Tweede lesbijeenkomst: h1 t/m h4

  • Leerdoelen 1e 4 hoofdstukken langs lopen zie cursussite
  • praktijkopdracht behandelen
  • aan de hand van praktijkopdracht h4 voordoen hoe je met variabelen kunt werken (introductie hoofdstuk 5)
Praktijkopdracht
  • Opdracht klassikaal: verander de praktijkopdracht van h4 nu zodanig dat je kleuren en afmetingen kunt veranderen door alleen de waarde van de attributen te wijzigen
  • iedereen levert uiterlijk 15 minuten voor het einde van les de (verbeterde) praktijkopdracht in. Leerlingen die het niet af hebben worden individueel of in groepje apart genomen. Er achter zien te komen waarom ze hun werk niet af hebben.

Opdracht komende week: hoofdstukken 5 & 6, zie Classroom

Derde lesbijeenkomst h5 & h6

wat weten we nu?

  • hoe je in Eclipse een java applet maakt
  • hoe je de methoden init() en paint() in je applet maakt
  • hoe je vormen en kleuren kunt maken

Deze les: variabelen en rekenen met getallen

Intro filmpje RAM geheugen
  • leerdoelen h5:
    • binaire geheugenplaatsen in je werkgeheugen
    • Voordoen: variabelen declareren en initialiseren
    • conversie bijvoorbeeld van int naar String. Voorbeeld laten zien wat er gebeurt als je het niet goed doet.
    • typecasting (veilig), bijvoorbeeld van int naar double
    • typecasting (onveilig), bijvoorbeeld van double naar int

      voorbeeld typecasting

    • Wat geburt er als je bovenstaand voorbeeld typecast naar een float?
    • Wat gebeurt er als je van aantalWeken een float maakt en de uitkomst typecast naar double?
  • leerdoelen h6
    • primitieven waarden: hoe te herkennen (kleine beginletter): wie kent welke?
    • int, long, double & float
    • voorbeelden rekenkundige bewerkingen (zie tabel). Oefening: Maak applet moduleren volgens onderstaand voorbeeld. Verzin zelf getallen.
    • unaire operatoren (zie tabel en voorbeeld)
    • betekenisvolle namen
Praktijkopdracht
  • groep verdelen: studenten die de praktijkopdracht hebben voltooid kunnen verder met opdracht komende week. Degenen die opdrachten niet hebben ingeleverd apart nemen en afspreken dat ze het in deze les inleveren. Eventueel extra instructie over moeilijke dingen.

Opdracht komende week: hoofdstuk 7 & 8 (zie Classroom)

Vierde lesbijeenkomst: h7 & h8

  • leerdoelen h7 (beetje abstract; herschrijven/schrappen?)
    • Introductie Java API adhv de methode setSize()
    • Welke java klasse gebruik je nog meer in je applet? tip: Graphics
    • welke methoden heeft deze klasse?
    • Opdracht klassikaal: zoek in het javadoc van de klasse Graphics naar een manier om het lettertype van je Applet te wijzigen. Wijzig het font van je applet in type Arial, met een grootte van 30 pixels en met stijl: "bold". Kijk in de java api welke methoden de klasse Graphics heeft en met welke methode je het font kunt instellen. Welke fonts je kunt gebruiken is hier niet te vinden. Hoe kun je er dan achterkomen? Programmeren is 80% zoeken naar klassen, methoden en mogelijke toepassingen. Google is your best friend!
    • wie het eerst klaar is mag het presenteren aan de rest
    • eventueel zelf voordoen (na 15 minuten) als niemand er uit komt
  • leerdoelen h8
    • knoppen, tekstvakken en labels
    • event handling mbv "Listener" (binnen)klasse
    • parsen van string naar int of double
Praktijkopdracht
  • groep verdelen: studenten die de praktijkopdracht hebben voltooid kunnen verder met opdracht komende week. Degenen die opdrachten niet hebben ingeleverd apart nemen en afspreken dat ze het in deze les inleveren. Eventueel extra instructie over moeilijke dingen.

Opdracht komende week: hoofdstuk 9 & 10 (zie Classroom)

Vijfde lesbijeenkomst: h9 & h10

  • leerdoelen
    • relationele operatoren langslopen
    • boolean: true of false
    • toepassing if-else statement (voorbeeld in h10)
    • combineren van relationele operatoren met logische operatoren
    • oefening klassikaal: bijvoorbeeld opgave 10.4 of iets nieuws verzinnen
    • een student uitwerking laten presenteren
Praktijkopdracht
  • groep verdelen: studenten die de praktijkopdracht hebben voltooid kunnen verder met opdracht komende week. Degenen die opdrachten niet hebben ingeleverd apart nemen en afspreken dat ze het in deze les inleveren. Eventueel extra instructie over moeilijke dingen.

Opdracht komende week: proeftoets (zie Classroom)

Toetsing dmv uitdagende praktijkopdracht

Door mij ontwikkelde toetsen

Ik heb inmiddels twee toetsen gemaakt. Test heeft uitgewezen dat de opdrachten bij het niveau passen en uitdagend zijn.