Haluaisin opetella koodaamaan pelejä, tai ainakin päästä alkuun.
Kannattaako 14 vuotiaan aloittaa sellaisilla alakoululaisille tarkoitetuilla kirjoilla? Vaiko onko ne vähän liian yksinkertaisia/helppoja?
Voiko kirjan avulla opetella koodaamaan, vai täytyykö mennä jonnekkin kurssille?
Kokemuksia? Minkä nimistä kirjaa suosittelisit?
Koodaus kirja
23
1621
Vastaukset
- ei-helppoa-kieltä
Ei alkeiden opettelusta mitään haittaa ole.
Ohjelmoinnin opettelu on joka tapauksessa suurimmaksi osaksi itseopiskelua.
Olen huomannut että monessakin jonkun tietyn kielen ohjelmoinnin oppikirjassa edetään liian nopeasti. Ensin on vaan joku Hello World esimerkki ja sitten jo hypätäänkin värkkäämään osoitteilla ja muilla sekavuuksilla.
Sellaiset kirjat on selvästi suunniteltu jo jonkun toisen ohjelmointikielen hallitsevalle, ei alkeisopetusta tarvitsevalle.
Ja jos jossain ohjelmoinnin oppikirjassa kehutaan että "tämä ohjelmointikieli on helppo..." niin siinä reilusti kyllä valehdellaan. Ei mikään ohjelmointikieli eikä mikään muukaan kieli ole helppo.Ohjelmointikielissä ensimmäisen oppiminen on se kynnys. Seuraavissa on lähinnä se, että onko kieli funktionaalinen, imperatiivinen vai declaratiivinen ja lisäksi oliomallinnus tuo syntaksiin lisää.
- cfascfaw
Melkein kannattaa aloittaa jostain helposta ja esivalmiista pelimoottori pohjasta, niin pääsee ehkä paremmin jyvälle.
- ei-helppoa-kieltä
Varmaan hyödyllistä, mutta siinäkin täytyy olla perehtynyt ohjelmointiin ja käytettyyn ohjelmointikieleen selvästi alkeita enemmän, että koodia edes jotenkin olisi mahdollista ymmärtää.
Tämä on parhaita näkemiäni kirjoja tuohon hommaan: http://inventwithpython.com/chapters/
Asentele Lazarus, Delphi tai joku muu helposti omaksuttavissa oleva ympäristö, ja koita onkia tietoa, kuinka saat aikaa yksinkertaisen pelin jossa mitataan reaktioaikaa.
Aloitus tilanne jossa pelaaja painaa koko ajan A kirjainta toisella kädellä, ja Ä kirjainta toisella kädellä, kun ruudulla olevat kolme palloa ovat saman väriset (pallot vaihtavat väriä eri nopeuksilla), pelaaja päästää molemmat näppäimet vapaaksi. Voittaja on se joka omistaa lyhyemmän ajan 100 parhaan ajan tilastossa.
Pelin idea on yksinkertainen ja sen voi toteuttaa yksinkertaisin menetelmin, mutta myös haastava, kun laajennat pelin ominaisuuksia niin että myös pelaaminen kaverin kanssa verkon yli onnistuu. Tai jotain muuta yksinkertaista, tärkeintä on motivoitua ja nauttia tuloksista.
ELI
Tavoitteellinen opiskelu tuottaa tulosta, ei se että yrität päntätä päähäsi jonkin kirjan kannesta kanteen. Vain tekemällä oppii, luetut jutut unohtuu heti kun pistät kirjan kannet kiinni.Ei Lazarusta eikä Delphiä. Sillä tekemällä saa vain aivovaurion kun työkalu ohjaa haitallisiin ohjelmointikäytäntöihin. Vähän vastaavalla tavalla miten Basic kieli aiheutti aivovaurioita 80-luvulla.
Python mahdollistaa myös joidenkin asioiden tekemisen huonosti mutta siinä on erittäin matala kynnys alkaa tekemään, sille on sopiva kirja ja itse kieli on hyödyllinen työkalu monessakin hommassa.
Peliohjelmonnissa parempi kieli tällä hetkellä olisi kyllä Javascript ja vähiten aivovauriota varmaan tulisi Schemestä, että siitä voi hyvin punnita. Lazarus ja Delphi ovat hullun hommaa. Mikään ominaisuus ei puolla niiden käyttöä.- BrainMD
-Ei Lazarusta eikä Delphiä. Sillä tekemällä saa vain aivovaurion kun työkalu ohjaa haitallisiin ohjelmointikäytäntöihin. Vähän vastaavalla tavalla miten Basic kieli aiheutti aivovaurioita 80-luvulla.-
No nyt se selvisi, mistä sinun aivovaurio on peräisin. BrainMD kirjoitti:
-Ei Lazarusta eikä Delphiä. Sillä tekemällä saa vain aivovaurion kun työkalu ohjaa haitallisiin ohjelmointikäytäntöihin. Vähän vastaavalla tavalla miten Basic kieli aiheutti aivovaurioita 80-luvulla.-
No nyt se selvisi, mistä sinun aivovaurio on peräisin.Basic aiheutti joo aivovauriota.
Niitä aivovaurioita voi toki korjata opettelemalla tekemään asioita oikein mutta silloin asioiden oppimisessa kestää pidempään. Helpommalla selviää kun keskittyy opettelemaan oikeita asioita eikä missään nimessä mitään ObjectPascal LCL/VCL oksennusta.
- imnotarobot123
1 vaihtoehto on tehdä joku Direct3D -opetussarja, löytyy aika hyviäkin sellaisia joissa on opetettu aivan kädestä pitäen miten tehdään direct3d-grafiikkaa, juurikin pelikäyttöön tarkoitettuahan d3d on.
Microsoftilta saat ilmaiseksi jonkun visual c -kääntäjänkin opiskelijaversion.
Minäkin teen huvikseni d3d-opetustehtäviä silloin tällöin, vaikka en pelejä sinänsä ohjelmoikaan aina.
Botin-tunnistus-peli joka on sivustolla, aika hauska yritä huomata 1:n pixelin kokoinen autokin jostain kuvasta puskan takaa, tuota pelaa oikeastaan huvikseenkin.Riippuu tietysti henkilöstä mutta 14-vuotiaalla ei vältsisti ole trigonometriaa riittävästi opeteltuna että turhan korkea kynnys tulee, ja ei nyt hemmetissä mitään C :aa.
Jos nyt jotain 3D häkkyröitä haluaa niin ennemmin Microsoftin BabylonJS: https://www.babylonjs.com/- itseoppinut
No jaa, minä opettelin C :lla ohjelmoimaan 10-vuotiaana. Tosin C on aika paljon muuttunut 25 vuodessa. Mutta jos nopeus riittää, niin Python on hyvä, nopeampiin juttuihin C on hyvä.
- trollerson
M-Kar kirjoitti:
Aika harvassa tilanteet missä Pythonin suorituskyky ei riittäisi.
Ainakin tuo Babylon JS:n ja WebGL:n suorituskyky vaikutti heikolta verrattuna natiivipeleihin.
FPS oli minulla 15 - 60 fps välillä, 60 tuossa varmaan oli se tavoite FPS / katto, mutta aika reippaasti se tippuu sen alle jos skenessä on muutakin kuin neliön muotoinen laatikko.
Muuten vaikuttaa kyllä hyvältä ja helpolta. trollerson kirjoitti:
Ainakin tuo Babylon JS:n ja WebGL:n suorituskyky vaikutti heikolta verrattuna natiivipeleihin.
FPS oli minulla 15 - 60 fps välillä, 60 tuossa varmaan oli se tavoite FPS / katto, mutta aika reippaasti se tippuu sen alle jos skenessä on muutakin kuin neliön muotoinen laatikko.
Muuten vaikuttaa kyllä hyvältä ja helpolta.Nykyisin varmaan 10x vähemmän suorituskykyä.
Yleensä sillä ei ole mitään merkitystä kun suorituskykyä saa kuitenkin herkästi sen 60fps. Ainakin minulla rullaa täysillä vaikka on kohta 7v vanha kone.
Ja vaikka suorituskykyä tarvitsisikin enemmän niin ei merkitystä koska siinä vaiheessa kun se oma hengentuote on valmis niin selaimissa varmaan WebAssembly johon voi kääntää sen koodin sit.
Semmoinen yleisohje ollut ohjelmistokehityksessä aina, että pitäisi pyrkiä valitsemaan mahdollisimman selkeätä ja futureproof tekniikkaa, yleensä sitä mikä on tulossa käyttöön ennemmin kuin semmoinen mitä on käytetty 10v jotta saadaan koodille mahdollisimman pitkä käyttöikä.
Sovellusohjelmat on tavallisesti uudelleenkirjoitettu 12v välein ja mitä siistimmin on tehty niin sitä helpompaa on se siirtäminen. Suorituskyky ollut aina aika yhdentekevää kun se paranee kokoaika kun sovellusalusta, rauta, käyttöjärjestelmä ja oma koodi päivittyy.
- enevpk1
Kaikenlaisia kirjoja on aina hyvä lukea. Scratch saattaa vaikuttaa vähän lapselliselta, mutta kyllä siinä ihan oikeasti ohjelmoidaan. Ja hyviä esimerkkejä on tarjolla, joiden koodi saattaa silti olla perin yksinkertainen. Koodauksen oppiminen edellyttä myös itse tekemistä
- arvelija-
luulisi, että netistä googlettamalla löytyy jotain opetusmateriaalia
http://www.helloruby.com/fi Linda Liukas - Hello Ruby on paljon huomiota saanut kirja.
Koottu lause, ehto lause, iterointi eli silmukat, aliohjelmat, muuttujat, tiedon välittäminen aliohjelmalle ja muut perusasiat on joka ohjelmointikielessä. Pascal oli aikoinaan paljon käytetty opetuskieli. Siitä syntyivät Delphi ja Lazarus. Helpompia ja järkevämpiä ne ovat kuin C ja sen muunnokset. Perusasiat kannattaa opetella jollain selkeällä kielellä. Ohjelmointia voi opetella omin päin, koska kääntäjä ilmoittelee virheistä.
Tämä naurattaa aina.... eri ympäristöissä saa erilaisen vastauksen.
$ make love
make: *** No rule to make target 'love'. Seis.Niin silloin oli kun sillä oli jotain merkitystä. Opetuksessa on käytetty sen jälkeen Javaa ja Pythonia. Lisp on myös ollut käytetty opetuksessa.
Ei Pascalia enää käytetä opetuksessa kun tiedetään että se ohjaa kehittäjää huonoihin ohjelmointimalleihin.
Varmaan ihan hyvä kirja tuo Hello Ruby, mutta harmillisesti Ruby alkoi vähitellen kuolemaan.
En ymmärrä miksi Pascal ohjaa huonoihin ohjelmointimalleihin.
Ei sen rakenne paljoa eroa C:stä tai Javasta. Muuttujien tyypit toki tarkistetaan paremmin.
Merkkijonoja, osoitteita, kokonaislukuja ym ei pääse sotkemaan samalla tavalla kuin C:ssä."En ymmärrä miksi Pascal ohjaa huonoihin ohjelmointimalleihin.
Ei sen rakenne paljoa eroa C:stä tai Javasta."
No eihän se C eikä Java ohjaa myöskään hyviin malleihin. C eroaa merkittävästi edukseen lähinnä siinä, että on defacto systeemiohjelmointikieli, että jos matalaa tasoa tekee niin C on oikea työkalu, mutta nyt ei ole siitä kyse sellaisesta tarpeesta. Javan vika taas se, että väkisin ohjaa oliokoodiin.
Python on selvästi parempi opetuksessa.
Pythonia en tunne, mutta paljon sitä käytetään. Sillä hyvä aloittaa. Ei tarvitse muuttujia esitellä niin tarkkaan. Pythonista on useampi versio. 2.7 alkaa olla historiaa.
Vielä parempi se, että voi ohjelmoida paljon ilman muuttujia.
Se olisi oikeastaan aika hyvä oppia varhaisessa vaiheessa, että sijoutusoperaattoria tulisi välttää.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 964799
Pekka Aittakumpu ja Jenni Simula kiistävät väitetyn aviorikoksen
"Yleisessä tiedossa oleva asia”, sanovat Kalevan lähteet https://www.kaleva.fi/pekka-aittakumpu-ja-jenna-simula-ki1684343Onko jollakin navetassa kuolleita eläimiä
Onko totta mitä facebookissa kirjoitetaan että jonkun navetassa olisi kuolleita eläimiä? Mitä on tapahtunut?854179Minä en ala kenenkään perässä juoksemaan
Voin jopa rakastaa sinua ja kääntää silti tunteeni pois. Tunteetkin hälvenevät aikanaan, poissa silmistä poissa mielestä1162668Miksi olet riittämätön kaivatullesi?
Mistä asioista tunnet riittämättömyyden tunnetta kaipaamaasi ihmistä kohtaan? Miksi koet, että et olisi tarpeeksi hänell1372658- 442197
Tiedän, että emme yritä mitään
Jos kohtaamme joskus ja tilaisuus on sopiva, voimme jutella jne. Mutta kumpikaan ei aio tehdä muuta konkreettista asian282087Aloitetaan puhtaalta pöydältä
Mukavaa iltaa mukaville. 😊 ❤️ ⚜️ Minusta ei kaikki täällä tykkää, eikä tarvitsekaan. Kun eivät ymmärrä, niin sitten ei2261870- 881749
Näin pitkästä aikaa unta sinusta
Oltiin yllättäen jossain julkisessa saunassa ja istuttiin vierekkäin, siellä oli muitakin. Pahoittelin jotain itsessäni91737