Sedan november 2008 har frågan återkommit gång på gång i min forskning. Vilka olika synsätt har lärare i den Svenska skolan på programmering?

Enkäten till verksamma lärare i programmering på gymnasienivå visar i huvudsak att programmering är något man undervisar och lär sig praktiskt. Estetiska värden existerar och lärs ut, men på frågan om likheter med matematik blir svaren skiftande. Tankar om programmering som Edgar Dijkstra framställer det med ett större fokus på matemtisk logik kan anas i vissa svar.

Vissa lärare anser dessutom att programmering på gymnasienivå har mera av matematikens själ  än skolämnet matematik. Enligt Pears m fl (2007), så kan man kategorisera programmering (för nybörjare), i följande delar:

  • Kursplan och innehåll som skall ingå – här finns ett stort arbete gjort för utbildning i USA för ämnena datorvetenskap och mjukvaruutveckling. Ta en titt på följande två pdf:er
    CS2008 Curriculum Update: The Computing Curricula Computer Science http://www.acm.org/education/curricula/ComputerScience2008.pdf
    SE 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering http://sites.computer.org/ccse/SE2004Volume.pdf
  • Lärarens pedagogik påverkas av kunskapssynen – 1)Algoritmer baserar sig på matematiska bevis 2) Enligt läroböckerna får man uppfattningen att programmering lärs bäst genom att lära sig syntax och olika egenskaper hos språket 3) Förmågor som skapande av problem, krav analyser och problem lösning (Palumbo, 1990) anses viktiga för att förstå programmering i ett sammanhang.
  • Val av programmerings språk – Val av språk styrs mycket av industrin, vilket innebär att språk som C, Java och C++ är mycket vanliga i undervisningen. Det framgår även av enkätsvaren. Detta är märkligt då debatten har varit stor omkring vikten av att börja med ett annat språk, då man för första gången skall lära sig programmering. Exempel på språk som har utvecklats för att underlätta lärandet av programmering är Python, Logo, Eiffel, Pascal, vilka används i mycket liten utsräckning av läraran som svarat på enkäten (ca 1 %).
  • Val av verktyg för att undervisa programmering – Det finns verktyg som har utvecklats för att möta behoven hos nybörjare, som t.ex. BlueJ och Karel Robot. Förutom dessa brukar man dela upp verktygen i
    • Verktyg som visualiserar exekvering av kod: Jeliot, jGRASP, JHAVÉ, DDD och MatrixPro.
    • Automatiska bedömningsverktyg: WebCAT, CourseMarker, TRAKLA
    • Programmeringsmiljöer: Olika typer av IDE och mikrovärldar (Alice)

Dessa fyra kategorier är därför något som varje lärare i programmering måste förhålla sig till. Valen är många och kräver därför en erfarenhet och en idé om lärande. Eventuellt kräver det en diskussion med andra lärare.

[Skriva något om forskning och programmering vs problemlösning]

Referenser om E. Dijkstra:
http://www.cs.utexas.edu/users/EWD/
http://sv.wikipedia.org/wiki/Edsger_Dijkstra

Referenser
Palumbo, D. (1990). Programming language/problem-solving research: a review of relevant issues. Review of Educational Research, 60(1): 65-89.

Pears, A., Seidman, S., Malmi, L. et al (2007).  A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin archive 39 (4):204-223

VN:F [1.8.1_1037]
Rating: 10.0/10 (1 vote cast)
VN:F [1.8.1_1037]
Rating: +1 (from 1 vote)
Vad är programmering?10.0101