1 00:00:08,140 --> 00:00:08,560 Vielen Dank für's Zuhören! 2 00:00:09,306 --> 00:00:17,186 So, schönen guten Tag, Praxistippsreferendariat, wie fachlich einarbeiten, Curriculumsanalyse. 3 00:00:17,446 --> 00:00:22,546 Diesmal am Beispiel der Einführung in die Programmierung, in die objektorientierte 4 00:00:22,546 --> 00:00:28,106 Programmierung anhand eines konkreten Projekts, der Body-Mass-Index-Wage. 5 00:00:30,526 --> 00:00:36,486 Bei der Einarbeitung, fachlichen Einarbeitung in die Informatik müssen Sie das Curriculum, 6 00:00:36,486 --> 00:00:37,446 also den Lehrplan. 7 00:00:38,000 --> 00:01:04,080 Berücksichtigen, da wurden bereits eigene Videos zu veröffentlicht. In diesem Video soll es um eine Konkretisierung der ganzen Problematik gehen, indem man den Lehrplan mal hernimmt und auf ein konkretes Einführungsprojekt in die Programmierung runter bricht und da wird man dann feststellen, dass eine ganze Menge 8 00:01:04,080 --> 00:01:04,140 von Problemen in der Programmierung hernimmt. 9 00:01:04,576 --> 00:01:08,076 An Inhalten schon in einem Projekt erledigt sind. 10 00:01:08,636 --> 00:01:13,596 Stellen Sie sich vor, Sie unterrichten die Einführungsphase in die Oberstufe. 11 00:01:14,496 --> 00:01:19,976 Die Schüler haben keine Programmiererfahrung, davon müssen sie jedenfalls ausgehen. 12 00:01:20,996 --> 00:01:28,696 Die Informatik setzt ja neu ein in der Oberstufe, auch wenn in der Unter- und Mittelstuf gegebenenfalls schon Vorwissen erworben wird. 13 00:01:28,916 --> 00:01:32,736 Davon können sie aber zumindest momentan nicht ausgehen. 14 00:01:33,184 --> 00:01:36,004 Weil das in der Mittelstufe kein Pflichtfach ist. 15 00:01:36,704 --> 00:01:40,624 Sie werden immer ein paar Leute mit Programmiererfahrung haben. 16 00:01:40,744 --> 00:01:44,984 Das ist ein genuines Problem der Informatik, des Informatikunterrichts an Schulen. 17 00:01:45,884 --> 00:01:48,344 Aber die Ausgangssituation ist keine Vorkenntnisse. 18 00:01:49,344 --> 00:01:58,924 Und ein großer Teil in der Unterrichtsplanung der Einführungsphase ist die Programmierung, 19 00:01:58,924 --> 00:02:02,424 die Einführung in die objektorientierte Programmierung. 20 00:02:04,218 --> 00:02:09,118 Wir werden gleich den Lehrplan im Detail betrachten. 21 00:02:09,398 --> 00:02:15,018 Hier ein Überblick, was an Fachinhalten in diesem BMI-Wageprojekt enthalten ist. 22 00:02:15,338 --> 00:02:19,618 Klassenentwurf nach Textsituation. Das heißt, es gibt einen Auftrag 23 00:02:19,618 --> 00:02:23,358 und es soll eine entsprechende Klasse formuliert werden. 24 00:02:23,838 --> 00:02:28,498 Dort kommen Sie automatisch auf die diversen fachlichen Details zu sprechen. 25 00:02:28,578 --> 00:02:31,498 Zum Beispiel Attribute, Methoden, Sichtbarkeiten. 26 00:02:31,498 --> 00:02:33,518 Wir werden Methoden aufgerufen. 27 00:02:36,272 --> 00:02:48,632 Welche Konsequenzen haben Sichtbarkeiten, sprich Public und Private, die beiden, die es in der Schule NRW gibt, sodass sie zu Settern und Gettern kommen bei privaten Attributen. 28 00:02:48,632 --> 00:03:00,412 Wie wird dokumentiert? Wie wird COLD analysiert und erweitert? Wie werden Testklassen formuliert? Wie werden Algorithmen, Entworfen implementiert und getestet? 29 00:03:00,912 --> 00:03:05,232 Kriegt man den Zustand eines Objekts raus? Beziehungsweise, was ist das eigentlich? 30 00:03:06,152 --> 00:03:10,032 Ja, da sehen Sie ja so eine ganze Liste an Fachinhalten, 31 00:03:10,972 --> 00:03:15,912 die alle in diesem BMI-Projekt angesprochen sind. 32 00:03:16,452 --> 00:03:21,312 Und immer wieder angesprochen werden, wenn Sie ähnliche Projekte wie die Vage 33 00:03:21,312 --> 00:03:26,312 dann wochenlang zur Übung stellen, damit diese ganzen 34 00:03:26,312 --> 00:03:30,772 Fachinhalte auch gefestigt sind und sich irgendwann in ... 35 00:03:30,944 --> 00:03:33,724 ... Fähigkeiten umwandeln. 36 00:03:36,344 --> 00:03:44,544 Das blende ich gleich nochmal in groß ab. Hier habe ich markiert, was an Lehrplaninhalten alles ... 37 00:03:46,024 --> 00:03:51,264 ... thematisiert wird. Ich blende das gerade mal ein. Das können Sie dann besser lesen. 38 00:03:52,044 --> 00:03:57,184 Das ist der Lehrplan, der aktuelle Lehrplan NRW Oberstufe Einführungsphase. 39 00:03:57,664 --> 00:04:04,044 Daten und ihre Strukturierung, Inhaltsfeld 1. Da finden Sie das Wesentliche, was Sie zur Programmierung 40 00:04:04,744 --> 00:04:07,304 in der Einführungsphase unterrichten müssen. 41 00:04:09,464 --> 00:04:13,624 Gehen wir kurz durch. Wir werden dann nach dem Projekt noch mal drauf zu sprechen kommen. 42 00:04:14,884 --> 00:04:19,944 Objekte und Klassen, das sind die Schwerpunkte und alles, was rund um Objekte und Klassen 43 00:04:19,944 --> 00:04:23,044 einführungsmäßig so vorzufinden ist an Fachinhalten. 44 00:04:23,904 --> 00:04:31,904 Ermitteln bei der Analyse einfache Problemstellungen, Objekte, Eigenschaften, Operationen, Modellierenklassen mit den Attributen und Methoden, 45 00:04:33,424 --> 00:04:37,924 Orte und Attributen, Parametern, Rückgabe von Methoden, einfachen Datentypen zu, 46 00:04:38,904 --> 00:04:45,524 Sichtbarkeiten, Zustand eines Objekts, Dokumentation, Analyse und Erläuter an objektorientierte Modellierung. 47 00:04:45,920 --> 00:04:50,340 Und dann das ganze auch auf algorithmischer Seite, analysieren und erläutern, 48 00:04:50,620 --> 00:04:56,080 Algorithmen und Programme, modifizieren sie, entwerfen sie, implementieren sie und testen sie. 49 00:05:00,720 --> 00:05:02,080 Dann, äh, 50 00:05:02,440 --> 00:05:09,780 wenn man damit zum ersten Mal konfrontiert wird, dann lesen sich solche Listen als ziemlich umfangreich. 51 00:05:11,460 --> 00:05:15,700 Aber dreiviertel von dem, was sie in der Programmierung machen müssen, ist in diesem Projekt enthalten. 52 00:05:16,016 --> 00:05:22,296 Also hier ist ja fast alles gelb. Und das ist doch schon mal eine motivierende Situation. 53 00:05:23,456 --> 00:05:28,876 Das ist die originale Aufgabenstellung, die zur Abrundung integriert. 54 00:05:29,436 --> 00:05:31,876 Da werden wir das gar nicht so im Detail eingehen. 55 00:05:31,896 --> 00:05:34,076 Sie wissen, was der Body Mass Index ist. 56 00:05:34,236 --> 00:05:41,296 Der ist hier definiert als Körpergewicht in Kilogramm zur Größe zum Quadrat. 57 00:05:41,456 --> 00:05:43,176 Ja, also Kilogramm pro Fläche. 58 00:05:43,520 --> 00:05:49,040 Kilogramm pro Quadratmeter ist die Einheit vom BMI. Und dann haben Sie hier eine Tabelle. 59 00:05:51,040 --> 00:06:00,100 Gut, kommen wir zum eigentlichen Projekt. Wenn Sie den Unterricht planen, können Sie das 60 00:06:00,100 --> 00:06:06,400 natürlich in vielfältiger Weise machen. Das ist die Aufgabenstellung und meine kurzen 61 00:06:06,440 --> 00:06:11,060 Erläuterung dazu, die jetzt mehr auf den Lehrplan... 62 00:06:11,440 --> 00:06:18,560 ...fokussiert sind und nicht auf das Projekt im Detail, können Sie natürlich modifizieren, wie Sie das für richtig halten. 63 00:06:18,820 --> 00:06:30,540 Je nachdem, wann Sie das Vage Projekt im Unterricht nutzen, gibt es mehr oder weniger Vorkenntnis und Sie können mehr oder weniger Vorgaben dann tätigen. 64 00:06:30,900 --> 00:06:40,000 Sie können ja auch ein fertiges oder fast fertiges Projekt vorgeben und dann Schwerpunkt auf Code Analyse und Erweiterung legen oder Sie entwickeln... 65 00:06:40,192 --> 00:07:05,092 ...einige wenige Dinge im Plenum, um vom Text, von der Aufgabenstellung zur Klasse zu kommen und lassen den Rest dann selber machen oder Sie sagen einfach gar nichts, teilen den Zettel aus und schauen mal, wie weit die Gruppe kommt und das ist ja alles möglich, alles legitim, es bleibt Ihnen überlassen Mit Blick auf den Lehrplan gehen wir folgt vor, wir haben also die Aufgabenstellung 66 00:07:05,092 --> 00:07:06,412 Ich... 67 00:07:07,780 --> 00:07:14,200 ...zeige Ihnen mal das laufende Programm, so ist also die Interaktion, das User Interface 68 00:07:15,740 --> 00:07:30,980 Textbasiert, das kleiner Tipp am Rande, ist zwar optisch nicht so ansprechend, aber verschwenden Sie nicht Ihre Zeit mit grafischen Benutzeroberflächen, das bläht den Quellcode nur auf, lenkt völlig vom Thema ab und ist absolut null abiturrelevant 69 00:07:31,640 --> 00:07:34,760 Gewicht in Kilogramm eingeben, sagen wir mal 80 Kilo 70 00:07:35,168 --> 00:07:38,228 Größe in Zentimeter, sagen wir mal 1,90 71 00:07:39,408 --> 00:07:40,888 Geschlecht, männlich 72 00:07:40,888 --> 00:07:44,908 und dann spuckt er Ihnen hier Ihre Daten aus 73 00:07:44,908 --> 00:07:48,388 damit Sie auch eine Kontrolle haben, ob die Daten richtig angekommen sind und 74 00:07:48,388 --> 00:07:49,548 berechnet dann 75 00:07:49,548 --> 00:07:54,588 den BMI und seine Schlussfolgerung. So soll das Ganze aussehen. Das empfehle 76 00:07:54,588 --> 00:07:56,148 ich Ihnen auch 77 00:07:56,148 --> 00:07:58,968 zu Beginn des Unterrichts mal 78 00:07:58,968 --> 00:08:02,288 vorzumachen, damit jeder weiß, wie das Endprodukt aussieht. 79 00:08:05,498 --> 00:08:12,038 Man hat also geklärt, dass jeder weiß, was zu tun ist, wie das Endprodukt aussieht, was 80 00:08:12,038 --> 00:08:13,218 der BMI ist. 81 00:08:13,838 --> 00:08:16,538 Und jetzt ist ja die erste Frage Klassendesign. 82 00:08:16,578 --> 00:08:24,938 Wie kommen Sie von der textuellen Beschreibung des Problems zur Klasse? 83 00:08:26,998 --> 00:08:32,218 Ermitteln bei der Analyse einfacher Problemstellungen Objekte, ihre Eigenschaften, ihre Operationen. 84 00:08:32,218 --> 00:08:34,858 Modellieren Klassen mit ihren Attributen, ihren Methoden. 85 00:08:34,880 --> 00:08:38,500 Wenn Sie die Klasse haben, haben Sie auch immer automatisch das Objekt. Das wissen wir. 86 00:08:39,820 --> 00:08:46,500 Den Zustand eines Objekts kriegen Sie aus der Klasse, indem Sie den Klassen -Attributen-Werte zuweisen. Ganz einfach. 87 00:08:46,840 --> 00:08:59,400 Die Testung ist hier, stellen den Zustand eines Objekts da und testen Programme schrittweise. 88 00:08:59,900 --> 00:09:03,840 Das haben Sie hier auch umgesetzt. Anhand der Testklasse gehen wir gleich nochmal ein. 89 00:09:04,272 --> 00:09:07,412 So, wie kommen Sie da jetzt vom Text zur Klasse? 90 00:09:08,612 --> 00:09:15,332 Sprechenden Namen verwenden, immer darauf bestehen und dann müssen Sie hier vielleicht im Plenum, 91 00:09:15,452 --> 00:09:18,892 je nach Vorkenntnisse, die Attribute festlegen. 92 00:09:19,872 --> 00:09:27,972 Da sind Sie auch hier im Lehrplan den Attributenparametern, Rückgabenvermittlungen, einfache Datentypen zu. 93 00:09:27,972 --> 00:09:31,192 Das heißt, am Anfang in der Einführung, 94 00:09:31,360 --> 00:09:40,680 in die Programmierung gibt es noch keine nicht primitiven Datentypen vom Datentyp String abgesehen. 95 00:09:41,440 --> 00:09:46,820 Das stört erfahrungsgemäß aber niemanden, dass das weder klein geschrieben wird, 96 00:09:47,260 --> 00:09:50,560 wie alle anderen primitiven Datentypen, noch rot hervorgehoben wird. 97 00:09:51,620 --> 00:09:54,480 Das fällt den meisten einfach nicht auf. 98 00:09:54,760 --> 00:09:56,980 Und das ist aber genau der Ansatzpunkt, den sie dann nutzen können. 99 00:09:57,344 --> 00:10:02,124 Wenn sie zu einem späteren Zeitpunkt nicht primitive Datentypen explizit thematisieren, 100 00:10:02,564 --> 00:10:06,404 dann haben sie nämlich immer schon automatisch einen benutzten Vaninproblem, was der ganze 101 00:10:06,404 --> 00:10:07,904 Sache dann förderlich ist. 102 00:10:09,204 --> 00:10:12,524 Okay, also Gewicht und Größe, warum brauchen wir die? 103 00:10:12,704 --> 00:10:17,664 Naja, weil das Eingaben an die Klasse sind, die notwendig und nicht berechenbar sind. 104 00:10:18,944 --> 00:10:21,664 Berechenbare Werte werden nicht als Attribut. 105 00:10:22,820 --> 00:10:29,080 Sondern sind dann methodenlokal, das als grober Richtschnur für Sie zum Vermitteln an Ihre Lerngruppe. 106 00:10:29,880 --> 00:10:37,560 Und das Geschlecht natürlich. Sie könnten natürlich auch einen Char nehmen, wenn Sie noch keinen String einführen wollen. 107 00:10:38,640 --> 00:10:47,100 Ansonsten, diese drei Attribute sind nicht berechenbar und kommen von außen als notwendige Daten in die Klasse hinein, beziehungsweise ins Objekt. 108 00:10:47,620 --> 00:10:49,380 Ok, deswegen sind es Attribute. 109 00:10:49,952 --> 00:10:56,832 Sie müssen sich in irgendeiner Form auseinandersetzen, welche Methoden sie brauchen, nachdem die Attribute geklärt sind. 110 00:10:57,752 --> 00:11:04,132 Sie wissen, eine Klasse besteht immer aus Klassenname, Attributen und Methoden. 111 00:11:04,352 --> 00:11:09,072 Das Konstruktorproblem, da werden Sie darauf eingehen. 112 00:11:09,472 --> 00:11:16,812 Und dann eventuell die Frage, ob Sie mehr als einen Konstruktor verwenden. 113 00:11:17,272 --> 00:11:17,612 Da, da. 114 00:11:17,776 --> 00:11:35,636 Direkt der Tipp für die Kursphase. Wenn Sie das in der Einführungsphase mal machen, also mehr als einen Konstruktor verwenden, dann stört das auch niemanden, erfahrungsgemäß, dass sie gleich heißen und sich nur in der Anzahl ihrer Parameter unterschreiben. 115 00:11:36,356 --> 00:11:45,756 So haben Sie direkt den Übergang als konkretes Beispiel für die Überladung. 116 00:11:46,672 --> 00:11:52,512 Es gibt ja da in der objektorientierten Programmierung das Problem vom Überschreiben und Überladen. 117 00:11:52,692 --> 00:11:57,372 Und wenn Sie das dann irgendwann mal explizit thematisieren, haben Sie hier schon ein Beispiel, 118 00:11:58,112 --> 00:12:02,852 dass das erfolgreich verwendet wurde, ohne dass man da irgendwie mehr hinter vermutet hat. 119 00:12:03,492 --> 00:12:06,312 Und dass das auch nie ein Problem war, auch in Zukunft keins werden wird, 120 00:12:06,592 --> 00:12:10,512 wohl aber mit erhöhtem Wissen über die dahinterstehenden Sachverhalte. 121 00:12:11,472 --> 00:12:14,952 Okay, und der Rest an Methoden ist ein bisschen Geschmackssache. 122 00:12:15,568 --> 00:12:21,608 Da wird dann jeder auch leichte Abweichungen in der Umsetzung haben. 123 00:12:22,868 --> 00:12:27,988 Sie können das vorgeben, so ein Methodenrahmen, ja, so der Kopf, wie er es vorgegeben hat, oder auch nicht. 124 00:12:28,008 --> 00:12:34,808 Das ist, wie gesagt, abhängig von vielen Faktoren, unter anderem vom Kenntnisstand und der konkreten Zielsetzung mit dem Projekt. 125 00:12:35,988 --> 00:12:43,528 Zetter und Getter, da sind wir bei dem Problem der Sichtbarkeiten. 126 00:12:43,848 --> 00:12:45,268 Ich empfehle Ihnen hier 127 00:12:47,320 --> 00:13:12,800 explizit immerhin zu schreiben, was für Sichtbarkeiten vorhanden sind. Die Automatismen von Java sind zwar hilfreich für den Vorgestrittenen, aber eben nicht für den Anfänger. Wenn Sie private Attribute verwenden, was Sie immer machen sollten, dann brauchen Sie automatisch Zetter und Getter. 128 00:13:13,680 --> 00:13:21,860 Ok, die Umsetzung, da möchte ich gar nicht weiter darauf eingehen. Achten Sie beim Unterricht 129 00:13:21,860 --> 00:13:26,860 darauf, dass eine Methode immer genau eine Sache macht und dass Sie vorsichtig sind mit 130 00:13:26,860 --> 00:13:34,360 Ausgaben. Die können zu Testzwecken sehr hilfreich sein, allerdings neigt der Anfänger 131 00:13:34,360 --> 00:13:39,760 dazu, überall eine Ausgabe einzufügen und dann haben Sie später Probleme, wenn das 132 00:13:40,700 --> 00:13:43,460 Modularisierung oder Übertragung auf GUI geht. 133 00:13:45,240 --> 00:13:48,260 Nachdem wir einen Eindruck haben, gehen wir nochmal durch den Lehrplan. 134 00:13:48,860 --> 00:13:54,560 Wir haben Klassen modelliert. Wir haben entsprechende Attribute und Methoden identifiziert. 135 00:13:55,920 --> 00:13:59,020 Das heißt, die ersten beiden Punkte haben wir schon abgearbeitet. 136 00:13:59,500 --> 00:14:04,620 Wir haben die Attribute und Methoden mit den entsprechenden Datentypen versehen. 137 00:14:05,560 --> 00:14:09,060 Und die Sichtbarkeiten eruiert. 138 00:14:10,880 --> 00:14:14,140 Zustand des Objekts, das machen wir in der Testklasse. 139 00:14:15,380 --> 00:14:17,460 Wir haben es dokumentiert. 140 00:14:19,160 --> 00:14:23,360 Achten Sie von Anfang an darauf, wie Sie die Dokumentation haben wollen. 141 00:14:23,700 --> 00:14:30,620 Es ist sehr gewöhnungsbedürftig, sagt die Erfahrung, vernünftige Kommentare zu schreiben. 142 00:14:31,420 --> 00:14:34,980 Wenn Sie da keinen Wert drauf legen, wird es nie was. 143 00:14:34,980 --> 00:14:36,280 Also dieser... 144 00:14:37,906 --> 00:14:42,766 Diese Balance zwischen sinnvollen Kommentaren und überflüssigen oder gar 145 00:14:42,766 --> 00:14:46,306 keinen Kommentaren, die ist in der Praxis nicht so leicht zu finden. Machen Sie sich 146 00:14:46,306 --> 00:14:51,466 der Rechtseich Gedanken zu, wie Sie das umsetzen wollen. Keine Dinge fordern, die 147 00:14:51,466 --> 00:14:55,566 Sie nicht einfordern und zwar ständig. Und vor allen Dingen müssen Sie das 148 00:14:55,566 --> 00:14:59,286 natürlich richtig vormachen, ja auch ständig, sonst wird das nichts. Führen 149 00:14:59,286 --> 00:15:03,606 durch Vorbild, nichts anderes. Analysieren und erläutern eine 150 00:15:03,606 --> 00:15:05,386 objektorientierte Modellierung, ja. 151 00:15:05,696 --> 00:15:12,296 Es ist zwar nur eine Klasse, aber es ist letzten Endes objektorientiert formuliert und ein Modell für etwas, 152 00:15:12,356 --> 00:15:18,756 nämlich für das Problem, eine BMI-Wagge zu programmieren mit Java. Also ist es eine objektorientierte Modellierung, 153 00:15:18,956 --> 00:15:22,996 wenn gleich keine umfangreiche. Naja, das kann man in der EF auch nicht erwarten. 154 00:15:23,356 --> 00:15:27,596 Das heißt, wir haben bis auf die Testung hier alles schon abgehakt. 155 00:15:27,596 --> 00:15:35,476 Und was den Algorithmus-Part angeht, es wurde ein Problem analysiert. 156 00:15:36,700 --> 00:15:52,000 Und ein Lösungsverfahren, ein eindeutiges Lösungsverfahren für das BMI-Wage -Problem entworfen, also haben wir einen Algorithmus formuliert und auch implementiert und bald getestet. 157 00:15:52,260 --> 00:15:58,660 Das heißt, bis auf die Testung und den Zustand eines Objekts ist hier alles erschlagen. 158 00:15:58,660 --> 00:16:05,100 Besagt, getan, Tester, ich empfehle Ihnen von Testklassen, 159 00:16:06,248 --> 00:16:14,188 Gebrauch zu machen. Da üben Sie die gleichen Dinge, wie sie bei Klassenentwurf selbst auch vorkamen. 160 00:16:14,308 --> 00:16:21,468 Welche Methoden werden benötigt, wie sieht es mit den Datentypen aus, welche Sichtbarkeiten haben die 161 00:16:21,468 --> 00:16:25,168 und wie werden Methoden aufgerufen. 162 00:16:29,568 --> 00:16:33,748 Ob Sie Hilfsklassen verwenden oder nicht, das bleibt natürlich Ihnen überlassen. 163 00:16:33,748 --> 00:16:34,868 Ich empfehle Ihnen 164 00:16:35,216 --> 00:16:44,456 alles so einfach wie möglich zu erhalten. Nicht für jedes Problemchen ein extra Tool oder eine extra Klassenbibliothek. 165 00:16:46,116 --> 00:16:50,496 Das müssen wir über testen, wie Sie selbst damit klarkommen. 166 00:16:51,476 --> 00:16:57,476 Wichtig dann bei jeder Testklasse, sprech einen Namen verwenden und natürlich braucht man ein Testobjekt. 167 00:16:57,476 --> 00:17:00,116 Okay, so, dann. 168 00:17:04,058 --> 00:17:21,838 Was haben wir hier? Ja, da kümmern wir uns jetzt nicht drum, sodass sie hier alle 169 00:17:21,838 --> 00:17:31,718 Lehrplan, gelb markierten Lehrplan Anforderungen in diesem kleinen Projekt 170 00:17:31,718 --> 00:17:33,218 schon erfüllt haben. 171 00:17:36,146 --> 00:17:43,486 Gehen wir nochmal auf die Fachinhalte ein. Wir haben eine Klasse entworfen nach einer textuell beschriebenen Situation. 172 00:17:43,686 --> 00:17:49,686 Wir haben Attribute und Methoden sowie die Sichtbarkeiten und die Datentypen dieser Klasseninhalte festgelegt. 173 00:17:50,006 --> 00:17:53,566 Wir haben diverse Methoden aufgerufen, unter anderem auch in der Testklasse. 174 00:17:54,626 --> 00:17:58,546 Da wir Attribute private versehen haben, haben wir Setter und Getter. 175 00:17:58,896 --> 00:18:07,276 Benötigt und das ganze dokumentiert, sodass wir selbst und jeder, der das extern liest, auch morgen noch verstehen, warum wir gewisse Dinge gemacht haben. 176 00:18:08,096 --> 00:18:15,836 Je nachdem, wie viel Code sie vorgeben, haben sie mehr oder weniger viel Code analysiert und erweitert. 177 00:18:16,016 --> 00:18:19,676 Erweitert in jedem Fall, analysiert je nachdem. 178 00:18:21,316 --> 00:18:24,656 Wenn sie bei Null angefangen haben, gab es da nicht viel zu analysieren. 179 00:18:25,932 --> 00:18:29,512 Ansonsten können sie auch ein vollständiges Projekt zur Verfügung stellen. 180 00:18:30,132 --> 00:18:36,692 Es wurde ein Lösungsverfahren für ein Problem entworfen, unsere Klasse, implementiert und getestet. 181 00:18:36,872 --> 00:18:44,132 Wir haben einen Test durchgeführt, in dem Fall per Testklasse und den Zustand eines Objekts erfahren, 182 00:18:44,632 --> 00:18:47,012 nämlich indem wir die Ausgabe getätigt haben. 183 00:18:48,692 --> 00:18:51,712 Das lauffähige Programm habe ich Ihnen am Anfang gezeigt. 184 00:18:52,080 --> 00:19:05,640 Da wurden die Attributwerte und die berechneten Werte der BMI selbst auf der Konsole ausgegeben, also der Objektszustand untersucht. 185 00:19:08,200 --> 00:19:17,120 Und wenn Sie sich jetzt kurikular betrachtet klar machen, das Inhaltsfeld 1 und 2, also 2 von 5. 186 00:19:17,712 --> 00:19:24,952 wurden zum größten Teil bereits in diesem einführenden Projekt bearbeitet. 187 00:19:25,912 --> 00:19:31,592 Und das nimmt vielleicht ein bisschen die Bedenken, die man als Anfänger hat, 188 00:19:32,532 --> 00:19:34,052 wenn man solche Listen sieht. 189 00:19:35,892 --> 00:19:39,892 Gehen Sie nicht von diesen Listen aus und bauen dann Ihre Projekte, 190 00:19:39,992 --> 00:19:46,652 sondern bauen Sie Ihre Projekte und bearbeiten oder prüfen anschließend diese Lehrplanlisten. 191 00:19:47,424 --> 00:19:56,044 Wenn Sie das Projekt BMI-Waage also konzipiert haben, dann gehen Sie mal hier durch und markieren 192 00:19:56,044 --> 00:20:04,344 sich in ähnlicher Weise, was an Lehrplaninhalten wurde denn da bereits erfasst und da werden 193 00:20:04,344 --> 00:20:11,004 Sie auch in den anderen Bereichen feststellen, der Lehrplan geht recht zügig in solchen 194 00:20:11,004 --> 00:20:14,764 konkreten Unterrichtsarbeiten auf. 195 00:20:16,512 --> 00:20:24,272 Hier abschließend nochmal eine mögliche Formulierung, wie man das als Arbeitsblatt verteilen könnte. 196 00:20:25,152 --> 00:20:32,612 Der Hintergrund dieser Formulierung ist, dass die Lehrgruppe noch relativ wenig Programmiererfahrung hat. 197 00:20:32,712 --> 00:20:37,572 Das ist also ein Projekt, das im Anfangsunterricht auch wirklich ziemlich am Anfang steht. 198 00:20:38,292 --> 00:20:40,512 Deswegen alles sehr kleinschrittig. 199 00:20:41,184 --> 00:20:46,584 Durchgeführt und ein Punkt, den ich Ihnen abschließend auch mit auf den Weg geben kann, 200 00:20:47,644 --> 00:20:54,024 ist die Problematik der Namensgebung und 201 00:20:55,384 --> 00:20:59,064 Methoden, Anzahl und Art im Anfangsunterricht. 202 00:20:59,924 --> 00:21:03,484 Es werden logischerweise, was Sie ja mit Anfängern zu tun haben, 203 00:21:04,444 --> 00:21:07,724 alle möglichen Probleme auftauchen und Sie werden recht viel 204 00:21:07,724 --> 00:21:09,984 ähnliche Fragen beantworten müssen. 205 00:21:10,816 --> 00:21:14,636 Vom Semikolon vergessen, über falsche Klammern und so weiter und so fort. 206 00:21:15,156 --> 00:21:17,996 Und es ist nicht zu empfehlen, dass Sie sich da lange einlesen müssen. 207 00:21:19,496 --> 00:21:24,016 Gerade in den ersten Wochen der Einführung in die Programmierung 208 00:21:24,016 --> 00:21:26,756 steht zu empfehlen, dass Sie Dinge vorgeben. 209 00:21:27,376 --> 00:21:28,496 Ja, hier zum Beispiel 210 00:21:28,996 --> 00:21:33,136 ist der Name der Klasse vorgegeben und die Attribute 211 00:21:34,436 --> 00:21:35,396 konkret benannt. 212 00:21:35,736 --> 00:21:37,776 Das heißt, wenn Sie also rumgehen, 213 00:21:38,448 --> 00:21:41,508 dann heißen die Dinge über allen gleich. 214 00:21:41,868 --> 00:21:45,668 Und wenn Sie dann hier die zentrale Methode Body Mass Index, 215 00:21:46,108 --> 00:21:47,508 wenn Sie da einen Fehler suchen, 216 00:21:47,968 --> 00:21:49,828 dann müssen Sie nicht jedes Mal umdenken, 217 00:21:49,968 --> 00:21:52,868 wie hat denn Fritz Müller das jetzt hier genannt, 218 00:21:53,168 --> 00:21:54,668 ja, die Größe, 219 00:21:54,848 --> 00:21:56,768 und wie hat das Lieschenmüller gemacht. 220 00:21:59,888 --> 00:22:02,788 Dadurch wird auch gleichzeitig ein gutes Vorbild 221 00:22:02,788 --> 00:22:04,208 für sprechende Namen gegeben. 222 00:22:04,308 --> 00:22:05,588 Und die Schüler fangen nicht an, 223 00:22:05,588 --> 00:22:08,348 die Sachen zu nennen, sprechende Namen. 224 00:22:08,816 --> 00:22:32,256 Natürlich, je weiter die Kenntnisse fortgeschritten sind, desto weniger geführt muss das Ganze sein und das müssen sie irgendwann sowieso aufgeben, weil ja dann gerade die Flexibilität und auch ein Teil der Kreativität im Auge des Betrachters liegt und die Leute einfach mal machen sollen, ohne dass viel Rahmen vorgegeben ist. 225 00:22:32,256 --> 00:22:36,036 Ja, gut, dann. 226 00:22:36,912 --> 00:22:42,972 Ich hoffe, dass Ihnen das Curriculum hier anhand eines konkreten Projekts ein bisschen 227 00:22:42,972 --> 00:22:48,752 einsichtiger geworden ist und wie gesagt, lassen Sie sich nicht zu sehr von solchen 228 00:22:48,752 --> 00:22:55,512 Lehrplänen schocken, die sind weniger umfangreich, als man immer denkt. 229 00:22:56,332 --> 00:22:56,992 Viel Erfolg!