Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

Vor­über­le­gun­gen

Ob­jekt­ori­en­tier­te Pro­gram­mie­rung mit allem, was da­zu­ge­hört, ist schwer! Sie be­rei­tet den Schü­lern zu Be­ginn oft Pro­ble­me. Es ist schwer nach­zu­voll­zie­hen, wie die gan­zen klei­nen Code­s­eg­men­te (der ein­zel­nen Me­tho­den) zu­sam­men­hän­gen. Die Schü­ler ver­lie­ren leicht den Über­blick, wel­che Me­tho­de wo von wem auf­ge­ru­fen wird, da das Pro­gramm nicht ein­fach li­ne­ar von oben nach unten ab­ge­ar­bei­tet wird. Den Nut­zen der OOP durch bes­se­re Struk­tu­rie­rung des Quell­tex­tes und die mög­li­che Wie­der­ver­wen­dung der Klas­sen er­ken­nen sie oft gar nicht, da im Un­ter­richt nur klei­ne Pro­jek­te um­ge­setzt wer­den. Not­wen­dig/sinn­voll wird ob­jekt­ori­en­tier­te Pro­gram­mie­rung nur dann, wenn grö­ße­re Pro­jek­te um­ge­setzt wer­den.

Diese Un­ter­richts­ein­heit soll­te daher nicht mit Pro­gram­mier­an­fän­gern durch­ge­führt wer­den. Die Schü­ler soll­ten schon Er­fah­run­gen mit Java-Pro­gram­mie­rung ge­sam­melt haben. Der Lern­an­satz „ob­jects first“, der von vie­len In­for­ma­tik­di­dak­ti­kern un­ter­stützt wird, lässt sich nur dann um­set­zen, wenn man sich zu­nächst auf ein­zel­ne, ein­fa­che Klas­sen be­schränkt, wie dies auch am An­fang des hier vor­ge­schla­ge­nen Un­ter­richts­gangs (6er-Wür­feln) emp­foh­len wird. Da­nach müss­ten aber wei­te­re Auf­ga­ben mit ähn­li­chem Schwie­rig­keits­grad fol­gen.

Unser Ziel lag hin­ge­gen darin, einen Vor­schlag für einen Un­ter­richts­gang zu er­ar­bei­ten, der auf die Um­set­zung von „grö­ße­ren“ Soft­ware­pro­jek­ten aus­ge­rich­tet ist, in denen alle wich­ti­gen Kon­zep­te der Ob­jekt­ori­en­tie­rung (As­so­zia­ti­on, Ag­gre­ga­ti­on, Ver­er­bung, abs­trak­te Klas­sen und Me­tho­den, Po­ly­mor­phie) vor­kom­men. Im Pro­jekt soll­te au­ßer­dem eine große An­zahl von Ob­jek­ten aus den Klas­sen er­stellt wer­den, um den Un­ter­schied zwi­schen Klas­se und Ob­jekt mög­lich deut­lich wer­den zu las­sen. Um die ge­sam­te Un­ter­richts­dau­er nicht aus­ufern zu las­sen, steigt der Schwie­rig­keits­grad nach einer Ein­füh­rungs­pha­se schnell an.

Wir haben uns ent­schie­den, den Un­ter­richts­gang in zwei Stu­fen zu glie­dern. In der ers­ten Stufe er­ar­bei­ten sich die Schü­ler die Kon­zep­te der ob­jekt­ori­en­tier­ten Pro­gram­mie­rung an­hand des Pro­jek­tes „dy­na­mi­sche Geo­me­trie­soft­ware“ mit Hilfe eines aus­führ­li­chen Leit­pro­gramms weit­ge­hend selbst. Nur an kon­zep­tio­nell sehr schwie­ri­gen Stel­len wird das Leit­pro­gramm durch wei­te­re Prä­sen­ta­tio­nen oder Übun­gen er­gänzt.

Daran an­schlie­ßend sol­len die Schü­ler in einer zwei­ten Stufe ler­nen, wie sie selbst einen ge­eig­ne­ten Klas­sen­ent­wurf fin­den und die­sen an einem wei­te­ren Pro­jekt um­set­zen. Dafür ste­hen ver­schie­de­ne Pro­jek­te (die Wür­fel­spie­le Bar­bu­di und Craps, das Kar­ten­spiel Black­Jack oder eine Er­wei­te­rung des Geo­me­trie­pro­jekts in 3-di­men­sio­na­le Dar­stel­lung) be­reit.

Der Zeit­auf­wand für die voll­stän­di­ge Um­set­zung des Un­ter­richts­gangs ist recht hoch. Es ist daher je nach zur Ver­fü­gung ste­hen­der Zeit und Ni­veau des Kur­ses durch­aus denk­bar, nur die 1. Stufe im Un­ter­richt um­zu­set­zen.

 

 

Un­ter­richts­gang: Her­un­ter­la­den [odt][60 KB]

 

Wei­ter zu Ein­stieg