Blijf hier weg

Interactieve website: Javascript

Docenten

John Val, Aitor Azcarate Onaindia en Ramon Berkhout
Voorwoord Doelen Opdracht Inleveren Bronnen Voorbeelden Beoordeling

Voorwoord

Welkom bij de module javascript. In de module "statische website en informatie systemen" heb je een statische website gemaakt. Zo'n website is eigenlijk niet meer dan een boek. Je kan het lezen en de informatie tot je nemen. Echter in veel gevallen biedt een website meer dan alleen informatie. Er zijn bijvoorbeeld websites waarin je een spel kan spelen, je maximale hypotheek kunt laten uitrekenen, woorden kan laten vertalen, een reis boeken etc...

Dit soort websites noemt men interactieve websites. Voor het ontwikkelen van dit soort websites moet je kunnen programmeren. Een website wordt altijd op een server gehost. De code die voor de interactiviteit zorgt kun je op twee manieren laten uitvoeren, of de browser van de bezoeker van de website doet het werk of de servercomputer van de website neemt de taak op zich. Combinaties zijn ook mogelijk. Het geheel noemt men een client server applicatie.

Javascript is een van de programmeertalen die het mogelijk maakt om de computer van de bezoeker in te zetten voor het uitvoeren van onderdelen van een client server applicatie. In deze cursus ga je de basis leren wat je zoal kunt doen met deze programmeertaal. De basis is echter niet alleen geschikt voor deze programmeertaal. De technieken die je leert komen in alle programmeertalen voor. In later modules komen de progammeertalen PHP en JAVA ook aan bod. Zorg ervoor dat je alle technieken goed tot je door laat dringen en zo snel mogelijk gaat beheersen.

In deze lessenserie leren we dus programmeren in javascript. Het basis deel van de cursus is het ontwerpen van formulieren als voorbereiding op de de webwinkel applicatie die je in de loop van dit cursus jaar gaat maken. Daarnaast is er een deel voor de snelle girls & boys waarin je een grafisch leert programmeren binnen javascript gebruikmakend van de in javascript geschreven library processing. Een library is een verzameling van functies die jij in je programma kan gebruiken zonder ze zelf te hoeven maken. Hier volgt later mee over.

Programmeren is het bedenken en schrijven van code die de computer uitvoert. Als programmeur ben je een soort God voor de computer. De computer doet precies wat jij zegt! Is dat niet zo, dan zal je zelf iets verkeerds hebben geprogrammeerd 😊. Code kan van heel ‘simpel’ en kort zijn (Een stukje tekst laten zien op je scherm) tot heel ‘moeilijk’ en uit duizenden regels bestaan (Automatisch laten rijden van auto’s op de weg). Je hoeft niet ‘bang’ te zijn want iedereen kan leren programmeren. Er zijn vier voorwaarden, in volgorde van belangrijkheid:

  1. inzet, ofwel de wil om te leren
  2. lezen, er is niet voor niets de term programmeertalen geïntroduceerd
  3. durf, ofwel wees niet bang om fouten te maken
  4. onderzoeksmentaliteit, ofwel zoek in de immense hoeveelheid code die op het internet naar voor jouw bruikbare voorbeelden.

Wij zullen beginnen met de basisstructuren die nodig zijn om programma's te kunnen maken: variablen, operaties, functies, condities en herhalingen. Beheers je deze technieken dan zijn slechts creativiteit, tijd en geld de beperkingen die je nog tegen zult komen.
De snelle leerling kan zijn/haar ei sneller breken in het spel pong.

Doelen van deze opdracht

Na deze module moet je het volgende kunnen:

Opdracht

