Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Koodauksen aloittaminen 7-9-vuotiaalle

Sivun loppuun

kuukkelinkutittelija [24.02.2016 04:10:44]

#

Terppa taas!

Vinkkejä ja vihjeitä, mistä tuon ikäisen kannattaisi aloittaa koodausharrastus? Unity-2D-pelien teko kuulostaisi kummalliselta alulta, Basicista en ole varma mikä laji olisi mahdollisesti paras... Yleistason vinkkejä kiitos! :)

- kk -

TuomasK [24.02.2016 06:58:06]

#

Minä olen tässä muutaman kuukauden ajan pitänyt koodauskerhoa 9-12 -vuotiaille. Vaikka se ei mikään "oikea" kieli olekkaan, niin Scratchia ollaan käytetty, ja oppilaat ovat olleet ihan tyytyväisiä. Pääpaino kun on kerhossa ollut tekemisessä, ei niinkään ohjelmoinnissa. Scratchilla saa helposti tuloksia aikaan, eikä tarvitse miettiä mitään syntaksia yms, niin kiinnostuskin pysyy yllä. Ja kyllä tuo ainakin minun mielestä opettaa semmoista erilaista ajattelua, mistä varmasti on hyötyä jos joku innostuu tästä mahtavasta harrastuksesta enemmän.

LCHawk [24.02.2016 09:03:39]

#

Täältä myös ääni Scratchille. Olen vetänyt Itä-Suomessa kerhoja, joissa tuota on käytetty. Ovat olleet suosittuja.

Oskuz [24.02.2016 13:06:21]

#

Scratch on hyvä alku, sen jälkeen voisi kokeilla vaikka EppaBasicia.

kuukkelinkutittelija [25.02.2016 00:40:26]

#

Jeps, kiitos, tutustun tuohon! Mietin tässä myös, missä vaiheessa kannattaisi tutustuttaa Unityyn, kun pelinteko kovasti kiinnostaa. CoolBasicit sun muut kelvottomuudet ehkä jätetään välistä, vaikka olen itse niillä joskus leikkinytkin...

fergusq [25.02.2016 08:51:07]

#

Osaako hän ohjelmoida hyvin? Pelinteko ei ole lopulta kovin helppoa ja ne tulokset, joihin voi itse päästä yksin eivät ole lopulta niin hienoja. En ole varma siitä, miten Unity toimii, mutta katselin siitä videoita netistä ja se näytti melko hankalalta ainakin nuoren näkökulmasta. Ilman aiempaa kokemusta pelinteosta, grafiikasta tai edes tavallisesta peruskoulumatematiikasta oppimiskynnys on hyvin korkealla.

Vaikka nyt haukutkin CoolBasicia kelvottomaksi (mitä se ehdottomasti oikeisiin kieliin verrattuna on), niin sillä saa aikaan paljon pienemmällä vaivalla monia sellaisia 2D-pelejä, joihin Unity olisi yksinkertaisesti liian monipuolinen. EppaBasicissa on tällä hetkellä paljon vähemmän ominaisuuksia kuin CoolBasicissa, mutta se on myös tavallaan selkeämpi juuri sen vuoksi.

Minä itse olen toteuttanut EppaBasicilla esimerkiksi tämän bullet hell -pelin, joka on koodina melko lyhyt. En missään tapauksessa ryhtyisi edes kokeilemaan saman tekemistä Unityllä, sillä siihen kuluisi vain liikaa aikaa ja vaivaa ilman oleellisesti parempia lopputuloksia. Jos EB tukisi kuvia, ei peliä voisi edes erottaa monista sen esikuvista.

kuukkelinkutittelija [25.02.2016 19:45:45]

#

Kyseisellä lapsella ei ole mitään ohjelmointikokemusta, mietin ihan pidemmällä aikavälillä mitä suosittelen missäkin vaiheessa... CoolBasic-kelvottomuuden törmäyksentunnistusten säätäminen esim. hissien toimimaan saamiseksi on hirvittävän hankalaa (Unityssä vastaavat hoituvat muutamalla klikkauksella), mutta ehkä CB ei ole täysin poissuljettu peliohjelmoinni alkeiden opetteluun, koska siinä on aloittelijaystävällinen - ja ennen kaikkea suomenkielinen - dokumentaatio ja kaikenlaiset pelimoottorien perustoiminnot oppii hahmottamaan. Ellei tule esille parempaa vaihtoehtoa jolle olisi suomenkielinen dokumentaatio...

