1 00:00:00,122 --> 00:00:08,542 Was muss man sich jetzt unter der objektorientierten Programmierung vorgeschrittene Konzepte im wesentlichen vorstellen? 2 00:00:08,642 --> 00:00:29,122 Das ist eine ganze Menge. Und meiner Ansicht nach ist es besonders wichtig für sie als Lehrkraft, dass sie diese ganzen Konzepte, Begrifflichkeiten, Ideen im Vorfeld 3 00:00:30,048 --> 00:00:36,868 durchdenken und sich intensiv Gedanken machen, wie sie das vermitteln wollen. 4 00:00:37,348 --> 00:00:45,628 Denn sie wissen selber, dass die Konzepte der objektorientierten Programmierung sehr eng miteinander verwoben sind. 5 00:00:46,208 --> 00:00:52,948 Und diese Verzahnung ist natürlich insofern schwierig, als wenn sie das zum ersten Mal hören. 6 00:00:54,148 --> 00:00:57,608 Dann bedingt eines das andere, sie haben aber noch keine Klarheit im Kopf. 7 00:00:58,842 --> 00:01:04,562 dass sich diese Klarheit entwickelt bei Ihren Lernenden. Das ist ja Ihre Aufgabe. 8 00:01:06,842 --> 00:01:13,902 Das heißt, überlegen Sie sich, wie Sie was wann erklären, darstellen, üben lassen, 9 00:01:14,382 --> 00:01:18,482 verzahnen und machen Sie sich besonders Gedanken, wie Sie die Übungen 10 00:01:18,482 --> 00:01:27,302 gestalten wollen. Das als Vorwort, welche Inhalte 11 00:01:27,456 --> 00:01:31,816 kommen einem denn da so im Wesentlichen entgegen? Das ist zum Einen das 12 00:01:33,116 --> 00:01:35,176 Object als Datentyp. 13 00:01:35,436 --> 00:01:37,656 Das ist praktisch diese 14 00:01:37,656 --> 00:01:44,856 datentyp-freie Box, wo man alles reinpacken kann. Das hört sich ja zunächst mal nach einer guten Idee an, hat aber, wie Sie wissen, 15 00:01:45,916 --> 00:01:49,856 entscheidende Nachteile. Hebelt unter anderem die Typprüfung auf und die ist ja gerade 16 00:01:51,076 --> 00:01:56,016 sind objektorientierter Programmierung, sodass sie dann wieder zurückrudern müssen und andere 17 00:01:57,536 --> 00:01:57,636 Inhalte kommen. 18 00:01:58,608 --> 00:02:04,308 Konzepte als sinnvoll erscheinen, weil es objekt alleine als datentyp nicht so 19 00:02:04,308 --> 00:02:11,168 wirklich bringt. Sie werden primitive und nicht primitive datentypen unterscheiden, 20 00:02:11,448 --> 00:02:17,208 dann zum begriff der referenzvariablen kommen für nicht primitive datentypen, 21 00:02:17,388 --> 00:02:22,608 weil eben nur call by reference aktiviert wird, also die referenz 22 00:02:22,608 --> 00:02:26,948 übergeben wird beispielsweise bei einem methodenaufruf, während bei call by 23 00:02:26,948 --> 00:02:27,288 reference aktiviert wird. 24 00:02:27,664 --> 00:02:32,964 tatsächlich eine Kopie 25 00:02:32,964 --> 00:02:38,604 übergeben wird. Sie also nur bei call by reference, das ist wirklich mit dem Original zu tun haben. 26 00:02:39,824 --> 00:02:43,544 Da kriegt man als Anfänger schnell einen Knoten im Kopf, das müssen wir sorgfältig erklären. 27 00:02:45,184 --> 00:02:53,284 Prinzip der Datenkapselung, das Geheimnisprinzip. Ein Objekt kümmert sich nur um seine eigenen Daten und um nichts anderes. 28 00:02:53,284 --> 00:02:56,444 Keiner 29 00:02:56,720 --> 00:03:04,480 soll von den Daten was wissen, außer das Objekt. Und dann haben sie natürlich direkt die Frage, ja, wie können die 30 00:03:04,480 --> 00:03:08,800 Nutzer der Daten dann kommunizieren mit 31 00:03:08,800 --> 00:03:13,720 dem Objekt und wie können die an die Daten rankommen? Da kommen sich das Setter und Getter 32 00:03:14,820 --> 00:03:19,140 Überlegungen, die sie teilweise auch in der Einführungsphase schon 33 00:03:19,820 --> 00:03:22,660 erklärt haben, als sie 34 00:03:22,660 --> 00:03:26,320 den Aufbau von Klassen thematisiert haben, das wir dann hier 35 00:03:26,608 --> 00:03:32,488 nochmal reflektiert und auf einer abstrakteren Ebene 36 00:03:32,488 --> 00:03:36,628 oder komplexeren Ebene, so muss ich sagen, wiederholt oder eingebettet. 37 00:03:37,388 --> 00:03:43,348 Dann geht es mit der Vererbung los und mit den Konsequenzen, die daraus 38 00:03:43,348 --> 00:03:46,508 entstehen, nämlich Hierarchien von Klassen, 39 00:03:47,008 --> 00:03:52,188 dem Prinzip der Ersetzbarkeit. Sie wissen, wenn sie 40 00:03:52,188 --> 00:03:55,148 eine Variable deklarieren, dann 41 00:03:55,520 --> 00:04:05,880 mit einem nicht primitiven Datentypen, dann kann der Datentyp selbst da natürlich als Objekt drin stecken oder alle seine Unterklassen, weil die den Anforderungskatalog hier erfüllen. 42 00:04:08,380 --> 00:04:16,140 Das wiederum führt zu den Ideen des statischen und dynamischen Datentypens und des gar nicht so 43 00:04:16,140 --> 00:04:19,120 leicht zu durchdringenden dynamischen Methoden auf Rufs. 44 00:04:20,440 --> 00:04:21,900 Weil in einem 45 00:04:22,528 --> 00:04:31,048 in einer Variable vom dynamischen Datentyp a sowohl Objekte des Datentyps a als auch all seiner 46 00:04:31,048 --> 00:04:37,648 Unterklassen drin stecken können weiß man ja Apriori nicht mehr welche Art von Methode da jetzt 47 00:04:37,648 --> 00:04:50,808 nur aufgerufen wird die aus a oder die aus den Unterklassen überschriebenen dynamischer 48 00:04:50,808 --> 00:04:51,688 Methoden aufruf 49 00:04:52,000 --> 00:04:53,780 für zur Methodenbindung 50 00:04:53,780 --> 00:04:57,580 und dem Konzept von überladen und überschreiben 51 00:04:59,120 --> 00:05:03,140 das müssen sie erst mal selber noch mal reflektieren 52 00:05:03,140 --> 00:05:08,540 und dann wie gesagt sich fragen wie kann ich das vernünftig erklären 53 00:05:08,540 --> 00:05:13,080 schön progressiv und mit reichlich Übung 54 00:05:15,360 --> 00:05:18,940 ok dann gibt es als sagen wir mal 55 00:05:21,128 --> 00:05:24,028 fortgeschrittenere Modellierungsinstrumente, so würde ich das mal 56 00:05:24,028 --> 00:05:29,068 beschreiben wollen. Die reinen abstrakten Klassen, also die Interfaces, dann die 57 00:05:29,068 --> 00:05:37,148 abstrakten Klassen und die generischen Datentypen und das ganze Modell 58 00:05:37,148 --> 00:05:42,608 orientiert als Entwurfs- und Implementationsdiagramme. 59 00:05:43,268 --> 00:05:46,668 Letztere müssten sie vor allen Dingen lesen und implementieren können. 60 00:05:47,120 --> 00:06:16,020 Als Schüler entwerfen eher weniger, also das ist zwar Teil des Lehrplans, aber in den Abiturarbeiten, weil das so lange dauert, geht es eher darum, fertige Entwurfs- und/oder Implementationsdiagramme verständlich lesen, interpretieren, danach und früher aufschreiben zu können und Teile zu implementieren oder Erweiterungen vorzunehmen. 61 00:06:16,560 --> 00:06:27,340 Genierische Datentypen sind ziemlich Standard geworden in den letzten Jahren im Abitur. 62 00:06:28,260 --> 00:06:41,280 Abstrakte Klassen eher weniger, Interfaces durchaus öfter als abstrakte Klassen, aber 63 00:06:41,280 --> 00:06:42,660 auch wieder nicht so häufig. 64 00:06:43,140 --> 00:06:45,860 Ich sehe persönlich die Interfaces mehr als 65 00:06:46,336 --> 00:06:53,316 sinnvoller Schritt innerhalb der sinnvollen Erweiterung des Klassenkonzepts 66 00:06:53,316 --> 00:06:57,716 im Verhältnis mit Vererbung und Klassenhierarchien. Wenn es darum geht 67 00:06:57,716 --> 00:07:06,016 komplexere objektorientierte Modelle zu erstellen und entsprechend 68 00:07:06,016 --> 00:07:11,596 leistungsfähige Modellierungsinstrumente zu haben. Da machen Interfaces natürlich 69 00:07:11,596 --> 00:07:14,956 Sinn genauso wie abstrakte Klassen, aber 70 00:07:15,280 --> 00:07:21,300 rein von der Quantität des Vorkommens in den Abiturklausuren im Grundkurs 71 00:07:21,300 --> 00:07:23,080 sind die jetzt 72 00:07:23,080 --> 00:07:25,500 sagen wir mittelprächtig relevant. 73 00:07:28,140 --> 00:07:32,360 Gut, also das ist, wie Sie sehen, eine ganze Menge. Sie wissen auch, das sind nun mal 74 00:07:32,360 --> 00:07:36,980 die zentralen Ankerpunkte der vorgeschrittenen Objektorientierung, 75 00:07:37,100 --> 00:07:37,840 was Sie 76 00:07:37,840 --> 00:07:39,640 das Konzeptionelle angeht. 77 00:07:40,860 --> 00:07:44,220 Und denken Sie sich da in Ruhe ein, sprechen Sie mal mit erfahrenen 78 00:07:44,256 --> 00:07:52,876 Kollegen, wie die da vorgehen, schauen sich die Lehrbücher ein, erinnern sich an ihr eigenes Fachwissen aus den Vorlesungen. 79 00:07:55,316 --> 00:08:02,696 Dann wird natürlich noch in anderen Themengebieten ein bisschen programmiert, da sind vor allen Dingen Datenbanken und Netzwerke. 80 00:08:02,936 --> 00:08:12,016 Zu nennen die Netzwerkprogrammierung ist nur im Leistungskurs momentan relevant, während Datenbanken in Form von SQL auch 81 00:08:12,176 --> 00:08:19,136 auf einer Teilmenge operierend im Grundkurs relevant sind. Sie müssen allerdings im Grundkurs nicht per Java 82 00:08:20,136 --> 00:08:26,236 auf Datenbanken zugreifen über SQL. Das machen sie nur im Leistungskurs. 83 00:08:29,176 --> 00:08:38,416 Je nachdem, wie fit sie da sind, müssen sie sich dann auch mehr oder weniger breit einlesen, auch da liegen aber wieder fertige Klassen 84 00:08:38,416 --> 00:08:40,976 zugrunde, die sie dann nutzen müssen. 85 00:08:41,456 --> 00:08:48,416 Auch wenn sie SQL und Netzwerk-Programmierheld sind, müssen sie sich trotzdem da einarbeiten, 86 00:08:48,636 --> 00:08:55,056 denn es sind halt die zugrundeliehenden Klassen zu nutzen, die nur wenige Methoden haben 87 00:08:55,056 --> 00:09:00,916 und damit müssen sie dann die Probleme, die Aufgabenstellungen in Griff kriegen. 88 00:09:01,896 --> 00:09:10,416 Die sind aber, wie alle Aufgaben im Abitur und generell an Schule, in ihrer Komplexität natürlich begrenzt. 89 00:09:10,544 --> 00:09:22,064 Sie haben ja nicht drei Monate Zeit, irgendein Programm zu erstellen, sondern sollen exemplarisch lernen und das hat natürlich eine Komplexitätsreduktion zur Folge. 90 00:09:22,544 --> 00:09:38,044 Sodass sie recht viel tatsächlich in der Oberstufe in Informatik machen und durchaus eine sehr solide Ausbildung genießen können, das sei auch mal gleich gesagt, als Lernender, wenn sie einen guten Lehrer haben. 91 00:09:38,044 --> 00:09:39,884 Allerdings... 92 00:09:39,904 --> 00:09:50,264 Aus Sicht der Lehrenden ist das jetzt so zu sehen, dass die natürlich nicht hinter jedem Begriff die epische Breite stehen haben, wie an der Hochschule. 93 00:09:50,944 --> 00:09:57,124 Das versteht sich von selbst, ist aber als Referendar dann durchaus mal hilfreich, wenn man das gesagt bekommt. 94 00:09:57,864 --> 00:10:06,744 Sie sehen da so viele Dinge, in die sie sich mal wieder einarbeiten müssen, was sie vergessen haben oder vielleicht in Einzelaspekten auch nie wirklich gehört haben. 95 00:10:06,744 --> 00:10:08,764 Aber das ist jetzt immer noch... 96 00:10:09,232 --> 00:10:19,532 in überschaubarem Umfang. Sie müssen jetzt nicht eine 2-semestrieige Vorlesung über Datenbanken nochmal wiederholen, nur weil sie SQL dann Schule unterrichten müssen. 97 00:10:20,972 --> 00:10:28,872 Also immer ruhig Blut und das meiste lässt sich durch gute Vorbereitung und vorausschauendes Arbeiten ganz gut den Griff kriegen. 98 00:10:30,772 --> 00:10:39,152 Ja, was kommt nicht vor? Das ist immer wichtig, sich zu fragen, wenn man sich fragt, was kommt vor, was kommt dann nicht vor? 99 00:10:39,232 --> 00:10:39,272 Also immer ruhig Blut und das meiste lässt sich durch gute Vorbereitung und vorausschauendes Arbeiten ganz gut den Griff kriegen. 100 00:10:39,408 --> 00:10:47,008 Ganz wichtig, meiner Ansicht nach, der fast komplette Bereich des Software -Engineerings entfällt. 101 00:10:47,788 --> 00:10:57,088 Warum? Da sie ja nur Projekte überschaubarer Komplexität machen müssen. 102 00:10:57,568 --> 00:11:03,408 Optional ist immer eine andere Frage, machen müssen, brauchen sie auch nicht ausgeklügelte 103 00:11:03,408 --> 00:11:09,268 UML-Diagramme mit allen möglichen Werkzeugen und Optionen. 104 00:11:09,840 --> 00:11:33,700 Der Software-Engineering, also das, was Sie da, wenn Sie so eine Vorlesung gehört haben, gelernt haben, dann können Sie im Wesentlichen vergessen an Schule, hat natürlich den Vorteil, dass Ihnen diese ganzen Probleme, die erst ab einem gewissen Komplexitätsgrad entstehen, erspart bleiben als Lehrkraft. 105 00:11:35,760 --> 00:11:40,920 30 Klassen und zehntausende von Zahlen Code kommen an Schule nicht vor. 106 00:11:43,280 --> 00:11:47,960 Keine Codeaufbläher sind obligatorisch, so habe ich die mal genannt, weil sie blähen, 107 00:11:47,960 --> 00:11:53,200 wie sie wissen, den Code auf und tragen nicht unbedingt zum Verständnis bei. 108 00:11:53,900 --> 00:11:59,860 Was ist darunter zu verstehen? Insbesondere grafische Benutzeroberflächen 109 00:11:59,860 --> 00:12:03,540 und das ganze Event-Handling ums selbige zum Leben. 110 00:12:03,632 --> 00:12:11,312 Das entfällt komplett an Schule, obligatorisch. Es ist nicht Abitur-relevant. 111 00:12:11,872 --> 00:12:17,552 Es gibt keine GUIs und kein Event-Handling, obligatorisch. 112 00:12:18,132 --> 00:12:23,392 Ich sage das nochmal, es gibt keine GUIs und kein Event-Handling im Pflichtbereich. 113 00:12:25,132 --> 00:12:28,572 Mein persönlicher Tipp ist, lassen Sie das entweder komplett weg, 114 00:12:28,592 --> 00:12:36,012 aus dem Unterricht, weil es nicht nur nicht Abitur-relevant ist. Es bringt auch meiner Ansicht nach nichts an informatischem Mehrwissen. 115 00:12:37,112 --> 00:12:43,412 Und wenn Sie es dann doch verwenden, dann entweder als Zusatzaufgabe für die Schnellen, da ist sicherlich eine gute Idee, 116 00:12:43,952 --> 00:12:50,992 oder aber in Form von fertigen GUIs. Wenn Sie sagen, ja, man soll auch mal mehr als eine Textzeile sehen, ok, 117 00:12:51,832 --> 00:12:57,892 aber dann empfehle ich Ihnen dringend, machen Sie das GUI, geben das als fertige Vorlage vor, 118 00:12:58,288 --> 00:13:05,108 und die Lerngruppe kann das dann einfach nur nutzen, aber das "einfach nur" müssen Sie sich auch überlegen, 119 00:13:05,328 --> 00:13:10,288 sonst haben Sie wieder Zusatzprobleme geschaffen, die dann vom eigentlichen Inhalt ablenken. 120 00:13:10,748 --> 00:13:14,268 Ja, so lange redet ein kurzer Sinn, wenn es rein ums Lernen geht und darum geht es, 121 00:13:14,288 --> 00:13:19,868 an Schule eigentlich ursprünglich, tut es auch die Kommando-Zahl, tatsächlich. 122 00:13:20,488 --> 00:13:23,748 Ja, und da hat sich, da beschweren sich die Schüler auch nicht drüber. 123 00:13:23,808 --> 00:13:27,428 Das ist auch so ein Märchen, was gerne erzählt wird. 124 00:13:31,328 --> 00:13:35,208 Gut, unüberschaubare Klassenhierarchien, die werden Sie auch nicht finden, weil wie 125 00:13:35,208 --> 00:13:42,388 gesagt die Komplexität hat enge Grenzen und Wald an Bibliotheken, die Sie da nutzen können 126 00:13:42,388 --> 00:13:46,108 oder sollten, damit Sie nicht alles selber machen, der gibt im Wesentlichen auch nicht 127 00:13:46,108 --> 00:13:46,628 an Schule. 128 00:13:48,108 --> 00:13:54,208 Und die ganzen Problemfälle, Sonderfälle und Sand im Getriebe Mechanismen, die Ihnen 129 00:13:54,208 --> 00:13:56,668 bei richtigen Softwareprojekten unterkommen, die ... 130 00:13:57,600 --> 00:14:04,280 Davon sind sie im Wesentlichen aufgrund der geringen Komplexität der Projekte auch verschont. 131 00:14:05,200 --> 00:14:08,340 Und das sollte doch Mut machen, wenn sie nicht gerne programmieren. 132 00:14:08,980 --> 00:14:12,820 Dann sagen wir mal so ein kleines Programmchen, da kriegt nur jeder Informatiker hin. 133 00:14:13,560 --> 00:14:16,680 Aber sie müssen da jetzt nicht ein episches Werk produzieren. 134 00:14:19,580 --> 00:14:24,200 Gut, was sagt uns das? Wie könnte ein Resümee lauten? 135 00:14:24,200 --> 00:14:27,680 Ich empfehle Ihnen dringend ... 136 00:14:27,728 --> 00:14:32,688 ... rechtzeitig und vorausschauend in die Einarbeitung zu gehen. 137 00:14:33,548 --> 00:14:34,868 Das können Sie ... 138 00:14:34,868 --> 00:14:39,948 ... schon während des Studiums machen, natürlich ... 139 00:14:39,948 --> 00:14:40,988 ... oder aber ... 140 00:14:40,988 --> 00:14:43,248 ... im Referendariat, ... 141 00:14:43,248 --> 00:14:46,548 ... am besten beides zusammen in Kombination, ... 142 00:14:46,548 --> 00:14:50,868 ... nutzen Sie die alten Abiturarbeiten, wenn es darum geht, ... 143 00:14:50,868 --> 00:14:55,988 ... die im Lehrplan abgedruckten Inhalte wirklich so mit Leben zu füllen. 144 00:14:56,320 --> 00:15:02,180 Denn aus den Lehrplänen wird weder der Stellenwert noch Breite und Tiefe 145 00:15:02,180 --> 00:15:03,480 so richtig deutlich. 146 00:15:04,200 --> 00:15:07,180 Ja, da steht alles Mögliche, aber nicht alles ist gleich relevant. 147 00:15:07,700 --> 00:15:09,800 Da helfen Ihnen alte 148 00:15:09,800 --> 00:15:13,280 Abiturarbeiten des Zentralabiturs doch sehr weiter. 149 00:15:14,660 --> 00:15:18,820 Ferner der schon gegebenen Tipp, lassen Sie diesen ganzen Schnickschnack weg, 150 00:15:19,120 --> 00:15:21,980 lagern Sie das in Zusatzaufgaben aus 151 00:15:26,198 --> 00:15:32,158 Fahren Sie erstmal ein reines Pflichtprogramm in dem Sinne, dass Sie sich auf die Inhalte 152 00:15:32,158 --> 00:15:38,438 konzentrieren, die tatsächlich obligatorisch zu vermitteln sind, optimieren Sie Ihr eigenes 153 00:15:38,438 --> 00:15:44,758 Vorgehen, gewinnen Sie Routine und wenn Sie dann noch sagen, man hat noch Zeit oder 154 00:15:44,758 --> 00:15:49,258 ich möchte dieses oder jenes aufgrund von persönlicher Präferenz ergänzen, dann 155 00:15:49,258 --> 00:15:52,058 können Sie das innerhalb der nächsten Jahre ja immer noch tun. 156 00:15:54,224 --> 00:16:01,404 Belasten Sie wieder sich noch Ihre Lerngruppe mit Dingen, die nicht relevant sind für das Abitur. 157 00:16:01,684 --> 00:16:10,964 Das können Sie nach und nach erweitern, wenn Sie das dann für nötig halten sollten, was der Erfahrung nach meistens dann nicht mehr der Fall ist. 158 00:16:13,044 --> 00:16:19,844 Wenn Sie sich das aussuchen können, was wohl eher nicht der Fall ist, aber nach dem Referendariat nehmen Sie erstmal einen Grundkurs. 159 00:16:20,464 --> 00:16:22,464 Ja, den wird man Ihnen dann eher aufs Auge drücken. 160 00:16:22,944 --> 00:16:32,764 Sammeln Sie Erfahrungen, erstellen Sie Unterlagen für einen Grundkursdurchgang und dann können Sie immer noch die Leistungskursinhalte aufsatteln 161 00:16:32,764 --> 00:16:43,144 und die LK-Inhalte dann im übernächsten Durchgang den schnell motivierten GECA -Schülern als Zusatzaufgabe verpassen. 162 00:16:45,884 --> 00:16:49,464 Wenn Sie im Referendariat sind, da ziehen ganz viele Leute an. 163 00:16:49,696 --> 00:16:54,376 Ihnen in verschiedene Richtungen, behalten Sie aber für sich immer im 164 00:16:54,376 --> 00:16:55,776 Hinterkopf, was passiert 165 00:16:55,776 --> 00:17:01,856 nach dem Referendariat. Dann haben Sie dann die volle Verantwortung über 166 00:17:01,856 --> 00:17:06,036 alle Inhalte und Lerngruppen und je besser Sie 167 00:17:06,036 --> 00:17:10,476 vorbereitet sind, je mehr Sie sich im Referendariat langfristig vorausschauend 168 00:17:10,476 --> 00:17:14,056 eingearbeitet haben, auch in die Inhalte, die Sie nicht direkt im 169 00:17:14,056 --> 00:17:15,676 Referendariat unterrichtet haben. 170 00:17:16,160 --> 00:17:23,900 Sie können ja nicht von 5 bis 13 alles unterrichten im Referendariat. Sie machen ja nur exemplarisch mal Besuch oder eigenständigen Unterricht. 171 00:17:24,500 --> 00:17:41,720 Nutzen Sie die Zeit unbedingt, um sich zumindest in die Oberstufe grundständig einzulesen und da schon mal eine Unterrichtsreihe im Wesentlichen zu konzipieren, Ihre Gedanken zu ordnen, vielleicht schon erstes Material. 172 00:17:43,464 --> 00:18:02,024 Und tatsächlich zu erstellen, sodass Sie es einsetzen können. Das erspart Ihnen ganz viel Arbeit, Aufwand und Kopfchaos, wenn Sie dann nach dem Referendariat Ihren ersten Job verantwortlich übernehmen. 173 00:18:03,524 --> 00:18:04,964 Gut, viel Erfolg! 174 00:18:15,184 --> 00:18:15,404 Vielen Dank für's Zuschauen!