Programmering för alla!



Relevanta dokument
Programmering för alla!

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Programmering eller Datalogiskt tänkande

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens

Programmering. Den första datorn hette ENIAC.

Introduktion till programmering

Inledande programmering med C# (1DV402) Introduktion till programmering

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering

Lär dig programmera för dig mellan 6 och 100 år...

ENKEL Programmering 3

Digitalt lärande och programmering i klassrummet

Introduktion till programmering och Python Grundkurs i programmering med Python

Grundkurs i programmering - intro

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

Föreläsning 2. Operativsystem och programmering

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Kojo med Inga Ingenjör

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

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

Programmering och digital kompetens

K A TRIN J Ä V E RBRING D I G I T A L K O M P E T E N S O C H P R O G R A M M E R I N G I F Ö R S K O L A N

Programmering från början

HF0010. Introduktionskurs i datateknik 1,5 hp

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

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

Digitalt lärande och programmering i klassrummet

Lgr 11 och digital kompetens

Programmering, dans och loopar

Programmering i ett historiskt perspektiv. Växjö 16 november 2017 Mats Hansson

Kojo med Inga Ingenjör. Lär dig programmera Nybörjaruppdrag

Datorn föds.

IT för personligt arbete F5

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

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

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

TDIU01 - Programmering i C++, grundkurs

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. Analogt och med smårobotar. Nina Bergin

Mjukstart i programmering

TDIU01 (725G67) - Programmering i C++, grundkurs

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

Extramaterial till Matematik X

Lokal Pedagogisk planering

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller

Föreläsning 3.1: Datastrukturer, en översikt

Programmering, dans och loopar

Programmering som språk

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

Imperativ programmering

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Programmering i matematik och teknik i grundskolan

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Föreläsning 5 5DV086 - Programspråk

Programmering och begrepp

Skolverkets arbete med skolans digitalisering

Programmering i skolan varför då? Lisa Söderlund Pedagogik och kommunikation

Hur fungerar en dator?

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

Programmering och datalogiskt tänkande i grundskolan

Datalogiskt tänkande. med DATALIA DATALIA

Innehålls förteckning

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

Programmering från början

Om programmering i matematikundervisning

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

KURSKATALOG HT-15 Med spännande nyheter & gamla favoriter!

Program & programmering

Tema: Underhållning Teknikspanarna

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Grunderna i programmering - loopar 3 av 6

Vilken skillnad gör det var du placerar det? Prova båda.

Programmering i skolan varför då? Lisa Söderlund Pedagogik och kommunikation

Så fungerar en dator

Scanner Detektor lärarhandledning Mojäng

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Skolverkets arbete med skolans digitalisering

Välkommen till Myrsjöskolan. Ditt skolval 2016/17

KOMPLEMENT TILL MATTE DIREKT BORGEN UPPLAGA

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

Datalogiskt tänkande för alla

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

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Grundläggande programmeringsteknik Datorsystem

Programmering från början

Läroplanens mål. Målen för eleverna i grundskolan är i läroplanen uppdelad i mål att sträva mot och mål att uppnå.

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

Programmera och hitta buggarna. Se video

Om programmering i matematikundervisning

Välkommen till. Särskild utbildning för vuxna i Trelleborg

MINI STARTER. Lärarhandledning Elevuppdrag Utvärdering

Programmering och begrepp

! Introduktion till kursen! En dators delar! Vad är ett program? " Hur fungerar ett program när det körs

Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM

Studentportalen UNIX-konton (systemansvariga P4118) Lärare: Anna Eckerdal,

Om programmering i matematikundervisning

Transkript:

Programmering för alla! Inspirationsseminarium för lärare i grundskola och gymnasium Björn Regnell Professor Datavetenskap, LTH, Lunds universitet lth.se/programmera

Video http://www.svt.se/nyheter/sverige/krav-pa-att-elever-lar-sig-programmera

Lärandemål 1. Verktyg och inspiration att komma igång med programmering tillsammans med dina elever 2. Grundläggande förståelse för några viktiga begrepp inom programmering 3. Praktisk kunskap att skriva och starta egna program i en enkel programmeringsmiljö 4. Idéer om hur programmering kan användas i din undervisning Matematik, svenska, engelska, SO, NO, teknik,...

Varför programmering för alla?

