spielend-programmieren

Programmierkurse für Kinder, Jugendliche und Erwachsene

User Tools

Site Tools


Sidebar

Translations of this page:


Kontakt, Impressum, Datenschutz
Informationspflicht gemäß Wirtschaftskammer Wien
spielend-programmieren Start Seite


Lizenz: CC-By-SA:
Creative Commons Attribution Share Alike Lizenz

de:blog:2020:0317_flatting_the_curve

Epidemie - Simulation

Für meinen heutigen “Programmieren lernen” Artikel habe ich mir ein aktuelles Thema ausgesucht: Den derzeit grassierenden Corona-Virus. Genauer gesagt wie man die Ausbreitungsgeschwindigkeit einer Epidemie durch “Soziale Distanzierung” verlangsamen kann und wie man diesen Zusammenhang grafisch darstellt.

Theorie

Kurz zur Theorie, welche die Grundlage für die derzeitigen Ausgangsbeschränkungen liefert: räumliche Distanzierung

Es wird davon ausgegangen daß in einer Population (z.B. in Österreich) die Übertragung einer Krankheit nur durch räumliche Nähe zwischen einer gesunden Person und einer infizierten Person möglich ist. Verhindert man (z.B. durch Ausgangsbeschränkungen oder andere Quarantänemaßnahmen) die Zusammenkunft von infizierten Personen mit Gesunden Personen dann breitet sich die Epidemie langsamer aus, selbst wenn im Endeffekt der Anteil der Infizierten an der der Gesamtbevölkerung gleich hoch ist. Durch die langsamere Ausbreitung wird das Gesundheitssystem (die Zahl der vorhandenen Krankenhäuser und Ärzte ist begrenzt) weniger belastet.

Flatten the curve

[Bildschirmfoto vom mit Javascript-Animationen wunderschön aufbereiteten [[https://www.washingtonpost.com/graphics/2020/world/corona-simulator/|Washington-Post Artikel]]]

Angeregt vom hervorragend aufbereitetem Artikel in der Zeitung “Washington Post”: Why outbreaks like coronavirus spread exponentially, and how to “flatten the curve” hat MIT-Professor Mitch Resnick eine Corona-Ansteckungs-Simulation in der Programmiersprache Scratch geschrieben mit der man per Schieberegler den Effekt von “Zu Hause bleiben” auf die Steigung der Ansteckungskurve erforschen kann.

Jens Mönig hat diese Simulation gestern für die Programmiersprache Snap umgesetzt.

Simulationen

Hier die beiden Simulationen zum Vergleich:

Starten Sie die Simulationen mit der grünen Flagge, verändern Sie den Prozentsatz der “zu Hause bleibenden” per Schieberegler und sehen Sie die Auswirkungen auf die Ansteckungskurve.

Scratch

[[[https://de.wikipedia.org/wiki/Mitchel_Resnick|Mitch Resnick]] unterrichtet am MIT Media Lab und ist einer der Erfinder der grafischen Programmiersprache Scratch, welche vor allem durch ihre Zugänglichkeit sehr populär beim Informatikunterricht für Kinder ist]

Snap

[Jens Mönig ist einer der Hauptverantwortlichen für die Programmiersprache Snap, ursprünglich ein [[https://de.wikipedia.org/wiki/Abspaltung_(Softwareentwicklung)|Fork]] von Scratch. Snap wird Dank seiner im Vergleich zu Scratch höheren Komplexität u.a. im Oberstufen-Schulbereich eingesetzt]

Python

Angeregt durch solche Vorbilder kann ich es natürlich nicht lassen, meine eigene Version zu entwickeln. Da meine Lieblings-, Leib- und Magen-Programmiersprache Python ist, konzentriere ich mich bei meiner Implementation nicht auf die grafische Darstellung (für grafische Darstellung innerhalb einer Website wären Javascript oder Processing besser geeignet). Ich möchte vielmehr zeigen daß eine derartige Simulation auch im “primitiven” Textmodus gut durchführbar ist und dabei einige Programmierkonzepte erläutern.

[erste Python Version mit Text-Modus: die kleinen x infizieren die (noch) gesunden h's]

python-script: https://gist.github.com/horstjens/658ba6220999e3aa27c0d67f801c2018

de/blog/2020/0317_flatting_the_curve.txt · Last modified: 2020/03/18 11:23 by horst