lehrkraefte:ks:informatik-glf4-22-4msi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
lehrkraefte:ks:informatik-glf4-22-4msi [2022/04/28 13:39]
Simon Knaus
lehrkraefte:ks:informatik-glf4-22-4msi [2023/03/07 08:47]
Simon Knaus [KW 14]
Line 1: Line 1:
-==== KW 15 ====+==== KW 19 / 20 ==== 
 +=== 2. Note: Bewertete Analyse: Abgabe 20. Mai 2022 um 17:00 auf Teams === 
 + 
 +Dokumentation der eigenen Analyse in einem PDF-Dokument, welches  
 +  - Eine Einleitung enthält, welche 
 +    * Beschreibt (Screenshot; Shortcut: ''PrtScr'' oder ''Alt+PrtScr'') woher die Daten kommen und wie diese aussehen. 
 +    * Beschreibt, welche Daten erhoben werden. 
 +  - Eine Frage formuliert, welche auf Grund von Excel-Analysen (mindestens eine Pivot-Tabelle) der eigenen Daten beantwortet kann. 
 +  - Mindestens eine Analyse der eigenen Daten welche die Frage aus dem vorigen Punkt beantwortet. Z.B. Wann mache ich xxx am häufigsten? 
 +  - Einen Abschnitt, welcher Zusammenfasst, was du in diesem Teil der Informatik gelernt hast, bzgl. 
 +    * Excel 
 +    * Python 
 +    * BigData und sozialen Netzen im Allgemeinen. 
 + 
 +Bewertungskriterien: 
 +   * Nachvollziehbarkeit der Ausführungen und Analysen 
 +   * Dokumentation der Analysen (Erklärungen, Screenshots, etc.) 
 +   * Ausführlichkeit der Analysen 
 +   * Darstellung des Berichts 
 + 
 +=== Tipps Word === 
 +  * ''PrtScr'' erstellt ein Bildschirmfoto  des ganzen Bildschirms in der Zwischenbalge (''CTRL''+''V'' zum Einfügen) 
 +  * ''Alt''+''PrtScrn'' erstellt ein Bildschirmfoto  des aktiven Fensters in der Zwischenbalge (''CTRL''+''V'' zum Einfügen) 
 +  * ''Win''+''PrtScrn'' erstellt ein Bildschirmfoto und speichert es im Bilder-Ordner von Windows 
 +  * ''Win''+''Shift''+''S'' öffnet einen Dialog um ein Bildschirmfoto aufzunehmen und einen Bereich auszuwählen und speichert es dann in der Zwischenbalge (''CTRL''+''V'' zum Einfügen) 
 +==== KW 18 ==== 
 +=== Ziele === 
 +Erste Analysen mit Pivot-Tabellen in Excel deiner Daten von Youtube oder Instagram aus der letzten Lektion. 
 + 
 +=== Auftrag === 
 +  - CSV in Excel öffnen  
 +    - [[https://web.microsoftstream.com/video/114ca60b-fa45-4b99-bb9e-a62b032fd5c6|Einführungsvideo Excel]] schauen 
 +    - Folgende Excel-Funktionen nachlesen resp. ausprobieren: 
 +      - [[https://support.microsoft.com/de-de/office/wochentag-funktion-60e44483-2ed1-439f-8bd0-e404c190949a|Wochentag]] 
 +      - [[https://support.microsoft.com/de-de/office/stunde-funktion-a3afa879-86cb-4339-b1b5-2dd2d7310ac7|Stunde]] 
 +      - [[https://support.microsoft.com/de-de/office/mittelwert-funktion-047bac88-d466-426c-a32b-8f33eb960cf6|Mittelwert]] 
 +    - Spalten erstellen mit den den notwendigen Informationen, z.B. Stunde am Tag, Wochentag, etc. (siehe oben) und diese dann als Excel-Datei speichern. 
 +  - Folgende Fragen mit Filter oder Pivot beantworten: 
 +    * Zu welcher Tageszeit schaue ich am meisten Videos? 
 +    * An welchem Wochentag schaue ich am meisten Videos? 
 +    * Wie viele Videos schaue ich durchschnittlich pro Tag? 
 +    * ... 
 + 
 + 
 +==== KW 17 ====
 === Ziele ===  === Ziele === 
  
Line 5: Line 49:
  
 === Auftrag === === Auftrag ===
-Navigiere zur heruntergeladenen ZIP-Datei, das heisst, geh mit dem Windows-Explorer (Win+E) zu diesem Ornder. Mit einem Rechtsklick kannst du die Datei entpacken.+  * Schau dir das [[https://web.microsoftstream.com/video/4507c9a3-4afe-44c1-acd4-a96cd91c6fb8|Einführungsvideo]] an. 
 +  * Navigiere zur heruntergeladenen ZIP-Datei, das heisst, geh mit dem Windows-Explorer (Win+E) zu diesem Ordner. Mit einem Rechtsklick kannst du die Datei entpacken. 
 +  * Untersuche die heruntergeladene Datei (das heisst, entpacke sie und öffne die enthaltenen Dateien und Ordner) 
 +  * Wähle unten deinen Code für Instagram (deutsch oder englisch) resp Youtube (deutsch oder englisch). Passe den Dateipfad im Code an und führe den Code aus. 
 +  * Überprüfe die erhaltene CSV-Datei in Excel
  
-Wähle unten deinen Code für Instagram (deutsch oder englischresp Youtube (deutsch oder englisch). Passe den Dateipfad im Code an und führe den Code aus.+Hast du keine eigenen Daten kannst du {{lehrkraefte:ks:informatik-glf4-22:jan14-history.html|diese Datei verwenden}} (Rechtsklick -> herunterladen). Für Interessiere: Der Code zur Aufbereitung der Youtube-Daten (Instagram ist analogist in diesem [[https://web.microsoftstream.com/video/4c478e5b-609d-4429-bc20-78b9f8abab93|Video]] erklärt
  
 +**Achtung: ** Entweder ins Homeverzeichnis kopieren (da habt nur ihr Leserechte) oder //unbedingt// nachher wieder permanent löschen (''Shift+Del'').
 === Code === === Code ===
 === Instagram Deutsch === === Instagram Deutsch ===
- 
 <code python insta_detusch.py> <code python insta_detusch.py>
 import re        # Regular Expressions import re        # Regular Expressions
Line 78: Line 126:
         f.write(csv)         f.write(csv)
         f.close()         f.close()
- 
- 
 </code> </code>
 === Instagram Englisch === === Instagram Englisch ===
Line 153: Line 199:
         f.write(csv)         f.write(csv)
         f.close()         f.close()
 +</code>
 +
 +=== Youtube Englisch ===
 +<code python youtube_englisch.py>
 +import re        # Regular Expressions
 +import datetime  # Datum/Zeit 
 +
 +# Erklärungen zu diesem Code gibt es auch als Video hier:
 +# https://web.microsoftstream.com/video/4c478e5b-609d-4429-bc20-78b9f8abab93
 +# und für Datensparsame und solche ohne BLDSG-Account auch hier:
 +# https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse/daten-extraktion-youtube-watchtime-extraktion.mp4
 +
 +# Daten einlesen
 +# Entweder vollständiger Pfad zur Datei oder (wie z.B. C:\Users\Hansli\Desktop\watch-history.html) oder
 +# nur Dateiname, wenn die Datei im gleichen Verzeichnis wie das Pythonprogramm liegt.
 +f = open("jan14-history.html", "r")
 +html = f.read()  # Alles einlesen
 +f.close()        # Datei schliessen
 +
 +
 +# Datum der Form Jan 6, 2021, 9:23:12 PM CET
 +# Alle nötigen Angaben werden in Klammern "ge-captured"
 +daten = re.findall(r"([A-Z][a-z][a-z]) (\d{1,2}), (\d{4}), (\d{1,2}):(\d{1,2}):(\d{1,2}) ([AP]M) CET", html)
 +
 +#Erste 3 Einträge zur Kontrolle ausgeben
 +print(daten[0:3])
 +
 +# Zuordnung der Monatsnamen zu Monatsnummern, z.B. ist mnum["Jul"] gleich 7
 +mnum = {"Jan":1, "Feb":2, "Mar":3, "Apr":4, "May":5, "Jun":6, "Jul":7, "Aug":8, "Sep":9, "Oct":10,"Nov":11, "Dec":12}; 
 +
 +# Resultat, das am Schluss geschrieben werden soll
 +csv = ""   # Comma separated values
 +
 +# Wie viele Kontrollausgaben?
 +debug = 10
 +
 +# Alle Einträge durchgehen, d enthält jeweils den nächsten Eintrag
 +for d in daten:
 +    # Einträge in Zahlen umwandeln
 +    # Monat plus die anderen Einträge (ohne AM/PM) in Zahlen umgewandelt 
 +    #   Die Zeichenkette "42" ist nicht das gleiche wie die Zahl 42.
 +    e = [mnum[d[0]]] + [int(x) for x in d[1:-1]]
 +    if d[6]=="PM":  # Nachmittag? Plus 12 Stunden (Ausser Mitternacht = 0)
 +        e[3]=(e[3]+12) % 24
 +    
 +    if debug>0:
 +        # Ausgabe zur Kontrolle, sollte folgendes Format Produzieren
 +        print(e) # [1, 6, 2021, 21, 23, 12]
 +        debug -= 1  # Um 1 vermindern
 +
 +    # Datum daraus generieren (macht die Datumsmanipulation einfacher).
 +    # Jahr, Monat, Tag, Stunde, Minute, Sekunde
 +    datum = datetime.datetime(e[2], e[0], e[1], e[3], e[4], e[5])
 +
 +    if debug>0:
 +        # Ausgabe zur Kontrolle, produziert folgendes Format
 +        print(datum)   # 2021-01-06 21:23:12
 +        debug -= 1  # Um 1 vermindern
 +
 +    # Wochentag (Mo=0, Di=1, ..., So=6)
 +    # Sämtliche Methoden für datetime-Objekte sind hier beschrieben: https://docs.python.org/3/library/datetime.html#datetime-objects
 +    wday = datum.weekday()
 +
 +    # Formatierte Ausgabe des Datums, siehe https://www.w3schools.com/python/python_datetime.asp
 +    # \n heisst neue Zeile.
 +    csv += datum.strftime("%Y-%m-%d %H:%M:%S\n" #Das Format soll so angepasst werden, damit die Tabellenkalkulation dann damit umgehen kann.
 +
 +# Ausgabe in Datei schreiben
 +f = open("resultat.csv", "w")
 +f.write(csv)
 +f.close()
 +</code>
 +
 +=== Youtube Deutsch ===
 +<code python youtube_deutsch.py>
 +import re        # Regular Expressions
 +import datetime  # Datum/Zeit 
 +
 +# VERSION FUER DEUTSCHE EXPORTE, Datumsangabe in der Form 09.02.2012, 14:15:59 MEZ
 +
 +# Erklärungen zu diesem Code gibt es auch als Video hier:
 +# https://web.microsoftstream.com/video/4c478e5b-609d-4429-bc20-78b9f8abab93
 +# und für Datensparsame und solche ohne BLDSG-Account auch hier:
 +# https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse/daten-extraktion-youtube-watchtime-extraktion.mp4
 +
 +# Daten einlesen
 +# Entweder vollständiger Pfad zur Datei oder (wie z.B. C:\Users\Hansli\Desktop\watch-history.html) oder
 +# nur Dateiname, wenn die Datei im gleichen Verzeichnis wie das Pythonprogramm liegt.
 +f = open("jan14-history.html", "r")
 +html = f.read()  # Alles einlesen
 +f.close()        # Datei schliessen
 +
 +
 +# Datum der Form Jan 6, 2021, 9:23:12 PM CET
 +# Alle nötigen Angaben werden in Klammern "ge-captured"
 +
 +# Datum der Form 09.02.2012, 14:15:59 MESZ
 +daten = re.findall(r"(\d{2})\.(\d{2})\.(\d{4}), (\d{2}):(\d{2}):(\d{2}) MESZ", html)
 +
 +
 +#Erste 3 Einträge zur Kontrolle ausgeben
 +print(daten[0:3])
 +
 +# Zuordnung der Monatsnamen zu Monatsnummern, z.B. ist mnum["Jul"] gleich 7
 +mnum = {"Jan":1, "Feb":2, "Mar":3, "Apr":4, "May":5, "Jun":6, "Jul":7, "Aug":8, "Sep":9, "Oct":10,"Nov":11, "Dec":12}; 
 +
 +# Resultat, das am Schluss geschrieben werden soll
 +csv = ""   # Comma separated values
 +
 +# Wie viele Kontrollausgaben?
 +debug = 10
 +
 +# Alle Einträge durchgehen, d enthält jeweils den nächsten Eintrag
 +for d in daten:
 +    # Einträge in Zahlen umwandeln
 +    # Monat plus die anderen Einträge (ohne AM/PM) in Zahlen umgewandelt 
 +    #   Die Zeichenkette "42" ist nicht das gleiche wie die Zahl 42.
 +    e = [int(x) for x in d]
 +
 +    if debug>0:
 +        # Ausgabe zur Kontrolle, sollte folgendes Format Produzieren
 +        print(e) # [1, 6, 2021, 21, 23, 12]
 +        debug -= 1  # Um 1 vermindern
 +
 +    # Datum daraus generieren (macht die Datumsmanipulation einfacher).
 +    # Jahr, Monat, Tag, Stunde, Minute, Sekunde
 +    datum = datetime.datetime(e[2], e[1], e[0], e[3], e[4], e[5])
 +
 +    if debug>0:
 +        # Ausgabe zur Kontrolle, produziert folgendes Format
 +        print(datum)   # 2021-01-06 21:23:12
 +        debug -= 1  # Um 1 vermindern
 +
 +    # Wochentag (Mo=0, Di=1, ..., So=6)
 +    # Sämtliche Methoden für datetime-Objekte sind hier beschrieben: https://docs.python.org/3/library/datetime.html#datetime-objects
 +    wday = datum.weekday()
 +
 +    # Formatierte Ausgabe des Datums, siehe https://www.w3schools.com/python/python_datetime.asp
 +    # \n heisst neue Zeile.
 +    csv += datum.strftime("%Y-%m-%d %H:%M:%S\n" #Das Format soll so angepasst werden, damit die Tabellenkalkulation dann damit umgehen kann.
 +
 +# Ausgabe in Datei schreiben
 +f = open("resultat.csv", "w")
 +f.write(csv)
 +f.close()
 +
 </code> </code>
  
Line 160: Line 352:
  
 === Wege zu Daten === === Wege zu Daten ===
-  * **Instagram**: <<Kopf>> -> Profil -> Privatsphäre und Sicherheit. Format sollte HTML gewählt werden.((JSON wäre praktischer, ist aber <<mühsamer>> um direkt anzuschauen))+  * **Instagram**: Webseite: Mehr -> Deine Aktivität -> Deine Informationen herunterladenAls Format sollte mindestens HTML gewählt werden.((JSON wäre praktischer, ist aber <<mühsamer>> um direkt anzuschauen))
   * **Youtube**: <<Kopf>> -> Meine Daten auf Youtube   * **Youtube**: <<Kopf>> -> Meine Daten auf Youtube
   * Irgendeine andere Platform   * Irgendeine andere Platform
Line 189: Line 381:
     - Wenn-dann-Codes     - Wenn-dann-Codes
   - Vor- und Nachteile Python versus Excel.   - Vor- und Nachteile Python versus Excel.
-==== Beispiel Code ====+=== Beispiel Code ===
 <code python bsp.py> <code python bsp.py>
 from random import randint #nur randint von random importieren from random import randint #nur randint von random importieren
Line 486: Line 678:
 Damit ist die Wahrscheinlichkeit, dass es $k$ Personen gibt, welche ihren Flug antreten  Damit ist die Wahrscheinlichkeit, dass es $k$ Personen gibt, welche ihren Flug antreten 
  
-$$ \mathrm{P}(X=k)=\begin{pmatrix}n\\k\end{pmatrix}\cdot p^k\cdot (1-p)^{n-k}$$+$$ \mathrm{P}(X=k)=\begin{pmatrix}n \\ k\end{pmatrix}\cdot p^k\cdot (1-p)^{n-k}$$
 ==== KW 6 ==== ==== KW 6 ====
 === Ziele === === Ziele ===
  • lehrkraefte/ks/informatik-glf4-22-4msi.txt
  • Last modified: 2023/03/24 09:00
  • by Simon Knaus