Loket F 1200 trafikerade Södra Stambanan mellan Stockholm och Malmö 1914-1933. Perspektiv 1850 1875 1900 1925 1950 1975 2000 2025 2050 2075 Järnvägen och industrialismen kommer till Sverige. Den första elektroniska datorn 1946 Microsoft 1975 World Wide Web 1992 Google 1998 Iphone 2007 Snowdenläckan 2013 Dagens grunskoleelevers yrkesliv Internet of things Augmented reality Human enhancement

ENIAC - den första elektroniska datorn ENIAC

När jag var liten... 10 print hej 20 goto 10

kommunikation transport byggsektorn statsförvaltning finanssektorn media sjukvård övervakning integritet upphovsrätt miljö & energi sociala relationer utbildning

http://javlaskitsystem.se/2012/09/dagens-system-varfor-vaggar-doktorn-musen/

Ada Lovelace (1815-1852) Världens första programmerare

Grace Hopper Uppfann världens första kompilator 1952

Varför ska du lära dig programmera? Det är kul att själv skapa kod! Om du kan koda är det lättare att förstå datorn. Hela världen är beroende av att kod finns och fungerar på önskvärt sätt. Alla behöver förstå datorer för att kunna vara med och besluta om vår framtid!

Varför ska barn lära sig programmera? Mjukvara ligger bakom den största samhällsomvandlingen genom tiderna och det är våra barn som ska forma framtidens samhälle Det råder stor obalans mellan olika grupper i samhället vad gäller tillgången till kunskap i datalogi och skolan är en viktig utjämningsfaktor Det är stor skillnad på att enbart vara passiv ITkonsument och att aktivt skapa koden som styr IT

Seymour Papert uppfann 1967 programspråket LOGO för att barn med hjälp av programmering ska kunna utveckla sin problemlösningsförmåga. Var med och utvecklade den pedagogiska teorin om "constructionist learning": Genom eget skapande konstruerar eleverna mentala modeller för att kunna förstå världen omkring dem.

Varför ska lärare lära sig programmera? Programmering kan användas för att levandegöra och integrera olika ämnen, så som matematik, NO, SO och språk. Barnen kan ofta mer som användare av mjukvara än många vuxna, men de behöver hjälp av vuxna för att komma igång med programmering och att skaffa sig en djupare förståelse av mjukvarans roll i samhället Genom programmering kan barn och lärare tillsammans utveckla programmeringens roll i lärandet http://viprogrammerar.se/

Exempel på "eviga" färdigheter som utvecklas med datalogi och programmering Tänka logiskt Tänka steg-för-steg Tänka i abstraktioner Konstruera abstraktioner Skriva exakt allt du skriver har en effekt Fantasi och kreativitet Förklara för varandra Samarbete

Exempel på pedagogiska möjligheter med programmering i skolan De som ännu inte har svenska språket som ett starkt verktyg för att kommunicera kan använda programmering i sin språkutveckling De som inte har så lätt för skolans fokus på "läs-uppgift-skriv-svaret" får här ett alternativ med metoden "gör-själv-och-upptäck-vad-som-händer" Programmering visar att de med kunskap att styra maskinen också har makt över människor och den konkreta upplevelsen av att själv koda öppnar upp diskussionen om kunskapens roll i samhället

Om Scala och Kojo Scala är ett modernt och kraftfullt programspråk med det allra senaste inom dataforskningen. Scala är ett globalt öppen-källkodsprojekt som leds av Prof. Martin Odersky med forskingsmedel från EU. Kojo är en utvecklingsmiljö för Scala som gör det lätt att komma i gång med programmering. Kojo är ett globalt öppen-källkodsprojekt som leds av Lalit Pant i Indien. LTH är bidragsgivare (pengar, översättning och kodning).

Mål med LTH-projektet Programmering för alla! Så enkel start som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga programmeringsuppdrag för barn och ungdomar från förskolan och uppåt Lärarutbildning som sprider programmeringsglädjen till skolungdomar

LTH:s läromaterial för programmering i skolan En serie uppdrag som kan anpassas Använda abstraktioner Skapa egna abstraktioner lth.se/programmera

Rita med sköldpaddan i Kojo

Hur funkar en dator?

Vad finns i datorn? Heltal och endast heltal!

