Een aantal sheets
Inhoud: .....
Twee voorbeelden
1
. KOOPKRACHT.
Hier zien jullie een interactief rekenvel ('spreadsheet'), waarbij je aan de schuifjes ('scrollbars') kunt experimenteren met de koopkracht van de totale nederlandse samenleving (experimenteel en onaf).
2
. CONTROL PANEL.
Hier zien jullie een prototype om de kracht en de mogelijkheden van onze animatie-technieken voor het voetlicht te krijgen ('.....').
Jullie zien drie soorten animatie en dat vier maal. Er zijn dus 12 animaties werkzaam. Het geheel is op vier manieren interactief.
Productie
Hoe kun je educatieve software maken?
Er zijn feitelijk drie fundamenteel verschillende manieren om educatieve software of courseware te maken (wellicht zelfs vijf):
Let op: In het curriculum horen zogenaamde top-down-vakken onlosmakelijk verbonden te zijn met zogenaamde bottum-up-vakken; verder horen jullie bottum-up-vakken onlosmakelijk verbonden te zien met de funderende theorie-vakken; en ten slotte hoort dit bottom-up-vak 'productie van onderwijssystemen' (uit de D1 fase) onlosmakelijk te worden gezien in samenhang met soortgelijke vakken uit de P-fase en met name met het onderdeel javascript.
Hoe maak je de verschillende soorten en typen educatieve software, courseware, multimedia, mono-multimediale elementen e.d.?
- Losse software dingen met PhotoShop, Quarck Express, etc.
- Lineaire software dingen met QuickTime, Media 100, SoundWave, etc.
- Hypermediale software dingen met Fusion, AuthorWare, DreamWeaver, HTML, BBEdit, NotePad, Word, etc.
- Multimediale software dingen met AuthorWare, C++, Java, WebLib (TO), etc.
- Games: ...
- Adventures: ...
- Simulaties: JavaTHESIS (TO), etc.
- Etc.
Vijf verschillende manieren van programmeren met hogere programmeertalen
- programmeren vanaf nul (vanaf 'scratch');
- programmeren door sources of (stukken) programma's van anderen te 'gebruiken' en/of te 'veranderen';
- programmeren door gebruik te maken van een open procedure- en/of functie-bibliotheek (als een 'glass box');
- programmeren door gebruik te maken van een gesloten procedure- en/of functie-bibliotheek (als een 'black box');
- programmeren door gebruik te maken van sjablonen (shells, templates).
NB. Zie de leestekst elders.
De 80/20-regel
- 80 procent van MM-software wordt gemaakt met tools,
maar de 20 procent beste software wordt voor 80 procent gemaakt
met hogere programmeertalen.
Opmerkingen over het werkstuk
Practicum-opdrachten
Het practicum bestaat uit 10 onderdelen.
- iets met formulieren, velden, berekenen van getallen e.d.
- iets met eigengemaakte objecten;
- iets met browser en javascript objecten;
- iets met een scroll bar (als input-techniek);
- iets met een for-loop en een eenvoudige applet (als dynamische output-techniek);
- iets met een groeiende grafiek (met PARAM);
- iets met geluid (met EMBED);
- iets met video (met EMBED);
- iets met een bestaande complexe applet (met een model-driven simulatie);
- iets met een interactieve formule-driven animatie (met een sjabloon);
Drie zullen we er nader onder de loup nemen.
1
. opdracht 5.
Hier zien jullie een dynamisch fenomeen ('.....') (dat soort dynamiek ontstaat d.m.v. een 'loopje').
Jullie zagen .....
2
. opdracht 6.
Hier zien jullie een groeiende grafiek ... ('.....').
Jullie zagen .....
3
. opdracht 10.
Hier zien jullie een 2e orde animatie ('.....') (interactief).
Jullie zagen .....
Elk stuk educatieve software bestaat uit een bepaalde combinatie van presentatie-, acceptatie- en communicatietechnieken (resp. input-, output- en I/O-technieken genoemd).
Dus drie soorten technieken: presentatie-, acceptatie- en communicatietechnieken (Min, "Simulation Technolgy and Parallelism in Learning Environments", ABC press, 1996).
De hardware kant van de drie soorten technieken (Min, idem, ABC press, 1996).
In het extreme geval heeft software geen beeldscherm, toetsenbord en muis maar, maar een interface bestaande uit een microfoon en een luidspreker. (Bijvoorbeeld: de telefoon als interface voor publiekssoftware voor automatische telefonische bestellingen bij bijvoorbeeld Wehkamp.)
Presentatietechnieken
(hier ook wel output-technieken genoemd)
- beeldscherm georienteerd
- statisch: een tekst, een graphic, een foto, een figuur, etc.
- dynamisch: een (2e orde) animatie, een statische animatie, etc
- beweging in de zin van een (1e orde) animatie, een
video-fragement, etc. (lineair)
- luidspreker georienteerd (ook koptelefoontje, telefoon)
- stem (lineair)
- muziek (lineair)
- geluid algemeen (lineair)
- mechanisch georienteerd (flightsimulator feedback)
- reuk georienteerd (experimenteel)
Acceptatie technieken
(hier ook wel input-technieken genoemd)
- een toetsenbord, cijferbordje, etc.
- een muis, een joystich, etc.
- aanraakscherm, etc.
- gewone knoppen (in een museum)
- microfoon (woord-herkenning, spraakherkenning), etc.
- telefoon-microfoontje
- input-animatie technieken (scroll bars, etc)
- het oog (bij F16-piloten, etc)
- etc. (Zie elders)
Communicatie technieken
(hier ook wel I/O-technieken genoemd)
Communicatie met:
- een wiskundig of (gewoon!) algebraisch model
- een expert systeem en/of rule of knowledge base system
- een bestand, file en/of (complete!) database, etc.
- etc.
Produceren van multimediale producten
Hoe kun je educatieve software maken?
Er zijn feitelijk drie fundamenteel verschillende manieren om educatieve software of courseware te maken (wellicht zelfs vijf):
Hoe maak je de verschillende soorten en typen educatieve software, courseware, multimedia, mono-multimediale elementen e.d.?
- Losse software dingen met PhotoShop, Quarck Express, etc.
- Lineaire software dingen met QuickTime, Media 100, SoundWave, etc.
- Hypermediale software dingen met Fusion, AuthorWare, DreamWeaver, HTML, BBEdit, NotePad, Word, etc.
- Multimediale software dingen met AuthorWare, C++, Java, WebLib (TO), etc.
- Games: ...
- Adventures: ...
- Simulaties: JavaTHESIS (TO), etc.
- Etc.
Vijf verschillende manieren van programmeren met hogere programmeertalen
- programmeren vanaf nul (vanaf 'scratch');
- programmeren door sources of (stukken) programma's van anderen te 'gebruiken' en/of te 'veranderen';
- programmeren door gebruik te maken van een open procedure- en/of functie-bibliotheek (als een 'glass box');
- programmeren door gebruik te maken van een gesloten procedure- en/of functie-bibliotheek (als een 'black box');
- programmeren door gebruik te maken van sjablonen (shells, templates).
NB. Zie de leestekst elders.
De 80/20-regel
- 80 procent van MM-software wordt gemaakt met tools,
maar de 20 procent beste software wordt voor 80 procent gemaakt
met hogere programmeertalen.
Technieken en begrippen bij het practicum
Wat is (educatieve) model-driven 'animatie'
- Educatieve model-driven of formula-driven animatie is (interactieve) (educatieve) software van het type dat er op een beeldscherm losse visuele objecten bewegen, bijvoorbeeld op of binnen een frame. De objecten leggen allemaal verschillende in principe willekeurige trajecten af; over een in principe willekeurige background. Die background kan ook weer willekeurig iets anders zijn; bijvoorbeeld bewegend video of/en zelfs een (andere of ander soort) animatie.
Het animatie-object wordt getoond, gewist en een klein beetje verderop weer getoond. Dat heeft de illusie van beweging. We noemen dit dan dus animatie. Dit type animatie is dus niet lineair; dus geen lineaire animatie. Lineaire animaties zijn feitelijk filmpjes (eventueel - digitale - video-filmpjes); niet interactief en niet model-driven en dus met voorspelbaar gedrag van de bewegende beelden, de speellengte en/of de kijkduur.
Dit type animatie is bijna altijd interactief en heeft uit de aard van die zaak een volstrekt onvoorspelbaar gedrag, lengte en/of duur.
Model-driven animatie is de kern van zeer veel educatieve software; altijd en overal zit wel ergens een stukje van dit type animatie. Veelal verstopt. Veelal onherkenbaar en veelal veel complexer dan onze voorbeelden bij onze practica.
Er bestaan vele soorten van model-driven animatie. We noemen er enkele:
- statische animatie (wel dynamische; maar geen beweging)
- meebewegend histogram (er bewegen 'dingen' op een bepaald ritme; meestal wel op een vaste plek)
NB. Een groeiende grafiek kun je ook opvatten als model-driven animatie. Immers er is een (klein) object(je) dat een spoor nalaat bij het bewegen over een traject en een background op een beeldscherm. Het object(je) wordt dus wel getekend, maar niet gewist.
Wat is (educatieve) model-driven 'simulatie'?
- Educatieve model-driven simulatie is (educatieve) software met een bepaalde weergavevorm van een gesimuleerd proces. Er is meestal sprake van een dynamisch geheel op het beeldscherm en vaak niet van model-driven animatie te onderscheiden. De meest gebruikte weergavevorm bij (educatieve) simulatie is meestal een zogenoemde 'groeiende grafiek' waarbij vaak enkele variabelen langzaam en gelijktijdig (en in de tijd) (en in relatie tot een bepaalde interventie van de student) worden weergegeven.
- de software bevat altijd ergens op zijn minst een algebraische formule of een complex wiskundig model;
- ergens tussen de input (van de student) en output (van het programma) zit iets intelligents, bijvoorbeeld een rule-based-system;
1e, 2e, 3e en/of 4e orde (educatieve) animatie
- 0e orde animatie: als er geen sprake is van een animatie maar van een gewone graphic (bijv. een plaatje, een 'still', etc.);
- 1e orde animatie: als er sprake is van lineaire animatie (bijv. een animatiefilmpje, een dynamisch gifje, sommige soorten videofilmpjes, etc.);
- 2e orde animatie: als er sprake is van een model-driven animatie-object (minstens een statisch object);
- 3e orde animatie: als het animatieobject ook nog dynamisch is (dus
als er sprake is van minstens een 'dynamisch object'); (derhalve ook wel 'dynamische dynamisch graphic' genoemd);
- extra, tot 4e orde animatie: als de achtergrond ook nog beweegt of dynamisch of een 'alpha-frame' is, tel dan bij de bestaande orde van animatie, er één bij op. Dus een 3e orde animatie met een bewegende achtergrond is derhalve één 4e orde animatie.
Zie ook elders.
Educatieve model-driven animatie
Educatieve model-driven animatie is (een stukje) (educatieve) software met (over het algemeen) een dynamische en/of bewegende vorm van presentatie van een meestal met een algebraische formule of een compleet wiskundig model gesimuleerd proces (en meestal tegelijkertijd ook 'event-driven'), waarbij minstens één object een traject aflegd over één vaste (of bewegende) achtergrond; soms een 'dynamische graphic' genoemd. (Deze achtergrond kan op zich zelf ook weer een dynamische graphic zijn.) Deze weergavevorm komt veelvuldig voor bij (educatieve) simulaties of animaties (maar ook bij games, adventures, drill & practice programma's, e.d.).
Een dergelijke model-driven animatie noemen we ook wel 'dynamische graphic'. Daarbij moet er sprake zijn van ofwel een dynamisch geheel ofwel (alleen maar) een bewegend iets op het scherm (bijv. een gewoon lineair en niet-interactief fenomeen als een filmpje met 10 tot 25 beeldjes per seconde) (Min, idem, ABC press, 1996).
'Statische animatie' is in dit verband wel 'dynamisch' maar er bewéégt geen object. (Bijvoorbeeld een overstroming van een uiterwaarde langs een gesimulaeerde rivier; de tellertjes van een benzinepomp, etc.) (Min, idem, ABC press, 1996)
Welke soorten objecten (dwz. 'animatie-objecten') komen er zoal bij 2e, 3e of 4e orde animatie voor?
- a. gewone bitmapped objecten (kleine plaatjes, iconen, etc.);
- b. serie bitmaps objecten (zoals bij dynamische gifjes);
- c. zogenaamde 'geprogrammeerde objecten' (in bijv. javascript);
- d. een geheel (alfa-)frame (dat 10 tot 25 keer per seconden veranderd);
- e. een geheel beta-frame (dat 10 tot 25 keer per seconden veranderd).
Soorten model-driven animatie
- model-driven animatie met intelligente objecten
- model-driven animatie met 'meebewegend histogram' (= animatie)
- model-driven animatie met 'groeiend histogram'
- model-driven animatie met 'groeiende grafiek(en)' (= beweging)
- model-driven animatie in de vorm van 'statische animatie', zoals met verkleurende vlakken, bewegende cijfertjes in decimale tellertjes, etc.
- etc. (Zie elders)
Voorbeelden van formules en modellen
- formules (één formule of stelsels formules):
y = a.sin(b.t)
of:
x = a.sin(b.t)
y = c.cos(d.t)
d.w.z. y en/of x wordt hier volledig bepaald door a, b, c of d en de tijd t
- modellen (één differentiaal vergelijking of stelsels differentiaal vergelijkingen):
dy/dt = a.x(t) + b(t)
of:
dy/dt = c.z(t) + y(t)
dx/dt = a.y(t) + z(t)
dz/dt = d.x(t) + b(t)
d.w.z. minstens een differentiaal vergelijking; hierin ontbreekt de tijd t
Wat komt er kijken bij coordinatentransformatie?
- twee verschillende coordinatenstelsels; bij dit vak meestal gedefinieerd als y=f(x) resp. j=f(i)
- de twee coordinatie-transformatieformules i=a.x+b; j=c.y+d
- scaling (c.q. versterkingsfactor) (factor a en c);
- translation (c.q. verschuiving) (factor b en d);
- rotation (c.q. rotatiehoek; alfa) (hier meestal nul).
Zie de vele voorbeeld-toetsen elders op onze site.
Object orientatie
Objecten
Er zijn vele soorten object orient-objecten:
- zelf gemaakte OO-objecten (zoals Rik's car en Jan's auto, etc.);
- OO-objecten uit JavaScript (zoals Math, Date, etc.);
- OO-objecten uit de browser (zoals window, document, etc.);
- OO-objecten in de gedaante van applets (class-files).
NB. Er zijn ook vele voorbeelden van niet-OO-objecten, zoals woorden, zinnen, plaatjes, filmpjes, zelfs voorwerpen, maar ook losse animatie-objecten.
Userinterfaces
Er zijn vele soorten ....:
Einde
Enschede, 15 jan. 2001