De opdracht bestaat uit twee delen: voorbereiding en toets. In de voorbereiding werk je in een groep van vier personen. Daartoe maak je samen, maar toch individueel, een aantal opdrachten die door je docent van commentaar wordt voorzien en waarvoor je ook een cijfer krijgt. Iedereen typt zelf de code. Niet om je te pesten, maar om je vooral te laten leren van de fouten die je maakt. Foute code werkt echt niet. Zelf maak ik per 10 regels code minstens één typfout. Dat geeft niet, want je moet net zolang door tot je alle fouten eruit hebt gehaald. Het is dus zinvol snel te herkennen wat fout is, zodat je fouten ook sneller kunt herstellen.

Het tweede deel van de opdracht is een afsluitende praktische opdracht. Je krijgt één opdracht die je als duo in één lesuur omzet in werkende code.

Inleveren

Ga naar dit deel van deze site om te zien wat je moet inleveren.

Bronnen en Copy Right

Basisdeel Grafisch deel
Het basisdeel van deze cursus is ontwikkeld door John Val en Ramon Berkhout. In de cursus zijn er vele verwijzingen naar w3schools. Een bijna onuitputtelijke bron voor de webontwikkelaar.

Handleidingen javascript:

Het grafische deel van deze module is ontwikkeld door Aitor Azcarate Onaindia en tot stand gekomen door gebruik te maken van processing.js ontwikkeld door Ben Fry & Casey Reas, en herschreven naar Javascript door John Resig. Processing.js wordt onderhouden door het Processing.js team. Er zijn verschillende fora gebruikt om technieken (zoals het indrukken van knoppen) te leren. Het idee voor het spel is naar het originele spel PONG van Atari Inc. uit 1972. Onze dank gaat uit naar de inspanningen die al de personen achter die bronnen hebben verricht. De inhoud van deze cursus is onder licentie van de Creative Commons Attribution-ShareAlike 3.0 License. Dit betekent onder andere, dat iedereen vrij is om dit materiaal te gebruiken, aan te passen en te distribueren.

Voorbeelden

King Kong Voeren

In dit voorbeeld zie je wat er ongeveer moet kunnen gebeuren in een winkelwagen. Elementen toevoegen en verwijderen. Eventuele berekeningen op de ingevoerde gegevens loslaten.
Banaantje voeren
Geef lengte banaan
Geef gewicht banaan

pong

Een voorbeeld van een spel dat we aan het eind van deze lessenserie kunnen maken is het spelletje Pong. Beweeg de linker 'bat' met de w-knop en s-knop voor respectievelijk naar boven en naar beneden. Beweeg de rechter 'bat' met de pijlstjestoetsen omhoog en omlaag (voor respectievelijk omhoog en omlaag bewegen).

Beoordeling

De beoordeling bestaat uit twee delen

Voortgang en werkhouding: C1
In eerste instantie heb je een 10.
  1. Er gaat 0.5 punten af voor iedere waarschuwing die je krijgt voor niet aan het werk zijn. (spelletjes, kletsen of andere niet aan de cursus gerelateerde bezigheden)
  2. Er gaat 0.1 punten af voor iedere 5 minuten die je zonder geldige reden afwezig bent.
  3. Aan het eind van iedere week wordt jullie progressie bekeken. De html documenten die jullie hebben gemaakt worden dan programmatechnisch nagekeken en op de volgende manier beoordeeld:
    1. Werking tot 4 punten
    2. Naamgeving 1 punt
    3. Commentaar tot 3 punten
    4. Layout code tot 2 punten
    Te laat ingeleverde opdrachten leveren geen punten meer op.
  4. Aan het eind van de 4 weken heb je dan nog (een restant van) 10 punten over. Het nakijken van de documenten levert een cijfer in een schaal van 0.1-1.0. Dit cijfer wordt vermenigvuldigd met je restant van 10 en geeft het voortgangscijfer voor deze module
Duo opdracht: C2
De één urige opdracht levert een technisch cijfer tussen 1 en 10.

Eindcijfer

Het eindcijfer telt voor 2.5% mee in je totale PTA en wordt als volgt berekend:
CC1+C2
=
2