Python in der Schule, 45min / Woche zur Verfügung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

Hallo an alle,

ich bin, was Python angeht, Neuling. Neuerdings gibt es das WF Informatik an der Realschule in BW, allerdings nur 45 Min / Woche, also eine Unterrichtsstunde, beginnend in Klasse 8. In der Abschlussklasse 10 sind es immer noch 45 Minuten und die Schüler sollen ein Softwareprojekt abgeben....

Nach langer Überlegung (Swift, Javascript, Microbit, Perl, Lego ....) habe ich mich für Python entschieden, obwohl mir der intend Block wirklich schwer fällt.

Über einen Bekannten habe ich ein paar Materialien an Land gezogen, die ich in das Fach einfließen lasse.

Der Bildungsplan sieht vor, dass die Schüler ein "angeleitetes" Softwareprojekt in Klasse 10 abgeben (z.B. ein Spiel), dazu mit Buttons, Bilder usw. ABER es soll textuell programmiert sein.

Ich denke, dass in Anbetracht des zeitlichen Rahmens und der Leistungsfähigkeit von Realschülern (Ausnahmen gibt es!) man nicht darüber sprechen muss, wie sinnvoll diese Vorgabe ist und ob diese Vorgabe überhaupt einzuhalten ist.

Ein Spiel (Zahlenraten) habe ich schon fertig (Commandline), habe auch noch weitere Ideen - aber alles zu seiner Zeit

Meine Frage:

Gibt es eine Empfehlung für ein GUI Modul? Taugt pygame etwas?

Mir geht es darum, dass Schüler wirklich programmieren. Aus meiner Schulzeit kenne ich noch den Turtle Interpreter (Mitte 90er). Dieser hat bunte Bilder gezeichnet, die dann ausgedruckt wurden (sah dann aus wie ein Mandala) - ob es was gebracht hat? Denke weniger!

Mit Tkinter tue ich mir etwas schwer, bin noch nicht dahinter gekommen, wie man Inhalte in der gui verändert ...aber ich werde mich in den kommenden Ferien ransetzen.

Würde mich über Anregungen freuen,

Danke vorab und Grüße
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Es gibt auch das turtle-Modul in Python, das basiert auf tkinter, und ist eigentlich fuer eine solche spielerische und niederschwellige Auseinandersetzung gemacht. Da ich das selber nie benutzt habe, kann ich dazu aber nicht viel sagen.

Aus dem Bauch heraus wuerde ich sagen: pygame ist eine gute Wahl. Aus zwei Hautpgruenden:

1) Es ist fuer Spiele gedacht, man kann also Bilder laden, durch die Gegend fliegen lassen, Toene abspielen, auf Eingaben reagieren, etc. Und das ohne pygame als Umgebung zu verlassen, wohingegen mit tkinter zB Dinge wie Joysticks/Pads, Audio durch andere Module erfolgen muessen.
2) Das Modell der selbst-geschriebenen Hauptschleife. Wie du schon selber anklingen laesst, ist ein "echtes" GUI-Rahmenwerk von der Denkweise her ganz anders: es ist ereignis-getrieben, und dadurch kommen fast zwangsweise Konzepte wie objektorientierte Programmierung, Rueckruffunktionen, Timer ins Spiel. Und das ist eine deutlich groessere Huerde.

Ein Nachteil von pygame sei aber nicht verschwiegen: eine GUI damit zu bauen ist *nicht* trivial oder eingebaut. Man kann einfach Mausereignisse auf ihre Position hin pruefen, und damit zb den Tastendruck auf eine gemalte Start-Flaeche ermitteln. Aber eine "richtige" GUI mit verschiedenen vorgefertigten Elementen wie Texteingabe, Listendarstellung, Drop-Downs etc. gibt's eben nicht fertig, sondern muessen selber erstellt werden. Fuer ein "punch the monkey" oder simples Hangman ist sowas aber auch nicht notwendig.
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

Ich habe jetzt grundlegende Dinge gemacht: variablen zuordnen, vergleichen, Loops, "Arrays" Listen, if else, import von Modulen (z.B. randint)

Auf Youtube gibt es ja zu Pygame ein paar Videos, aber Pygame funktioniert etwas anders...

Jetzt ist die Frage: gehe ich auf Pygame oder ist es möglich so etwas wie Kopf oder Zahl auch mit Tkinter umzusetzen.

So eine Art Glücksrad oder Begriffe raten wäre natürlich auch etwas, das interessant wäre, um es mithilfe von Tkinter umzusetzen. Aus meiner Sicht könnte ich dann wirklich auch Loops, Listen usw gut anwenden. Auch in eine Datei schreiben, in eine Datei lesen usw....

Ob ich das allerdings umsetzen kann....weiß ich noch nicht
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das Problem mit loops ist, das sie eben nicht mit tkinter gut funktionieren. Das ist eben genau das, was die Ereignis-Orientiertheit mit sich bringt. Wobei das jetzt nicht gemeint ist als "ein loop erzeugt einen Fehler". Das nicht. Er macht nur nicht das, was der Anwender erwartet, wenn es darum geht, zB einen Zaehler in der GUI hochzuzaehlen.

Dieses Progamm zB tut genau *nicht*, was man denkt:

Code: Alles auswählen

from functools import partial
import tkinter as tk
import time


def start_countdown(var):
    for i in range(10, 0, -1):
        print(i)
        var.set(i)
        time.sleep(1)


def main():
    root = tk.Tk()
    var = tk.IntVar()
    button = tk.Button(root, text="Start Countdown", command=partial(start_countdown, var))
    button.pack()
    label = tk.Label(textvariable=var)
    label.pack()
    root.mainloop()


if __name__ == '__main__':
    main()
pygame macht das hingegen moeglich:

Code: Alles auswählen

import time
import pygame


def main():

    pygame.init()
    screen = pygame.display.set_mode((128, 128))

    font = pygame.font.SysFont('Consolas', 30)

    for i in range(10, 0, -1):
        screen.fill((255, 255, 255))
        screen.blit(font.render(str(i), True, (0, 0, 0)), (32, 48))
        pygame.display.flip()
        time.sleep(1)


if __name__ == '__main__':
    main()
Und natuerlich kann man Kopf oder Zahl auch mit tkinter umsetzen. Das ist nicht die Frage. Die Frage ist, ob die dafuer notwendigen Konzepte einfacher zu verstehen sind. Ich behaupte: nein. Siehe das funktionierende countdown-Beispiel:

Code: Alles auswählen

from functools import partial
import tkinter as tk


def start_countdown(root, var):
    current = var.get()
    if current > 0:
        current -= 1
        var.set(current)
        root.after(1000, lambda: start_countdown(root, var))


def main():
    root = tk.Tk()
    var = tk.IntVar()
    var.set(10)
    button = tk.Button(root, text="Start Countdown", command=partial(start_countdown, root, var))
    button.pack()
    label = tk.Label(textvariable=var)
    label.pack()
    root.mainloop()


if __name__ == '__main__':
    main()
Wenn du verstanden hast, wie das partial (und aergerlicherweise das lambda, weil after kein partial-Objekt schluckt. tkinter ist auch viel Mist ...) und das after interagieren, um den Effekt zu erreichen, dann kannst du vielleicht ueberschlagen, ob deine Schueler das auch koennen.
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

Puuh...habe mit einem Schüler gesprochen, der jetzt sein Fachabitur macht und die haben 6 h / Woche (!) Informatik.

Da kann man was anderes machen, da ist die Zeit auch da, ich unterrichte aber einstündig! Aber auch die arbeiten nicht mit GUI !

Glaube ich muss mich da genauer mal mit pygame auseinandersetzen, ich hätte gerne etwas, was sich mit Grundlagen gut verbinden ließe, aber ich glaube, das ist nicht möglich...
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Also ich hatte auch Informatik in der Mittel- und Oberstufe, und wir hatten keine 6h. Sondern 2h. Und ein Panzer-Taktik-Spiel mit "KI" haben wir trotzdem hinbekommen. Natuerlich in viel Heimarbeit. Was ich damit sagen will: 6h ist garantiert ein spezialisiertes Gymnasinum. Und ja, wir waren die Nerds, die das wirklich wollten, nicht die Zwangsunterrichteten.

Ich kann letztlich nicht beurteilen, was deinen Schuelern zu vermitteln ist, und was nicht. Wieviel vorgegeben werden kann, wieviel sich selbst erarbeitet werden muss, und wo die Grenzen dabei liegen. Momentan sieht es aber salopp so aus, als ob erstmal du so so weit kommen musst, zu verstehen, was du da machst. Siehe das andere Thema. Ausnahmebehandlung ist absolute Grundlage.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

