Miksi opettaa ohjelmointia lohkojen avulla?

Lohkopohjaisista ohjelmointiympäristöistä tulee yhä useammin ensimmäinen koodauskokemus monille opiskelijoille1, kun yhä useammat koulut alkavat ottaa käyttöön ja laajentaa tietojenkäsittelytieteen kursseja ja opetussuunnitelmia. Yksi suosituimmista lohkopohjaisista ohjelmointikielistä on nimeltään Scratch2(scratch.mit.edu). Joka päivä yli 1 500 uutta ohjelmointiprojektia ladataan Scratch-sivustolle3. Itse VEXcode toimii Scratch-lohkoilla.

Robottiikkaa tekevät opiskelijat

Yksi tärkeimmistä syistä Scratchin luomiseen on se, että monet nuoret opiskelijat pitävät ohjelmointia tekstipohjaisilla ohjelmointikielillä liian vaikeana4, koska näiden opiskelijoiden on vaikea hallita sekä kirjoittamista että syntaksia. Tämän seurauksena lohkopohjaiset ohjelmointikielet on suunniteltu jo esikouluikäisille opiskelijoille, mutta suurin osa on suunniteltu 8–16-vuotiaille opiskelijoille. Lohkopohjainen ohjelmointi, mukaan lukien VEXcode, tarjoaa useita etuja aloitteleville ohjelmoijille5.

  1. Luettavuus:Lohkopohjaisissa ohjelmointikielissä on komentoja, jotka ovat paljon helpompi lukea kuin tekstipohjaiset komennot.
  2. Muistaminen:Lohkopohjaisten ohjelmointikielien kaikki komennot ovat käyttäjän nähtävissä. Tekstipohjaisissa ohjelmointikielissä komennot on usein opittava ulkoa. Lisäksi käyttäjien on opittava ulkoa tekstikomentoihin liittyvä syntaksi. Lohkopohjaisiin komentoihin ei liity syntaksia.
  3. Kirjoitus/oikeinkirjoitus:Nuoremmat opiskelijat kamppailevat näppäimistön käytön kanssa. Kirjoitusvirheistä tulee kääntäjän virheitä tekstipohjaisella ohjelmointikielellä. Lohkopohjaiset ohjelmointikielet käyttävät vetämällä ja pudottamalla. Siksi kirjoitusta ja oikeinkirjoituksen hallintaa ei tarvita.

Vaikka on todistettu, että aloittelevien käyttäjien on helpompi aloittaa ohjelmointi lohkopohjaisella ohjelmointikielellä, on silti tärkeää kysyä, ovatko lohkopohjaiset kielet tehokkaita tietojenkäsittelytieteen käsitteiden opettamisessa. Lyhyt vastaus on: kyllä. Tutkimus on osoittanut, että lohkopohjaiset ohjelmointikielet ovat olleet tehokkaita tietojenkäsittelytieteen käsitteiden, kuten algoritmien, muuttujien, ehdollisen logiikan ja koodin ymmärtämisen, opettamisessa6.

Lohkopohjaisten ohjelmointikielten käytössä on tietysti joitain haittoja. Esimerkiksi opiskelijoista voi joskus tuntua, että lohkojen käyttö ei ole "aito" oppimiskokemus7. Toisin sanoen oikeat ohjelmoijat eivät käytä lohkoja. Tämä on tärkeä näkökohta pitää mielessä, mutta on myös tärkeää pitää mielessä hyvin dokumentoidut haasteet, joita tekstipohjaiset ohjelmointikielet tuovat aloitteleville ohjelmoijille.

Kouluttajina tiedämme, että työkalut, joita käytämme käsitteiden opettamiseen, muuttuvat oppilaiden muuttuessa. Matematiikkaa opetetaan K - Collegessa. Välineet, joita käytetään opettamaan ekaluokkalaista, ovat paljon erilaisia ​​kuin työkalut, joita käytetään opettamaan junioria yliopistossa. Tutkimukset ovat osoittaneet, että lohkopohjaiset ohjelmointikielet ovat aloittelijoiden helpompia käyttää, ja ne ovat tehokas tapa opettaa tärkeitä tietojenkäsittelytieteen aiheita. Tämä ei kuitenkaan tarkoita, että opiskelijoiden pitäisi tai pitäisi aina pysyä lohkopohjaisessa ohjelmointiympäristössä. Sen sijaan parempi johtopäätös on, että yksi ohjelmointimuoto, lohkot tai teksti, ei ole luonnostaan ​​parempi kuin toinen8. Se, kumpi sopii luokkahuoneeseesi, riippuu sekä mukavuustasostasi opettajana että oppilaidesi valmiudesta. Aivan kuten opiskelijat hallitsevat kertolaskunsa eri nopeuksilla, jotkut oppilaat hallitsevat ohjelmoinnin lohkojen avulla nopeammin kuin toiset. Mahdollisuus aloittaa tekstipohjainen ohjelmointi pitää heidät sitoutuneina ja haastavina. VEXcoden ja Textin kaltaisten työkalujen avulla voit tavata jokaisen opiskelijan heidän henkilökohtaisella opetustasolla.


1Weintrop, David. "Lohkopohjainen ohjelmointi tietojenkäsittelytieteen koulutuksessa." ACM. 1. elokuuta 2019. 10. syyskuuta 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

2Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum ja Jay Silver. "Naarmu." ACM 52:n (2009): 60 tiedonannot.

3Resnick, Mitchel, Brian Silverman, Yasmin Kafai, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum ja Jay Silver. "Naarmu." ACM 52:n (2009): 60 tiedonannot.

4Kölling, Michael, Neil CC Brown ja Amjad Altadmri. "Frame-Based Editing." Perusasteen ja toisen asteen tietojenkäsittelyopetuksen työpajan aineisto - WiPSCE '15 (2015).

5Kölling, Michael, Neil CC Brown ja Amjad Altadmri. "Frame-Based Editing." Perusasteen ja toisen asteen tietojenkäsittelyopetuksen työpajan aineisto - WiPSCE '15 (2015).

6Weintrop, David ja Uri Wilensky. "Block-pohjaisen ja tekstipohjaisen ohjelmoinnin vertailu lukion tietojenkäsittelytieteen luokissa." ACM Transactions on Computing Education 18 (2017): 1-25.

7Weintrop, David. "Lohkopohjainen ohjelmointi tietojenkäsittelytieteen koulutuksessa." ACM. 1. elokuuta 2019. 10. syyskuuta 2019 / https://cacm.acm.org/magazines/2019/8/238340-block-based-programming-in-computer-science-education/fulltext

8Weintrop, David ja Uri Wilensky. "Kuinka lohkopohjaiset, tekstipohjaiset ja hybridilohko-/tekstimodaliteetit muokkaavat aloittelijan ohjelmointikäytäntöjä." International Journal of Child-Computer Interaction 17 (2018): 83-92.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: