TDDC74: Projekttitel

Relevanta dokument
TDDC74 - Projektspecifikation

Programmering, abstraktion och modellering PROJEKTFÖRELÄSNING ANDERS MÄRAK LEFFLER IDA/HCS

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Projektspecifikation

SKOLFS. beslutade den XXX 2017.

TDDC74 Lab 02 Listor, sammansatta strukturer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Projektet. TNMK30 - Elektronisk publicering

Kursplanering för EE3D i kursen Programmering 1, 100p.

Projektdokumentation för Othello

Projektuppgift.

TDDD92 Artificiell intelligens -- projekt

Undervisningen i ämnet programmering ska ge eleverna förutsättningar att utveckla följande:

Bedömning: Bryt ner kunskapskraven i mindre delar - infoga i Itslearning

SKOLFS. beslutade den -- maj 2015.

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

Manual för webbpublicering. Enköpings kommun

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

TDDD78 Att välja och planera ett projekt

Inlämningsuppgifter, EDAF30, 2015

Objektorienterad programmering och Java

Sovra i materialet. Vad är viktigt? Vad kan tas bort? Korta ner långa texter.

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Introduktionsmöte Innehåll

Ange hur svarsfrekvens beräknats, t.ex. om studentantalet inkluderar omregistreringar eller ej

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Innehållsförteckning

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Goda råd från studenterna som gjorde kandidatprojektet 2018

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

TDDC74 Laboration 05 - Ett objektorienterat spel

TDDI16: Datastrukturer och algoritmer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

Datorsystem och programmering

Proj-Iteration1. Arkitektur alt. 1

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74: EKG-projekt. Christoph Heilmair. Korrekturläst av: Emma Soffronow, leg. sjuksköterska. Mars 2015

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

Nätverksprogrammering, EDA095

Migrera till Word 2010

Laboration 3. Funktioner, vektorer, integraler och felskattning

Installationsanvisning för PI-Utbildningar

Ett spel skapat av Albin Wahlstrand

Hur använder du som elev Fronter?

Välkomna till DIT012 IPGO

Människa- datorinteraktion, MDI, vt 2012, Anvisningar för projekt- /grupparbete

Moodle2 STUDENTMANUAL

Problemlösning. Planering av program. Konstruktion. Programmeringsmetaforer. Problemlösning. Programmering = Problemlösning

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

Tentamen Datastrukturer (DAT037)

kl Tentaupplägg

Välkomna till kursen i grundläggande programmering DVGA08, ISGA04

Agil Projektledning. En introduktion

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Boken om svenska för 3:an

Eget arbete 15 Poäng. Rubrik Underrubrik

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

Kombinera bild och text i Word97

Att komma igång med FirstClass (FC)!

AIF:arens guide till cyberrymden

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

Projekt Foreläsning VI

KOMPLEMENT TILL MATTE DIREKT BORGEN UPPLAGA

DESIGNSPEL - En ram för dialogen

Utveckling av ett grafiskt användargränssnitt

Programmering. Analogt och med smårobotar. Nina Bergin

Inlämningsverktyget i Fronter för studenter

Laboration 3. Funktioner, vektorer, integraler och felskattning

jamboree förbedelser för utmanarscouter, år För dig som är ny scout- eller spårarledare

Teknisk fysik Institutionen för fysik Maria Hamrin Krister Wiklund. Hej,

Thomas Pihl Frontermanual för studerande vid Forum Ystad

Utbildningsbeskrivningar på lu.se nutid och framtid LOUISE LARSSON & MATILDA ROIJER, EXTERNA RELATIONER

Laboration 3: Urval och skattningar

TDP Regler

Objektorienterad Programkonstruktion

Så här kan ni arbeta med materialet om umgänge

Projektspecifikation

LiTH Autonom styrning av mobil robot Projektplan. Martin Elfstadius & Fredrik Danielsson. Version 1.0

Innehåll (3) Innehåll (2) Innehåll (5) Innehåll (4) Innehåll (6) Innehåll (7) Dokumenthistorik. beställare, Översiktlig beskrivning av projektet

Programmering från början

Användarmanual: Ansökan och rapportering i E-kanalen för Energikartläggningsstödet

Frontermanual för Rektorsprogrammet

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor

LiTH Segmentering av MR-bilder med ITK Efterstudie MCIV. Anders Eklund. Status

Dokumentera studenter som inte är godkända på kursen

Thomas Padron-Mccarthy Mobila applikationer med Android, 7.5 hp (Distans) (DT107G ) Antal svarande = 11. Svarsfrekvens i procent = 14.

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Före Kravspecifikationen

Lär dig POWERPOINT. Lars Ericson datorkunskap.com

Det sitter en kille och en tjej mittemot berättaren. Killen tar kontakt med berättaren. Vad gör han?

KliPP - IT-stöd för Kliniska Praktikplatser. Bildspel över arbetsprocessen. A. A. Inläggning av av grundinformation

Människa- datorinteraktion, MDI, ht 2012, Anvisningar för projekt- /grupparbete

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

INSTRUKTION Specifikation E modul.doc

TDDD92 Artificiell intelligens -- projekt

Transkript:

TDDC74: Projekttitel Projektmedlemmar: Namn Efternamn abcde123@student.liu.se Namn Efternamn abcde123@student.liu.se Handledare: Handledarnamn handledare@liu.se eller handledare@student.liu.se 15 maj 2017 1

Innehåll 1 Projektbeskrivning och användarguide 3 1.1 Kort projektbeskrivning..................... 3 1.2 Användarmanual......................... 3 2 Teknisk beskrivning 4 2.1 Översiktlig skiss.......................... 4 2.2 Filer................................ 4 2.3 Datatyper eller klasser...................... 5 2.4 Algoritmer............................. 5 3 Avstämning av krav 5 3.1 Kravlista.............................. 5 3.2 Uppföljning kravlista....................... 6 3.3 Betygsambitioner......................... 6 4 Utvärdering av arbetet 6 4.1 Utvecklingsmetodik........................ 6 4.2 Testning.............................. 7 4.3 Grov tidplan............................ 7 4.4 Tidsåtgång och arbetsfördelning................. 7 4.5 Tips till framtida studenter................... 7 2

OBS! Detta dokument innehåller bara beskrivningstexter. Mycket av er rapport kommer att kunna klipp-klistras eller uppdateras direkt från projektspecen. Se till att det ni lämnar in faktiskt svarar mot koden som lämnas in, och inte något tidigare utvecklingsskede. Notera att detta inte så mycket är en teknisk rapport som en projektrapport. När det finns en risk för att sväva ut i de tekniska beskrivningarna, håll tillbaka det. Detta ska inte vara en 20s-rapport, utan ska ge en korrekt och tillräcklig översikt! Läs igenom det hela i förväg. 1 Projektbeskrivning och användarguide Ge en kort inledning till projektet (vad är det för spel, vad går det ut på,...). Det ska vara kort och koncist men ge en tillräcklig förklaring till vad spelet går ut på. 1.1 Kort projektbeskrivning Här beskriver ni vad det är ni har skrivit, i korthet. Det här kan nästan tas direkt från projektspecen, men se till att det är en riktig rapportbeskrivning. Om ni skrivit ett spel, ge en lite mer genomgående förklaring av spelet och hur det spelas. Om ni gör ett äventyrsspel, inkludera en kort historia till spelet. Eventuella regler för spelet är även bra att förklara kortfattat, och praktiska informationslänkar bifogas. 1.2 Användarmanual Hur använder man ert program? Hur startar man det? Om ni gör ett spel, beskriv hur man startar det och spelar. Bifoga gärna kortfattade spelregler. En person som får denna text, samt er kod (och eventuella kringfiler modell bilder) ska kunna köra spelet, skriva ert egenutvecklade programspråk, använda ert medicinska beslutsstödssystem, eller vad som nu är aktuellt. 3

Lägg gärna in faktiska skärmbilder, om det är relevant. 2 Teknisk beskrivning Det här kapitlet använder ni för att beskriva hur spelet är strukturerat och implementerat rent kodmässigt. Tanken är att en läsare som inte sett projektet förut ska kunna sätta sig in i koden. Tänk er att ni ger koden och rapporten till en annan projekthandledare, som inte har möjlighet att ställa frågor till er. Då ska hen förstå strukturen. Det är viktigt att beskrivningen här är korrekt och uppdaterad (det är delar där man kan utgå från projektspecen, men se till att det faktiskt stämmer med den inlämnade koden). 2.1 Översiktlig skiss Vilka viktigare delar finns det i programmet? Hur kommunicerar de med varandra? Var finns relevant data (till exempel speltillstånd). Detta ska vara översiktligt! Man ska - för att ta ett exempel från labb 5 - snabbt kunna få reda på saker modell att användaren skriver kommandon i ett adventure-ui%-objekt, kommandon tas ur en tabell, att merparten av beteende och data ligger hos separata objekt. Som i projektspecen, notera att ni inte behöver ha exakt dessa rubriker. Om ni inte gör ett objektorienterat spel, är det dåligt att försöka göra en objektmodellering. Om det inte är relevant att ha med ett algoritmavsnitt - ha inte det! 2.2 Filer Om det finns någon riktig stuktur på detta, är det värt att kunna spalta upp vad de olika filerna innehåller ( {item, character, place}.rkt innehåller klassdefinitioner, player_commands.rkt kommandon..., eller dylikt). Gör förslagsvis en överskådlig tabell eller en punktlista. Ni behöver inte ha en 4

uttömmande uppräkning av allt som finns i filen. Läsaren ska mest förstå var den ska börja leta. 2.3 Datatyper eller klasser Om ni skulle beskriva labb 5 här, skulle ni lämpligen först beskriva det på nivån vilka sorters klasser det fanns ( character%...), vad för data de innehöll (karaktärer vet saker som sin plats, vilka saker de bär på, och viss information modell sitt namn) och vad för ansvar de har (ansvar för att sköta allt kring flyttande exempelvis). Ge en kort beskrivning för varje klass. Beskriv gränssnittet för varje klass (tänk tabellerna i labb 5-beskrivningen, med kommando, argument och vad de gör). En snabb koll efter (define/public...) bör underlätta här - det är ju metoderna definierade så som exponeras utåt. 2.4 Algoritmer Här beskriver ni ev algoritmiska problem som ni behövt lösa, och beskriver lösningen översiktligt. Detta kan handla om öppnande av rutor i Minröjspel, vägfinnande i kartor i ett äventyrsspel, eller i princip hela projektet om man gjort logiska resolvers eller AI. Har du gjort ett algoritmtungt projekt, beskriv algoritmerna i egna ord. Alla kan hitta pseudokod för t ex Dijkstras algoritm eller Minmax på webben (eller hitta färdig Racket-kod...). Sammanfatta åtminstone grundtanken i det ni använt med egna ord! 3 Avstämning av krav 3.1 Kravlista Detta kopierar ni från godkänd projektspecifikation. Det ska vara exakt samma. 5

3.2 Uppföljning kravlista Skriv eventuella kommentarer kring kravuppfyllelsen som kan vara relevanta (fokuserade ni på något särskilt?). Uppfylldes alla SKA-krav? BÖR-krav? Skriv väldigt kortfattat. 3.3 Betygsambitioner Vad hade ni för betygsambitioner? Om ni har ett projekt som kan göras mer eller mindre omfattande, vad är det som motiverar det betyget? 4 Utvärdering av arbetet Här skriver ni kortfattade utvärderingspunkter i relation till projektspecifikationen och tankar ni haft inför arbetet. Ta fram er projektspec. Det kan vara värt att snegla på den. Er text ska dock gå att läsa utan att ha specifikationen bredvid. Vissa av frågorna nedan kan man skriva väldigt långt om. Det väntas och krävs inga långa essäsvar här! Skriv kort och koncist. Det kan vara vissa rubriker som innehåller en-två meningar text. Många är av karaktären hur tänkte vi inför specifikationen - eller tidigt i arbetet, även om det inte skrevs ned - hur blev det, varför. 4.1 Utvecklingsmetodik Hur tänkte ni lägga upp arbetet? Vad fungerade bättre respektive sämre? Vad skulle ni kunna göra för att få det att fungera bättre till senare projekt? 6

4.2 Testning Vad för problem har ni stött på som kunnat lösas genom bättre teststrategi? Omvänt, vad för saker gjordes helt i onödan bara för att? 4.3 Grov tidplan Hur såg er tidplan ut inledningsvis? Hur föll det ut? Varför? 4.4 Tidsåtgång och arbetsfördelning Hur såg tidsåtgången åt, och arbetsfördelningen mellan gruppmedlemmarna? Hur lång tid på ett ungefär har det tagit? Vilka veckor gjorde ni vad? 4.5 Tips till framtida studenter Vad för råd, utifrån saker som fungerat bättre respektive sämre, skulle ni vilja ge framtida studenter som väljer samma projekt? (Modell X kommer att ta längre tid än du tror, fråga om Y tidigt, vi körde fast i Z, W var lättare än man trodde, kunde man gjort mer av, det var bra att börja med V, det var kul, vi hade hjälp av att kolla på U eller något helt annat). Tänk på att detta är en rapport som ska lämnas in. Formulera er hjälpsamt, men korrekt. Detta skrivs såklart med baktanken att kunna förbättra projekten och påminna framtida handledare om hinder (inte nödvändigtvis ta bort dem), men också som ett verktyg för att fundera på hur arbetet har gått. En retroaktiv utvärderingsvariant av rubber duck debugging om man så vill. Detta kan ni med fördel göra som en punktlista. 7