GUI Programmierung ist nicht trivial und IMHO sollte man die Objektorientierung von Python sowie den Umgang mit Klassen, Methoden und Instanzen von Klassen drauf haben, um selbst eine simple GUI vernünftig bauen zu können. Und dann kommen IMHO noch zwei Dinge hinzu: wie __deets__ schon sagt funktioniert eine GUI event-gesteuert, d.h. der Ablauf ist nicht wie "normal" linear. Muss man halt verstehen. BTW: die Frage "loop + GUI - wie mache ich das?" ist hier im Forum und z.B auch im deutschen Raspberry Forum die wahrscheinlich meistgestellte Frage, wenn es um GUI Programmierung geht.
Der zweite Punkt ist, dass selbst ein vergleichsweise einfaches GUI Framework wie tkinter jede Menge Methoden hat, die jede Menge Parameter kennen. Heißt in der Regel: intensiv Doku lesen.

Was ganz vielleicht eine Alternative wäre ist ein high-level Framework, was auf eine GUI-Framework aufsetzt. Beispiel: Guietta, welches einfache, auf Qt5 basierte GUIs mit deklarativem Ansatz ermöglicht. Das Risiko bei so Sachen ist aber, dass das in der Regel Hobbyprojekte sind, d.h. du hast keine Garantie, dass das in einem Jahr oder so noch gepflegt ist. Was für einen Lehrplan, der drei Jahre abdecken muss und am besten bei den Folgeklassen auch noch gilt, vielleicht nicht der ideale Ansatz ist.

Alternativer Ansatz: Webprogrammierung, d.h. die Bedienoberfläche in HTML machen und das Backend mit Python implementieren. Ist mit z.B. Flask relativ simpel.

Gruß, noisefloor
Benutzeravatar
hyle
User
Beiträge: 96
Registriert: Sonntag 22. Dezember 2019, 23:19
Wohnort: Leipzig

Wenn es etwas halbwegs einfaches sein soll, dann käme ggf. auch guizero in Frage.

...auch wenn in der Doku noch kleinere Fehler sind, wie ich gerade festgestellt habe. :)
Alles was wir sind ist Sand im Wind Hoschi.
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

__deets__ hat geschrieben: Freitag 18. Juni 2021, 15:05 ...Und ein Panzer-Taktik-Spiel mit "KI" haben wir trotzdem hinbekommen. Natuerlich in viel Heimarbeit. ...Und ja, wir waren die Nerds, die das wirklich wollten, nicht die Zwangsunterrichteten.

Wieviel vorgegeben werden kann, wieviel sich selbst erarbeitet werden muss, und wo die Grenzen dabei liegen.
Das sind eben die Knackpunkte und nur zur Info: Exceptions sind auch gar nicht im Bildungsplan vorgesehen, allerdings weiß ich aus Erfahrung, dass das wichtig ist, weil einem das Ding sonst um die Ohren fliegt!

Wenn ich 0815 machen würde, dann würden die Schüler - wie übrigens an einigen anderen Schulen - ein Scratch-Projekt machen! ..so viel dazu
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

hyle hat geschrieben: Freitag 18. Juni 2021, 16:14 Wenn es etwas halbwegs einfaches sein soll, dann käme ggf. auch guizero in Frage.

...auch wenn in der Doku noch kleinere Fehler sind, wie ich gerade festgestellt habe. :)
Das sieht interessant aus, ich werde mir das in jedem Fall mal anschauen! Vielen Dank!

Achsooo...kacke...ganz knapp: brauche möglichst was ohne Installation, was online läuft, also standard, auch wenn dieses Modul offensichtlich auch für verschiedene OS ausgelegt ist.

Schulausstattung und Digitalisierung ist eben immer noch rudimentär...

Windows in der Schule, iPads im Fernunterricht oder Android ....oder gar nichts

Ich war froh, dass ich https://replit.com/languages/python3 gefunden habe, das ist schon ganz gut für den Anfang
LukeNukem
User
Beiträge: 232
Registriert: Mittwoch 19. Mai 2021, 03:40

