IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

Relevanta dokument
Varför programmering i läroplanerna?

Skolverkets arbete med skolans digitalisering

Grunderna i programmering - loopar 3 av 6

Grunderna i programmering loopar (lektion 2 av 5)

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens

Programmering, dans och loopar

Grunderna i programmering - vad är en dator? 1 av 6

Programmering, dans och loopar

Grunderna i programmering hitta buggen (lektion 4 av 5)

Digitalt lärande och programmering i klassrummet

Grunderna i programmering symboler (lektion 3 av 5)

Programmering i matematik och teknik i grundskolan

Grunderna i programmering - skapa instruktioner 2 av 6

Skolverkets arbete med skolans digitalisering

Loopar och ljud 3 av 7. Lektionen handlar om att lära sig programmera loopar och använda ljudeffekter med verktyget Scratch. Loopar och ljud 3 av 7

Loopar och ljud 3 av 7. Lektionen handlar om att lära sig programmera loopar och använda ljudeffekter med verktyget Scratch. Loopar och ljud 3 av 7

Programmering från början

Fortsätt med Scratch: Så funkar kloner (del 3/6)

Programmera och hitta buggarna. Se video

Lgr 11 och digital kompetens

Fortsätt med Scratch: Meddelande och game over (del 5/6)

Skolans digitalisering styrdokumentsändringar SETT Syd 2018

Programmering i matematik och teknik i grundskolan

Meddelande och game over 5 av 6

Lars Lingman. Undervisningsråd - skolans bit.ly/skolverketxxx

Program & programmering

Övning: hitta buggarna

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

Programmering från början

Klassrumsprojekt programmering - Digitalt lärande

Hur fungerar en dator?

Koda ett mattetest 1 av 5. Lektionen handlar om att använda programmeringskunskaper för att skapa ett enkelt multiplikationstest.

Nationell IT-strategi för skolan. Fredrik Hedström Pedagogik och kommunikationsutvecklare

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

DATALOGISK TÄNKANDE OCH PROGRAMMERING CETIS OKTOBER 2017

EV3 Design Engineering Projects Koppling till Lgr11

Hur fungerar en dator? Lektionen handlar om att förstå hur datorer styrs av program. Hur fungerar en dator? Lektionsförfattare: Boel Nygren

Nyheter om matematik från Skolverket. oktober 2017

Program. Skolans digitalisering - styrdokumentsförändringar. Skolans digitalisering ett förändringsprojekt

Talföljer och cirklar: Algoritmer, geometri och mönster 2 av 4

Digital kompetens i läroplanen styrdokumentsförändringar. Christian Magnusson Undervisningsråd, avdelningen för läroplaner

Koda ett mattetest (lektion 4 av 5)

Programmering i gymnasieskola och vuxenutbildning

Programmering i matematik. grundskolan, gymnasieskolan och vuxenutbildningen

Programmera en mänsklig robot. Lektionen handlar om att skapa och följa instruktioner. Programmera en mänsklig robot

Programmera en mänsklig robot

Koda ett mattetest 4 av 5. Lektionen handlar om att utveckla mattetest så det fungerar för alla multiplikationstabeller. Koda ett mattetest 4 av 5

Programmering och digital kompetens

Introduktion till att programmera med Scratch (lektion 3 av 5)

Konstruera, styra, reglera och programmera en röd tråd F-9

Programmering från början

Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler.

Vad är algoritmer? Lektionen handlar om att få en grundläggande förståelse för vad en algoritm är. Vad är algoritmer?

Skolans digitalisering styrdokumentsförändringar. Christian Magnusson Undervisningsråd, avdelningen för läroplaner

PROGRAMMERING I SKOLAN Utbildning av kollegor på Carlssons skola CECILIA CHRISTIANSEN ULRIHCA MALMBERG

Handledarutbildning NT. Arlanda den 3 maj 2017

Digitaliseringen av skolan

Peter Karlberg. Undervisningsråd - skolans

Programmering och begrepp

Introduktion till programmering. Programspråk och paradigmer

Programmering och begrepp

