20TD02U Trinket - itnett/FTD02H-N GitHub Wiki

20TD02U Trinket

Jeg har dekktet mye Trinket i andre artikler, men her er en direkte 1-1 mot dla.no https://ndla.no/article-iframe/nb/article/24208

https://ndla.no/subject:1:5a5cac3f-46ff-4f4d-ba95-b256a706ec48/topic:c7111b35-0621-4977-8a31-fe41e8e4a34d/topic:b4ba45c3-b084-45a1-994c-c85eb755ee54/resource:da134ac8-9ada-47c3-adf2-31e0b95ec5fb

[python]

For å gi en gjenfortelling og demonstrere bruk av informasjonen fra lenken om Trinket i henhold til retningslinjene som er nevnt, følger her en sammenfatning og et eksempel på hvordan man kan bruke Trinket til å programmere i Python.

Gjenfortelling:

Trinket er en innebygd editor hvor brukere kan skrive og kjøre Python-kode direkte i nettleseren. Denne editoren er spesielt nyttig for å lære og eksperimentere med programmering uten å måtte installere noe på egen datamaskin. Den brukes ofte i utdanningskontekster, som for eksempel på NDLA (Nasjonal digital læringsarena), for å hjelpe elever med å lære og praktisere programmeringsferdigheter. Noen av de oppgavene og aktivitetene som er tilgjengelige inkluderer:

  • Løsning av lineære likningssett
  • Løsning av andregradslikninger
  • Tegning av polynomfunksjoner
  • Beregning av tilnærmede verdier for den deriverte
  • Derivasjon av funksjoner
  • Funksjonsdrøfting
  • Fra prosent til vekstfaktor og tilbake
  • Nullpunktsberegning med halveringsmetoden

Demonstrasjon av bruk:

Her er et eksempel på hvordan man kan bruke Trinket til å skrive et program som løser en andregradslikning (ax^2 + bx + c = 0):

import math

def solve_quadratic(a, b, c):
    # Beregn diskriminanten
    discriminant = b**2 - 4*a*c
    if discriminant < 0:
        return "Ingen reelle røtter"
    elif discriminant == 0:
        x = -b / (2*a)
        return f"En reell rot: x = {x}"
    else:
        x1 = (-b + math.sqrt(discriminant)) / (2*a)
        x2 = (-b - math.sqrt(discriminant)) / (2*a)
        return f"To reelle røtter: x1 = {x1}, x2 = {x2}"

# Eksempel på bruk
a = 1
b = -3
c = 2
resultat = solve_quadratic(a, b, c)
print(resultat)  # Forventet resultat: To reelle røtter: x1 = 2.0, x2 = 1.0

I dette eksemplet definerer vi en funksjon solve_quadratic som tar tre argumenter (koeffisientene a, b og c) og returnerer løsningene til andregradslikningen ved å bruke diskriminanten. Programmet skriver deretter ut resultatet ved å kalle funksjonen med spesifikke verdier for a, b og c.

For å kjøre dette programmet i Trinket, kan du kopiere og lime inn koden i editoren på Trinket og klikke på "Run" for å se resultatet.

Dette eksemplet viser hvordan man kan bruke Trinket til å praktisere Python-programmering og løse matematiske problemer, noe som er en del av læringsressursene og oppgavene tilgjengelige på NDLA.

[python]

Henvisning til Kilde og Bruk av Lisensiert Innhold

I henhold til retningslinjene for bruk av teksten, må vi alltid oppgi hvem som har laget innholdet og dele innholdet med samme lisens som det opprinnelige innholdet. Her er kilden for informasjonen som er brukt i demonstrasjonen:

Tittel: Trinket
Opphaver: Forfatter Bjarne Skurdal
Sist faglig oppdatert: 17.06.2021
Kildehenvisning: NDLA - Trinket

Eksempel på Bruk av Trinket for Læreplanmål

1. Modellering av Naturfaglige Fenomener (Kompetansemål KM731 og KM814)

Eksempel på Python-program i Trinket:

