Python og hlutbundin forritun – Að skipuleggja flókin forrit
Tilgangur
Að kynna nemendum grunnatriði hlutbundinnar forritunar (OOP) í Python og sýna hvernig klösar og hlutir gera forrit skipulegri og endurnýtanlegri.
Hæfniviðmið og námsmarkmið
Nemandi getur skilgreint einfaldan klasa í Python og búið til hluti úr honum með eiginleikum og aðferðum.
- Nemandi skilur muninn á klasa og hlut
- Nemandi getur skilgreint klasa með __init__, eiginleikum og aðferðum
- Nemandi getur búið til marga hluti úr sama klasa og notað þá í forriti
Getustig og forsendur nemenda
- Lestur: Nemendur geta lesið og skrifað Python kóða á meðalstigi.
- Tækni: Nemendur þekkja breytur, lykkjur, skilyrði, lista, orðabækur og föll í Python.
- Aðrar forsendur: Nemendur þurfa óhlutbundna hugsun og getu til að sjá mynstur.
Lýsing á kennslustund
Nemendur læra hugtökin klasi (class), hlutur (object), eiginleiki (attribute) og aðferð (method). Þeir búa til einfaldan klasa og nota hann til að búa til marga hluti. Kennslan notar samlíkingu: Klasi er teikning eða leiðbeining – hlutur er raunverulega byggingin sem er smíðuð eftir teikningunni.
1. Kynning – Hvað er OOP? (15 mín): Kennarinn notar samlíkingu: Klasi er eins og teikning af húsi. Hlutur er raunverulega húsið. Sama teikningin getur gefið mörg hús – hvert með sinn lit og stærð (eiginleikar). Kennarinn sýnir dæmi: klasi 'Nemandi' með nafn, aldur og fall heilsa(). 2. Kóðað saman (20 mín): Kennarinn og nemendur skrifa saman: (a) class Gaeludyr: – klasi, (b) def __init__(self, nafn, tegund): – upphafsstilling, (c) self.nafn = nafn – eiginleiki, (d) def heilsa(self): – aðferð, (e) Búa til hluti: minn_hundur = Gaeludyr('Snati', 'hundur'). 3. Verkefnavinna (30 mín): Nemendur forrita leikjapersónukerfi: (a) Búa til klasa 'Persona' með nafn, HP (heilsustig), styrkur, (b) Aðferð 'rada_a(annar)' sem dregur HP frá öðrum, (c) Aðferð 'laekna(magn)' sem bætir HP, (d) Búa til 2-3 persónur og láta þær berjast (with print statements), (e) Bæta við while lykkju – bardagi heldur áfram þar til einn tapar. 4. Samantekt (15 mín): Nemendur sýna bardaga-kerfin sín. Kennarinn dregur saman: Klasi = teikning, Hlutur = bygging. OOP hjálpar okkur að skipuleggja flókin forrit.
Verkfæri og hugbúnaður
Bæði umhverfin styðja Python vel. VS Code er faglegra og nemendur geta vanist því fyrir framhaldsskóla.
Python hefur einfalda og skýra setningafræði fyrir hlutbundna forritun.
Kennsluaðferðir
Kennarinn notar samlíkingu við teikningar og byggingar til að útskýra klasa og hluti og nemendur smíða sín eigin kerfi.
Rannsóknargrundvöllur: Papert (1980) – Konstruktíónismi: Nemendur skilja óhlutbundin hugtök betur þegar þeir byggja þau upp sjálfir.
Kennarinn sýnir fyrst forrit án klasa og endurbætir það síðan með klösum til að sýna ávinninginn.
Rannsóknargrundvöllur: Fowler (1999) – Refactoring: Endurbætur á kóða sýna nemendum hvers vegna skipulag skiptir máli.
Matsaðferðir
- Verkefnamat: Virkar leikjapersónukerfið? Notar það klasa, eiginleika og aðferðir rétt?
- Kóðamat: Er kóðinn vel skipulagður? Eru klasi og aðferðir vel nefnd?
- Munnlegt mat: Getur nemandinn útskýrt muninn á klasa og hlut og hvers vegna OOP er gagnlegt?
Aðlögun
Nemendur bæta við erfðum (inheritance) – t.d. 'Riddari' og 'Galdramaður' erfa frá 'Persona' en hafa sérstakar aðferðir.
Nemandinn fær klasa-ramma tilbúinn og þarf aðeins að fylla inn í aðferðirnar. Kennarinn útskýrir hvert skref.
Þverfaglegar tengingar
- Stærðfræði – breytur, útreikningar og rökfræði
- Íslenska – hugtakanotkun og skilgreiningar