noisefloor hat geschrieben: Freitag 18. Juni 2021, 16:00 GUI Programmierung ist nicht trivial und IMHO sollte man die Objektorientierung von Python sowie den Umgang mit Klassen, Methoden und Instanzen von Klassen drauf haben, um selbst eine simple GUI vernünftig bauen zu können.
Absolut richtig. Hinzu kommt, daß in der Industrie schon seit einigen Jahren eine Abkehr von klassischen FatClients und GUIs zu erkennen ist, denn das Packen, Ausrollen und Pflegen von Programmen in einem größeren Firmennetzwerk ist aufwändig und deshalb teuer.

Darum geht der Trend heute vielfach zu mal mehr, mal weniger "fetten" Webapplikationen. Das hat wesentliche Vorteile: zu deren Nutzung ist auf dem Client nur ein Webbrowser nötig, ansonsten erfolgen Deployment und Wartung lediglich an einer zentralen Stelle. Dennoch ist es auch mit dieser Technologie immer noch möglich, Fatclient-Anwendungen auszurollen, da greift der Webbrowser dann eben auf einen lokalen Webserver mit der Webapplikation zu. Ein Beispiel dafür ist die Ablösung des PostgreSQL-Administrationsfrontends pgAdmin3, einer klassischen Fatclient-GUI-Anwendung, durch pgAdmin4, das eine moderne Webapplikation auf der Basis von Python und dessen Webframework Flask ist. pgAdmin4 läßt sich demzufolge auf beide Weisen nutzen: als zentral installierte Webanwendung oder als lokale Installation.

Was Tkinter angeht... ich weiß, die meisten Tutorials zeigen Tkinter in einer eher... prozeduralen Weise, wie sie auch __deets__ oben verwendet, aber man kann das auch "richtig" objektorientiert benutzen:

Code: Alles auswählen

#!/usr/bin/env python
import tkinter as T
import tkinter.messagebox as TM

class MainWin(T.Tk):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.btnExit = T.Button(self, text="Exit", command=self.ask_to_destroy)
        self.btnExit.pack(side=T.TOP)
        
    def ask_to_destroy(self, *args):
        if TM.askokcancel(title='Really?', message='Do you really want to quit?'):
            self.destroy()

if __name__ == '__main__':
    MainWin().mainloop()
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

LukeNukem hat geschrieben: Freitag 18. Juni 2021, 18:37
noisefloor hat geschrieben: Freitag 18. Juni 2021, 16:00 GUI Programmierung ist nicht trivial und IMHO sollte man die Objektorientierung von Python sowie den Umgang mit Klassen, Methoden und Instanzen von Klassen drauf haben, um selbst eine simple GUI vernünftig bauen zu können.
Die Frage ist: ´

Wieviel sollen Schüler selbst machen? > möglichst viel
Was kann man den Schülern zumuten? > das ist so die Frage.....
Wie tief arbeiten sich Schüler selbständig ein? > eher nicht so tief
Und wie ist die didaktische Reduktion? > möglichst hoch

Angedacht ist ein Gerippe, z.B. 2 Buttons und 2 Textfelder so ungefähr, fertig. Das soll dann belebt werden, am besten wie gesagt mit einem einfachen Zahlen- oder textbasierten Spiel.

Und nochmal: 45 Minuten (das ist übrigens 1h am Freitagmittag!)....Haupt- und Realschule....25 Schüler, 18 funktionierende Rechner....vielleicht wird es jetzt klar?
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Achsooo...kacke...ganz knapp: brauche möglichst was ohne Installation, was online läuft, also standard, auch wenn dieses Modul offensichtlich auch für verschiedene OS ausgelegt ist.
Ok... dann fällst alles weg, was wir gesagt haben. Tkinter ist zwar bei Python an Bord, funktioniert aber systembedingt nicht um REPL in einem Browser. Alles webbasierte funktioniert nicht, weil du ja irgendwo den serverseitigen Teil der Anwendung laufen lassen musst.

Wenn du mit Python (wie auch mit fast jeder anderen Programmiersprache auch) richtig programmieren willst, brauchst du eine lokale Installation.
ein Scratch-Projekt machen!
Das halte ich aber, basierend auf dem, was du sagst und was du als Rahmenbedingung hast, für einen sehr validen Ansatz. Scratch ist nun mal genau dafür gemacht und mit Scratch sollten bei dieser Konstellation deine Schüler eher zu einem Erfolgserlebnis kommen als mit Python oder was auch immer.

