Ett pedagogiskt programmeringsspråk är ett programmeringsspråk avsett för inlärning. Som sådana utvecklades språk som BASIC [1] och Pascal [2] . Python [3] växte fram ur språket ABC utvecklades för lärande . Ett populärt språk designat specifikt för utbildning är LOGO [4] . Språkmiljön KuMir [5] har utvecklats specifikt för ryska skolor . Det visuella programmeringsspråket Scratch , skapat vid Massachusetts Institute of Technology , och liknande programmeringsmiljöer blir allt populärare . [6] .
Undervisningsspråket ska ge enkelhet, tydlighet och läsbarhet i strukturerna. Överdriven flexibilitet, "tillåtande" syntax kan göra program svåra att förstå. Språk som uppmuntrar användningen av olika "programmeringsknep" är inte särskilt väl lämpade för inlärning [7] . Detta är relaterat till fördelarna med att använda Pascal- familjens språk i utbildningsprocessen framför C -liknande språk [8] [9] .
När du väljer ett programmeringsspråk spelar inte faktorer som dess nyhet, implementeringseffektivitet (i form av en kompilator eller tolk ) någon roll. Prevalensfaktorn har både psykologisk betydelse (påverkar elevernas motivation) och praktiska (kravet på kunskap som erhållits utan behov av omskolning) [10] .
Ett pedagogiskt programmeringsspråk bör ge en smidig övergång från pseudokod till faktisk programmering. Möjligheten att använda nationella ordförråd för nyckelord och identifierare kan vara användbar för lärande [8] .
Ett alternativ till komplexa programmeringsspråk för allmänna ändamål som är relativt tidskrävande att lära sig kan vara enkla minispråk, där det för tydlighetens skull finns en grafisk artist , som sköldpaddan i Logo - den första och en av de mest kända sådana språk [11] .
BASIC , eng. Nybörjarens allsidiga symboliska instruktionskod - I början av 60-talet blev det det första programmeringsspråket som blev utbrett för att undervisa nybörjare. Den har dock fått hård kritik för att inte följa principerna för strukturerad programmering och för att det är lätt att skapa spagettikod . Edsger Dijkstra sa: "Studenter som tidigare har studerat BASIC är nästan omöjliga att lära ut bra programmering. Som blivande programmerare har de genomgått en oåterkallelig mental degradering .Influerade av denna kritik utökade Basic-skaparna John Kemeny och Thomas Kurtz språket strukturellt 1975 och övergav bruket att använda GOTO . På 1980-talet skapade de en uppdaterad version av språket som heter True BASIC [12] . Moderna utbredda BASIC-dialekter ( QBasic , Visual Basic ) skiljer sig från denna variant och är av microsoft- ursprung, men de har lite gemensamt med stamfadern, eftersom de är ganska moderna strukturella programmeringsspråk [13] . Följande BASIC-dialekter har skapats specifikt för utbildningsändamål.
Gambas "Visual Basic for Linux " [18] introduceras också i skolundervisningen . En gratis pedagogisk expressversion av Visual Basic .NET finns tillgänglig [19] .
Logospråket , född mellan BASIC och Pascal , var det första programmeringsspråket som ursprungligen var avsett för undervisning av barn . Detta språk kan ses som en dialekt av Lisp , språket som startade funktionell programmering [20] . Även om detta språk är mer känt för sin sköldpaddsgrafik och betraktas som den första av de grafiska exekutorerna , förblir Lisp-funktioner som sekvenskontroll genom rekursion och listor som huvuddatastruktur också egenskaperna hos detta språk ( i sin natur multiparadigm ).
Även om Prolog , språket som startade logisk programmering , sällan anses vara ett primärt inlärningsspråk, plockas det lätt upp av dem som precis har börjat lära sig programmering. Detta underlättas av dess fokus på mänskligt tänkande , enkel, enhetlig syntax och frånvaron av konstruktioner som grenar eller loopar [21] . Enkel inlärning var ett av designmålen för språket, även om språket fortfarande är missförstått. En av anledningarna till den låga förekomsten av Prolog i grundskolan är bristen på praktiska verktyg för att arbeta med interaktiv grafik, vilket inte passar särskilt smidigt in i ren deklarativ programmering [22] .
Den moderna "akademiska" dialekten av Lisp - Scheme-språket - var ursprungligen fokuserad på utbildning [23] . Det används i en så berömd datorprogrammeringskurs som " Datorprogrammens struktur och tolkning ". Publiceringen av denna bok gjorde inte bara Scheme till ett populärt språk i universitetsmiljön, utan förändrade också inställningen till att lära sig programmering [24] . Det här språket används också i ett antal läroböcker som How to Design Programs» [25] , « Programmeringsspråk: Tillämpning och tolkning» [26] , « Grunderna i programmeringsspråk» [27] och andra. Att lära sig programmera från grunden med Scheme är också föremål för en bok av Daniel FriedmanThe Little Schemer [28] , först publicerad som The Little Lisper 1974, var starten på en trilogi av sort. Den första boken tillägnad Racket- språket (en direkt ättling till Scheme), Realm of Racket [29] , är också en lärobok för barn (denna bok är dock också en reviderad version av Land of Lisp-läroboken [30] , baserad på Common Lisp ).
Språket Haskell har blivit en seriös konkurrent till olika versioner av Lisp i universitetskurser i funktionell programmering . Författarna till detta språk avsåg det lika för undervisning, vetenskaplig forskning och praktiska tillämpningar [31] . Det kännetecknas av att det är ett rent funktionellt programmeringsspråk som implementerar maskinskriven lambdakalkyl , dess syntax ligger nära traditionell matematisk notation [32] [33] .
År 1991 började Geert Smolka , professor vid katolska universitetet i Louvain i Belgien, utvecklingen av multiparadigmspråket Oz . Språket låter dig skriva program i stil med något av de vanligaste programmeringsparadigmen : både deklarativa, såsom logisk och funktionell programmering , och imperativ. Detta språk används som grund för handledningen om koncept, tekniker och modeller för datorprogrammering .» [34] .
Utvecklat som en utveckling av Algol-60- linjen av Niklaus Wirth , användes programmeringsspråket Pascal av författaren från allra första början för en introduktionsprogrammeringskurs för studenter [2] . Detta språk började snabbt vinna popularitet i denna egenskap.
Turbo Pascal , Delphi och Free Pascal har använts i stor utsträckning och fortsätter att användas för att undervisa elever och skolbarn. Det internationella vetenskapliga och utbildningsprojektet "Informatics-21" [35] , som startade 2002 vid fakulteten för fysik vid Moscow State University , satte som mål att introducera programmeringssystemet BlackBox Component Builder [36] i rysk utbildning , implementering av Component Pascal , en dialekt av Oberon-2 - ett objektorienterat Pascal-språk -familj utvecklat av Wirth. Liksom andra språk av Niklaus Wirth, skiljer det sig (inklusive från Borland-stil Object Pascal) genom minimalism.
För att undervisa i programmeringselement inom ramen för datavetenskapliga kurser utvecklades ett antal pedagogiska programmeringsspråk med ryska nyckelord [37] . I gruppen av akademiker A.P. Ershov utvecklades ett tillvägagångssätt med studier av två programmeringsspråk - ett enklare, främst avsett för att styra en grafisk exekutor, och ett mer avancerat universellt. Språken Robik och RAPIRA [13] utvecklades som ett sådant par . De viktigaste ryska utbildningsspråken är:
För inledande programmeringsträning kan enkla språk för styrning av grafiska exekutorer, som Cucaracha i Robotland- systemet eller Kengurenok Ru [13] också användas .
I Vitryssland har en dialekt av ett skolalgoritmiskt språk som kallas IntAl blivit utbredd . [39]