Digital kompetens i läroplanerna

Välkomna! Datalogiskt tänkande och programmering 15 augusti WiFI Nätverk: Conventumwifi Lösenord: conventum2018

Datalogiskt tänkande är mer än Programmering. Fredrik Heintz Linköpings universitet

Nyheter från Skolverket

Koda ett mattetest 3 av 5. Lektionen handlar om att göra en variabel i programmet för ett multiplikationstest. Koda ett mattetest 3 av 5

Slump och statistik med Scratch. Se video

Slump och statistik med Scratch

Koda ett mattetest 5 av 5. Lektionen handlar om att göra ett mattetest som fungerar för alla multiplikationstabeller. Koda ett mattetest 5 av 5

Vad är algoritmer? En digital lektion från Sida 1 av 6

Nationella it-strategier styrdokumentsförändringar. Olof Andersson, Christian Magnusson

Varför behöver vi förstå programmering? Se video

Föreläsning 2. Operativsystem och programmering

Nationella it-strategier styrdokumentsförändringar. Christian Magnusson, Hans Almgren

Bee-Bot & Blue-Bot Räkna

STUDIEHANDLEDNING. till

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Rymdutmaningen koppling till Lgr11

Digital kompetens. Lpfö 18. Malin Malmström

Handledarutbildning MaNT

Förslag den 25 september Matematik

Programmering är för alla - en värderingsövning

Grundsärskolan. Särskolans rikskonferens Kristina Dahlberg, Anna Löfström Undervisningsråd För- och grundskoleenheten

Undersök vad som är programmerat

Imperativ programmering

Programmera ett övergångsställe

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

Programmering är för alla en värderingsövning

Programmera på riktigt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Pedagogisk planering till klassuppgifterna Teknikåttan 2019

IT-plan för Risebergaskolan. Vision och målsättning. IT-organisation. Tekniska förutsättningar. Kompetens Personal

Digitalt lärande och programmering i klassrummet

Buggar eller fel vid programmering

Matematiska lägesmått med en micro:bit

Fördjupningsforum för gymnasielärare i matematik

Kan logga in och ha strategier för att minnas sitt lösenord. Kan ta hand om och hanterar sin enhet. Kan starta och stänga av sin enhet.

Skolverket Digital kompetens. Mats Hansson och Lotta Ramqvist

Undersök vad som är programmerat. Lektionen handlar om den digitala tekniken i elevernas närmiljö. Undersök vad som är programmerat

Transkript:

IT OCH PROGRAMMERING I SKOLAN Jan Erik Moström Peter Vinnervik

VILKA ÄR VI OCH VAD KOMMER VI ATT PRATA OM? Jan Erik Moström - undervisar på institutionen för datavetenskap Peter Vinnervik - doktorand vid institutionen för naturvetenskapens och matematikens didaktik (NMD) BAKGRUND PROGRAMMERING BEGREPP

BAKGRUND

FÖRTYDLIGANDEN OCH FÖRSTÄRKNINGAR I STYRDOKUMENTEN 2017-03-09 För att tydliggöra skolans uppdrag att stärka elevernas digitala kompetens Motiv Digital kompetens handlar om att förstå hur digitaliseringen påverkar samhälle och individ kunna använda och förstå verktyg och medier ha ett kritiskt och ansvarsfull förhållningssätt till digital teknik kunna lösa problem och omsätta idéer i handling på ett kreativt sätt med användning av digital teknik I paketet omkring digital kompetens ingår programmering i framförallt matematik och teknik men även i samhällskunskap Utrymme lämnas även i t ex slöjd, svenska, musik

NATIONELL DIGITALISERINGSSTRATEGI 2017-10-19 Digital kompetens är i grunden en demokratifråga. Alla barn och elever behöver få förståelse för hur digitaliseringen påverkar världen och våra liv, hur programmering styr såväl det informationsflöde vi nås av som de verktyg vi använder, liksom att få kunskap om hur tekniken fungerar för att själv kunna tillämpa den. Målet för regeringen är att Sverige ska vara bäst i världen på att använda digitaliseringens möjligheter.

