Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund inom objektorienterad programmering. Nästan alla program som utvecklas idag skapas med hjälp av ett objektorienterat programspråk. Innehåll Objektorienterad programmering kan användas för nästan all typ av programmering och därför är denna kurs en bra grund för efterkommande kurser på utbildningen. Denna kurs behandlar objektorienterad programmering i C# och objektorienterad design för Windowsapplikationer. Mål Efter genomgången kurs skall den studerande kunna: Redogöra för objektorienterad programmeringsteknik Redogöra för principer och begrepp inom objektorienterad programmering, såsom polymorfism, typkontroll, typomvandling, klasser, arv, pekare, referenser samt klass- och funktionsmallar Planera för och konstruera objektorienterade program Planera för och konstruera grafiska användargränssnitt Dokumentera arbetet enligt de riktlinjer som lärts ut i kursen Redogöra för kravställningar som en del av programutvecklingen och kravställningens relation till andra delar av utvecklingsprocessen, t.ex. analys, design och test Utifrån en given kravspecifikation, kunna utveckla robust, flexibel och lättförstådd kod Beskriva olika faktorer och tekniker som påverkar ett programs robusthet och flexibilitet Redogöra för på vilka olika sätt objektorienterad programmering underlättar återanvändning av programvara Använda viktiga principer för objektorienterad analys och design Använda designmönster och kunna referera till dessa designmönster när studenten diskuterar en design Uttrycka kod i UML och kunna översätta UML-diagram till kod Kritiskt och systematiskt utvärdera olika förslag på programdesign enligt fastställda kriterier Redogöra för en designs för- och nackdelar och då referera till vedertagna termer Lärare och kursansvarig Mahmud Al Hakim, mahmud@webacademy.se, 076-165 98 79 Sida 1 av 7
Obligatorisk Litteratur Titel Författare Kommentar Jan Skansholm Skarp programmering med C# Kompletterande material till boken finns här: http://www.cse.chalmers.s e/~skanshol/skarp/ Den obligatoriska litteraturen ingår i examinerande moment. Referenslitteratur Titel Författare Område som fördjupningen behandlar Microsoft Visual C# 2013 Step by Step John Sharp Visual Studio Visual C# resources http://goo.gl/rtbgia Allt om C# C# Svenska Spellista http://goo.gl/w4ztlc Videor som behandlar grunderna inom C# C# Tutorials http://goo.gl/zeajod Bra exempel och övningar Csharpskolan.se www.csharpskolan.se Div. C# artiklar Referenslitteraturen ger dig en möjlighet att fördjupa dig inom ämnets olika områden. Du kan även använda referenslitteraturen för att skapa större utmaningar i dina studier. Denna litteratur ingår inte i examinerande moment. Schema Datum Tid Moment Litteraturhänvisning 31/8 09.00-16.00 Introduktion till kursen och genomgång av kursplanering Att läsa: Sid. 1-40 Introduktion till Programmering.NET C# och Visual Studio Kompilering och exekvering Variabler Selektioner Dialogrutor 1/9 09.00-16.00 Repetitioner (while-satsen och for-satsen) Nästlade repetitioner Introduktion till grafiska program 41-57 Sida 2 av 7
2/9 09.00-12.00 do-satsen switch-satsen break-satsen continue-satsen goto-satsen Villkorsoperatorn Att läsa. sid. 515-519 Och sid. 523 Laboration 1 7/9 09.00-16.00 Klasser och objekt Introduktion till objektorientering Introduktion till UML Klassdiagram Klassdeklarationer Mer om variabler Lokala variabler, instansvariabler Datatyper (enkla typer) Operatorer Intro till Statiska variabler (klassvariabler) Tilldelning och typomvandling Metoder 8/9 09.00-16.00 Standardklassen String Konstruktorer Överlagrade metoder Standardklassen Random Struct-typer Egenskaper (properties) Objektinitierare och anonyma typer övn. 1-6 sid. 57 59-91 92-115 9/9 09.00-12.00 Mer om klasser och typer Namnrymder Inkapsling och synlighet Statiska variabler Konstanter Laboration 2 Att läsa: sid.117-134 övn. 1-9 sid.115-116 Sida 3 av 7
14/9 09.00-16.00 Standardklassen Math Parameteröverföring Referensen this Tilläggsmetoder Uppräkningstyper Att läsa: sid. 134-148 15/9 09.00-12.00 Objektorienterad programutveckling Objektorienterad Analys, design och programmering Algoritmer Relationer 151-172 Laboration 3 Inlämningsuppgift 1 delas ut. Rredovisas senast 22/9. övn. 1-10 sid. 149-150 16/9 Fält Array Sökning Sortering Mer om fält Parameterfält 21/9 09.00-16.00 Listor Flerdimensionella fält Delegater 173-196 Att läsa: sid.196-218 22/9 09.00-12.00 Läsning och skrivning Nationella inställningar Redigering av text Avkodning av data Felkontroll Textfiler Datum och tider 221-238 23/9 09.00-12.00 Laboration 4 Inlämningsuppgift 1 redovisas Arv Subklasser Virtuella metoder Dynamisk bindning Objektsamlingar Abstrakta klasser Självstudier övn. 1-11 sid. 218-220 239-260 Sida 4 av 7
28/9 09.00-16.00 Gränssnitt (Interface) Jämförbara objekt Ett objektorienterat exempel 261-280 29/9 09.00-12.00 Exceptionella händelser Try-catch 283-294 Laboration 5 övn. 1-8 sid. 281-282 30/9 Grafiska användargränssnitt del 1 295-324 5/10 09.00-16.00 Grafiska användargränssnitt del 2 325-376 6/10 09.00-12.00 Konstruktion av egna grafiska komponenter del 1 379-402 Laboration 6 övn. 1-7 sid. 376-378 7/10 09.00-12.00 Konstruktion av egna grafiska komponenter del 2 402-414 Självstudier 12/10 09.00-16.00 Mer om användargränssnitt 415-455 13/10 09.00-12.00 Strömmar och filer 457-482 Laboration 7 Inlämningsuppgift 2 delas ut. Redovisas senast 20/10. övn. 1-6 sid. 455-456 14/10 09.00-12.00 Generiska konstruktioner Listor Mängder Avbildningstabeller 483-514 Övningar Sida 5 av 7
19/10 09.00-16.00 Rekursion Övningar Att läsa. sid. 533-537 20/10 09.00-12.00 Trådar Övningar Att läsa. sid. 538-549 21/10 09.00-12.00 Laboration 8 Inlämningsuppgift 2 redovisas Övningar Självstudier Inlämningsuppgift 1 och 2 ska lämnas in senast kl. 12.00 den 21 oktober. övn. 1-9 sid. 549-550 26/10 09.00-12.00 Skriftligt prov 9/11 08.30-09.00 Provgenomgång Examination och betygssättning I denna kurs kommer betyget i huvudsak sättas utifrån följande underlag: 2 inlämningsuppgifter 1 Skriftligt prov Allt som den studerande presterar under kurstiden kommer att vägas in vid betygssättningen. Det gäller till exempel prov, inlämningsuppgifter och de kunskaper, färdigheter samt den förståelse som uppvisas under lektionstid. Betygskriterierna för Godkänd respektive Väl godkänd är: Godkänd Den studerande redogör för objektorienterad programmeringsteknik Den studerande redogör för principer och begrepp inom objektorienterad programmering, såsom polymorfism, typkontroll, typomvandling, klasser, arv, pekare, referenser samt klass- och funktionsmallar Den studerande planerar för och konstruerar objektorienterade program Den studerande planerar för och konstruerar grafiska användargränssnitt Den studerande dokumenterar arbetet enligt de riktlinjer som lärts ut i kursen Den studerande skriver kommentarer till varje algoritm Den studerande redogör för kravställningar som en del av programutvecklingen och kravställningens relation till andra delar av utvecklingsprocessen, t.ex. analys, design och test Den studerande utvecklar robust, flexibel och lättförstådd kod utifrån en given kravspecifikation Sida 6 av 7
utveckla robust, flexibel och lättförstådd kod beskriver olika faktorer och tekniker som påverkar ett programs robusthet och flexibilitet Den studerande redogöra för på vilka olika sätt objektorienterad programmering underlättar återanvändning av programvara Den studerande använder viktiga principer för objektorienterad analys och design Den studerande använder designmönster och kan referera till dessa designmönster när studenten diskuterar en design Den studerande uttrycker kod i UML och kan översätta UML-diagram till kod Den studerande utvärderar kritiskt och systematiskt olika förslag på programdesign enligt fastställda kriterier Den studerande redogör för en designs för- och nackdelar och kan referera till vedertagna termer Väl godkänd Den studerande planerar för och konstruerar självständigt och med säkerhet objektorienterade program med hjälp av C# Den studerande visar förmåga att självständigt kunna implementera en objektorienterad design med hjälp av C# Sida 7 av 7