Programmieren lernen (einfach)

Programmieren lernen (einfach)

Ziel

Die Teilnehmenden kennen grundlegende Programmiertechniken und können einfache Programmieraufgaben selbstständig lösen. Dabei lernen sie grundlegende Elemente der Programmiersprache Python und der Turtle-Bibliothek kennen.

Erlernte Skills:

  • Prozedurale Programmierung
  • Einbinden und Nutzen von Bibliotheken
  • Umgang mit Kontrollstrukturen (If-Abfragen, for- und while-Schleife)
  • Nutzung von Funktionen
  • Nutzung von Variablen und Typen
  • Grundlegende Elemente der Turtle-Bibliothek

Erwartete Skills:

  • Starten von Programmen
  • Bearbeiten von Textdateien mit Thonny
  • Öffnen und Speichern von Dateien

Session-Format

  • Experten-Session (Kurze Einführung mit Selbstarbeitsphasen)

Ort

  • Online

Ablauf

Session Aufgaben Zeitlicher Ablauf Termin
Session 1 Aufgabe 1 Aufgabe 2 10 Minuten Einführung
10 Minuten Aufgabe 1
20 Minuten Aufgabe 2
10 Minuten for-Schleife und Grundlage Zeichnen eines N-Ecks
17.04.2024
Hausaufgabe Aufgabe 3
Session 2 Aufgabe 4 Aufgabe 5 10 Minuten Kurze Wiederholung
40 Minuten Aufgaben 4+5
5 Minuten Zusammenfassung
24.04.2024
Session 3 Aufgabe 6 (Teil 1) 10 Minuten Vorstellung Projekt Tic-Tac-Toe 40 Minuten - Funktionen zur Darstellung 01.05.2024
Session 4 Aufgabe 6 (Teil 2) 5 Minuten Wiederholung
55 Minuten Spielelogik
08.05.2024

Aufgaben

  1. Schreibe ein Programm, bei dem die Schildkröte ein Rechteck auf den Bildschirm malt.

  2. If-Aussagen
    Schreibe ein Python-Programm mit der Turtle-Bibliothek, das den Benutzer nach seinem Alter fragt. Zeichne dann entweder einen Hut, wenn er volljährig ist, oder einen Ballon, wenn er nicht volljährig ist.

  3. Schleifen mit Turtle:
    Schreibe ein Python-Programm mit der Turtle-Bibliothek, das den Benutzer nach der Anzahl der Ecken fragt und dann ein n-Eck malt.

  4. Funktionen mit Turtle:
    Definiere eine Funktion namens n_eck, die die Turtle benutzt, um ein N-Eck zu zeichnen. Die Funktion sollte die Anzahl der Ecken als Parameter nehmen. Rufe die Funktion mit verschiedenen Werten auf.

  5. Kleine Animation
    Schreibe ein Programm, welches folgende Grafik nacheinander in verschiedenen Farben erzeugt.
    grafik

6.Tic-Tac-Toe
Setze das Spiel Tic-Tac-Toe um. Es sollen zwei Spieler an einem PC gegeneinander antreten können. Verwende dabei die Techniken, die du in den vorigen Übungen kennen gelernt hast.

Turtle-Einstieg

Tutle ist ein Modul in Python, das wie ein Zeichenbrett funktioniert. Über Python-Befehle kannst du eine Schildkröte über das Zeichenbrett bewegen, die einen Stift hält.
Benutze import turtle, um das Modul zu verwenden.

Die wichtigsten Befehle, um die Schildkröte zu steuern sind:
forward(100) - Turtle bewegt sich 100 Pixel vorwärts
backward(100) - Turtle bewegt sich um 100 Pixel nach hinten
left(90) - Turtle dreht sich 90 Grad nach links
rechts(90) - Turtle dreht sich 90 Grad nach rechts
home() - Turtle bewegt sich zur Start-Position (0,0)
up() - Stift anheben
down() - Stift senken
color(‘blue’) - Stiftfarbe zu blau wechseln
clearscreen() - Alles gemalte entfernen
speed(5) - Geschwindigkeit der Turtle (1 langsam - 10 schnell, 0 am schnellsten)

Ein Programm, bei dem die Schildkröte einen einfachen Strich malt könnte wiefolgt aussehen:
import turtle as t

t.forward(100)
t.done()

Hilfreiche Links:
https://docs.python.org/3/library/turtle.html Offizielle Dokumentation der Turtle-Biliothek
http://www.dein-labor.tu-berlin.de/sites/default/files/uploads/PythonHandout.pdf Handbuch zu einem Workshop für Schulder der TU Belin

Ursprüngliche Session-Anfrage

Da ich leider bei den bisherigen programmier Themen nur wenig verstanden habe
Würde ich gerne noch ein Thema erstellen um zu lernen mehr als nur print oder anderen sehr einfachen Code zu programmieren.
Wer würde erklären und wer gerne auch etwas lernen?

  • Ich habe vielleicht Interesse
  • Ich habe Interesse
0 Teilnehmer

Also ich hätte Interesse was zu lernen, aber könnte vielleicht auch was zeigen.

Ich hätte auch Lust etwas zu lernen.

Ich hätte auch Lust hier mitzumachen, wobei ich möglicherweise systemnahe Sachen übermitteln könnte.

Genau das richtige einfache Einstiegsthema!

Hallo Emil,
das freut mich, dass du deine Programmier-Kenntnisse erweitern möchtest.
Robert hat hier ja schon einen Vorschlag gemacht nochmal Grundlagen in Pygame zu zeigen.