Lgr 80 Datalära förs in med liknande argument som för dagens digitalisering Initialt utan krav på datorer - Undervisning om datorer Programmering: formulering och strukturering av problemet är väsentligare än själva kodningsmomentet Integrerat i Ma och SO (ca 20h totalt) 1984/85: 2 stadieveckotimmar på högstadiet, gärna integrerat 90-tal: Förändring mot IKT och att lära med datorer

LGR 11 REV 2017 - MATEMATIK ges möjligheter att utveckla kunskaper i att använda digitala verktyg och programmering för att kunna undersöka problemställningar och matematiska begrepp, göra beräkningar och för att presentera och tolka data Algebra Hur entydiga stegvisa instruktioner kan konstrueras, beskrivas och följas som grund för programmering (1-3) Hur algoritmer kan skapas och användas vid programmering. Programmering i visuella (4-6)/olika (7-9) programmeringsmiljöer Hur algoritmer kan skapas, testas och förbättras vid programmering för matematisk problemlösning (7-9)

LGR11 REV 2017 - TEKNIK Arbetssätt för utveckling av tekniska lösningar Att styra föremål med programmering (1-3) Att styra egna konstruktioner eller andra föremål med programmering (4-6) Egna konstruktioner där man tillämpar styrning och reglering, bland annat med hjälp av programmering (7-9) Tekniska lösningar Tekniska lösningar som utnyttjar elektronik och hur de kan programmeras (7-9)

FLER ÄMNEN Samhällskunskap hur information i digitala medier kan styras av bakomliggande programmering Slöjd Hur material kan kombineras med digital teknik Svenska Instruerande texter, till exempel spelinstruktioner och arbetsbeskrivningar Hur de kan organiseras i steg, med logisk ordning och punktuppställning i flera led Texter i digitala miljöer, till exempel texter med länkar och andra interaktiva funktioner

PÅ GÅNG Lärarfortbildning Lärarlyft Universitetskurser Lärarutbildning? Stadieindelad timplan på förslag (fr 2018) Mer tid i matematik (1230 h) Teknikämnet har hamnat i kläm (Skolinspektionen, 2014) Nytt förslag - 200 h (47-65-88)

PROGRAMMERING

PROGRAMMERING Vad menar vi med detta? Slarvigt uttryck som kan jämställas med begrepp som t.ex. Systemutveckling Programutveckling Programvarutveckling Eller en väldigt specifik del: implementation

En önskan om ett system Vad är problemet?? Förstå problemet Lösa problemet Skapa en plan för att realisera lösningen Verifiera lösningen Implementera lösningen

VAD ÄR ETT PROGRAMSPRÅK Ofta: gör först detta, sedan så, sedan det där, osv Ett programspråk är en notation som en dator kan översätta till kommandon. Denna notation används för att uttrycka idéer för hur ett problem ska lösas

DET FINNS MÅNGA PROGRAMSPRÅK En stor mängd olika programspråk - är olika bra på att lösa olika saker. Familjer av programspråk (indelningen kan diskuteras) Imperativa Funktionella Objektorienterade Logikspråk Vanligast idag är imperativa och objektorienterade, ibland en kombination av dessa.

Oftast en kombination av imperativa och objektorienterade programspråk VISUELL PROGRAMMERING

PROBLEMLÖSNING

PROBLEMLÖSNING Den största svårigheten är problemlösningsfasen Programmering = praktisk problemlösning (??) Klassisk strategi: söndra och härska Avspeglar sig i programspråkens uppbyggnad Kräver övning - jmf matematik

BEGREPP

BYGGDELAR I de flesta programspråk så byggs programmen upp av ett begränsat antal byggblock Variabler Tilldelning Operationer Snurror (loopar) Val Funktioner Klasser

VARIABLER OCH TILLDELNINGAR Modell som gäller för många men inte alla programspråk

OPERATIONER + - * / ^ plus en massa andra

SNURROR Upprepa X gånger Instruktioner som ska upprepas for-loop Instruktioner som ska upprepas Upprepa så länge villkor är sant Instruktioner som ska upprepas while-loop

