Intro (00:00:00)
Thema des Podcasts (00:00:18)
Willkommen zur einundzwanzigsten Folge beim datenleben-Podcast, dem Podcast über Data Science. Wir sind Helena und Janine und möchten euch die Welt der Daten näher bringen. Was für Daten umgeben uns? Was können wir mit ihnen machen? Und was können wir aus ihnen lernen? Wer schon immer mehr darüber wissen wollte, ist hier richtig, denn diesen Fragen gehen wir nach.
Thema der Folge (00:00:41)
Dieses Mal geht es besonders um den Aspekt was wir mit Daten machen könnenOder besser gesagt: wie wir etwas mit Daten machen könnenWir haben ja schon über Datenvisualisierung gesprochenUm aber an diesen Punkt zu kommen, braucht mensch vielleicht auch noch das richtige WerkzeugEins der vielen Data Science Werkzeuge ist die Programmiersprache PythonWir sprechen mit Piko, wie und wo anfangen mit PythonPiko kann Python und vermittelt es auchWarum ist das Thema wichtig? (00:01:13)
Python ist in Data Science eine der wesentlichen Programmiersprachen für Datenanalysen Mit Python kann man im Prinzip alles machenWer ist Piko? (00:01:57)
Piko promoviert in Hamburg zum Thema Maschine Learning und Musiktheater und unterrichtet Python Ist durch den örtlichen CCC ihres Studienortes einer Hackerin begegnet, die sagte: Wenn Du wiederkommst, bringe ich Dir programmieren bei Nach dem ersten "Wie, das kann man einfach lernen?", blieb Piko dort kleben und lernte Python Hat das Buch Python for Kids in die Hand gedrückt bekommen, das super für den Einstieg istWar sehr begeistert und sieht, dass sie das mit vielen anderen Hackerinnen teilt, wie in dem Zitat:"Ich hab mich eigentlich immer schon für Technik interessiert, ich wusste es nur noch nicht." Einspieler: Von Webstühlen über Raumfahrt zum Smartphone (00:04:29)
Wir tragen leistungsfähige Geräte mit uns herum, über die wir die allermeiste Zeit nicht nachdenkenSmartphone sei vielfach leistungsfähiger, als der Computer, der die Mondlandung steuerteAber wie entstehen Programme?Sie werden in einer eigenen Sprache geschrieben, die von Maschinen interpretiert und umgesetzt wirdViele können sich vermutlich nicht vorstellen, wie die Programme, die ihren Alltag bereichern genau aussehen und funktionieren, obwohl wir die Geräte in der Hand haben und das Resultat sehenAda Lovelace hat in der ersten Hälfte des 18. Jahrhunderts das Gegenteilige "Problem"Sie hat, das erste Programm überhaupt geschrieben – ohne die Maschine dafür in der Hand zu habenNatürlich hat sie aus ihrer Zeit heraus gehandelt und gedachtSie war interessiert an und umgeben von Mathematik, Naturwissenschaften, TechnikDie Industrialisierung war im vollen Gang, 1805 wurde der Jaquardwebstuhl von Joseph-Marie Jacquard vorgestellt, der mittels Lochkarten mechanisch gesteuert werden konnteDer Wunsch Prozesse zu automatisieren trieb diese und andere entwicklungen voranAb 1822 arbeitete Charles Babbage an seine Analytischen Maschine, die Berechnungen ausführen sollte - mit dem Ziel schneller und besser, also fehlerfreier zu arbeiten, als der MenschFür diese Maschine arbeitete Lovelace – noch während Babbage sie entwickelte – ein Programm ausUnd heute stehen wir hier – und die meisten Menschen haben technik vor sich und wissen zu verfügung, mit dem sie selbst einfache, komplexe oder hochgradig komplizierte programme entwickeln könnten.Nur 3 Klicks entfernt steht alles, was man braucht, also: Was möchtest Du als erstes Programmieren?Was macht Python allgemein aus? (00:07:18)
Python ist eine Programmiersprache, die mit dem Ziel den Code "hübscher" zu machenFrüher war Programmcode sehr kurz gehalten (wegen Speicher), daher nicht unbedingt verständlichMit Python in den 1990ern wurde die Lesbarkeit verbessert, dass es Standard wurdeTeilweise ist eine Zeile Code lesbar wie ein englischer Satz mit etwas anderen SatzzeichenDurch bessere Lesbarkeit hat mensch mehr Kapazitäten für andere SachenPiko, warum ist Python eine gute Programmiersprache?Einerseits, wegen dieser Lesbarkeit und leichteren Verständlichkeit, ohne Dinge auswendig zu könnenAndererseits, weil es viele oft kostenfreie Ressourcen im Internet gibt, um es zu lernenViele nutzen es und tauschen sich online aus, z. B. auf stackoverflowEs gibt viele Ressourcen für die Anwendung, Module für verschiedene Zwecke, CodeschnippselOft kann mensch auf Dinge anderer zurückgreifen und darauf dann eigene Projekte aufbauenDie ganze Community arbeitet an Python, Module werden entwickelt und stehen zum Beispiel via GitHub zur Verfügung oder finden eingang in die Packages, die mit Python installiert werdenJe mehr Menschen dran mitwirken, desto besser wird die Sprache mit der Zeit Genereller Vorteil von Open Source Software, dass sie vom Mitwirken aller profitiertWie wird Python für Data Science eingesetzt? (00:12:08)
Warum Python für Data Science gut geeignet ist, hat verschiedene Gründe Vor allem gibt es Module, die zum Beispiel speziell für Datenanalysen konzipiert sindStatistische Methoden liegen also schon fertig vor und müssen nicht eigens programmiert werden Die Jupyter Notebooks, die es gibt, sind auch sehr gut, um schnell Datenanalysen zu machen Weboberfläche, in der mensch Programmschnippsel schnell testen und Ergebnisse anzeigen lassen kann zum Beispiel bei Zusatzpaketen wie Pandas -> Tabellen können direkt angezeigt werdenNotebooks können gespeichert und mit anderen geteilt werdenhöre auch Gut für Exploration der Daten -> in Gefühl für diese zu bekommen -> dl013: datenvisualisierungGegenüber R hat Python noch einen Vorteil: Python ist besser via eines Servers anwendbar, weil allgemeiner benutzbar als R, sodass Anwender*innen selbst in einer Webanwendung, die auf Python basiert, Daten auswerten können Für welche Menschen ist Python noch interessant? (00:15:47)
Anfänger*innen, die noch nicht viel mit Computern machen, aber ins Programmieren einsteigen wollenWenn man Maschine Learning intensiver betreiben möchte, geht eher kein Weg um Python herum Empfehlenswert für Menschen, die bunte Lichter blinken lassen möchten -> MicroPython Die Frage ist: Wo fängt ein Mensch an, der vielleicht gar nicht weiß, was Python alles bietet?Wie soll jemand so wissen, welche Optionen auf den eigenen Interessengebieten vorliegen?Die Webseite und das Buch Automate the Boring Stuff kann da helfenDa lassen sich einige Projekte finden, um etwa wiederkehrende Aufgaben am PC zu automatisierenWie Python lernen und lehren? (00:20:33)
Wie man den Einstieg findet, wo fängt man am besten an?Es gibt viele YouTube Tutorials und Websites, die Python vermittelnProblem: Allein als Mensch ohne Informatikhintergrund kann das frustrierend werden Gerade auch, wenn dann der Alltag noch dafür sorgt, dass mensch nicht regelmäßig dazu kommtEmpfehlung: Accountability schaffen, z.B. mit einem Buch aus der Bibliothek -> AbgabefristAccountability funktioniert am besten über einen Kurs, wo man sich mit anderen verschwistertKlug rangehen: Sachen müssen nicht immer perfekt sein!Python gibt gute Fehlerhinweise, aus denen mensch viel lernen kann, mehr vielleicht, als ohne FehlerNicht frustriert sein bei Fehlern, das sind wertvolle Informationen -> Fehlermeldungen sind FreundeWichtig beim Lernen: Sich selbst sagen können, was das Programm eigentlich machen sollDas heißt auch die einzelnen Schritte des Programms nachvollziehen und ausformulierenFür Lernende ist es gut, das Rad neu zu erfinden, ehe sie Code kopieren und nicht verstehenLustigerweise heißt es in Python nicht Error wie Fehler, sondern Exception wie AusnahmeIn Helenas Kursen ist immer ein Abschnitt mit absichtlich herbeigeführten Fehlern mit drin Umgang mit den Meldungen ist essentiell für das VerständnisWas motiviert euch, Python zu unterrichten? (00:27:15)
Helena: Menschen in die Lage bringen mit Technik umzugehenEinblicke in die Technik bekommen, sich ihr nicht ausgeliefert fühlen Menschen, die etwas lernen wollen, zu unterrichten, macht auch viel SpaßHelena gibt deswegen auch seit einigen Jahren Kurse in Bremen bei der Informatica FeminalePiko unterrichtet zusätzlich noch in ihrer Freizeit Menschen (kleiner Leak: unter anderem Janine)Pikos Motivation: Was zurückgeben! Aus der eigenen Geschichte raus, weil Python so viel für Piko ermöglicht hat und der Kurs sozusagen für 'Piko vor fünf Jahren' istWeil Piko weiß, wie sich das anfangen anfühlt, macht sie ihre Kurse auch so, um alle abzuholenAnspruch: Kurs soll die langsamsten 30% abholen könnenHelena sagt, dass es ihr eher schwer fällt, sich in absolute Anfänger*innen reinzudenkenIhre Mindestvorraussetzung ist, Teilnehmende sollten selbstständig Programme installieren könnenJanine merkt an, dass das für sie noch verschiedene Dinge sind: es kann auch Hürden im Kopf geben Gedanken wie: Das verstehe ich ohnehin nicht in den Griff kriegen und auch ok finden, wenn mensch zu diesen 'langsamsten 30%' gehört, ohne sich gleich überfordert zu fühlenPiko: 'langsam' ist vielleicht auch nicht der korrekte Begriff, sondern eher es fehlt VorwissenWer Maschinenbau studiert hat, hat andere Denkgewohnheiten gelernt als Geisteswissenschlaftler*innenStereotype Threat: Menschen schneiden bei Tests schlechter ab, wenn ihnen gesagt wird, dass 'ihre Gruppe' typischerweise dabei schlechter abschneidetDeswegen ist es Piko wichtig, dass ihre Kurse für FINTA-Menschen sind Das ist auch einer der Gründe, warum es Formate wie die Informatica Feminale gibt Helena und Piko haben sich bewusst dafür entschieden gerade auch solche Gruppen zu unterrichtenPiko beschreibt, selbst vom Stereotyp Threat betroffen zu sein und sich als Unterrichtende auch in solchen Gruppen wohler zu fühlenImpostersyndrom gegenüber Menschen, die Informatik studiert haben, spielt hier auch reinJanines Beobachtung ist, dass FINTA-Gruppen oft niedrigere Einstiegshürden haben und Lehrende sich der Hürden, die es gibt oft besser bewusst sind und Menschen da abholen können, wo sie stehenWie gestaltet Piko den Pythonkurs? (00:43:25)
Treffen in Videokonferenzsoftware Big Blue Button Immer der gleiche Anfang mit organisatorischen DingenWichtiges Instrument: Hausaufgaben aufgeben und im Kurs besprechen; so kann das theoretische Konzept, das hinter den Aufgaben steckt, besser verstanden werdenVorgehen dahinter: Erst das theoretische Konzept anwenden lassen/ zeigen, ohne es zu benennenDann in der Folgestunde es genau erklären und auch aufzeigen, was kaputt gehen kann, was passiert beim Ändern von Werten etc.Aufgrund der Größe und für Accountability, wurden Kleingruppen gegründet (3-5 Personen)Kurs findet donnerstags statt und dazwischen sollen sich die Kleingruppen jeweils treffenKleingruppen sind gute Lernsituationen, weil sich hier gegenseitig Dinge erklärt werden könnenProgrammieren heißt nicht nur Sachen (theoretisch) verstehen, sondern auch Skills entwickeln Wie gut trainierte Bewegungsabläufe bei Handarbeit, ist das Anwenden von Konzepten eine Fertigkeit"Wenn ihr etwas lernen wollt, sucht euch jemanden, vor dem ihr euch schämt."Wichtiges Tool für den Kurs: Umfragen in BBB. Haben die Hausaufgaben für euch funktioniert? Hat Aufgabe 1 für euch funktioniert? Hat Aufgabe 2 für euch funktioniert? etc.Das erzeugt Rückmeldung: Wie geht es den Leuten eigentlich? Wo muss genauer hingeschaut werden?Fragen können jederzeit im Chat gestellt werden, manchmal gehen sie etwas unter, aber bei Beantwortung wird immer so genau wie möglich beantwortetUmfrage am Kursende: Wie war die Geschwindigkeit? Wie war die Menge des Inputs?Feedback zulassen, auch kritisches ist ein wichtiges und großes Thema in der Lehre Was kann das Turtle-Modul im Unterricht leisten? (00:55:27)
Manchmal kann Unterricht auch zu abstrakt sein, wie kriegt man Dinge praktischer vermittelt?Öfter hört mensch die Antwort, dass die Turtle (Schildkröte) als Lehrkonzept genutzt werden kannWie bringt mensch das Modul Turtle in Python im Unterricht ein?Ursprünglich wurde die Turtle für eine andere Sprache entwickelt, um das Programmieren beizubringen, verschiedene elementare Konzepte zeigen und vermitteln zu könnenBeispiel: Schleifen, wiederholte Ausführungen einer Sache, lassen sich sehr gut damit vermittelnDie Turtle ist eine kleine Schildkröte, die auf einem weißen Feld lebt und die kann malenMan kann ihr Befehle geben, wie zB: Gehe 100 Schritte (Pixel) gerade aus – beim Gehen malt sie dann den Strich hinter sich; Verändere deine Strichfarbe zu rot – ab jetzt mal sie rot; Gehe 20 Schritte geradeaus – sie zeichnet eine 20px lange rote LinieWährend die Turtle das macht, kann man sie dabei gut beobachten; schreibt man eine Reihe von Befehlen und lässt diese dann ausführen, kann mensch der Turtle dann zusehen, wie sie auf die Befehle reagiert und was dabei entsteht Dabei können Konzepte geübt und deren Anwendung beobachtet werden (Funktionen, Schleifen etc.)Das Cover dieser Folge ist auch teilweise mit der Turtle enstanden, die Schildkröte wurde gezeichnetTurtle ist explizit für Programmieren lernen geschrieben worden, damit ist vieles machbar, sogar Spiele können damit gemacht werden Janine Motivation mit der Turtle zu arbeiten ist, dass es Turtlestitch gibt -> man kann die Turtle programmieren und dann dafür benutzen, das Bild auf einer Stickmaschine sticken zu lassenStatt, dass also die Turtle auf einem weißen Feld auf dem Monitor läuft, wird unter der Nadel der Nähmaschine der Stoff in einem Rahmen bewegt und beim sticken dann das Programm ausgeführt, sodass das Bild auf dem Stoff ist Es kann auch viel Freude durch diese Form von Veranschaulichung und Verwendbarmachung entstehen Nochmal die Problematik: Ein konkretes Ziel für den Gebrauch von Python kann helfenFür Janine ist dieser kreative Zugang zu Python wichtig, um motiviert dran zu bleibenProgrammieren an sich ist auch ein kreativer ProzessFür haptische Menschen könnte gerade das "etwas danach in Händen halten" sehr motivierend seinPiko spricht Problematik von optimierten Geräten an -> schwierig sie an uns anzupassenHier braucht es Kreativität, um zu sehen, zB an Computersystemen, Dinge zu finden, die mensch schöner gestalten könnte für den eigenen GebrauchSo etwas kann einen total motivieren, als Enduser/Anfänger*in sieht man diese Optionen vllt. nichtFrage, die dazu hinführen kann: Was möchte ich an meinem System ändern, was nervt mich?Wie können wir Anfängerprojekte haben, die Spaß machen und einem den Mund wässrig machen?Eigene nützliche Programme können einen glücklich machen, immer wenn sie in Gebrauch sindÄhnlich wie bei handwerklichen TätigkeitenZiele finden und haben ist eine wichtige Sache beim Programmieren lernenFazit (01:10:49)
Python ist tolle Programmiersprache, die sehr niederschwellig zu lernen istMotivation für das Lernen und Ziele, wohin das gehen kann, fördert einen beim LernenAufgrund des Stereotyp Threats sind FINTA-Angebote super wichtig, dafür gibt es viele Orte Wer Interesse daran hat, eine FINTA-Gruppe für sich zu finden, online oder offline kann uns gerne anschreiben, vielleicht können wir helfen zu vermitteln und irgendwo unterzukommenVielen Dank an Piko für Zeit und Gespräch!Piko gibt den Pythonkurs nicht nur ehrenamtlich, sondern kann auch für Einsteiger-Wochenendkurse gebucht werden, erreichbar unter python(at)ithea.deNächste Folge: Jahresrückblick 2021 am 29.01.22 (01:13:13)
Wir machen wieder eine kleine Winterpause und melden uns dann im neuen Jahr zurückWir werden bis dahin nachdenken, was uns an 2021 besonders erwähnenswert erscheintFalls ihr etwas habt, dass ihr mit uns teilen wollt über das Jahr 2021, dann schreibt uns! Vielleicht können wir das in der nächsten Folge unterbringenAnsonsten werden wir in diesem Jahr auch wieder auf der rC3 dabei sein und vermutlich auch die World unsicher machen - sprecht uns gerne an (:Achso, ausserdem haben wir einen Talk im Programm der Haecksen auf der rC3 eingereicht und werden vermutlich einen Talk zu unserem Podcast haltenWenn euch interessiert, wie datenleben entsteht, dann kommt gerne vorbei! Es wird auch ein Pad geben, um Fragen an uns einzureichenMehr erfahrt ihr definitiv auf unserem TwitteraccountIn jedem Fall wünschen wir euch einen schönen Jahresausklang und wir hören uns dann spätestens in 2022 wiederCall to Action (01:14:47)
Wenn ihr uns weiter hören möchtet, folgt uns auf Twitter unter @datenlebenOder besucht unsere Webseite: www.datenleben.deHinterlasst uns gerne Feedback, wir würden uns darüber sehr freuenIhr könnt uns als Data Scientists auch Buchen für Analysen oder ProjekteHabt ihr Fragen oder Themen, die euch interessieren? Dann schreibt uns!Outro (01:15:26)
Schlagworte zur Folge
Python, Data Science, Maschinelles Lernen, Lernen und Lehren, Motivation, Ziele, Accountability, FINTA
Quellen
Python for Kids: Das BuchThe Conversation: Would your mobile phone be powerful enough to get you to the moon?Wikipedia: JaquardwebstuhlWikipedia: Analytical EngineWikipedia: Python (Programmiersprache)https://stackoverflow.com/https://jupyter.org/datenleben: dl013 datenvisualisierunghttps://www.micropython.org/ Al Sweigart: Automate the Boring Stuff with Pythonhttps://www.informatica-feminale.de/Universität Ulm, Abteilung Sozialpsychologie: Stereotype ThreatQueer-Lexikon: FINTAPython.org: turtle — Turtle graphicshttps://www.turtlestitch.org/Weiterführende Links
https://www.python.org/https://www.python-lernen.de/https://automatetheboringstuff.com/http://inventwithpython.com/bigbookpython/