Racket BSL

Koodausta kouluun käyttää Racket-kielen opetuskäyttöön kehitettyä versiota BSL:ää (Beginning Student Language). Racket BSL sopii hyvin ohjelmoinnin alkeiden opetteluun sillä sen syntaksi on helppo ja ohjelmointiympäristö (DrRacket) tukee sitä antamalla selkeämpiä virheilmoituksia. Racket BSL on hyvä myös sen takia, että se ohjaa käyttämään funktionaalista ohjelmointityyliä, mikä tukee hyvin matemaattisen ajattelun kehittymistä.

Racket BSL:ssa jokainen ohjelmointikielen toiminto on funktiokutsu. Yhteenlasku on funktiokutsu, ympyrän piirtäminen on funktiokutsu ja myös silmukat tehdään kutsumalla funktiota uudelleen (rekursiivisesti). Ohjelman rakenne muodostuu sisäkkäin ketjutetuista funktiokutsuista.

Racket BSL:ssä ei siis käytetä olioita eikä käytetä assignment-operaatiota, mikä tekee koodista hieman eri näköistä kuin esim. C/C++ tai Python, mutta teorian kannalta koodi on yksinkertaisempaa ja helpompaa ymmärtää. Racket BSL:n avulla voidaan sen yksinkertaisuudesta huolimatta ohjelmoida grafiikkaa, animaatioita sekä pelejä. Jos Racket BSL:n rajoitukset tulevat vastaan voi koodari siirtyä Racket ISL (Intermediate Student) tai Racket ASL (Advanced Student) kieliversioihin. Näiden jälkeen voi jatkaa täyden Racket-kielen kanssa.

Racket BSL:n lisäksi Koodausta kouluun materiaalissa käytetään opetuksen tarpeisiin ohjelmoituja kirjastoja: 2htdp/image, 2htdp/universe sekä racket_turtle. Materiaalin lopussa on myös jakso, jossa tutustutaan ISL-kielen avulla Higher Order-funktioihin.