Utförligt förklara grundläggande begrepp och tekniker inom objektorienterad programmering, såsom
Klassrelationer, polymorfism, operatoröverlagring, etc.
Förstå och utförligt förklara olika Python-program.
Utförligt redogöra för hur olika problem kan lösas på ett objektorienterat sätt i språket Python.
2. Färdighet och förmåga
Strukturera en problemlösning med hjälp av klasser och presentera den i ett klassdiagram.
Självständigt, utifrån en problembeskrivning, implementera en väl strukturerad objektorienterad lösning i Python.
Implementera fundamentala abstrakta datatyper och algoritmer i ett objektorienterat språk.
Använda Python standardbibliotek, ex NumPy, SciPy, PyQt.
3. Värderingsförmåga och förhållningssätt
Självständigt och kritiskt utvärdera och analysera sina lösningar
Kursinnehåll
Syftet med kursen är kunskap i objektorienterad programmering, dels för fortsatta studier inom datavetenskap och dels för att kunna lösa generella programmeringsuppgifter i arbetslivet.
Strukturering av program med hjälp av klasser och konstruktion av egna klasser
Konstruktorer/destruktorer, metoder, instansvariabler, klassvariabler, polymorfism,överlagring, klassrelationer och arv, abstrakta basklasser
Bygga paket samt extending av existerande paket, installation av nya paket med pip och conda
Itertools för iterering
Generatorer
Kopiering och djup-kopiering av datastrukturer
Avancerad användning av lambda-funktioner och list comprahension
Serialisering av objekt (t.ex. med pickle), och loggning av exakvering
Hantering av olika pythonmiljöer med t.ex. pyenv
pep8 kodstandard och decorators
Förutsättningar
För tillträde till kursen krävs genomgången kurs, Programmering och problemlösning med Python, 6 hp, varav minst 2 hp ska vara avklarade.