import matplotlib.pyplot as plt
import numpy as np

def bacteria_growth(t, N0, r):
    return N0 * np.exp(r * t)

# Initiale betingelser
N0 = 100  # Initialt antall bakterier
r = 0.3   # Vekstrate per time
t = np.linspace(0, 24, 100)  # Tid fra 0 til 24 timer

# Beregn bakterieveksten
N = bacteria_growth(t, N0, r)

# Plot resultatene
plt.figure(figsize=(10, 6))
plt.plot(t, N, label='Bakterievekst')
plt.xlabel('Tid (timer)')
plt.ylabel('Antall bakterier')
plt.title('Modellering av bakterievekst over tid')
plt.legend()
plt.grid(True)
plt.show()

2. Planlegging og Gjennomføring av Undersøkelser i Biologi (Kompetansemål KM6282)

Eksempel på Python-program i Trinket:

import pandas as pd
import matplotlib.pyplot as plt

# Sample data fra en undersøkelse
data = {
    'Tid (dager)': [0, 1, 2, 3, 4, 5, 6, 7],
    'Bakterier (cfu)': [100, 150, 225, 337, 505, 757, 1135, 1703]
}

df = pd.DataFrame(data)

# Plot dataene
plt.figure(figsize=(10, 6))
plt.plot(df['Tid (dager)'], df['Bakterier (cfu)'], marker='o')
plt.xlabel('Tid (dager)')
plt.ylabel('Bakterier (cfu)')
plt.title('Bakterievekst over tid')
plt.grid(True)
plt.show()

# Beregn gjennomsnittlig vekstrate per dag
df['Vekstrate per dag'] = df['Bakterier (cfu)'].pct_change() * 100
gjennomsnittlig_vekstrate = df['Vekstrate per dag'].mean()
print(f"Gjennomsnittlig vekstrate per dag: {gjennomsnittlig_vekstrate:.2f}%")

3. Grunnleggende Programmering i Teknologi- og Industrifag (Kompetansemål KM2715)

Eksempel på Python-program i Trinket:

class Robot:
    def __init__(self, name):
        self.name = name
        self.position = 0

    def move_forward(self, steps):
        self.position += steps
        return self.position

    def move_backward(self, steps):
        self.position -= steps
        return self.position

    def status(self):
        return f"Robot {self.name} is at position {self.position}"

# Eksempel på bruk
robot1 = Robot("Robo1")
print(robot1.status())  # Forventet: Robot Robo1 is at position 0
robot1.move_forward(10)
print(robot1.status())  # Forventet: Robot Robo1 is at position 10
robot1.move_backward(5)
print(robot1.status())  # Forventet: Robot Robo1 is at position 5

Konklusjon

Disse eksemplene demonstrerer hvordan man kan bruke Trinket til å oppnå forskjellige læreplanmål i naturfag, biologi, og teknologi- og industrifag ved å modellere fenomener, analysere data og programmere enkle systemer. Ved å bruke slike verktøy kan elever utvikle ferdigheter innen programmering og modellering, og forstå naturvitenskapelige og teknologiske prinsipper bedre.

Kildehenvisning

Dette innholdet er basert på ressursen "Trinket" av forfatter Bjarne Skurdal, sist faglig oppdatert 17.06.2021, tilgjengelig på NDLA: NDLA - Trinket. Lisensen gir rett til å dele og bruke dette innholdet på visse vilkår, inkludert oppgivelse av opphav og deling med samme lisens.

[python]

Demonstrasjon av bruk av Trinket for ulike læreplanmål

Trinket kan brukes effektivt til å modellere naturfaglige fenomener og gjennomføre programmeringsoppgaver som beskrevet i læreplanmålene. Her er noen eksempler på hvordan man kan bruke Trinket til å oppnå kompetansemålene i naturfag og biologi ved å skrive og kjøre Python-kode.

Eksempel 1: Modellering av et naturfaglig fenomen (komplekst vekstmønster)

