4 svar
123 visningar
Lindehaven 193
Postad: 9 aug 2018

Att lära programmering

Skulle vilja diskutera ämnet programmering - vad och hur man lär sig och lär ut till andra. Du som studerar programmering, vad vill du lära dig och hur? Du som lär ut programmering, vad lär du ut och hur?

Ser att programmering ibland reducerats till att handla enbart om att skriva kod i ett visst programspråk. Ofta utelämnas viktiga delar som exempelvis samarbete, design, versions-hantering, test, felhantering, avlusning och dokumentation. Bristerna märks både i skolan och i arbetslivet. Tycker att vi behöver ändra på detta.

Aerius 49
Postad: 9 aug 2018 Redigerad: 9 aug 2018

Jag har intresserat mig för programmering på fritiden. Gått någon enstaka kurs i skolan. Jag har tittat mycket på programmerare på youtube och lyssnat på deras råd. Bland det bästa råden tycker jag är tänk i algoritmer som inte är kopplat till ett programmeringsspråk. Lära sig att förstå idéen av hur ett program är strukturerat och hur det utför sin uppgift. Denna idé kan sedan programmeras i olika spåk. Jag tycker man borde använda fler språk än ett i en kurs. Kursen kan ha som grundspråk Java, men vissa enklare delar kan man även göra i andra språk. Dels för att visa att det går men även visa hur olika programmeringsspråk kan användas tillsammans.

En annan sak är göra enkla skisser av programmet. Diagram över hur programmet ser ut och används. Till exempel innan någon kod skrivits beskriv programmet med en mind map.

jonis10 1592
Postad: 9 aug 2018

Hej

Jag studerar själv programmering (utöver det som görs i skolan) och lär även ut till klasskamrater/elever på skolan som läser programmering. Tyvärr så har den svenska skolan eller skolverket inte tillämpat val av programmering fören på gymnasiet. De har infört en lägre typ av programmering från årskurs 1 upp till högstadiet. Dock så är den programmering bara en typ av "drag and drop" med olika kodblock, vilket alltid är en början för elever, men jag anser inte att det är "riktigt" programmering. Jag tycker att man redan från åk 6-9 bör införa det fundamentala i något språk. På så sätt är man redo när man kommer till gymnasiet och det blir lättare att bygga vidare på sina kunskaper och även lättare att gå över till något annat språk skulle behövas.

Idag så kommer elever inte i kontakt med programmering fören åk 1 på gymnasiet (obligatoriskt endast för teknik programmet) vilket är en väldigt liten del av landets elever. Självklart finns det de som lär sig självmant genom internet etc, men jag pratar mer generellt just nu. Detta är ändå något som börjar förändras och börjar gå i en allt mer positiv riktning. Där skolverket försöker involvera allt fler elever inom programmering. Problemet är att många tänker på programmering som fakta, istället för att se det som ett språk. T.ex. så hade en vän som läst ett exempel ur boken och försökte komma ihåg koden och inte riktigt tanken på varför man ens införde den typen av variabeln etc. Detta leder till att elever lägger mer tid på att lära sig kod i huvudet, istället för att försöka förstå sig på problemet och därefter lösa det med t.e.x pseudokod. Då har eleven ändå tänkte och förstått stora delar av problemet därefter kan personen översätta det till kod ta hjälp av internet eller liknande för att kolla upp saker som t.ex. hur en sorteringsalgoritm ser ut.

Vi tar en grundläggande uppgift "Du ska kunna skriva in 5 tal därav ska programmet skriva ut det störa och det minsta talet samt summan av dem två talen."

När jag lär ut en person försöker jag börja med att fråga hur personen tänkt lösa uppgiften med ord. "Först behöver jag en lista som kan förvara mina tal. Sedan en metod som hittar det minsta respektive största talet osv...". Nu har ändå eleven en god överblick och kan börja att skriva koden. Om en elev har svårt att lösa problemet med ord så kan man som lärare alltid ge en ledtråd så att eleven kommer framåt. När eleven sedan börjar koda brukar det nästan alltid vara något som man glömmer bort, antigen så kommer man på det själv eller så låter man eleven söka på internet efter ett svar på problemet. Självklart inte hela uppgiften men om det är någon metod eller liknande. Det är också en väldigt god kunskap att kunna söka från internet och använda sig av den informationen och översätta det till sitt eget problem.

Lindehaven 193
Postad: Igår

Aerius och jonis10, tack för era inlägg. Jag håller med om vikten att tänka igenom lösningar innan man börjar programmera. Att beskriva lösningar i ord, pseudo-kod, diagram, skisser, mind map el dyl som visar data, flöde, algoritmer, gränssnitt och struktur är bra exempel på vad som kan ingå i design. Jag tycker att studenterna ska ges en förståelse för vikten av detta oavsett vilket programmeringsspråk de använder. Att leda dem fram med ledtrådar och tips tror även jag är bra för att lära studenterna att utforma olika lösningar.

På internet finns otroligt mycket att läsa, se och lyssna på gällande programmering. Det är en mycket bra källa till information om man kan söka, sålla och vara källkritisk. Det finns många forum liknande Pluggakuten som är specialiserade på programmering där man kan få rankade svar på de mest obskyra frågor.

Men det jag vill förmedla till studenter - förutom betydelsen av design - är en mer sammanhängande och komplett bild av vad programmering är och vad man behöver kunna för att kunna arbeta med programmering. Hur vet man att man förstått uppgiften och förväntad funktionalitet? Hur arbetar man tillsammans för att lösa uppgiften? Hur skriver man kod med tillräckligt få fel? Hur vet man att användarna är nöjda med mjukvaran? Hur hittar man orsaken till fel i mjukvaran? Hur vet man att ett visst fel blivit rättat och levererat till användarna? Hur vet man var och hur man ska koda för att lägga till ny funktionalitet? Och mer...

Aerius 49
Postad: Igår

Jag tror förstå programmet på en så hög nivå som möjligt. En mind map ska vara så detaljerad på sin nivå att den utgör hela programmet, eller den del av programmet den representerar. Ha en känsla av utifrån den här mind mapen kan jag skriva programmet. Lära sig skriva kod, se koden på ett sådant sätt, att när fel upptäcks ska det gå att åtgärda dem.

Svara Avbryt
Close