Itse aloitin ohjelmointiharrastuksen QB:llä (jota voi kääntää FreeBasicilla), joka on ihmeen suosittu puheenaihe tälläkin foorumilla. EppaBasicissa jota katselin häiritsee tuo web-pohjaisuus ja epäkäytännöllisyyden tuntu vakituisemmassa ohjelmointiharrastuksessa. Ja esim mainitsemasi taulukkojen puutteet. Muinaismuistojen ongelmana on toki esim. että jopa perusgrafiikan ja hiiren käsittelytkin vaativat aivan ihme kikkailua. Mutta millä tavoin EppaBasic on parempi vaihtoehto kuin QB/FB?

fergusq [25.02.2016 23:04:42]

#

QBasic ja FreeBasic vaativat tuntemusta kääntämisestä ja tietokoneiden toiminnasta yleensä, minkä lisäksi ne ovat, kuten sanoit, hiukan vanhentuneita. EppaBasicissa ei sinällään ole mitään parempaa, kielenä siinä on vakavia puutteita ja nettieditorointi ei tosiaan ole mitään kaikista hauskinta puuhaa. Suurin etu lienee aloittamisen helppous ja alustariippumattomuus. EB on tarkoitettu ohjelmoinnin opetusta varten kouluissa ja siksi siinä on sellaiset painotukset. Se ei sovellu ohjelmointiharrastukseen, lähinnä sillä pääsee alkuun.

Itse en suosittele mitään vastaavaa Basicia ohjelmoinnin opettelemiseen. Sen sijaan plussaa on hyvä IDE, joka alleviivaa reaaliaikaisesti punaisella virheet sekä hyvä suomenkielinen opas. Staattisesti tyypitetyt kielet ovat siitä parempia, että ne pakottavat sisäistämään tyyppien käsitteen ja ohjaavat kohti oikeaa ajattelua. Hyviä kieliä ovat esimerkiksi Java, Visual Basic.NET ja C#.

kuukkelinkutittelija [25.02.2016 23:37:56]

#

Voitko heittää vielä jotain esimerkkejä, mitä ohjelmistoja kannattaisi asentaa lapselle? Lisäksi kun on päätetty millä koodataan, mielenkiintoinen kysymys on mitä lähdetään koodaamaan kun perusrakenteet ovat hallussa. Ehkä voisi mielenkiinnon ylläpitämiseksi asentaa muutamankin erilaisen IDE:n, miksei vaikka lisäksi CoolBasicia tai FreeBasicia, eiköhän koodin käyntiin saaminen ja tallentaminen tjsp. saada haltuun...

Tuli muuten mieleen, että voisin ehkä asentaa ko. lapselle myös Unityn, koska esimerkkipelien muuntelu on osittain helppoa ja siinä on kaikessa monimutkaisuudessaan mielenkiintoinen ympäristö "tutkimusmatkailulle". Ehkä tällä kuitenkin olisi enemmän mielenkiintoa ylläpitävä, jännitystä luova vaikutus kuin koodauksen oppimista edistävä, tiedä häntä... mitä mieltä te minua kokeneemmat muuten olette, onko peliohjelmointi vähän tuota vanhemmalle hyvä tapa oppia olioajattelua?

fergusq [26.02.2016 09:22:20]

#

kuukkelinkutittelija kirjoitti:

Voitko heittää vielä jotain esimerkkejä, mitä ohjelmistoja kannattaisi asentaa lapselle?

