Koulutusohjelmointikieli

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 27.5.2020 tarkistetusta versiosta . tarkastukset vaativat 5 muokkausta .

Koulutusohjelmointikieli  on ohjelmointikieli , joka on tarkoitettu oppimiseen. Sellaisenaan kehitettiin kieliä, kuten BASIC [1] ja Pascal [2] . Python [3] kasvoi kielestä ABC kehitettiin oppimista varten . Suosittu erityisesti koulutukseen suunniteltu kieli on LOGO [4] . KuMir -kieliympäristö [5] on kehitetty erityisesti venäläisiä kouluja varten . Massachusetts Institute of Technologyssa luotu visuaalinen ohjelmointikieli Scratch ja vastaavat ohjelmointiympäristöt ovat yleistymässä [6] .

Vaatimukset koulutusohjelmointikielelle

Opetuskielen tulee tarjota rakenteiden yksinkertaisuutta, selkeyttä ja luettavuutta. Liiallinen joustavuus, "salliva" syntaksi voivat tehdä ohjelmista vaikeasti ymmärrettäviä. Erilaisten "ohjelmointitemppujen" käyttöön kannustavat kielet eivät sovellu kovin hyvin oppimiseen [7] . Tämä liittyy Pascal -perhekielten käytön etuihin koulutusprosessissa C - kaltaisiin kieliin verrattuna [8] [9] .

Ohjelmointikieltä valittaessa tekijät, kuten sen uutuus, toteutuksen tehokkuus ( kääntäjän tai tulkin muodossa ) eivät näytä merkitystä. Esiintymistekijällä on sekä psykologinen merkitys (vaikuttaa opiskelijoiden motivaatioon) että käytännöllinen (ilman uudelleenkoulutusta hankitun tiedon kysyntä) [10] .

Koulutusohjelmointikielen tulisi tarjota sujuva siirtyminen pseudokoodista varsinaiseen ohjelmointiin. Kyky käyttää kansallista sanastoa avainsanoja ja tunnisteita varten voi olla hyödyllistä oppimisessa [8] .

Vaihtoehto monimutkaisille yleiskäyttöisille ohjelmointikielille, joiden oppiminen on suhteellisen aikaa vievää, voivat olla yksinkertaiset minikielet, joissa selvyyden vuoksi on graafinen esiintyjä , kuten kilpikonna Logossa -  ensimmäinen ja yksi niistä. tunnetuimmat tällaiset kielet [11] .

BASIC

BASIC , eng.  Aloittelijan monikäyttöinen symbolinen ohjekoodi  - 60-luvun alussa siitä tuli ensimmäinen ohjelmointikieli, joka tuli laajalle levinneeksi aloittelijoille. Se on kuitenkin saanut ankaraa kritiikkiä strukturoidun ohjelmoinnin periaatteiden noudattamatta jättämisestä ja siitä, että spagettikoodin luominen on helppoa. Edsger Dijkstra on sanonut: "Aiemmin BASIC:in opiskelleiden opiskelijoiden on lähes mahdotonta opettaa hyvää ohjelmointia. Mahdollisina ohjelmoijana he ovat kokeneet peruuttamattoman henkisen rappeutumisen .Tämän kritiikin vaikutuksesta Basicin luojat John Kemeny ja Thomas Kurtz laajensivat kieltä rakenteellisesti vuonna 1975 ja luopuivat GOTO :n käytöstä . 1980-luvulla he loivat päivitetyn version kielestä nimeltä True BASIC [12] . Nykyaikaiset laajalle levinneet BASIC-murteet ( QBasic , Visual Basic ) eroavat tästä muunnoksesta ja ovat Microsoft - alkuperää, mutta niillä on vähän yhteistä progenitorin kanssa, koska ne ovat melko moderneja rakenneohjelmointikieliä [13] . Seuraavat BASIC-murteet on luotu erityisesti koulutustarkoituksiin.

