Alice is een gratis, educatieve programmeeromgeving, ontworpen om studenten de basisconcepten en theorieën achter programmeren te leren, zonder ze te bedelven onder ingewikkelde coderingssyntaxis.
Met behulp van het programma Alice kunnen studenten 3D-animaties en games maken binnen een ontwikkelomgeving met slepen en neerzetten.
Alice-omgeving
In de Alice-omgeving kunnen leerlingen een wereld kiezen (of hun eigen wereld bouwen) en 3D-objecten toevoegen (mensen, dieren, gebouwen, enzovoort) uit een grote online-galerie.
Objecten
Elk object bevat verschillende ingebouwde methoden, die leerlingen kunnen gebruiken om het object te manipuleren en in hun programma’s op te nemen.
Bijv. een object van een ridder kan verschillende methoden bevatten om zijn zwaard op verschillende manieren te zwaaien. Door deze methoden naar een programmeervenster te slepen, kunnen leerlingen instructies “coderen” voor elk object in hun wereld, net zoals je dat in een traditionele programmeeromgeving zou doen.
Programmeerfuncties
Alice-objecten kunnen worden geprogrammeerd met behulp van verschillende traditionele programmeerfuncties, zoals als-else-statements, lussen, en zelfs concurrency.
De software biedt bijvoorbeeld een lijst met vragen die een object kan “stellen”, zoals of het al dan niet binnen een bepaalde afstand van een ander object is. Door deze vragen in het programmeervenster te slepen en er methoden aan toe te voegen, kunnen programmeurs complexe karakterbewegingen en interacties maken, zoals een ridder die zijn zwaard trekt als er een vijand in de buurt is.
Alice wordt onderhouden door de Stage3 Research Group van de Carnegie Mellon University.
Algemene bronnen
Alice heeft een kleine, maar toegewijde gemeenschap van gebruikers. Gezien het educatieve karakter helpen veel Alice-gebruikers elkaar graag bij het leren van de omgeving, het verbeteren van hun code, het betrekken van leerlingen en zelfs bij het ontwikkelen van lesplannen.
-
Alice.org: de officiële site van de Alice-software bevat downloadlinks voor de huidige en vorige versies, een inleiding tot de programmeeromgeving, een lijst met bronnen voor leerkrachten en links naar de gemeenschap.
-
Alice Forums: het officiële forum voor Alice-programmeurs bevat pagina’s voor het opvragen van informatie, het voeren van algemene discussies, het delen van onderwijsmiddelen en het krijgen van feedback van de gemeenschap. Er is ook een gedeelte waar problemen kunnen worden gemeld en suggesties voor toekomstige verbeteringen kunnen worden gedaan.
-
Leerplannen voor leerkrachten: deze collectie is gemaakt door leerkrachten die Alice-workshops aan de Duke University hebben bijgewoond en bevat op Alice gebaseerde lesplannen voor de 3e tot en met de 12e klas. De lesplannen bestrijken een indrukwekkende reeks onderwerpen, waaronder wiskunde, natuurwetenschappen, vreemde talen, kunst, geschiedenis, Engels, ESL, bedrijfskunde en computertoepassingen.
Tutorials
De meeste online tutorials voor Alice zijn zeer toegankelijk, omdat ze zijn geschreven voor docenten of hun leerlingen. Veel tutorials bevatten videolessen en besteden veel tijd aan het vertrouwd raken van leerlingen met de softwareomgeving.
-
Duke University’s Alice Tutorials: deze site bevat gratis tutorials die zijn ontwikkeld tijdens verschillende jaren van Duke’s zomerprogrammeerworkshop voor middelbare scholieren en studenten. De site bevat dia- en videotutorials voor Alice 2 en Alice 3, en verschillende voorbeelden van video’s en animaties die met Alice zijn ontwikkeld.
-
Virtual Training Company: dit is een betaalde tutorial, maar je kunt de eerste drie hoofdstukken (meer dan 15 minilessen) gratis bekijken, en dan beslissen of het de investering waard is. Deze videolessen behandelen de basis, zoals het installeren van software en het opslaan van uw projecten, tot de meer complexe concepten van object-georiënteerd programmeren, programmeerstructuren, en het maken van event-driven programma’s. Elk onderwerp is onderverdeeld in een reeks korte videolessen.
-
Alice Tutorials: Computerprogrammering in 3D: deze tutorialserie op basis van blogs bevat korte, visuele introducties in de softwareomgeving. Hoewel het niet veel om programmeren gaat, is het een goed uitgangspunt om vertrouwd te raken met de toepassing.
-
Introductie tot Alice Programmeren door Developer.com: dit is een van de weinige Alice-tutorials die zijn ontworpen voor ervaren programmeurs. Naast een overzicht van de Alice talen en een inleiding tot het maken van werelden, bevat het uitgebreide, diepgaande handleidingen over de programmeermogelijkheden van Alice, zoals het maken en manipuleren van objecten, het werken met parameters, het gebruik van methodes en nog veel meer. Als je op zoek bent naar een hulpmiddel voor in de klas, dan is dit het niet. Maar als je een programmeur bent die precies wil begrijpen waar je kinderen mee werken, dan is dit een must-read.
Boeken
Boeken over Alice zijn er in twee soorten. Het eerste type is gericht op jonge programmeurs, meestal op de middelbare school, die alleen maar inzicht willen krijgen in programmeerconcepten en logica, en geen traditionele programmeertaal willen leren.
Het tweede type is bedoeld als aanvulling op CS-lessen op universitair niveau. Deze laatste zijn meestal veel compacter en bevatten vaak extra elementen, zoals vergelijkingen met of voorbeelden van traditionele code. Alle hieronder genoemde Alice-boeken zijn echter geschreven voor beginnende programmeurs.
-
Virtual World Design and Creation for Teens door Charles Hardnett: zoals de naam al aangeeft, valt deze tekst in de eerste categorie van boeken voor schoolgaande kinderen. Het boek leidt leerlingen door stap-voor-stap-tutorials voor het maken van verhaallijnen, het bouwen van een geanimeerde wereld en het maken van personages voor geanimeerde verhalen, games en films.
-
Getting to Know Alice (Code Power: A Teen Programmer’s Guide) door Jeanne Nagle: dit boek is speciaal gemaakt voor middelbare scholieren en geeft een algemeen overzicht van Alice, inclusief waarom het is gemaakt en hoe het programmeerconcepten kan leren zonder code te leren. In plaats van een stap-voor-stap gids voor programmeren te geven, leidt het de leerlingen door een aantal eenvoudige voorbeelden en moedigt hen aan om wat ze leren toe te passen op hun eigen projecten.
-
Learning to Program with Alice door Dann, Cooper en Pausch: dit boek is ontworpen voor studenten op het pre-CS1-niveau of voor gebruik in het eerste deel van een CS1-klas, en behandelt de basisprincipes van Alice-programmeren en algemene programmeertheorie, terwijl het ook een inleiding biedt op traditionele programmeertalen door studenten de mogelijkheid te bieden de code die ze hebben gemaakt visueel te bekijken in een op Java gebaseerde syntaxis.
-
Alice 3 in Action: Computing Through Animation van Joel Adams: ook dit is een aanvullend boek, bedoeld om extra lessen te geven over de basisprincipes van programmeren en programmeertheorie in een CS-klas op universitair niveau.
Conclusie
Of je nu jongere kinderen wilt laten kennismaken met programmeren of een inleiding wilt geven op een CS-curriculum op universitair niveau, Alice biedt een gemakkelijk toegankelijk overzicht van de basisprincipes en -theorieën van programmeren.
Als leerlingen na het gebruik van Alice kennismaken met een traditionele, op tekst gebaseerde programmeertaal, kunnen ze hun kennis van programmeerlogica gemakkelijk combineren met de nieuwe syntaxis die ze leren.
In tegenstelling tot veel andere visuele programmeertalen voor kinderen, bevat Alice duidelijke “codering” die nieuwe programmeurs kunnen volgen, waardoor de kloof tussen een visuele taal en een op tekst gebaseerde omgeving wordt overbrugd.
Verder lezen en bronnen
We hebben meer programmeergidsen, tutorials en infographics met betrekking tot coderen en ontwikkelaarsbronnen: