• No results found

7. Diskussion

9.5 Bilaga 5: Sammanställning av fritextsvar

Vissa svar som innehåller personuppgifter eller bedöms irrelevanta för undersökningen har rensats bort.

Under ”annat” har för frågan ”När du undervisar om det centrala innehållet

"grundläggande algoritmer", vilka områden behandlar du då?” följande svar noterats:

”Vid simulering, grafik, och lösning av differentialekvationer kommer många andra algoritmer till användning. T ex Monte Carlo, Eulers stegmetod och kollisionsdetektering (bounding box, bounding sphere, quadtree).”

”Jag brukar generellt sett inte gå igenom några specifika algoritmer. Jag tycker det är viktigare att förstå konceptet algoritmer och kunna bryta ner problem till faktiskt

kod/algoritmer. Specifika algoritmer och vad som gör dom bra/dålig kan man fokusera på mer i kurs 2 och kurs 3 när eleverna har mer programmeringskunskaper innanför

västen.”

”Rekursiva som överkurs”

”Enklare matematiska och fysiska formler, (de andra tillhör ju programmering 2?)” ”Trigonometriska algoritmer för grafisk programmering, t.ex hitta närmaste position, kollisioner, studsar, etc.”

”Iterativa algoritmer”

”Algoritmer för mer specifika problem, t.ex. kopplade till spelprogrammering” ”Algoritmer i 2D-datorspel”

”Talbaskonvertering” ”Algoritmer i allmännhet” ”Inget”

”Grunder objektorientering”

”Algoritmer är en serie av instruktioner som utför en uppgivt på ett sätt kan man säga att ett program som tar emot ett namn och skriver ut detta är en allgoritm, dessutom om man tex skriv kod som flytter karaktärer i ett spel nedåt med gravitationen som kraft kan man också behandla detta som en allgoritm, ordet allgoritm är väldigt brett.”

”Spelinriktade algoritmer och många andra diverse algoritmer inom grafteori, funktionsanalys m.m”

”"vad är algoritmer?" Använda algoritmer som ett "recept" på hur något ska utföras. Nämner ingenting om specifika färdiga algoritmer. Eleverna skriver egna algoritmer för att lösa sina problem.”

”Lösningar till givna problem”

54

Kommentarer till ämnesområdet algoritmer:

”Jag tycker det är viktigare att eleverna förstår algoritm-konceptet och kan förstå och skapa algoritmer än implementera dom, då implementeringen är språkberoende Programmering 1 är grundkurs där själva exempelspråket inte ska vara så avgörande för kunskaperna.”

”Bra att inte vara låst till sorterings-, sök- och rekursiva algoritmer.”

”Då algoritmer är en central del av programmering i stort tycker jag att det fortfarande ska användas i kursen.”

”Har samma lärobok nu som innan där algoritmer finns med!”

”Min undervisning och min syn på ämnet har utvecklats mycket under mina verksamma år. Jag undervisar idag elever på EE och tycker att kraven är rimligare efter revideringen av kursplanen. Det finns forskning som pekar på att man "tappar" många elever när man rör sig in i abstraktare delar av programmeringen som algoritmer.”

”Eleverna använder de matematiska o fysiska formlerna från Ma och Fy kurserna” ”All programmering handlar ju om algoritmer”

”Lägger inte allt för mycket energi på algoritmer, men går igenom en del mest för att visa vad som menas med en algoritm och att det ofta finns färdiga sätt att beräkna många saker. Man behöver inte alltid uppfinna hjulet igen...”

”Jag tycker det är bra att sortering/sökningsalgoritmer togs bort ur kunskapskraven. Särskilt sortering blev för väldigt många något som de lärde sig utantill och jag tycker inte att detta passar i en introduktionskurs.”

”Jag saknar tydligheten kring sök- och sorteringsalgoritmer som fanns i kursen tidigare. Det var ett bra moment att jobba teoretiskt kring och även göra jämförelser som skulle presenteras i en mindre rapport. De elever som genomförde denna undersökning hade sedan fler, och bättre, verktyg inför sitt gymnasiearbete.”

”Jag tycker att sortering-och sökningsalgoritmer är otidsenliga. De flesta moderna språk har sånt inbyggt. Bättre att lära ut en förståelse för själva begreppet algoritm.”

”Vad man ska ta upp inom området känns mer fritt nu, men de saker som fanns med sedan tidigare är ju inte dåliga att ta med om tid finns.”

”I gamla kursplanen nämndes t ex rekursiva algoritmer om jag minns rätt. Sedan kursplanen ändrades går jag igenom dessa främst med inriktning mot de elever som är intresserade och högpresterande.”

”Det är nödvändigt att eleverna förstår de matematiska sambanden och vad beräknade resultat betyder, inte bara kunna implementera någon extern funktion, metod eller klass.”

”Kunskaper om datastrukturer och algoritmer, och speciellt algoritmers komplexitet, är absolut nödvändiga för att förstå programmeringens möjligheter och begränsningar.”

55

”Mycket varierande grupper. Enorm skillnad på om man undervisar TE/IM eller mattesvaga elever”

”Rekursiva funktioner finns inte längre med i kursplanen men flera sorteringsalgoritmer använder rekursion. Så det berörs men är inget krav för bedömningen.”

”Eleverna arbetar med ett projekt under kursen som använder sig av en del algoritmer som dellösningar för den stora uppgiften. Det har blivit andra algoritmer och på andra sätt än vad det var tidigare för att bättre passa till projektet.”

”Det känns som att allt vi gör i programmering handlar om just algoritmer (eller lite slarvigt uttryckt tydliga instruktioner till datorn)”

”Jag ser till att eleverna ska redovisa någon sorts algoritm inom ramen för ett större projekt.”

”Det finns andra viktigare saker att göra !”

”Algoritmer är en serie av instruktioner som utför en uppgift. På ett sätt kan man säga att ett program som tar emot ett namn och skriver ut detta är en allgoritm, dessutom om man tex skriv kod som flyttar karaktärer i ett spel nedåt med gravitationen som kraft kan man också se detta som en allgoritm, ordet allgoritm är väldigt brett och de mesta program som elever skriver ter sig som allgoritmer.”

”Det känns som att de får bättre förståelse för programmeringen när de har ett hum om algoritmer”

”Jag går igenom algoritmerna för sökning och sortering och erbjuder en

inlämningsuppgift där eleverna kan visa kunskaper genom att implementera och

analysera sökalgoritmer men jag ställer inte längre några krav på att alla lämnar in denna uppgift, de kan lika gärna visa kunskaper om algoritmer genom att exempelvis göra ett spel där man väljer algoritm för kollisionsdetektering.”

”Jag undervisar framför allt om algoritmer som för spelmekanik tex hur en del av ormen i snake ska flytta i förhållande till de andra. Även algoritmer som handlar om hur man ändrar pixlarnas värde i en bild har jag tagit upp översiktligt.”

”Lägger stor vikt på tidskomplexitet, och hur kod som gör samma uppgift kan göra det olika bra.”

”Svaren är från detta året. Tidigare år har haft mer algoritmer (rekursivt och sortering)” ”Det är svårt att hinna med även rekursiva algoritmer, då förståelsen av sådana generellt sett tar mycket tid i anspråk.”

Under ”annat” har för frågan ”Från och med 1 augusti 2017 ingår inte längre "kunskaper om och färdigheter i objektorienterad programmering" i kursen programmering 1. Finns det trots detta några objektorienterade koncept som du behandlar i din undervisning?” följande svar noterats:

”pratar om arv men kräver det inte” ”Objektorienterad analys”

56

”Gör spel i Greenfoot. Det blir objektorienterad Java.”

”Klasser och objekt - berör jag inte lika mkt som förr. Lite i mån av tid och vilken grupp det är.”

”Vi använder C# i kursen Programmering 1 och jag går igenom grunderna i

objektorientering, däremot ställer jag inte längre något krav på att eleverna använder objektorientering i sitt slutprojekt.”

”Klassdiagram och polymorfism”

”Att förklara t.ex. public och static kräver ändå att man i stora drag förklarar OOP.” ”Klasser och Objekt till viss del pga arbete i Unity”

”Klasser, om det finns det för det.”

Kommentarer till ämnesområdet objektorientering:

”Jag tycker det är nödvändigt att man får en grundläggande kunskap om detta område” ”Som med algoritmer, de behöver förstå konceptet, detaljer och implementering i exempelspråket tycker jag inte är så viktigt i Programmering 1, som jag ser som en grundkurs. Jag tycker förändringarna 2017 var bra”

”Tyckte denna ändring var märklig då jag anser att Objektorientering som koncept är viktigt”

”C sharp är i grund och botten OOP vilket underlättar konceptet i undervisningen” ”Om man inte startar med objektorienterad programmering i kurs 1 blir kurs 2 svårare. Eleverna måste lära sig ett nytt sätt att tänka. Det tar tid att ställa om. Å andra sidan blir kurs 1 lättare utan krav på objektorienterad programmering.”

”Objetorienterade språk är en stor del av programmeringen, men delar som klasser har jag gjort frivilliga men de nämns och tas upp som något man bör titta på om man ska läsa vidare.”

”Har tagit bort eget material kring objektorientering då det flyttats till Prog 2 kursen” ”Kursen går på flera program och alla elever bör klara av kursen även utan för kunskaps krav.”

”Det är svårt att köra C# utan att ta upp dessa saker”

”I en del fall måste jag fortfarande förklara begrepp som faller inom OOP, men det är inte alls på samma nivå som förut.”

”100 timmar kan man lätt fylla med grundläggande programmering utan objekthantering”

”Beror lite på vilket programmeringsspråk som väljs hur objektorienterad man behöver vara. OO diskuteras i grunden i kursen programmering 2. Tycker att den uppdelningen är till det bättre.”

57

”Mitt valda programmeringsspråk är Java som i sig själv är objektorienterat. Så det blir en del prat runt objektorientering och vad det innebär. Speciellt mot slutet av kursen, men även lite i början för att de ska komma igång på rätt sätt.”

”Då jag använder C# som är ett objektorienterat språk, blir det oundvikligt att emellanåt beröra objektorientering, t.ex. när man försöker att förklara varför man måste skriva "static" framför en metod som finns utanför Main-metoden.”

”Jag undervisar i C# och då kommer jag inte ifrån att prata om objekt, men jag lär inte eleverna att skapa egna klasser längre. Jag tycker det är synd att metoder/funktioner inte står med uttryckligen i kursplanen, jag tror att 95% eller mer av

programmeringslärarkåren undervisar om detta.”

”Metoder/funktioner finns med som kunskapskrav så dessa blir vi inte av med. Iom att vi har metoder/funktioner så kommer variablers synlighet och livslängd in genom att jag använder mig av Python som programmeringsspråk. Jag har ett ganska fritt moment inför slutprojektet då eleverna får arbeta med externa bibilotek såsom PyPlot, Turtle och PyGame. De elever som vill fördjupa sig i detta, framförallt PyGame, kommer snart in på OOP genom diverse tutorals och det är helt ok att använda sig av dessa tekniker men det i sig påverkar inte elevens slutbetyg.”

”Eftersom objektorientering är den rådande programmeringsparadigmen inom spelprogrammering så fortsätter jag den linjen”

”Jag berör området i viss mån pga lärobokens exempel men ställer inga krav på att eleverna ska visa kunskaper inom området i prov eller projekt. Några elever gör det ändå, oftast de som når långt i kursen.”

”Jag tar upp lite om objektorienterad programmering de sista veckorna av kursen, mest som förberedelse inför programmering 2. Däremot så tar jag inte hänsyn till detta i betygssättningen av Programmering 1.”

”Jag håller kursen i Java. Det blir helt omöjligt att förklara språkets uppbyggnad utan att nämna klasser, objekt och variablers synlighet. Däremot har jag tonat ned avsnittet där man skapar sina egna klasser och gör objekt av dem. Jag går igenom det men andra områden har högre prioritet.”

”Nödvändigt för elevernas vid t.ex. utveckling av appar.”

”I vissa språk kommer man ju inte ifrån objektorientering, t ex Java, C# eller VB.NET. I C++ kan man ju faktiskt välja, så där visar jag både C-stil utan OOP och C++-stil med, men just objektorienteringsdelen blir av tidsskäl väldigt grundläggande. Eftersom jag

undervisar på Teknikprogrammet är ju målet att förbereda mina elever för vidare studier, och då de senare stöter på främst C, C++ och Java, och numera Python, så känns det viktigt att visa eleverna olika paradigmer, oavsett vad Skolverket säger.”

”Området är mest aktuellt om man skall fortsätta och göra större program. Bra att det inte längre krävs i grundkursen.”

”Jag kommer i kontakt med begreppet och dess delar då vi kör csharp som i grunden är objektorienterat. Men jag tar inte upp hur man bygger klasser för normaleleven eftersom det inte ingår i kursen, vilket är väldigt synd.”

58

”Vi försöker nå så långt som möjligt och går igenom OOP grundläggande både för att de ska förstå paradigmet och kunna skapa mer "komplexa program" enklare som är ett krav för A. Mina elever läser även Programmering 2 och det är bra om de har grundläggande förståelse för OOP tidigt.”

”Den objektorientering vi använder i kursen är väldigt grundläggande. Eleverna får hjälp med att skapa en klass som vi använder för att snygga till och göra koden mer lättläslig. Tanken är att eleverna ska få upp ögonen och börja fundera på vad det är vi gör och varför det fungerar. Eleverna får det i kontexten av att vi nästa termin när de läser programmering 2 ska utveckla och lära oss mer om detta.”

”Tycker det är skönt att hela området med objektorientering ligger i kurs 2”

”Vi använder ett objektorienterat språk (C#) så då blir det svårt att komma runt att inte ta upp något om objektorientering, men vi gör mycket översiktligt och examinerar egentligen inte förståelse av vad det är som händer.”

”Samma sak som med algoritmer så är objektorientering ett brett begrepp. De flesta moderna programmeringsspråk arbetar objektorienterat även om du inte medvet skapar dina egna klasser och objekt. När du använder dig av de inbyggda biblioteken i din miljö så är dessa ofta hopbuntade som klasser och objekt.”

”Svårt att undervisa i programmering i mitt fall om inte klasser och objekt finns med då merparten vi jobbar med antingen är spelrelaterat eller databasrelaterat mot

webbutveckling”

”En ganska självklar del i programmering tycker jag. Har dock dragit ned på kraven jämfört med tidigare. Och även omfånget”

”Undervisning sker med Java så oop följer med på köpet”

”Undervisar en blandad grupp från flera olika gymnasieprogram. De elever som läser programmet spelutveckling läser parallellt med programmering 1 även digitalt skapande 1 där de använder Unity för att utveckla spel och i den kursen tar vi upp de andra delarna.”

”Samtilga som läser Programmering 1 hos oss läser också Programmering 2” ”I python får eleverna använda och göra egna modules vilket påminner lite om objektorientering.”

”Genomgång om objektorienterad programmering ges till elever som ligger långt fram” ”String, t.ex. är objekt m. metoder. Datastruktur : objekt.”

”Detta betygssätt inte”

”Det här är saker jag ger till dem som kommer längre och behöver mer att bita i” ”Jag går inte mycket djupt in i klassteori, men vi använder dem mycket i

programmeringen.”

59

Under ”annat” har för frågan ”När du undervisar om det centrala innehållet

"programmering och dess olika användningsområden ur ett socialt perspektiv inklusive genus, kultur och socioekonomisk bakgrund", vilka områden behandlar du då?”

följande svar noterats:

”Exempel på autogenererade datorsystem som google translate” ”Hur vi påverkas av bla. reklam och trender på nätet”

”Hur algoritmer påverkar vårt liv och samhälle. Hur de kan användas för att ena och segregera. Skapandet av UX/Gränssnitt måste ta hänsyn till alla

bakgrunder/kulturer/funktionsfärdigheter m.m. inom mjukvarans målgrupp.” ”Immaterialrätt”

”Förståelse av programmering och programmerade system ur ett demokratiskt perspektiv.”

”Studiebesök på IT företag då det behandlas - företag vill anställa fler kvinnor då det är väldigt mansdominerat idag.”

”IoT, spel, AI och dessas roll och påverkan på samhället”

Kommentarer till ämnesområdet sociala perspektiv:

”Verkar lite "flummigt" tycker jag”

”Mycket adresseras inte som direkt undervisning utan mer som allmänna diskussioner löpande i hela undervisningen.”

”Jag upplever den punkten i det centrala innehållet som väldigt otydlig. Vilket innehåll och vilken kunskap är det de vill förmedla till eleverna?”

”Vill hellre använda ordet "samhälle" eller "näringsliv" istf "sociala perspektiv"” ”Har ännu inte planerat denna del av kursen.”

”Egentligen berörs nog de flesta punkter här ovan ganska ytligt. Det förekommer att man diskuterar olika saker då de dyker upp som när det är diskussioner runt lagstiftning och andra händelser i 'datavärlden'. Men fokus ligger på att lära sig programmera.”

”Detta avsnitt tycker jag är så skilt ifrån allt annat vi tar upp så det blir lätt krystat och hos mig får det ingen stor prioritet. Jag undervisar på teknikprogrammet så flera av dessa aspekterna tas redan upp i kursen Teknik 1 ur ett tekniskt perspektiv så jag känner att jag kan skumma igenom detta lite översiktligt med någon specifik djupdykning med gott samvete.”

”Några av sakerna tas upp i kursen Webutveckling 1.” ”Svårt område.”

”Detta område lägger jag någon symbolisk timme på i kursen. En gruppdiskussion kring några av punkterna du beskriver ovan. Jag gillar inte att kraven sänkts på centrala delar i kursen som algoritmer och objektorientering, till förmån för denna - som jag upplever

60

det - flummiga punkt. Datalagar och många andra av punkterna i listan ovan behandlar jag i andra kurser, som webbutveckling.”

”Detta moment undervisas lämpligen i samarbete med samhällsvetenskapliga/humanistiska ämnen.”

”Programmering 1 är en grundkurs i programmering. Eleverna startar normalt från noll, till skillnad från i många andra ämnen så som matematik eller språk som de redan läst i 9 år. Kursen är på 100 p, vilket i praktiken blir kanske 80 h. Det anses ta runt 10000 h att bli bra på programmering. På 80 h hinner man bara med att ge en glimt av programmering, förhoppningsvis väcka ett intresse, och åtminstone grundlägga en förståelse som underlättar i kommande studier. Jag försöker bygga min undervisning på återkoppling från tidigare elever som nu går på universitet/högskola och berättar vad de har haft mest nytta av, och det visar sig vara en förståelse för programmering. "Klasskillnader när det gäller barns och ungas dataspelande" har ingen någonsin nämnt. Däremot är jag mycket noga med att ta upp datorteknikens historia och då kommer genier av båda kön fram, så som Charles Babbage, Ada Lovelace, Alan Turing, Grace Murray-Hopper, Dennis Ritchie osv. Detta gör jag för att det är viktigt, inte för att det står i en ämnesplan.”

”Ska vara ärlig med att detta är det som prioriteras sist och aldrig riktigt djupgående.” ”En intressant vinkling med mjuka värden i ett annars ganska "hårt" ämne”

”Svårt att säga ett exakt antal timmar. Det är inget specifik moment i undervisningen, det finns mer med hela tiden.”

”Bra att ha många olika synvinklar på ett problem och dess lösning då vi är människor som programmerar åt människor är det viktigt att det finns många tankar och

synmnpunkter ifrån människor av olika bakghrunder, män som kvinnor rika som fattig osv.”

”När det kommer till dessa frågor kan jag i många fall beta av detta kunskapskrav tillsammans med andra kurser och lärare i kombinerade uppgifter så att att det blir mer viktigt”

”Svårt att få in dessa moment på ett naturligt sätt i undervisningen.”

”Verkar vara en politisk markering. Tar upp det som är relevant. Och sporrar mer tjejer att satsa på datateknik”

”integrerat i övrigt när de analyserar sina projekt, och framför allt identiferar användargrupper. Så det skiljar vad av sakerna som passande dyker upp.” ”Fruktansvärt malplacerat del av en grundläggande kurs”

”Nästan allt markerat ovan inkluderas övergripande och inte som självständiga lektioner.”

”Den enda gången detta diskuterades var i början av kursen, då jag introducerade tanken bakom programmering, hur vi förr använda s.k. Assemblerkod, som ansågs vara väldigt svårt att läsa och tyda när programmen blir större (håller med, fick lära mig

61

form av C. Jag utvecklar detta och pratar om C++, Java (som de flesta elever kör), C# och Python. Jag pratar inte om könsskillnader etc.”

Allmänna kommentarer om enkäten:

”Den tidigare ämnesplanen speglade "klassisk" matematik-baserad

programmeringsutbildning. Ett sätt att utbilda programmering som jag tror till stor del fortfarande används på högskolorna. Så var det när jag läste en datavetenskapskurs för åtta år sedan i alla fall. Jag upplever att nu finns bättre förutsättningar att göra elever intresserade av programmering än tidigare. Blir man intresserad så kan sätta sig in i detaljer och implementering av koncept som objekthantering i språk man vill fördjupa sig i vidare utbildning/fortsättningskurser.”

”Jag undervisar på Teknikprogrammet Informations- och medieteknik. I andra kurser än Progrmmering 1, stöter eleverna på många andra språk. Det är viktigare att de verkligen förstår objekthantering så att de enklare kan föra över de alla språk de använder, än de

Related documents