Gambasin "Visual Basic for Linux " [18] otetaan myös käyttöön kouluopetuksessa . Visual Basic .NET:stä on saatavilla ilmainen opetuksellinen pikaversio [19] .

Deklaratiiviset ohjelmointikielet

BASICin ja Pascalin välillä syntynyt Logo - kieli oli ensimmäinen ohjelmointikieli, joka oli alun perin tarkoitettu lasten opettamiseen . Tämä kieli voidaan nähdä Lispin murteena  , kielenä, joka aloitti toiminnallisen ohjelmoinnin [20] . Vaikka tämä kieli tunnetaan paremmin kilpikonnagrafiikasta ja sitä pidetään ensimmäisenä graafisista suorittimista , Lisp-ominaisuudet, kuten sekvenssiohjaus rekursion avulla ja luettelot päätietorakenteena , ovat myös tämän ( luonnollisesti moniparadigman ) kielen ominaisuuksia.

Vaikka Prologia , logiikkaohjelmoinnin  aloittanutta kieltä , pidetään harvoin ensisijaisena oppimiskielenä, ohjelmointia vasta aloittavat ottavat sen helposti. Tätä helpottaa sen keskittyminen ihmisen ajatteluun , yksinkertainen, yhtenäinen syntaksi ja rakenteiden, kuten haarojen tai silmukoiden , puuttuminen [21] . Oppimisen helppous oli yksi kielen suunnittelutavoitteista, vaikka kieli on edelleen väärinymmärretty. Yksi syy Prologin vähäisyyteen perusopetuksessa on kätevien työkalujen puute interaktiivisen grafiikan kanssa työskentelyyn, mikä ei sovi kovin sujuvasti puhtaaseen deklaratiiviseen ohjelmointiin [22] .

Lispin moderni "akateeminen" murre - Scheme-kieli  - keskittyi alun perin koulutukseen [23] . Sitä käytetään sellaisella kuuluisalla tietokoneohjelmointikurssilla kuin " Tietokoneohjelmien rakenne ja tulkinta ". Tämän kirjan julkaiseminen ei ainoastaan ​​tehnyt Schemestä suositun kielen yliopistoympäristössä, vaan myös muutti lähestymistapaa ohjelmoinnin oppimiseen [24] . Tätä kieltä käytetään myös useissa oppikirjoissa, kuten Ohjelmien suunnittelussa» [25] , « Ohjelmointikielet: sovellus ja tulkinta» [26] , « Ohjelmointikielten perustiedot» [27] yms. Ohjelmoinnin oppiminen alusta alkaen Schemen avulla on myös Daniel Friedmanin kirjan aiheenaThe Little Schemer [28] , joka julkaistiin ensimmäisen kerran nimellä The Little Lisper vuonna 1974, oli alku eräänlaiselle trilogialle. Ensimmäinen Racket -kielelle omistettu kirja (Schemen suora jälkeläinen), Realm of Racket [29] , on myös oppikirja lapsille (tämä kirja on kuitenkin myös tarkistettu versio Lispin maa-oppikirjasta [30] , joka perustuu Common Lispissä ).

Haskell -kielestä on tullut vakava kilpailija Lispin eri versioille yliopiston toiminnallisen ohjelmoinnin kursseilla . Tämän kielen kirjoittajat tarkoittivat sen yhtä lailla opetukseen, tieteelliseen tutkimukseen ja käytännön sovelluksiin [31] . Se erottuu siitä, että se on puhtaasti toiminnallinen ohjelmointikieli, joka toteuttaa kirjoitetun lambda-laskennan , ja sen syntaksi on lähellä perinteistä matemaattista merkintää [32] [33] .