Willst du deine Programmier-Kenntnisse weiterhin in Python und Pygame verfestigen oder willst eventuell etwas auch etwas anderes lernen?

Um zusammen dinge lernen zu können könnte man einen wieder kehrenden termin vereibaren z.B. immer montag,
Jonathan und Darius toll das ihr evtl. Etwas erzählen könntet
Wann hättet ihr zeit und fändet ihr einen wöchentlichen oder einen zweiwöchentlichen Termin besser?

Hallo @greenem ,

wir haben haben begonnen deine Session vorzubereiten. Bei der Planung und Ausgestaltung, haben wir aber festgestellt, dass wir noch besser verstehen müssen, was du bereits gelernt hast. Dafür würden wir dir gerne ein paar leichte Programmieraufgaben geben.
Die stellen wir hier im Forum ein.

Um diese dann zu bearbeiten hast du zwei Möglichkeiten.

  • Du arbeitest alleine an den Aufgaben und wenn du nicht weiterkommst, fragst im Matrix-Chatraum
  • Wir schauen nach einem gemeinsamen Termin an dem wir dich direkt unterstützen können.

Welche der beiden Varianten wäre dir denn lieber?

Ich würde sagen ein gemeinsamer termin.

So, ich habe mir mal ein paar Gedanken zum Einstieg gemacht und dabei folgende Aufgaben erarbeitet.
@robert @codecraft Schaut, da mal bitte drauf und probiert sie auch selber aus und schaut, ob das aus eurer Sicht auch so passt.

Turtle-Einstieg

Tutle ist ein Modul in Python, das wie ein Zeichenbrett funktioniert. Über Python-Befehle kannst du eine Schildkröte über das Zeichenbrett bewegen, die einen Stift hält.
Benutze import turtle, um das Modul zu verwenden.

Die wichtigsten Befehle, um die Schildkröte zu steuern sind:
forward(100) - Turtle bewegt sich 100 Pixel vorwärts
backward(100) - Turtle bewegt sich um 100 Pixel nach hinten
left(90) - Turtle dreht sich 90 Grad nach links
rechts(90) - Turtle dreht sich 90 Grad nach rechts
home() - Turtle bewegt sich zur Start-Position (0,0)
up() - Stift anheben
down() - Stift senken
color(‘blue’) - Stiftfarbe zu blau wechseln
clearscreen() - Alles gemalte entfernen
speed(5) - Geschwindigkeit der Turtle (1 langsam - 10 schnell, 0 am schnellsten)

Ein Programm, bei dem die Schildkröte einen einfachen Strich malt könnte wiefolgt aussehen:
import turtle as t

t.forward(100)
t.done()

Aufgaben

  1. Schreibe ein Programm, bei dem die Schildkröte ein Rechteck auf den Bildschirm malt.

  2. If-Aussagen
    Schreibe ein Python-Programm mit der Turtle-Bibliothek, das den Benutzer nach seinem Alter fragt. Zeichne dann entweder einen Hut, wenn er volljährig ist, oder einen Ballon, wenn er nicht volljährig ist.

  3. Schleifen mit Turtle:
    Schreibe ein Python-Programm mit der Turtle-Bibliothek, das den Benutzer nach der Anzahl der Ecken fragt und dann ein n-Eck malt.

  4. Funktionen mit Turtle:
    Definiere eine Funktion namens n_eck, die die Turtle benutzt, um ein N-Eck zu zeichnen. Die Funktion sollte die Anzahl der Ecken als Parameter nehmen. Rufe die Funktion mit verschiedenen Werten auf.

  5. Kleine Animation
    Schreibe ein Programm, welches folgende Grafik nacheinander in verschiedenen Farben erzeugt.
    grafik

6.Tic-Tac-Toe
Setze das Spiel Tic-Tac-Toe um. Es sollen zwei Spieler an einem PC gegeneinander antreten können. Verwende dabei die Techniken, die du in den vorigen Übungen kennen gelernt hast.

Hilfreiche Links:
https://docs.python.org/3/library/turtle.html Offizielle Dokumentation der Turtle-Biliothek
http://www.dein-labor.tu-berlin.de/sites/default/files/uploads/PythonHandout.pdf Handbuch zu einem Workshop für Schulder der TU Belin

Sorry, ich bin da noch nicht zu gekommen. Auf den ersten Blick sieht das aber ganz gut aus!

Ich bin die Liste der Aufgaben einmal durchgegangen. Ich denke die Aufgaben sind spannend und bringen die Konzepte gut rüber.

Alles super-positive

  • Ich brauchte keine weiteren Resourcen bis auf den Forum-Post
  • Die Aufgaben haben aufeinander aufgebaut. Man hat sich wie auf einer Quest gefühlt.

Kleinkritik

  • Ich denke man sollte Schleifen vor If-Abfragen machen. Sie sind einfachere Kontrollstrukturen und außerdem sind sie besonders nützlich wenn man einen gerade so runden Ballon mit der Turtle zeichnen möchte.

Besteht die die Möglichkeit zuerst Python und danch die Linux grundlagen zu lernen?

Ich kann mich Darius hier nur anschließen. Die Aufgaben sind super und verständlich.

Man braucht zwar (je nach Wissensstand) durchaus noch mehr als nur den Forum-Post, aber das Handout ist ganz gut verständlich.

@greenem welches der beiden wir zuerst machen, besprechen wir gerade. Danke für die Anregung :slight_smile:

Das hört sich doch gut an.

Nächstes Treffen zur weiteren Ausgestaltung:
2024-02-15T16:30:00Z2024-02-15T17:30:00Z

BBB-Raum Session-Vorbereitung