1
Scratch: Programkészítés kirakóelemekből Balaton Marcell Balázs Bernát Péter
A Scratch egy új és ingyenes oktatási célú programozási környezet. Negyedéves informatikatanár-szakos hallgatókként (ELTE IK) 2007 tavaszától foglalkozunk a környezettel, és annak honosításával.
2
A Scratch bölcsője Lifelong Kindergarten Group
3
Élethosszig tartó óvoda scratch.inf.elte.hu
A Scratch-et a Lifelong Kindergarten csoport fejleszti az MIT keretein belül. Nevük élethosszig tartó óvodának fordítható – mottójuk szerint az óvodásokra jellemző világmegismerési-tanulási folyamatot minden korosztályra ki kell terjeszteni. A kisgyerekek alkotás közben tanulnak, kreatív munka során gyűjtik be tapasztalataikat. Fontosnak látják, hogy mindenki alkotó is legyen a világban, ne csak befogadó.
4
Alkotójáték folyamata scratch.inf.elte.hu
Saját cél megfogalmazása
Problémahelyzet
Cél elérése
Kísérletezés
Tapasztalatszerzés
A csoport az óvodások alkotójátékát irigyelte meg, amely során a gyerekek saját célokat fogalmaznak meg, a felmerülő problémahelyzeteket pedig kísérletezéssel oldják meg. Valamely cél elérése általában újabb ötletek megfogalmazásához vezet, így a megoldandó problémák, és a megszerzett tapasztalatok is egyre magasabb szintűek lehetnek. Egy kezdőknek tervezett környezetnek az önálló kísérletezést kell minden lehetséges módon támogatnia.
5
Önálló kísérletezés támogatása a Scratch-ben
6
(Élő bemutató) scratch.inf.elte.hu
(Előadásunkban itt a Scratch környezetbe váltottunk, és egy egyszerű játék összeállításán keresztül ismertettük fontosabb tulajdonságait. A Barlangi búvár kibővített változatát a http://scratch.mit.edu/projects/bernatp/47270 címen tekintheti meg – és töltheti le.) A Scratch-ben minden parancs könnyen elérhető, nem kell súgót vagy honlapokat böngészni ahhoz, hogy a kiadható parancsokat, és azok helyes használatát megtaláljuk. A kezelőfelület könnyen áttekinthető: a három fő részből álló (parancskészlet, programozási tér, játéktér) szerszámosláda-szerű ablak mellett csak egy továbbit, a festőablakot kell használni a programkészítés során. Az algoritmus és az eredmény egyszerre látható, így a kettő közti kapcsolat követhető és világos.
7
(Élő bemutató) scratch.inf.elte.hu
(Előadásunkban a Scratch környezetbe váltottunk, és egy egyszerű játék összeállításán keresztül ismertettük fontosabb tulajdonságait.) Nem lehet szintaktikai hibát véteni: ahová például csak logikai állítás való (mondjuk egy elágazás megszervezésekor), oda csak logikai értékek, ahová szám, oda csak számértékek illeszthetők (a kirakóelemek formái is segítenek a megkülönböztetésben). Minthogy hibázni nem lehet, a visszacsatolás azonnali (nem csak később derül ki a probléma, mikorra az algoritmus már tovább bővült), és a tévesztés nem jár kudarccal, mert nincsenek hibaüzenetek.
8
(Élő bemutató) scratch.inf.elte.hu
(Előadásunkban a Scratch környezetbe váltottunk, és egy egyszerű játék összeállításán keresztül ismertettük fontosabb tulajdonságait.) A grafikus programkód ízlésesen jeleníti meg a parancsokat: mutatja az egymásba ágyazásokat, színekkel különbözteti meg az eltérő kategóriákba (mozgás, vezérlés stb.) eső utasításokat. A fogd és vidd technikának köszönhetően a szöveges gépelésnél hatékonyabban változtatható meg a kód: könnyű parancsblokkokat mozgatni, paramétereket átírni vagy lecserélni, feltételeket változtatni. A módosítások akár dinamikusan, programfutás közben is elvégezhetők.
9
(Élő bemutató) scratch.inf.elte.hu
(Előadásunkban a Scratch környezetbe váltottunk, és egy egyszerű játék összeállításán keresztül ismertettük fontosabb tulajdonságait.) A kirakóelemek nyelve egyetlen kattintással átállítható, így a programkódot készítő, és az azt megtekintő személyeknek nem kell érteniük egymás nyelvén.
10
Objektumorientált programozás
scratch.inf.elte.hu
A Scratch-ben való programozás objektumorientált. Úgy véljük, hogy az objektumelvű programozás sikeres lehet kisgyerekek körében is. Bizonyítandó, hogy képesek objektumokban gondolkozni, elég számítógépes játékokat tekintenünk – például a Super Mariót –, ahol az eredményes játék feltétele a játék szereplőinek megkülönböztetése, tulajdonságaik és a közöttük fennálló lehetséges kapcsolatok megértése. Akik tudnak Mariózni – márpedig a kisgyerekekre ez igaz –, azok objektumorientáltan is tudnak gondolkodni.
11
Mi is szeretjük…
scratch.inf.elte.hu
A Scratch nemcsak gyerekeknek, hanem bárkinek jól használható környezet lehet. Számunkra ez a legjobb eszköz, amivel interaktív grafikus programokat tudunk készíteni. Nyilvánvalóan más szoftverekkel is készíthető volna kirakójáték, képvetítő, országkereső és társasjáték, de azok a környezetek biztosan bonyolultabbak a Scratch-nél. A felsorolt programokat a következő címeken érheti el: http://scratch.mit.edu/projects/bmarcell/6489 http://scratch.mit.edu/projects/bernatp/30863 http://scratch.mit.edu/projects/bmarcell/1693 http://scratch.mit.edu/projects/bernatp/744
12
Felhasználók korcsoportonként scratch.inf.elte.hu
A környezet célközönségének az általános iskolák felső tagozatát tekintjük, és meglátásunkat a Scratch-elők életkor szerinti eloszlását szemléltető diagram is alátámasztja: legtöbben a 10-14 évesek között használják a Scratch-et.
13
scratch.mit.edu scratch.inf.elte.hu
A Scratch-ben összerakott játékok egyetlen gombnyomással feltölthetők a hivatalos oldalra, ahol webböngészőn keresztül bárki ki is próbálhatja azokat. Közösségi oldalról lévén szó, mindenki személyes lapokon gyűjtheti össze saját és kedvenc programjait, és hozzá is szólhatnak egymás játékaihoz.
14
A folytatásban… scratch.inf.elte.hu
2. A Scratch programozási nyelve
3. Rakjuk ki együtt! A Scratch-közösség
15
A Scratch programozási nyelve Bernát Péter
16
Programszerkezetek a Scratch-ben
17
Programszerkezetek toplistája scratch.inf.elte.hu
SZEKVENCIA
1
CIKLUS
ELÁGAZÁS
2 3
4
5 6
Mint minden „valamire való” nyelvben, a Scratch-ben is lehet szekvenciát, ciklust és elágazást készíteni. Ha áttekintjük az egyes vezérlőutasítások népszerűségét a Scratch-elő gyerekek körében, a következő kép rajzolódik ki: Habár a legnépszerűbb szerkezet a szekvencia, nagyon kevés programban szorítkoznak a szekvencia kizárólagos használatára. A legnépszerűbb vezérlőparancs a végtelen ciklus, amely mind animáció-, mind játékkészítésnél hasznos. Szintén közkedvelt (eseményvezérelt környezetről lévén szó) a mindig ha parancs, amely egy végtelen ciklus, és egy ha parancs ötvözet. Előbbi parancs szinte kiszorítja a „klasszikus” ha szerkezetet. A csak adott számszor lefutó ismétlés nem gyakori. Nagyon ritkán használják az ismételd eddig ciklust, amelynek szinte csak elméleti jelentősége van (a környezet ugyanis ezzel a paranccsal együtt biztosíthatja az ún. strukturált programozás alapszerkezeteit).
18
Egyszerű típusok
19
Típusok szerepköre scratch.inf.elte.hu
SZÖVEG LOGIKAI
SZÁM
A szövegtípus ritka, csak konstans paraméterként jelenik meg. Ebben a vizuálismozgásos környezetben a szövegműveletek nem motiváltak, így azok nincsenek. A logikai típushoz már a megszokott műveletek is hozzátartoznak: és, vagy, nem. Ezek természetesen egymásba is ágyazhatók. A számtípus lehet egész és valós értékű is, szükség esetén a környezet kerekít. Szám a legtöbb állapotkomponens (x hely, méret stb.), ezenkívül például grafikus hatások mértékét is számmal fejezik ki. A számtípushoz az összes ismert matematikai függvényt hozzácsatolták (például arcus cosinus), és változót is számtípussal lehet létrehozni.
20
Változó scratch.inf.elte.hu
A létrehozott változókhoz egy-egy opcionálisan megjeleníthető kijelző tartozik a játéktérben. A kijelzőn szerepel a változó neve, de ha egyértelmű, hogy a változó mit számlál, a név elrejthető (nagy kijelző). Arra is lehetőség van, hogy egy változó értékét kívülről, tehát a felhasználói oldalról is változtatni lehessen: ekkor egy beállítható tartományú csúszkát lehet megjeleníteni a kijelző alsó felén.
21
Eseményvezérelt programozás
22
Rövid út az eseményekhez scratch.inf.elte.hu
1. Parancsok használata
2. Parancsok gombokhoz rendelése
A környezettel való ismerkedés elején a parancsok egyesével is kipróbálhatók. Úgy látom, hogy rögtön ezután a parancsokat gomblenyomásokhoz érdemes rendelni. Egyrészt a gombokkal való irányítás természetes ötlet, másrészt előnyös, ha már a legelső programok is interaktívak.
23
Perifériás események kezelése scratch.inf.elte.hu
BILLENTYŰZET
EGÉR
A Scratch-ben az eljárások elsősorban perifériás eseményekhez kötött feladatok. A billentyűzet gombjainak lenyomásán túl valamely szereplőre való kattintást is lehet az ún. eseményjelző sapkákkal figyelni.
24
Belső események kezelése scratch.inf.elte.hu
EGYSZERI ESEMÉNY
RENDSZERES ESEMÉNY
Programokban előfordulhatnak olyan „belső események”, amelyek valamikor bekövetkeznek, de nem köthetők perifériához (a billentyűzethez vagy az egérhez). Kétféle megoldást vázolhatunk fel – és ez már módszertani meggondolás –, aszerint hogy a belső esemény egyszer, vagy többször következhet-e be. Csak egyszer fog például az élet változó nullázódni. A megmutatott kódrészletben a várj eddig parancs úgy viselkedik, mint egy sorompó: a változó 3-ra állítása után csak akkor engedi tovább a vezérlést, ha az élet felveszi a nulla értéket (többszálú programozásról lévén szó, a várakozás ideje alatt zajlik tulajdonképpen a játék). Rendszeres esemény lehet például két szereplő ütközése. Meggondolandó, hogy az ütközést annak a szereplőnek érdemes vizsgálnia, amelyik arra reagálni kíván. Ha például egy szellem újra meg újra felbukkanó gyertyákat gyűjt, akkor (habár mi a szellemet irányítjuk) a gyertyának érdemes vizsgálni a találkozást, minthogy neki lesz feladata egy új helyre ugrani. Itt a már ismert mindig ha parancs jöhet kapóra.
25
Szereplőközpontú programozás
26
scratch.inf.elte.hu
Már többször szóba került, hogy a programozás során szereplőket vezérlünk. A programban használt szereplők a jobb alsó részen gyülekeznek, és mindegyikükhöz feladatok (eljárások), jelmezek és hangok tartoznak. Jelmezek például webböngészőből, fájlkezelőkből közvetlenül áthúzhatók a jelmezlistába, de hagyományos módon is megnyithatók képfájlok (bmp, jpg, png, gif stb.). Hangokra ez hasonlóképpen igaz (a Scratch kezeli például a wav és az mp3 formátumokat).
27
Erről jut eszembe: Commodore 64 scratch.inf.elte.hu
A szereplőközpontú programozás a Commodore 64-es játékokban nagyon népszerű volt: a legtöbb játék jól felismerhető sprite-okból építkezett. A Scratchben az egyszerűbb C64-es játékokhoz hasonló színvonalú programokat lehet készíteni. A példában bemutatott Lazy Jones játék volt a játékban: egy szálloda minden szobájában különböző játékot lehetett kipróbálni. A bal oldali például három szereplőt használt: az űrhajót, az ellenséget és a lövedéket. Tipikus, hogy egyszerre csak egyet lehetett lőni: ez Scratch-ben is pontosan így történhet, mert dinamikus objektumlétrehozásra nincsen lehetőség (a lövedéket voltaképpen csak elrejteni, és megjeleníteni lehet). Szintén egy scratch-es filozófia leleteire bukkanunk akkor, ha észrevesszük, hogy a jobb oldali játék elkészítéséhez csupán a szereplők (sprite-ok) néhány egyszerű tulajdonságát kellett megváltoztatni.
28
Egy többcélú eszköz: üzenetküldés
29
Együttműködés scratch.inf.elte.hu
Tovább
Játéktér
A szereplőknek legtöbbször együtt kell működniük. Ha egyikük szeretné, hogy néhány másik szereplő csináljon valamit, üzenetet küldhet nekik. Példámban két szereplő van: a Tovább gomb, amivel a fényképvetítő programban a következő képet lehet kérni, és maga a Játéktér, amelynek egyes hátterei a fényképek. Nyilvánvaló, hogy a háttérváltást a Tovább gomb lenyomásához kellene hozzákötni, amire az üzenetküldés ad jó megoldást. Meglátásom szerint az üzenetküldést előbb lehet tanítani, mint például az elágazást (és a tananyagot is eszerint terveztem). (A képvetítő programot a http://scratch.mit.edu/projects/bernatp/30863 címen tekintheti meg – és töltheti le.)
30
Felülről lefelé kifejtés scratch.inf.elte.hu
Érdekes eredményre jutunk, ha egy szereplő önmagának küld üzenetet: ilyenkor „klasszikus” eljárás-meghívást hozunk létre. A példa egy olyan katicát mutat, amelyet a nyílgombokkal lehet irányítani, és amely számára a piros szín halálos. Az egyes irányokba való elmozdításokban csak a szög beállítása eltérő, utána mind a lépés, mind a színellenőrzés közös rész. Most is üzenetküldést használhatunk. Paraméter nélküli eljárást készítettünk. Paraméteres eljárások készítését a környezet nem teszi lehetővé, de játékkészítésnél azok viszonylag ritkán volnának szükségesek, és globális változókkal egyébként is kiküszöbölhetők.
31
Mi nem tanulható a Scratch-ben? Mi tanulható még a Scratch-ben?
32
Ami a gyerekeknek úgysem jutna eszébe scratch.inf.elte.hu
Adatfeldolgozás
Számítási feladatok
Amit illik elfelejteni tanárként (és ami a gyerekeknek úgyse jutna eszükbe): adatfeldolgozás és számítási feladatok. Személyes tapasztalatom: amikor rátaláltam a Scratch-re, rövid próbálkozások után hasonló feladatokat próbáltam megvalósítani. Időbe tellett rájönnöm, hogy habár a környezet szemléletességét kihasználhatnám, mégsem ilyen célokra tervezték. A Scratch nem váltja ki a Pascalt (amely az adatfeldolgozáshoz és a számítási feladatokhoz használható), és a Pascal sem válthatja ki a Scratch-et (nagyon nehéz olyan programot kitalálni, amely mindkettőben jól elkészíthető).
33
Programozáson túl scratch.inf.elte.hu
A Scratch készítői szerették volna, ha a gyerekek számára (és persze mindenkinek) a környezet egy jó multimédiás eszköz is lehetne. Éppen ezért építettek bele például különböző grafikus hatásokat (melyeket komolyabb képszerkesztőkből ismerhetünk), vagy MIDI-támogatást. A jobb felső ábrán például valaki egy olyan zongorát készített, amelynek a billentyűi széthúzhatók, és azokat pattogó labdák szólaltatják meg. A környezet animációkészítésre is jól használható, legyen szó jelmezek változtatása, vagy mozgások okozta animációról. És persze mindezen médiaelemek keverve is használhatók, például egy zenés videoklip elkészítése során.
34
A folytatásban… scratch.inf.elte.hu
3. Rakjuk ki együtt! A Scratch-közösség
35
Rakjuk ki együtt! A Scratch-közösség Balaton Marcell Balázs
36
A Scratch hivatalos közösségi oldala
37
scratch.mit.edu scratch.inf.elte.hu
A Scratch-ben készült projekteket feltölthetjük a hivatalos oldalra, így bármely böngésző alól megtekinthetők lesznek, amennyiben a Java virtuális gép telepítve van. A feltöltéshez nem kell mást tenni, mint regisztrálni a scratch.mit.edu angol nyelvű weboldalon, és a programozási környezet Feltöltés gombjára kattintani.
38
Alkotók száma kor szerint scratch.inf.elte.hu
Korábban már láttuk a felhasználók számát kor szerint csoportosítva. A mostani diagramon az alkotók száma szerepel a 20 év alattiak között.
39
Mutasd meg magad! scratch.inf.elte.hu
A scratch.mit.edu főoldala hat ajánlódobozt tartalmaz. Newest: A legújabb programok szerepelnek itt. Azonnal megláthatjuk feltöltésünket az oldalon, és számíthatunk arra, hogy így a többiek megtekintik. Featured: A szerkesztők által legjobbnak vélt programokat kiválasztják. Ezek tanulságosak, érdekesek, és az átlagtól magasabb színvonalat képviselnek. Surprise: Véletlenszerű ajánló, mely esélyt ad minden programnak, legyen az egyszerűbb vagy bonyolultabb. A felhasználók véleményét tükrözi az utolsó 3 kategória, aszerint hogy mostanában mely projekteket kedvelték, jelölték kedvencnek vagy töltötték le sok alkalommal.
40
Projektoldal scratch.inf.elte.hu
Minden program feltöltésekor létrejön egy hozzá tartozó projektoldal. Ez sokban hasonlít a Youtube egy videóoldalára.
41
Projektoldal scratch.inf.elte.hu
A projekt-applet alatt hozzá is lehet szólni, lehet értékelni, kedvencnek jelölni, de akár le is lehet tölteni a programot. Mindehhez csak regisztráljunk az oldalon, és jelentkezzünk be! Ahogy a Youtube-videókat, úgy a feltöltött Scratch-projekteket is be lehet illeszteni más honlapokba.
42
Munkák értékelése scratch.inf.elte.hu
„Love it?”
bármely projektet lehet értékelni
ennek formája nem pontozásos
az értékelés csak pozitív lehet
„Add to my favorites?”
a kedvenceket is meg lehet jelölni
A kedvenc projektek feltehetően az átlagtól jobbak, így feltehető, hogy azok készítői is hasonlóan magas színvonalú alkotásokat preferálnak. Ennek köszönhetően a kedvenceken keresztül, átlagtól eltérő, magasabb szintű játékok hálózatában lehet bolyongani.
43
Profiloldal scratch.inf.elte.hu
Ne felejtsük el megjegyezni, hogy nem csak a projekteknek, hanem a regisztrált felhasználóknak is van oldala. Ez a profiloldal sokban hasonlít például az iwiw közösségi site oldalához, barátokat is megjelölhetünk, azonban ez itt nem szimmetrikus fogalom – visszajelzés nélkül is barátként tekinthetünk felhasználókra. Az általunk készített projektek alatt kedvenceink is megtalálhatók.
44
Letöltés játék átalakítás scratch.inf.elte.hu
A projekteket bárki...
letöltheti
játszhat vele
saját nyelvén olvashatja
átalakíthatja
a kód módosítása nélkül
a programkód felhasználásával
az átalakított projektet újra megoszthatja
Az átalakítás nemcsak a kód egy részletének felhasználásával képzelhető el, hiszen annak módosítása nélkül is, akár csak a szereplők átfestésével létrehozhatóak új projektek. Ezeket persze újból fel lehet tölteni, ám a feldolgozást készítő felhasználó neve alatt az eredeti alkotó neve és fotója is megjelenik. Az ilyen átalakított programokat remixeknek hívják.
45
A kirakó összeáll scratch.inf.elte.hu
Ne higgyük azt, hogy ez kevésbé érdekes feladat. Vegyük példaként egyik oktató jellegű játékomat, melyben a megjelenő nevek alapján kell az országokat megtalálni egy vaktérképen. A program kétnyelvű, angolul és magyarul is beszél, és található benne egy tanuló mód is. Erről a címről egy amerikai iskola diákjai töltötték le: http://scratch.mit.edu/projects/bmarcell/1693
46
A kirakó összeáll scratch.inf.elte.hu
Gyönyörű példája annak, hogy átfestéssel, a kód minimális módosításával született egy kiváló játék, melyet egy amerikai iskola diákjai készítettek el. Ezúttal persze nem Európát, hanem egy őket érdeklő témát dolgoztak fel, azaz az USA tagállamait kell kitalálni.
47
A környezet formálása scratch.inf.elte.hu
Felhasználói javaslatok
Vitafórum Fejlesztők
Felhasználók
Megvalósított javaslatok
Megírhatjuk fejlesztési ötleteinket, ezekről eszmecsere folyik a fórumon, amit a felhasználók megvitatnak egymással és a fejlesztőkkel is. A közösség kéréseinek van eredménye. Az 1.2-es verzió újdonságai, amit a közösség kérésére készítettek el: más szereplők értékei is lekérdezhetők, mostantól tehát nem kell közös (globális) változókat közbeiktatni; elkészült a megjegyzés doboz, amit bárhova beilleszthetünk a kódba, és leírhatjuk az oda tartozó gondolatainkat, észrevételeinket.
48
Scratch Magyarország Portál
49
scratch.inf.elte.hu scratch.inf.elte.hu
A tavasz óta működő magyar nyelvű weboldalunkat 2007. november közepétől felváltotta a Scratch Magyarország Portál, mely a http://scratch.inf.elte.hu címen érhető el.
50
Leckék készülnek scratch.inf.elte.hu
Az ELTE informatikatanár-hallgatói közreműködésével magyar nyelvű bevezető tananyagot készítettünk.
51
Bevezető leckék scratch.inf.elte.hu
A bevezető tananyag 13 leckéből áll, és teljes mértékben lefedik a Scratch legfontosabb tudnivalóit. Ezek között megtaláljuk például az előadásunk első részében elkészített Barlangi búvárt is, melyben a szín- és szereplő-érintés vizsgálatán keresztül a feltételkészítést mutatjuk be.
52
Bevezető leckék scratch.inf.elte.hu
Az egyes leckékből megismerhető legfontosabb parancsokat és módszereket tekinthetjük át tematikus nézetben.
53
Bevezető leckék/
Kelekótya polip scratch.inf.elte.hu
Minden egyes bevezető lecke egy játékos projekt elkészítéséhez is vezet, melyek önállóan is szórakoztatók.
54
Haladó leckék scratch.inf.elte.hu
A bevezető tananyag mellett haladó leckék is szerepelnek az oldalon. Ebben olyan érdekességekre mutatunk módszert, mint például hogy hogyan lehet egy autó-szereplőt a megrajzolt versenypályán gépi „intelligenciával” vezérelni, vagy inkább valami trükkel ahhoz hasonló eredményt elérni.
55
Haladó leckék/
Autóverseny 1. scratch.inf.elte.hu
56
Áttekintések scratch.inf.elte.hu
Mindezek mellett áttekintő anyagokat is szeretnénk megosztani a Scratch iránt érdeklődőkkel.
57
Áttekintések/
Parancslista scratch.inf.elte.hu
Akár referencia-anyagként is használható lehet az áttekintések alatt megtalálható Parancslista, mely a programozási környezet összes parancsának leírását és néhány esetben még példákat is tartalmaz.
58
MIT-kalauz scratch.inf.elte.hu
A Scratch Magyarország Portál nem az MIT weboldalának helyettesítésére jött létre, hanem éppen ellenkezőleg, annak erősítésére, támogatására. Ennek megfelelően segítséget próbálunk nyújtani ahhoz, hogy az angolul nem tudó gyerekek is tájékozódni tudjanak az amerikai oldalon.
59
MIT-kalauz/
Regisztrálás az MIT-n scratch.inf.elte.hu
Ahhoz például, hogy feltölthessük és megoszthassunk projektünket, elengedhetetlen, hogy az angol nyelvű oldalra regisztráljunk. Ebben egy rövid leírással segítünk, ahol az egyes mezők magyar fordítása is szerepel. A Scratch Magyarország Portálon is lehet regisztrálni, amivel hozzá lehet szólni a fórumtémákhoz, illetve a tavasszal meghirdetésre kerülő versennyel kapcsolatos teendők is végezhetők majd. Fontos megjegyezni, hogy a regisztráció a hazai portálra és az MIT oldalára nem azonos, ezek teljesen függetlenek egymástól.
60
Köszönjük a figyelmet! http://scratch.inf.elte.hu
A Scratch Magyarország Portál lesz a főhadiszállása a – terveink szerint – 2008 tavaszán induló, iskolák közötti Scratch programozási versenynek. A további részletekért regisztráljanak a http://scratch.inf.elte.hu -n, és figyeljék friss híreinket!