IDE:n lisäksi on erittäin hyvä totuttaa lapsi komentorivin käyttöön. Niiden lisäksi ei välttämättä tarvita kauheasti mitään muita ohjelmia. Hyviä kehitysympäristöjä ovat Eclipse (Java) ja Visual Studio (C# ja VB.net).

kuukkelinkutittelija kirjoitti:

–– mielenkiintoinen kysymys on mitä lähdetään koodaamaan ––

Kysymys siitä, mitä lapsen pitäisi ohjelmoida, on jo vaikeampi. Se riippuu suuresti lapsen mielenkiinnonkohteista ja taidoista. Yrittäkää yhdessä keksiä realistisesti toteutettavia projekteja ja auta häntä niiden kanssa. Pienet pelit voivat aluksi olla tekstipohjaisia (esimerkiksi korttipeli komentorivillä) ja sitten kaksiulotteisia käyttäen yksinkertaisia kirjastoja (ei missään tapauksessa heti mitään OpenGL:ää).

kuukkelinkutittelija kirjoitti:

–– onko peliohjelmointi vähän tuota vanhemmalle hyvä tapa oppia olioajattelua?

Ohjelmoimaan oppii parhaiten tekemällä. Jos joutuu työssään käyttämään olioita, oppii myös olio-ohjelmointia. Oli se tekeminen sitten pelejä vai asiaohjelmia ei vaikuta niin suuresti. Tärkeämpää on kiinnostus ohjelmointia kohtaan ja valmius opetella uusia toimintamenetelmiä.

peran [26.02.2016 13:46:32]

#

kuukkelinkutittelija kirjoitti:

–– onko peliohjelmointi vähän tuota vanhemmalle hyvä tapa oppia olioajattelua?

Ohjelmoinnin voi mielestäni aloittaa siitä, kun oppii lukemaan. Tosin itse aloitin ohjelmoinnin opiskelun vasta 9-vuotiaana. Sekin meni 'peli-edellä'. Ensin pelasin, ja sitten sain tietokoneen. Oli se hankalaa, kun päivän ohjelmoi esimerkkipeliä ohjelmointioppaasta, ja en omistanut vielä silloin kasettiasemaa, joten peliä pelattiin niin kauan, kunnes kyllästyttiin. Esimerkki-peli oli hedelmäpeli. Se oli englanniksi, joten tuli opettua myös englantia siinä sivussa.

Helppoja peliohjelmia, joista voi aloittaa, ovat esim. Pac-Man, Tetris, korttipelit, matopelit, Space invaders jne.

LCHawk [26.02.2016 19:25:20]

#

Siinä vaiheessa, kun lapsen kanssa siirtyy Scratchista "oikeiden" ohjelmointikielten pariin ja mieitään, mitä projekteja tehdään, kannattaa lapsen mielenkiinnon kohteiden mukaan mennä ja miettiä, mitä tehdään. Monesti lapsen muista harrastuksista saa hyviä ideoita. Esimerkiksi erään pesäpalloa harrastaneen lapsen kanssa tehtiin ohjelma, jolla pystyi seuraamaan omia otteitaan pelissä eli pystyi merkitsemään lyötyjä ja tuotuja juoksuja, pystyi merkitsemään kunnareita jne. Nämä sitten kirjoitettiin teksitiedostoon ja sieltä luettiin tavaraa. Alkuun se oli ihan vain tekstipohjainen, myöhemmin yksinkertaisella graafisella käyttöliittymällä. Tämä projekti toteutettiin 7.- ja 8.-luokkalaisen kanssa. Noin pienten lasten (7-9-vuotiaat) kanssa minulla ei ole kokemusta kuin Scratchista.

kuukkelinkutittelija [26.02.2016 22:40:54]

#

Joo, Scratchissa on meille tekemistä joksikin aikaa, katsotaan sitten missä jatketaan. :) Tein sillä muuten juuri yksinkertaisen hyppely-ammuntapelin eikä vaatinut kuin suht simppeliä kikkailua; Scratchilla on siis mahdollista päästä pitemmälle kuin on edes järkevää (eli kannattaa ehkä ottaa joku kunnon kieli käyttöön ennen kuin edes osaa tehdä tuollaista peliä...)

eetwo [29.02.2016 09:41:31]

#

Visual Basic 6.0 ehdoton valinta, opin jo 5 vuotiaana sen.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta