kunna lokalisera och känna igen användning av gängse designprinciper och designmönster i givna program
känna till och kunna redogöra för hur grundläggande algoritmer för grafhantering fungerar
ha grundläggande kännedom om syfte och principer för konfigurations- och versionshantering
Färdighet och förmåga
kunna utforma och i mindre grupp implementera objektorienterade program med många klasser och några paket med stöd av relevanta mjukvaruutvecklingsverktyg
kunna välja och implementera lämpliga designmönster i typiska problem
kunna använda en integrerad utvecklingsmiljö för design, implementering och refaktorisering av program
kunna beskriva programdesign med UML (Unified Modelling Language)
kunna implementera och tillämpa grundläggande algoritmer för grafhantering.
kunna använda Git för konfigurations- och versionshantering i ett litet projekt
Värderingsförmåga och förhållningssätt
kunna utvärdera en programdesign med avseende på designprinciper och välja lämpliga förbättringar i termer av objektorienterade designtekniker och -mönster.,
kunna skriva program som är lätta att underhålla och modifiera.
Kursinnehåll
Principer för utformning av objektorienterade program. Designmönster och ramverk. Utvecklingsmiljö för objektorienterad modellering, implementering och refaktorisering. Projekt med design och implementering. Grafproblem och grafalgoritmer. Grundläggande konfigurations- och versionshantering med Git.