{"id":4254,"date":"2013-08-01T11:59:59","date_gmt":"2013-08-01T09:59:59","guid":{"rendered":"https:\/\/www.herr-rau.de\/wordpress\/?p=4254"},"modified":"2023-06-12T10:50:07","modified_gmt":"2023-06-12T08:50:07","slug":"programmierprojekte-ideen-gesucht-und-zwei-tolle-programme-fuer-die-schule","status":"publish","type":"post","link":"https:\/\/www.herr-rau.de\/wordpress\/2013\/08\/programmierprojekte-ideen-gesucht-und-zwei-tolle-programme-fuer-die-schule.htm","title":{"rendered":"Programmierprojekte, Ideen gesucht, und zwei tolle Programme f\u00fcr die Schule"},"content":{"rendered":"<div style='text-align:right;'><small>(<a href='https:\/\/www.herr-rau.de\/wordpress\/2013\/08\/programmierprojekte-ideen-gesucht-und-zwei-tolle-programme-fuer-die-schule.htm#comments'>6 Kommentare.<\/a>)<\/small> <\/div>\n<p class=\"wp-block-paragraph\">Studierende f\u00fcr das Lehramt Informatik m\u00fcssen laut Lehramtspr\u00fcfungsordnung ein Programmierprojekt vorweisen. Mit diesem zeigen sie, dass Sie selbstst\u00e4ndig Prinzipien der Softwareentwicklung anwenden k\u00f6nnen &#8211; Entwicklungsmodelle, Testverfahren, Entwurfsmuster. Inhaltlich kann das alles m\u00f6gliche sein, solange die Studierenden einen Betreuer f\u00fcr das Projekt finden. Ein potentieller solcher Betreuer bin ich. Ab und zu werde ich auch nach m\u00f6glichen Themen f\u00fcr solche Programmierprojekte gefragt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Programmierauftr\u00e4ge, die mich interessieren, betreffen haupts\u00e4chlich Software, die man irgendwie f\u00fcr die Schule nutzen k\u00f6nnte. Und oft, wenn mir da etwas Sch\u00f6nes einf\u00e4llt, das es noch nicht gibt und das ein Student in einem Semester programmieren k\u00f6nnte und das f\u00fcr den Unterricht n\u00fctzlich w\u00e4re &#8211; oft genug, wenn ich dann mal recherchiere, dann gibt es so eine Software schon. Zefix!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>(Falls einer von euch einen Wunsch hat f\u00fcr eine Software, bitte mir sagen. Ich hab da eine Liste, auf die ich Ideen setze, die ich Studierenden anbiete.)<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So ging es mir auch mit dieser Software:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Orinoco von Christoph Gr\u00e4\u00dfl<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/klassenkarte.de\/?page_id=15\">(Link zur Seite)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist das beste Programm zur Datenflussmodellierung, das ich f\u00fcr die Schule kenne. In Bayern braucht man das in der 9. Klasse.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Bedienung von Orinoco\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/aWwh_FQvnns?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das Programm l\u00e4uft &#8211; wichtig f\u00fcr die Schule &#8211; ohne Installation (wenn auch nur unter Windows). Mit Drag &amp; Drop kann man Funktions-Ellipsen anlegen, K\u00e4sten f\u00fcr Ein- und Ausgabewert, und gerichtete Verbindungen dazwischen. Man kann au\u00dferdem probeweise Werte eingeben und sich alle Zwischenergebnisse anzeigen lassen, sogar animiert, so dass die Daten wirklich der Reihe nach von oben nach unten flie\u00dfen. (Das sieht man hier nat\u00fcrlich nicht.)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"577\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel1.png\" alt=\"promilleformel1\" class=\"wp-image-4260\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel1.png 550w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel1-142x150.png 142w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel1-524x550.png 524w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn man die Funktion f\u00fcr die Berechnung des Blutalkoholgehalts gespeichert hat, kann man sie wie die anderen, vorgebenenen Standardfunktionen benutzen:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"509\" height=\"291\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel2.png\" alt=\"promilleformel2\" class=\"wp-image-4258\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel2.png 509w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel2-150x85.png 150w\" sizes=\"auto, (max-width: 509px) 100vw, 509px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Und als Term gibt er die Funktion auch aus:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Blutalkoholgehalt = PRODUKT(PRODUKT(Menge ; Alkoholgehalt) ; 0.8) \/ PRODUKT(WENN(Geschlecht = w  ; 0.6 ; 0.7) ; K\u00f6rpermasse)<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Da fehlen mir eigentlich nur ein paar Kleinigkeiten. Datentypen. Die M\u00f6glichkeit, im umgekehrten Weg aus einer Termnotation die Grafik erstellen zu lassen. Aber im Prinzip w\u00e4r&#8217;s das gewesen mit meiner Idee f\u00fcr mein Programmierprojekt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. AuDeSe &#8211; auch von Christoph Gr\u00e4\u00dfl<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/klassenkarte.de\/?page_id=18\">(Vom gleichen Autor, auf der gleichen Seite.)<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Tutorial zu AuDeS f\u00fcr Lehrkr\u00e4fte\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/bHWD4Cy0NNU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Programme zum Erstellen von endlichen Automaten kenne ich einige. Dieses hier ist einfach zu bedienen, die Grafik nicht ganz so sch\u00f6n wie bei Orinoco, aber okay. Hier ein kleiner Automat, der eine Wache in einem Comotuerspiel steuert. Normalerweise patroulliert die Wache um ihre Wachposition herum. H\u00f6rt sie ein Ger\u00e4usch, bleibt sie stehen, sieht sie einen Gegner, verfolgt sie ihn. Wenn Zeit vergeht, n\u00e4hert sich die Wache wieder nach und der Normalit\u00e4t &#8211; solange der einmal gesehene Gegner in Reichweite ist, verfolgt sie ihn aber.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"335\" src=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/automat_wache_spiel.png\" alt=\"automat_wache_spiel\" class=\"wp-image-4265\" srcset=\"https:\/\/www.herr-rau.de\/wordpress\/archiv\/automat_wache_spiel.png 550w, https:\/\/www.herr-rau.de\/wordpress\/archiv\/automat_wache_spiel-150x91.png 150w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das mit den Bedingungen ist noch nicht optimal gel\u00f6st, aber f\u00fcr die meisten Schulf\u00e4lle reicht es.<br>Das besondere an diesem Programm: Es generiert sehr einfach den Java-Code zu dem entworfenen Automaten, und wenn man will, gleich das ganze BlueJ-Projekt dazu.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public class AUTOMAT\n{\n\n    \/\/ Attribute\n    private String Zustand;\n\n    \/\/ Bedingungen\n    private boolean nicht_in_Reichweite;\n    private boolean in_Reichweite;\n\n    \/\/ Methoden\n\n    \/\/ Konstruktor\n    public AUTOMAT()\n    {\n        \/\/ Startzustand setzen\n        Zustand = \"auf Patrouille\";\n        System.out.println(\"Startzustand: auf Patrouille\");    }\n\n    \/\/ Ausgel\u00f6ste Aktion \"stehen bleiben\"\n    private void stehen_bleiben( )\n    {\n        \/\/ Hier den Code f\u00fcr die ausgel\u00f6ste Aktion eingeben!\n        System.out.println(\"Ausgel\u00f6ste Aktion stehen_bleiben() wurde aufgerufen!\");\n    }\n\n    \/\/ Ausgel\u00f6ste Aktion \"Patrouille aufnehmen\"\n    private void Patrouille_aufnehmen( )\n    {\n        \/\/ Hier den Code f\u00fcr die ausgel\u00f6ste Aktion eingeben!\n        System.out.println(\"Ausgel\u00f6ste Aktion Patrouille_aufnehmen() wurde aufgerufen!\");\n    }\n\n    \/\/ Ausgel\u00f6ste Aktion \"verfolge Gegner\"\n    private void verfolge_Gegner( )\n    {\n        \/\/ Hier den Code f\u00fcr die ausgel\u00f6ste Aktion eingeben!\n        System.out.println(\"Ausgel\u00f6ste Aktion verfolge_Gegner() wurde aufgerufen!\");\n    }\n\n    \/\/ Ausgel\u00f6ste Aktion \"gehen nach Wachposition\"\n    private void gehen_nach_Wachposition( )\n    {\n        \/\/ Hier den Code f\u00fcr die ausgel\u00f6ste Aktion eingeben!\n        System.out.println(\"Ausgel\u00f6ste Aktion gehen_nach_Wachposition() wurde aufgerufen!\");\n    }\n\n    \/\/ Ausl\u00f6sende Aktion \"h\u00f6rt Ger\u00e4usch\"\n    public void h\u00f6rt_Ger\u00e4usch()\n    {\n        if ( Zustand.equals(\"auf Patrouille\"))\n        {\n            stehen_bleiben();\n            Zustand = \"misstrauisch\";\n            System.out.println(\"Neuer Zustand: misstrauisch\");\n            return;\n        }\n    }\n\n    \/\/ Ausl\u00f6sende Aktion \"Zeit vergeht\"\n    public void Zeit_vergeht()\n    {\n        if ( Zustand.equals(\"misstrauisch\"))\n        {\n            Patrouille_aufnehmen();\n            Zustand = \"auf Patrouille\";\n            System.out.println(\"Neuer Zustand: auf Patrouille\");\n            return;\n        }\n        if ( Zustand.equals(\"verfolgend\") &amp;&amp; nicht_in_Reichweite==true)\n        {\n            gehen_nach_Wachposition();\n            Zustand = \"misstrauisch\";\n            System.out.println(\"Neuer Zustand: misstrauisch\");\n            return;\n        }\n        if ( Zustand.equals(\"verfolgend\") &amp;&amp; in_Reichweite==true)\n        {\n            verfolge_Gegner();\n            Zustand = \"verfolgend\";\n            System.out.println(\"Neuer Zustand: verfolgend\");\n            return;\n        }\n    }\n\n    \/\/ Ausl\u00f6sende Aktion \"sieht Gegner\"\n    public void sieht_Gegner()\n    {\n        if ( Zustand.equals(\"misstrauisch\"))\n        {\n            verfolge_Gegner();\n            Zustand = \"verfolgend\";\n            System.out.println(\"Neuer Zustand: verfolgend\");\n            return;\n        }\n        if ( Zustand.equals(\"auf Patrouille\"))\n        {\n            verfolge_Gegner();\n            Zustand = \"verfolgend\";\n            System.out.println(\"Neuer Zustand: verfolgend\");\n            return;\n        }\n    }\n\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>(6 Kommentare.) Studierende f\u00fcr das Lehramt Informatik m\u00fcssen laut Lehramtspr\u00fcfungsordnung ein Programmierprojekt vorweisen. Mit diesem zeigen sie, dass Sie selbstst\u00e4ndig Prinzipien der Softwareentwicklung anwenden k\u00f6nnen &#8211; Entwicklungsmodelle, Testverfahren, Entwurfsmuster. Inhaltlich kann das alles m\u00f6gliche sein, solange die Studierenden einen Betreuer f\u00fcr das Projekt finden. Ein potentieller solcher Betreuer bin ich. Ab und zu werde ich [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4258,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[25],"tags":[227,233],"class_list":["post-4254","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-informatik","tag-informatik","tag-programmierprojekte"],"jetpack_featured_media_url":"https:\/\/www.herr-rau.de\/wordpress\/archiv\/promilleformel2.png","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/4254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/comments?post=4254"}],"version-history":[{"count":3,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/4254\/revisions"}],"predecessor-version":[{"id":58839,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/posts\/4254\/revisions\/58839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media\/4258"}],"wp:attachment":[{"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/media?parent=4254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/categories?post=4254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.herr-rau.de\/wordpress\/wp-json\/wp\/v2\/tags?post=4254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}