VAL Villkor Instruktioner som ska utföras om villkoret är SANT if-sats Instruktioner som ska utföras om villkoret är FALSKT

FUNKTIONER Jämför med matematiska funktioner, t.ex. sinus En sinus-funktion innehåller de instruktioner som behövs för att räkna ut sinus för ett värde. Parametrar Resultat

FUNKTIONER Fördel - höjer abstraktionsgraden Fördel - återvinna kod Kan inte komma på någon nackdel

KLASSER OCH OBJEKT Imperativa språk: en person representeras av information, t.ex. vilket år personen är född. Det innebär för att få reda hur gammal personen är måsta jag räkna ut det. Objektorienterade språk: en person representeras av både information och beteende. Det innebär att personen vet födelseåret och jag kan fråga personen om åldern

KLASSER OCH OBJEKT Klass - beskriver innehåll och beteende Objekt - det som skapas baserat på beskrivningen

ANDRA BEGREPP

ANDRA BEGREPP Algoritmer Editor Kompilator IDE

ALGORITMER I detta fall - beskriver hur man ska göra för att lösa ett problem på ett visst sätt Har ofta stor betydelse för effektivt ett program är. Exempel OSV

EDITOR ELLER TEXTEDITOR Inte samma sak som en ordbehandlare, t.ex. Word Hanterar bara text, ingen formatering Ett program skrivs traditionellt i textfiler som innehåller bara text ingen formatering Har ofta olika specialkommandon för att behandla hantera programkod.

KOMPILATOR Ett program som översätter från programkoden som vi skriver till instruktioner som datorn utföra. Dessa instruktioner kallas ofta maskininstruktioner, ibland för binärkod

IDE Integrated Development Environment Innehåller editor, kompilator och andra verktyg som programmeraren har användning för. Typiskt ett verktyg för den vane programmeraren Finns enklare versioner tänkt för utbildningsändamål.

PROGRAMSPRÅK

OLIKA PROGRAMSPRÅK Det finns som sagt en mängd programspråk, ni har kanske sett namn som: C, C++, Java, Python, JavaScript, PHP, Lisp, Ruby, Scratch, Alice, Blocky, etc, etc. Min åsikt är att många språk är inte lämpade som nybörjarspråk eller som språk för att introducera programmering till barn. Man bör tänka igenom syftet och sedan välja språk utgående från detta.

EXEMPEL

EXEMPEL VISUELLT PROGRAMSPRÅK

EXEMPEL TEXTBASERAT SPRÅK 3 * 0 = 0 4 * 0 = 0 5 * 0 = 0 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5 3 * 2 = 6 4 * 2 = 8 5 * 2 = 10 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15 3 * 4 = 12 4 * 4 = 16 5 * 4 = 20 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 3 * 10 = 30 4 * 10 = 40 5 * 10 = 50 6 * 0 = 0 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 6 * 10 = 60

Funktion EXEMPEL TEXTBASERAT SPRÅK Variabler Snurror Val def printmultables( start, end ): formatstring = "{:3d} *{:3d} = {:3d}" current = start Tilldelningar while current <= end: for currentvalue in range(11): print(formatstring.format( current,currentvalue,current*currentvalue), end=" ") if current+1 <= end: print(formatstring.format( current+1,currentvalue,(current+1)*currentvalue), end=" ") if current+2 <= end: print(formatstring.format( current+2,currentvalue,(current+2)*currentvalue), end=" ") print("") print("") current = current + 3 printmultables(3,6)

SAMMANFATTNING

SAMMANFATTNING 2017/18 övergångsår - 1/7 2018 ska alla följa Lgr 11/2017 Många lärare som ska tolka kursplaner och utforma undervisning saknar erfarenhet. Behov av utbildning av befintliga och nya lärare Att veta vad vi ska göra, när, hur, hur mycket och varför Beprövad erfarenhet och didaktisk forskning behövs Många olika programspråk Varje programspråk byggs upp av ett litet antal block Problemlösning är det viktiga