Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Programmering i fagfornyelsen

Liknende presentasjoner


Presentasjon om: "Programmering i fagfornyelsen"— Utskrift av presentasjonen:

1 Programmering i fagfornyelsen
Nettverksdag Akershus Kompetansesenter for Undervisning i Realfag og Teknologi

2 Programmering og dybdelæring

3 Dybdelæring Det er mulig å både styrke og utvide fagene med programmering. Programmering er noe nytt i fagene, men det kan faktisk bidra til dybdelæring istedenfor å hindre det – gitt at det blir brukt på en god måte. Fagfornyelsen skal gi oss bedre rammer for å jobbe med viktige konsepter over en lengre periode.

4 Lære grunnleggende konsepter bedre

5 Utforske nye konsepter
Utforske sammenhenger, f.eks. tilfeldige prosesser eller simulerte labøvelser.

6 Algoritmisk tenking Udir-figur. Ikke noe nytt, men forsterket fokus på de.tte. Eksempel: Kle på seg.

7 Programmering i matematikk
Flere tilnærminger. Analytisk løsning  programmerbar analytisk løsning. Numerisk løsning  generaliserbar løsning. 𝑥= −𝑏± 𝑏 2 −4𝑎𝑐 2𝑎

8 Modellering

9 Fysikk Endring i måten å tenke fysikk på (Bruce Sherin)

10 Kjemi

11 Biologi

12

13 Store datamengder

14 Verktøy? ?

15

16 I læreplanen Områder som er egna til å studere med programmering:
1T: Likningsløsing. 1P: Prosentregning, modellering (utfyllingsprogrammer?). R1: Numerisk derivasjon. S1: Statistikk og stokastisk simulering. R2 og S2: Numerisk integrasjon. Naturfag: Teknologi, nedarving, Fysikk (?): Kinematikk, krefter, termofysikk. Kjemi (?): Likevekter og reaksjonsrater. Enkel statistikk. Biologi (?): Vaksiner, populasjonsdynamikk. Store mengder data (DNA). Programmering og modellering ???

17 Grunnleggende programmering
Nettverksdag Akershus Kompetansesenter for Undervisning i Realfag og Teknologi

18 Grunnleggende programmering

19 Her tenker jeg en kort introduksjon til Spyder-vinduet
Her tenker jeg en kort introduksjon til Spyder-vinduet. Forvirrende for mange med så mange knapper og vinduer og dette burde vi egentlig gjort tidligere på ProFag også.

20 HelloWorld.py

21 Output = print() Vi må eksplisitt be datamaskinen om å gjøre det vi vil. For å få ut et tall til konsollen, holder det ikke å definere det. Vi må skrive det til konsollen med funksjonen print:

22 Variabler

23 Variabler og tall på datamaskinen
For å lagre verdier Datatyper Hvordan? Deklarasjon og tilordning a = 5 b = ‘Hei’ c = 3.14 Livekoding.

24 Datatyper Heltall Desimaltall Tekststrenger Lister 3.14 ≠ ‘3.14’
Kalles «int» eller «integer» Desimaltall Kalles «float» eller «flyttall» Tekststrenger Kalles «str» eller «string» Deklareres med fnutter eller anførselstegn Lister Kan inneholde samlinger av variabler. 3.14 ≠ ‘3.14’ Vær obs på hvilken datatype du jobber med! Klargjør forskjell og likheter mellom float og desimaltall. 3*0.1 – 0.3 4*0.1 – 0.4

25 Aritmetikk

26 Aritmetikk Operatorer Regnerekefølge og presedens + - * / **
Som i matematikken Parenteser -> potenser -> multiplikasjon / divisjon -> addisjon / subtraksjon

27 Feil Hvorfor fungerer ikke følgende programmer?
Rekkefølge: Lese fra topp til bunn. Variabelnavn: Stor bokstav er ikke lik liten bokstav. Komma mellom variabler som skal skrives ut.

28 Detaljer, detaljer… Eller?
Mellomrom? Det handler om estetikk/lesbarhet!