Vuonna 1991 Geert Smolka , Belgian Louvainin katolisen yliopiston professori, aloitti moniparadigman Oz -kielen kehittämisen . Kielen avulla voit kirjoittaa ohjelmia minkä tahansa yleisen ohjelmointiparadigman tyyliin : sekä deklaratiivisia, kuten looginen ja toiminnallinen ohjelmointi , että pakottavia. Tätä kieltä käytetään tietokoneohjelmoinnin käsitteiden, tekniikoiden ja mallien opetusohjelman perustana.» [34] .

Pascal

Pascal -ohjelmointikieltä, jonka Niklaus Wirth kehitti Algol-60- linjan kehityksenä, kirjailija käytti alusta alkaen ohjelmoinnin johdantokurssilla opiskelijoille [2] . Tämä kieli alkoi nopeasti saada suosiota tässä ominaisuudessa.

Turbo Pascal , Delphi ja Free Pascal ovat olleet laajalti käytössä ja ovat edelleen käytössä opiskelijoiden ja koululaisten opetuksessa. Moskovan valtionyliopiston fysiikan tiedekunnasta vuonna 2002 alkanut kansainvälinen tieteellinen ja koulutusprojekti "Informatiikka-21" [35] asetti tavoitteekseen BlackBox Component Builder -ohjelmointijärjestelmän [36] käyttöönoton venäläisessä koulutuksessa . Component Pascal , Oberon-2 : n murre  - Wirthin kehittämä oliopohjainen Pascal-kieli -perhe. Kuten muutkin Niklaus Wirthin kielet, se eroaa (mukaan lukien Borland-tyylisestä Object Pascalista) minimalismilla.

Kielet venäjän avainsanoilla

Ohjelmointielementtien opettamiseksi tietojenkäsittelytieteen kurssien puitteissa kehitettiin useita koulutusohjelmointikieliä venäläisillä avainsanoilla [37] . Akateemikko A.P. Ershovin ryhmässä kehitettiin lähestymistapa, jossa tutkittiin kahta ohjelmointikieltä - yksinkertaisempaa, joka on tarkoitettu pääasiassa graafisen suorittajan ohjaamiseen, ja edistyneempää yleismaailmallista. Kielet Robik ja RAPIRA [13] kehitettiin sellaiseksi pariksi . Venäjän tärkeimmät opetuskielet ovat:

Ohjelmoinnin alkukoulutuksessa voidaan käyttää myös yksinkertaisia ​​kieliä graafisten suorittajien ohjaamiseen, kuten Cucaracha Robotland- järjestelmässä tai Kengurenok Ru [13] .

Valko-Venäjällä koulun algoritmisen kielen murre nimeltä IntAl on yleistynyt . [39]

Katso myös

