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

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

Introduktion till programmering

Programmering. Den första datorn hette ENIAC.

Dela, koda och korrigera! Undervisningsmaterial inom digital kompetens

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

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

Grundkurs i programmering - intro

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

Digitalt lärande och programmering i klassrummet

Introduktion till programmering och Python Grundkurs i programmering med Python

Föreläsning 2. Operativsystem och programmering

ENKEL Programmering 3

Programmering från början

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

HF0010. Introduktionskurs i datateknik 1,5 hp

Digitalt lärande och programmering i klassrummet

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

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

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

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

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

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

Kojo med Inga Ingenjör

Programmering, dans och loopar

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

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

Programmering och digital kompetens

Lgr 11 och digital kompetens

Programmering, dans och loopar

Programmering från början

IT för personligt arbete F5

Lokal Pedagogisk planering

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

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

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

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

Datorn föds.

Imperativ programmering

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

Mjukstart i programmering

Särskild utbildning för vuxna

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

TDIU01 - Programmering i C++, grundkurs

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

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

Programmering i matematik och teknik i grundskolan

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

Programmering från början

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

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Skolverkets arbete med skolans digitalisering

PISA 2003 ENKÄT OM INFORMATIONS- OCH KOMMUNIKATIONS- TEKNOLOGI

Objektorienterad Programmering (TDDC77)

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

Programmering. Analogt och med smårobotar. Nina Bergin

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

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

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

Självhjälpsprogram för ADHD. Del 1 Att hitta din väg

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

Grundläggande datavetenskap 4p

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

Extramaterial till Matematik X

Programmering och begrepp

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Så fungerar en dator

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

Instruktioner för dig som ska söka till Mattekollo 2016

Programmera och hitta buggarna. Se video

Programmering som språk

Hur fungerar en dator?

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

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

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Pedagogisk planering för ämnet: Svenska

Program & programmering

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

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

Extramaterial till Matematik Y

Programmering och datalogiskt tänkande i grundskolan

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

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

Scanner Detektor lärarhandledning Mojäng

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Engelskaläxa glosor samt fraser till berättelsen En sommar i Storbritannien

Skolverkets arbete med skolans digitalisering

Grundläggande programmeringsteknik Datorsystem

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

Datalogiskt tänkande för alla

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

Grunderna i programmering - loopar 3 av 6

SKOLFS. beslutade den XXX 2017.

GRUNDKURS I C-PROGRAMMERING

Tala, skriva och samtala

Programmering och begrepp

Planering Programmering grundkurs HI1024 HT data

SKOLFS. beslutade den -- maj 2015.

Transkript:

Programmering för alla! del 1 Lärarlyftet Teknik 7-9, 2014-09-01 Björn Regnell Professor Datavetenskap, LTH, Lunds universitet lth.se/programmera

Agenda 09:00-10:00 Introduktion; kursens upplägg Varför programmering för alla? Hur fungerar en dator? Vad är programmering? 10:00-10:15 Rast 10:15-11:45 (pausa när ni behöver) Alla programmerar gemensamt i Scala med Kojo 11:45-12:00 Information om hemuppgift

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 blev färdig 1946 ENIAC

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 programmera är det lättare att förstå vad som händer inuti datorn. Det finns så mycket vi vill att datorn ska kunna göra i framtiden, men inte så många som kan programmera datorer. Hela världen är beroende av att dataprogram finns och fungerar. Alla behöver förstå datorer för att kunna vara med och besluta om vår framtid! http://www.svt.se/nyheter/sverige/krav-pa-att-elever-lar-sigprogrammera

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

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

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

Våra kriterier för att välja utvecklingsmiljö och programspråk Gratis och fritt att ladda ner och distribuera Programmering "på riktigt" i ett professionellt programspråk Låg tröskel (lätt att lära) Inget tak (tillgång till befintliga, öppna programbibliotek och fullfjädrade abstraktionsmekanismer)

Om Scala och Kojo Scala är ett modernt och kraftfullt programspråk med det allra senaste inom dataforskningen. Scala är helt gratis och ett globalt öppenkällkodsprojekt som leds av Prof. Martin Odersky med forskningsmedel 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 helt gratis och ett globalt öppenkällkodsprojekt som leds av Lalit Pant i Indien. LTH är bidragsgivare (pengar, översättning och kodning).

Rita med sköldpaddan i Kojo

Mål med LTH-projektet Lär dig programmera! 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

Inlärningsmål för lärare 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,...

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)

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

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

Hemuppgift Deluppgift 1: Gör programmeringsuppdrag Deluppgift 2: Formulera ett eget programmeringsuppdrag Deluppgift 3: Genomför provlektion Redovisning: Skriftligt: minst 1 sida A4 reflektioner, log etc. Muntligt: presentation gruppvis vid nästa tillfälle.