Kompetansemål:

  • Vg3 Påbygging til generell studiekompetanse (KM731)
  • Vg1 Studieforberedende utdanningsprogram (KM814)
Python-program for å modellere veksten av en bakteriekultur
import matplotlib.pyplot as plt
import numpy as np

def bacteria_growth(t, N0, r):
    return N0 * np.exp(r * t)

# Initiale betingelser
N0 = 100  # Initialt antall bakterier
r = 0.3   # Vekstrate per time
t = np.linspace(0, 24, 100)  # Tid fra 0 til 24 timer

# Beregn bakterieveksten
N = bacteria_growth(t, N0, r)

# Plot resultatene
plt.figure(figsize=(10, 6))
plt.plot(t, N, label='Bakterievekst')
plt.xlabel('Tid (timer)')
plt.ylabel('Antall bakterier')
plt.title('Modellering av bakterievekst over tid')
plt.legend()
plt.grid(True)
plt.show()

Dette programmet modellerer veksten av en bakteriekultur over tid ved å bruke en eksponentiell vekstfunksjon. Programmet bruker matplotlib for å plotte vekstkurven, noe som gir en visuell forståelse av vekstprosessen.

Eksempel 2: Planlegge og gjennomføre undersøkelser i biologi

Kompetansemål:

  • Biologi 1 (KM6282)
Python-program for å analysere data fra en biologisk undersøkelse
import pandas as pd
import matplotlib.pyplot as plt

# Sample data fra en undersøkelse
data = {
    'Tid (dager)': [0, 1, 2, 3, 4, 5, 6, 7],
    'Bakterier (cfu)': [100, 150, 225, 337, 505, 757, 1135, 1703]
}

df = pd.DataFrame(data)

# Plot dataene
plt.figure(figsize=(10, 6))
plt.plot(df['Tid (dager)'], df['Bakterier (cfu)'], marker='o')
plt.xlabel('Tid (dager)')
plt.ylabel('Bakterier (cfu)')
plt.title('Bakterievekst over tid')
plt.grid(True)
plt.show()

# Beregn gjennomsnittlig vekstrate per dag
df['Vekstrate per dag'] = df['Bakterier (cfu)'].pct_change() * 100
gjennomsnittlig_vekstrate = df['Vekstrate per dag'].mean()
print(f"Gjennomsnittlig vekstrate per dag: {gjennomsnittlig_vekstrate:.2f}%")

Dette programmet tar eksempeldata fra en biologisk undersøkelse, plotter bakterieveksten over tid og beregner den gjennomsnittlige vekstraten per dag. Dette hjelper elevene å lære hvordan de kan samle, behandle og tolke data.

Eksempel 3: Anvende grunnleggende programmering i teknologi- og industrifag

Kompetansemål:

  • VG1 Teknologi- og industrifag (KM2715)
Python-program for enkel robotstyring
class Robot:
    def __init__(self, name):
        self.name = name
        self.position = 0

    def move_forward(self, steps):
        self.position += steps
        return self.position

    def move_backward(self, steps):
        self.position -= steps
        return self.position

    def status(self):
        return f"Robot {self.name} is at position {self.position}"

# Eksempel på bruk
robot1 = Robot("Robo1")
print(robot1.status())  # Forventet: Robot Robo1 is at position 0
robot1.move_forward(10)
print(robot1.status())  # Forventet: Robot Robo1 is at position 10
robot1.move_backward(5)
print(robot1.status())  # Forventet: Robot Robo1 is at position 5

Dette enkle programmet demonstrerer grunnleggende robotstyring ved å definere en Robot-klasse og la roboten bevege seg fremover og bakover. Dette kan brukes som en introduksjon til mer avanserte styringssystemer innenfor robotisering og automatisering.

Oppsummering

Disse eksemplene viser hvordan Trinket kan brukes til å modellere naturfaglige fenomener, analysere biologiske data og programmere enkle robotstyringssystemer. Ved å bruke slike verktøy kan elever oppnå kompetansemålene i ulike læreplaner og utvikle ferdigheter innen programmering og modellering.