Muistiinpanot

  1. Andrei Kolesov. Perus - pitkän matkan vaiheet Arkistoitu 5. maaliskuuta 2010 Wayback Machinessa (kirjoittajan versio artikkelista). Julkaistu pienin kirjallisin korjauksin lehdessä " Science and Life ", 2000, nro 10, s. 18-20.
  2. 1 2 Wirth N. Muistoja Pascalin kehityksestä (HOPL II), 3.3 Arkistoitu 22. joulukuuta 2012 Wayback Machinessa
  3. Bill Venners. The Making of Python Arkistoitu 1. syyskuuta 2016 Wayback Machinessa . Keskustelu Guido van Rossumin kanssa. Osa I. 2003, 13. tammikuuta.
  4. Logon kieli arkistoitu 24. huhtikuuta 2012 Wayback Machinessa Computer History -sivustolla
  5. KuMir ohjelmointijärjestelmä → Tutorials . Haettu 16. huhtikuuta 2012. Arkistoitu alkuperäisestä 3. huhtikuuta 2012.
  6. Aleksanteri Kazantsev.  Koulu. Suorittajat ja algoritmit  // Linux-muoto . - Tammikuu 2010 - nro 126-127 (1) . Arkistoitu alkuperäisestä 11. syyskuuta 2016.
  7. Psychology, 1990 , 1. Johdanto, s. 176.
  8. 1 2 Kobilov S. S.  Koulutusinformatiikka: lähestymistapa oppimiseen, opetuskielten valinta ja ohjelmistojärjestelmien luominen . – Samarkandin osavaltion yliopisto . Arkistoitu alkuperäisestä 26. maaliskuuta 2014.
  9. Stolyarov A. V.   Essee "C-kieli ja ohjelmoinnin peruskoulutus" Arkistokopio päivätty 10. toukokuuta 2012 Wayback Machinessa
  10. Lobachev A. A., Kulikova O. V. Ohjelmoinnin opetuksen kielen valinta Arkistokopio päivätty 13. joulukuuta 2014 Wayback Machinessa , ITO-2008.
  11. Minikielet: tapa oppia ohjelmointiperiaatteet (downlink) . Haettu 16. huhtikuuta 2012. Arkistoitu alkuperäisestä 26. maaliskuuta 2014. 
  12. Dijkstra Edsger Arkistoitu 31. heinäkuuta 2012 Wayback Machinessa tietokonehistoriassa
  13. 1 2 3 Leonov A. G., Pervin Yu. A.  Teeman "Ohjelmointielementit" rooli ja paikka yleiskoulun tietotekniikassa  // Tietokonetyökalut opetuksessa. Koulutuksen informatisointi. - Pietari. : TsPO, 1999. - nro 5 . - S. 14-23 . Arkistoitu alkuperäisestä 9. helmikuuta 2019.
  14. James M. Renault.  Haluatko oppia ohjelmoimaan? = Haluatko siis oppia ohjelmoimaan? / Per. englannista. S. Iryupin, V. Cherny. — M .: Alt Linux , 2011. — 320 s. - ISBN 978-5-905167-06-5 . Arkistoitu 10. huhtikuuta 2012 Wayback Machinessa
  15. Siitä puuttuu esimerkiksi menettelyt ja toiminnot . Toinen samanlainen moderni murre on Basic4GL
  16. David Brin.  Miksi Johnny ei osaa koodata  // Salon Magazine . - 2006. - Nro 14. syyskuuta . Arkistoitu alkuperäisestä 30. heinäkuuta 2019.
  17. Small Basic aloittelijoille . Haettu 17. huhtikuuta 2012. Arkistoitu alkuperäisestä 15. elokuuta 2011.
  18. Samarina A. E. Ilmaisten ohjelmistojen käyttö koulutuksessa Arkistokopio 26. maaliskuuta 2014 Wayback Machinessa ( Smolenskin valtionyliopisto )
  19. Visual Basic Express Edition . Haettu 17. huhtikuuta 2012. Arkistoitu alkuperäisestä 12. lokakuuta 2010.
  20. Seymour Papert . Tietokoneen historia. Haettu 25. maaliskuuta 2014. Arkistoitu alkuperäisestä 12. marraskuuta 2013.
  21. Shrainer P. A.  Luento 1: Johdatus loogiseen ohjelmointikieleen Prolog // Ohjelmoinnin perusteet Prolog-kielellä . - INTUITTI . - ISBN 978-5-9556-0034-5 . Arkistoitu 26. maaliskuuta 2014 Wayback Machinessa
  22. Psychology, 1990 , 3. The Misconception Problem: Prolog, pp. 186-190.
  23. Gerald Jay Sussman ja Guy Lewis Steele, Jr. Kaavio: Lambda-laskennan tulkki. - MIT AI Lab. AI Lab Memo AIM-349. joulukuuta 1975. [1] Arkistoitu 3. syyskuuta 2013 Wayback Machinessa Lambda Papersilta
  24. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi.  Tietojenkäsittelytieteen opetussuunnitelman rakenne ja tulkinta  // Journal of Functional Programming. - 2004. - Voi. 14. - S. 365. Arkistoitu 11. toukokuuta 2008.  - doi : 10.1017/S0956796804005076 .
  25. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi.  Kuinka suunnitella ohjelmia . - MIT Press, 2001. - 723 s. — ISBN 9780262062183 . Arkistoitu 26. kesäkuuta 2018 Wayback Machineen
  26. Shriram Krishnamurthi.  Ohjelmointikielet: Sovellus ja tulkinta . Arkistoitu 3. joulukuuta 2013 Wayback Machinessa
  27. Daniel P. Friedman, Mitchell Wand. Ohjelmointikielten perusasiat. 3. painos. - MIT Press, 2008. - 432 s. — ISBN 9780262062794 .
  28. Daniel P. Friedman, Matthias Felleisen. Pikku Schemer. - MIT Press, 1996. - ISBN 978-0-262-56099-3 .
  29. Matthias Felleisen, David Van Horn, Conrad Barski ym.  Valtakunta Raketti: Opi ohjelmoimaan, yksi peli kerrallaan!  - No Starch Press, 2013. - ISBN 978-1-59327-491-7 . Arkistoitu 7. lokakuuta 2018 Wayback Machinessa Arkistoitu kopio (linkki ei ole käytettävissä) . Haettu 26. maaliskuuta 2014. Arkistoitu alkuperäisestä 7. lokakuuta 2018. 
  30. Conrad Barski.  Lispin maa: Opi ohjelmoimaan Lispissä, yksi peli kerrallaan!  - No Starch Press, lokakuu 2010. - 504 s. — ISBN 978-1-59327-281-4 . Arkistoitu 13. joulukuuta 2017 Wayback Machineen
  31. Jones, Simon Peyton.  Esipuhe . Haskell 98 -raportti . Haskell 98 -työryhmä (2002). Haettu 4. huhtikuuta 2009. Arkistoitu alkuperäisestä 16. maaliskuuta 2009.
  32. Philip Wadler.  Miksi laskeminen on parempi kuin juonittelu  // ACM SIGPLAN Notices. - 1987. - s. 83-94. Arkistoitu alkuperäisestä 31. toukokuuta 2014.
  33. Richard Bird. Johdatus toiminnalliseen ohjelmointiin Haskellin avulla. 2. painos. - Prentice Hall, 1998.  - s. 66.
  34. Peter Van Roy, Seif Haridi. Tietokoneohjelmoinnin käsitteet, tekniikat ja mallit. - MIT Press, maaliskuu 2004. - ISBN 0-262-22069-5 .
  35. Kansainvälinen tieteellinen ja koulutusprojekti Informatiikka-21 . Käyttöpäivä: 26. maaliskuuta 2014. Arkistoitu alkuperäisestä 29. maaliskuuta 2014.
  36. Tkachev F.V. Ohjelmoinnin  oppiminen: venäläinen näkökulma  // ​​Modulaariset ohjelmointikielet. Tietojenkäsittelytieteen luentomuistiinpanot 2789. - Springer-Verlag, 2003. - s. 69-77 . Arkistoitu alkuperäisestä 24. syyskuuta 2015.
  37. Gorodnyaya L.V. Kouluinformatiikka  // Marchuk A.G.   Andrey Petrovich Ershov - tiedemies ja henkilö. - Novosibirsk: Publishing House of the SO RAN, 2006. - 503 s. - (Siperian tiede kasvoissa). - ISBN 978-5-7692-0819-5 .
  38. Varsanofiev D. V., Kushnirenko A. G. , Lebedev G. V.  E-työpaja - ohjelmisto tietotekniikan ja tietotekniikan koulukurssille // Mikroprosessorityökalut ja -järjestelmät . - 1985. - Nro 3 . - S. 27-32 .
  39. PMK "Tietojenkäsittelytieteen peruskurssi" (linkki ei pääse) . Haettu 31. elokuuta 2020. Arkistoitu alkuperäisestä 4. helmikuuta 2020. 

Kirjallisuus

Linkit