Gruß, noisefloor
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

Ja, Scratch wird auch gemacht! Das Erfolgserlebnis ist immer das, was im Vordergrund stehen soll, ist die Frage, ob das zwangsläufig zu Wissenszuwachs führt.

Ich kann mich mit Scratch nicht anfreunden, ist für mich, wie eine Powerpoint animieren lassen

Die Sache ist die: nicht jeder hat einen Computer zuhause und wenn es wieder ins Fernlernen geht, dann sind einige abgehängt.

Wenn alles in der Schule laufen kann, dann kann ich die Umgebung einrichten, das ist nicht das Ding
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ist schade, wenn du dich damit nicht anfreunden kannst. Aber realistisch ist bei deinen ganzen Randbedingungen eben nur etwas browserbasiertes. Python REPLs so wie du sie gefunden hast, sind faktisch nutzlos für Deine Probleme, wenn es auch um grafisches/animiertes/interaktives gehen soll. Da sind speziell auf den Browser als sandbox angepasste Systeme eben besser. Gibt vielleicht auch was für JavaScript. Und das hat dann auch die heissgeliebten geschweiften Klammern! Win-win!
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

@kalenderfamily
Eventuell solltest du deine Wahl der Sprache nochmal überdenken.
Schau dir mal das hier an: https://p5js.org/
Das geht komplett im Browser ohne lokale Installation: https://editor.p5js.org/p5/sketches/Mob ... all_Bounce
und es gibt auf Youtube viel Material, z.B: https://www.youtube.com/watch?v=WnxfxN6vbfc
und man kann brandaktuelle Sachen wie z.B. Maschinelles Lernen damit machen: https://www.youtube.com/watch?v=PKAzvYgoXE4
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

Schau dir mal das hier an: https://p5js.org/
Unter den genannten Rahmenbedingungen ein exzellenter Vorschlag.
Ich würde noch PixiJS
https://www.pixijs.com/

und Phaser3 hinzufügen.
https://phaser.io/examples

- Es gibt eine Fülle von Ressourcen zum Lernen online.
- Viele fertige Beispiele die man als Grundlage für eigene Ideen nutzen kann.

Schade um Python, aber wenn es browserbasierte Grafikprogrammierung sein soll, kann die Wahl eigentlich nur auf JavaScript fallen.
Wenn es die Zeit erlaubt, kann man ja mal einen Exkurs in Python machen und eine der vielen Browserkonsolen verwenden.
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

@ThomasL: ein Bekannter hat mir Javascript tatsächlich auch empfohlen! ...für den nächsten Kurs überlege ich das auf jeden Fall! Vielen Dank für den Tipp!
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Ich denke, es gibt da zwei Hauptansätze, zwischen den man sich entscheiden muss:

Man zielt darauf ab, die Schülerinnen und Schüler niedrigschwellig ein bisschen für das Themenfeld Informatik zu begeistern im Sinne eines "Erlebnis-orientierten" Unterrichts. Dann kann es vertretbar sein, drei Jahre lang auf einem Tablet nette Animationen mit JavaScript im Browser zu erzeugen und den Unterrichteten schnelle Erfolgserlebnisse zu ermöglichen, die sie bei der Stange halten. Vielleicht motiviert man sie dadurch dann, sich in einer späteren Phase ihres Bildungswegs intensiver und ernsthafter mit Informatik zu befassen. JavaScript ist teilweise ein bisschen "speziell" und für seine (angeblichen oder echten) Inkonsistenzen bekannt. Darauf sollte man sich als Lehrkraft einstellen, weil man das vielleicht nicht alles den Schülern beibringen, aber zumindest selbst wissen muss, um damit umgehen und bei Problemen helfen zu können.

Oder man zielt darauf ab, den Schülerinnen und Schülern ein erstes solides Fundament der Grundlagen der Programmierung zu vermitteln, um sie zum Beispiel auf eine Ausbildung in einem einschlägigen Beruf vorzubereiten (auf die man sich meistenteils soweit ich weiß auch mit einem mittleren Schulabschluss bewerben kann). Dann nimmt man eine dafür etablierte Sprache wie Java, Python, Racket (eher Oberstufe oder Uni), oder etwas in der Richtung beschränkt sich auf Konsolenprogramme (denn mehr halte ich bei 1 WS auf 3 Jahre für wenig realisitisch) und sieht zu, dass das mit dem Zugriff auf einen "richtigen" Computer im konkreten Einzelfall irgendwie doch bewerkstelligt werden kann. (Als ich Informatik in der Schule hatte, haben wir übrigens zu 99% der Zeit gemeinsam an der Tafel programmiert und nur ganz zum Schluss mal was in den Rechner getippt, um zu schauen, ob's läuft; möglicherweise kann man den Jugendlichen damit aber heute nicht mehr kommen).
kalenderfamily
User
Beiträge: 23
Registriert: Freitag 18. Juni 2021, 12:30

Vielen Dank für diesen konstruktiven Beitrag, genau das ist nämlich der Punkt.....wobei hier bereits ein strukturelles, in den Vorgaben verankertes Problem besteht, welches ich auch in Rücksprache mit einem Fachberater nicht lösen konnte - er übrigens noch weniger: Es soll eine textuelle Programmiersprache sein und eigentlich wissen alle, dass die vorgesehenen Inhalte für die Zielgruppe eigentlich überdimensioniert sind und sich in einem zeitlichen Rahmen bewegen, der einfach nicht ausreicht..
nezzcarth hat geschrieben: Samstag 19. Juni 2021, 11:56 Man zielt darauf ab, die Schülerinnen und Schüler niedrigschwellig ein bisschen für das Themenfeld Informatik zu begeistern im Sinne eines "Erlebnis-orientierten" Unterrichts. Dann kann es vertretbar sein, drei Jahre lang auf einem Tablet nette Animationen mit JavaScript im Browser zu erzeugen und den Unterrichteten schnelle Erfolgserlebnisse zu ermöglichen, die sie bei der Stange halten. Vielleicht motiviert man sie dadurch dann, sich in einer späteren Phase ihres Bildungswegs intensiver und ernsthafter mit Informatik zu befassen. JavaScript ist teilweise ein bisschen "speziell" und für seine (angeblichen oder echten) Inkonsistenzen bekannt. Darauf sollte man sich als Lehrkraft einstellen, weil man das vielleicht nicht alles den Schülern beibringen, aber zumindest selbst wissen muss, um damit umgehen und bei Problemen helfen zu können.
Im Kontext INF finde ich das zu wenig. Ich weiß nicht, wer hier erlebnisorientierten Unterricht hatte, in welchem Umfang und inwieweit in der Breite diese Erlebnisse dann auch zum Intake wurden. Schlussendlich lässt sich das in keinem Fach 100% umsetzen. Einzelne Stunden ja, dann hat sich das auch.
nezzcarth hat geschrieben: Samstag 19. Juni 2021, 11:56 Oder man zielt darauf ab, den Schülerinnen und Schülern ein erstes solides Fundament der Grundlagen der Programmierung zu vermitteln, um sie zum Beispiel auf eine Ausbildung in einem einschlägigen Beruf vorzubereiten (auf die man sich meistenteils soweit ich weiß auch mit einem mittleren Schulabschluss bewerben kann). Dann nimmt man eine dafür etablierte Sprache wie Java, Python, Racket (eher Oberstufe oder Uni), oder etwas in der Richtung beschränkt sich auf Konsolenprogramme (denn mehr halte ich bei 1 WS auf 3 Jahre für wenig realisitisch) und sieht zu, dass das mit dem Zugriff auf einen "richtigen" Computer im konkreten Einzelfall irgendwie doch bewerkstelligt werden kann. (Als ich Informatik in der Schule hatte, haben wir übrigens zu 99% der Zeit gemeinsam an der Tafel programmiert und nur ganz zum Schluss mal was in den Rechner getippt, um zu schauen, ob's läuft; möglicherweise kann man den Jugendlichen damit aber heute nicht mehr kommen).
Daür habe ich mich eben entschieden: einigermaßen Grundlagen und Konsolenprogramme. Genau das hielt ich auch für realistisch. Den richtigen Computer muss ich ausklammern, allerdings geht Konsole auch online. In den Rechner müssen alle tippen - von Beginn an! ..zumindest die, die einen haben. Bei 25 TN und nur 17 funktionierenden Rechnern ist das desöfteren nicht anders möglich.

Das Problem hierbei ist, dass Buttons und kleine Grafiken vorgesehen sind. Diese kann ich halt mal nicht einfach so integrieren.
Antworten