SMIL siffermaskinen i Lund Sveriges första dator skapades 1953 av Carl-Erik Fröberg. Smil kom tre år senare och konstruerades utifrån samma grundritningar. Datorn kostade 120 000 kronor att bygga, vilket motsvarar cirka två miljoner i dagens penningvärde. Smil krävde ett tio meter långt rum. Minnet var på 40 KB. http://www.sydsvenskan.se/digitalt--teknik/nast-aldsta-datorn-fyller-50/

Hur funkar en dator? Minne sparar både data och program Processor bearbetar data enligt program Läs & Skriv Utdataenhet data till omvärlden Indataenhet data från omvärlden

Uppdelning: data / instruktioner Heltal används för att representera data: bokstäver, bilder, musik, filmer, etc Heltal används för att representera instruktioner (program) som anger vad datorn ska göra: addera, multiplicera, visa på skärmen, etc Datorn hjälper till att översätta (för människor) mer lättbegripliga instruktioner till rätt siffror I datorns minne finns BÅDE data OCH instruktioner

Data och program är ettor och nollor Minne med data och program som ettor och nollor 0001010010010 0101001010010 1001010010100 1010111110100 1110100110101 1111000010101 Läs & Skriv 0 -> 00000000 1 -> 00000001 2 -> 00000010 3 -> 00000011 4 -> 00000100 5 -> 00000101... Utdata Processor bearbetar ettor och nollor CPU Central Processor Unit A -> 01000001 B -> 01000010 C -> 01000011... Indata

Hur många ettor och nollor? En binär siffra kallas bit En bajt (eng. byte) förkortat B motsvarar 8 bitar En bajt med det binära värdet 01000001 tolkas t.ex. som siffran 65 eller bokstaven A 1 MB = 1 miljon B 1 GB = 1 miljard B = 1000 MB

Vad är programmering?

Vad är programmering? Att programmera är att bestämma vad datorn ska kunna göra. Ett program innehåller koder som datorn kan förstå. Koderna innehåller instruktioner som datorn kan utföra och data (information) som datorn kan använda när den utför sina instruktioner. Ett program är datorns recept När man gör nya program bygger man på färdiga delprogram som byggblock till nya program

ENIAC ENIAC, den första datorn. ENIAC vägde 27 tusen kilo! På en sekund kunde ENIAC räkna till 5 tusen. Hur snabbt kan du räkna till 5 tusen? Hur snabb är din dator?

Programmering förr och nu De första datorerna programmerades genom att människor själva kopplade om sladdar och knappar, en för varje etta eller nolla

Programmering förr och nu Nu finns program som hjälper människor att översätta program och data till representationer som passar människor (text, bilder, ljud) Program representeras oftast med ett textuellt språk med en entydig grammatik som översätts till ettor och nollor av ett program som kallas kompilator

Källkod (lättare för människor) kompilator Maskinkod (siffror som styr datorn)

Vad är datorer bra på? Datorn är otroligt bra på att räkna snabbt. Datorn kan lätt göra samma sak många gånger. Datorn är dålig på att hitta på själv. Om du hittar på något nytt du vill att datorn ska kunna, måste du programmera i detalj varje steg som datorn ska utföra. Som tur är finns det redan en mängd färdiga delprogram med användbara funktioner som man kan sätta samman till nya program Ett gränssnitt till användbara funktionsbibliotek kallas API (Application Programming Interface)

Några datalogiska grundbegrepp Algoritm: beskrivning hur man löser ett problem (ett slags recept) Sekvens: göra saker steg för steg Repetition: upprepa vissa steg många gånger Alternativ: välja nästa steg beroende på variablers värde Abstraktion Funktion: en del av ett program som har fått ett namn och som kan återanvändas gång på gång Parameter: ger olika värden som påverkar vad funktionen ger för resultat Variabel: plats i datorns minne för värden som kan ändras Objekt: en del av ett program som sammanför och kapslar in funktioner och variabler Klass: kod som beskriver många objekt av samma typ Uppdragen i Kojo börjar med: sekvens, repetition, funktion, parameter

Programming UNPLUGGED

Ditt första program! fram fram fram fram fram

Paddan kan vrida sig! vänster höger

Rita en kvadrat! Tips: använd fram och vänster

Nästa steg Hemuppgift för lärare: Jobba vidare med uppdragen gärna tillsammans Gör ett eget nytt uppdrag Prova på elever Skriv en kort reflektion och dela med dig till alla: http://wiki.kogics.net/forum/c-979648/kojo-teaching-sweden