Akademin för teknik och miljö KURSPLAN Faculty of Engineering and Sustainable Development Objektorienterad programmering 1 7,5 hp Object-Oriented Programming 1 7,5 credits Fastställd av Institutionsstyrelsen för matematik, natur- och datavetenskap Version Beslutad den 2009-06-09 2012-11-07 Fördjupning G1F Utbildningsnivå Grundnivå Kurskod DV027B Högskolepoäng 7,5 hp Huvudområde Datavetenskap Ämnesgrupp Datateknik Utbildningsområde Tekniska området 100% Gäller fr.o.m. 2009-06-09 2013-01-21 Mål Efter avslutad kurs skall studenten kunna: 1. modellera olika aspekter av ett givet problem uttryckt med statiska och dynamisk UMLdiagram och successivt arbeta fram en allt bättre lösningsmodell samt förklara och tillämpa några designmönster 2. genomföra programmeringsuppgifter av avancerad karaktär på ett självständigt sätt och skapa goda objektorienterade program vars interna representation tydligt avspeglar de yttre förhållanden som programmet avser att hantera, lösa eller simulera 3. kommunicera, diskutera, kritiskt granska andras såväl som sina egna lösningar tillsammans med andra studenter och presentera egna slutsatser i seminarieform 4. redogöra för (ingående) de teoretiska begreppen inom objektorientering samt begreppens tillämpning i olika programmeringssituationer med ett objektorienterat programmeringsspråk 5. skapa grafiska användargränssnitt med designverktyg och med språkets inbyggda strategier för layouthantering samt knyta an det grafiska gränssnittet till det underliggande programmets funktioner. Kursens innehåll Kursen ger praktiska och teoretiska kunskaper om objektorienteringens grundläggande principer och utgör en god grund för fortsatta studier inom datavetenskap. Föreläsningarna behandlar teori och hur teorierna implementeras i ett objektorienterat programmeringsspråk. Vidare behandlas händelsestyrd och trådad programmering, grafiska användargränssnitt, databaskopplingar samt modelleringsspråket UML. Miniprojekt och ett avslutande projektarbete ger goda praktiska färdigheter. Sida 1 av 3 Högskolan i Gävle accepterar inte fusk i någon form. Plagiat är en form av fusk, som innebär att du imiterar eller kopierar någon annans arbete, till exempel en text, en bild eller en tabell, och framställer materialet som ditt eget. Högskolan använder antiplagiatsystem för att förebygga och upptäcka fusk i samband med skriftliga inlämningsuppgifter. Teoretiska begrepp inom objektorientering - abstraktion, arv, arvshierarkier, inkapsling, information hiding, modularisering, overload, override, polymorfi, klass, subclass, inner class, konstruktor, interface, delegering, lazy och eager evaluation Undantagshantering - exceptions - runtime exceptions Fördjupning i UML - klassdiagram med statiska relationer - interaktionsdiagram Koppling till databaser - mappning mellan relationsdata och objekt - via Data Access Objects som döljer frågespråket SQL Programmering av grafiska användargränssnitt - komponenter - containers - hantering av layout Händelsestyrd programmering - lyssnarobjekt, listener, adapter, event, inre klasser Designmönster - singleton, abstract factory, prototype samt model/view. Trådad programmering - enkel grafikanimering - trådad hantering av filer och databaser Undervisning Undervisningen bedrivs i lektionsform och utgörs av föreläsningar, praktiska övningar, miniprojekt, utvecklingsprojekt, projekthandledning och redovisningsseminarier. När kursen ges i distansform finns diskussionsgrupper, kursmaterial och handledning tillgängligt i ett distansforum. Förkunskaper Datavetenskap 30 hp, varav en grundläggande programmeringskurs (minst 7,5 hp) skall ingå. Examinationsform Skriftlig tentamen. Skriftliga rapporter samt presentation och diskussion av miniprojekt i seminarieform. Utvecklingsprojekt: Fortlöpande avrapportering, skriftlig rapport, presentation och diskussion i seminarieform. Moment 0010 Teori för objektorientering 2,5 hp, Betyg: AF 0020 Miniprojekt 2,5 hp, Betyg: AF 0030 Utvecklingsproject 2,5 hp, Betyg: AF Betyg A, B, C, D, E, Fx, F Övriga föreskrifter Betygskriterier meddelas av kursansvarig lärare i samband med kursstart Kursen kan ej ingå i examen tillsammans med kursen Java Application B eller Introduktion till objektorienterad programmering B eller motsvarande Hållbar utveckling Kurslitteratur Referenslitteratur Inslag av hållbar utveckling är inte relevant för kursen. Valfri litteratur om Java, t.ex. The Java Tutorials från Sun (http://java.sun.com/docs/books/tutorial) Booch, Grady; Maksimchuk, Robert A; Engel, Michael W (senaste upplagan). ObjectOriented Analysis and Design with Applications. Addison-Wesley. Sida 2 av 3 Högskolan i Gävle accepterar inte fusk i någon form. Plagiat är en form av fusk, som innebär att du imiterar eller kopierar någon annans arbete, till exempel en text, en bild eller en tabell, och framställer materialet som ditt eget. Högskolan använder antiplagiatsystem för att förebygga och upptäcka fusk i samband med skriftliga inlämningsuppgifter. Holm, Per (Senaste upplagan). Objektorienterad programmering och Java. Studentlitteratur. Sida 3 av 3 Högskolan i Gävle accepterar inte fusk i någon form. Plagiat är en form av fusk, som innebär att du imiterar eller kopierar någon annans arbete, till exempel en text, en bild eller en tabell, och framställer materialet som ditt eget. Högskolan använder antiplagiatsystem för att förebygga och upptäcka fusk i samband med skriftliga inlämningsuppgifter.