29 Oppgaver Lag et program som summerer to tall uten bruk av variabler (kun print, du velger tallene selv). Endre programmet slik at det lagrer to tall i variabler og skriver ut produktet av tallene som er lagret i variablene dine. Hva blir resultatet av a = 10 a = a + 5 Forklar hvorfor og diskuter med hverandre. Hvordan er uttrykket ulikt i programmering, fra det vi kjenner i matematikken? Du har to variabler a og b som begge inneholder verdier. Skriv et program som flytter innholdet i a til b, og innholdet i b til a.

30 Kommentarer # = kommentar
Triple anførselstegn brukes for å kommentere ut flere linjer

31 Input

32 Kommunikasjon med programmer
Det er flere måter å «kommunisere» med programmene på: Direkte i programmet (skrive inn kode). I konsollen. Som input.

33 Bruk av konsollen Konsollen fungerer som en kalkulator og en direktekoder. Det du skriver inn her, kjøres med en gang. Livekoding i konsollen.

34 Input Kommando: input() som tar som argument en streng, f.eks. et spørsmål. Dette gir mulighet for brukeren å skrive i terminalen og trykke Enter. Da lagres det brukeren har skrevet inn i variabelen navn. Dette kan så brukes videre i programmet. Livekode: navn = input(«Hva heter du?») print(«Hei, navn! Hyggelig å se deg.») Livekode før neste lysbilde. tall1 = input(«skriv inn et tall») tall2 = input(«skriv inn et tall til») print(«Summen av», tall1, «og», tall2, «er», tall1 + tall2)

35 NB! Input blir automatisk lagret som streng, så hvis du f.eks. vil regne med et tall seinere, må en konvertere det til flyttall eller heltall: Livekoding: tall1*tall2 når de er tekst. Lære å lese feilmelding.

36 Oppgaver Lag et program som tar to tall, a og b, som input og skriver ut ab. Lag et program som regner ut alderen din, gitt året du er født som input. Lag et program som regner ut arealet av en sirkel, gitt radius som input. Lag et program som regner ut radiusen til en sirkel, gitt arealet som input. Velg én eller flere formler fra matematikk eller naturfag. Lag et program der du beregner noe med formelen.

37 Beslutninger

38 Vanlig med if-tester (hvis-tester).
Beslutninger Vi presenteres for valg hele tida. En beslutning avgjør utfallet basert på ulike betingelser. Vanlig med if-tester (hvis-tester). Eksempel: Hvilke kategorier av reelle tall finnes? Dette kan representeres i et flytskjema.

39 pH > 7 Basisk < 7 Sur = 7 Nøytral

40 Sjekk temperaturen T < 0 Kjøp vinterjakke 0 ≤ T≤ 20 T > 20 Kjøp solkrem Kjøp allværsjakke

41 Lørdagsgodt >0,5 kg Vondt i magen Mellom 0,2 og 0,5 kg Tilfreds <0,2 kg Utilfreds

42 Oppgaver Hva tror du kodesnuttene nedenfor gjør?
Diskuter eventuelle likheter og forskjeller mellom følgende kodesnutter: Livekoding av «tallet er positivt/negativt/42» (tilsvarende elevoppgave). Både med elif, else, og to if-er istedenfor elif.

43 if = hvis dette  gjør noe elif = hvis ikke, hvis dette  gjør noe
else = hvis ikke noe  gjør noe Innrykk er viktig! Alle «hvis-er» skal stå med samme innrykk, alle hendelser skal rykkes lenger inn. Legg også merke til kolon. Første som inntreffer avslutter sekvensen if-elif-else. Livekoding: godteriprogram.

44 Oppgaver Lag et program som lagrer en alder i en variabel. Skriv ut en kommentar som avhenger av om alderen er over eller under din egen alder. Lag et program der du lagrer to tall i to ulike variabler. Programmet skal avgjøre hvilket av tallene som er størst. Lag et program der et navn (streng) lagres i en variabel. Programmet skal skrive ut ulike ting alt ettersom hva navnet er. Demo: Én av oppgavene.


Laste ned ppt "Programmering i fagfornyelsen"

Liknende presentasjoner


Annonser fra Google