2D1954 Programutvecklingsprojekt, 4p, för D3 våren 2001

Kursfilosofi, tidigare års kurser
Registrering på kursen
Obligatoriska moment och deadlines
Projektpresentationer och gästföreläsningar
Projektförslag, regler för projektförslag, avtal
Prioriteringar på projektförslag
Projekten
Kontaker med uppdragsgivaren, intensivarbete
Preliminär specifikation
Lägesrapport
Förhandsvisningar
Slutredovisningar, inkl opposition
Examination, kommitté för utvärdering av projekt
Utvärdering, kursenkät (årets enkät kommer via en länk här)
 

Kursfilosofi, tidigare års kurser

Kursen går nu för sjätte gången men har "alltid" funnits som obligatorisk i D3, dvs ända sedan 1985, då de första KTH/D-teknologerna kom upp i trean, i form av ett 4-poängsmoment inom PMI- kursen (1985/86 -- 1988/89) resp PIM- kursen (1989/90 -- 1992/93). Hittills har mer än 200 projekt genomförts, resulterande i mer eller mindre användbara verktyg för "riktiga" användare på Macintosh, PC och Sun-arbetsstationer.
Mera information finns i studiehandbokstexten

Tanken är bl.a. att ni ska få prova på att genomföra ett lite större arbete i form av ett projekt genomfört i dialog med en idégivare/handledare, nedan kallad "uppdragsgivare", som stått för den ursprungliga idén.

Kursen är utspridd under hela våren, vilket ger oss möjligheter att planera arbetet. Erfarenheter från förra årets kurs finns i kursanalysen. Se också kursöversikten. samt dokumentation från förra årets projekt.
 

Registrering på kursen

Alla som vill delta i kursen ska göra res checkin proj01 senast 22 januari och svara på de frågor som man får.
Detta behövs för att jag ska kunna sammanställa närvaro och resultat samt för att göra utvärdering av kursen.
 

Obligatoriska moment och deadlines

Följande ska man uppfylla individuellt eller i grupp, deadlines:
• narvaro på projektpresentationerna (bokförs dock inte), onsd 17 januari
• göra res checkin proj01 senast 22 januari
• lämna in projektprioriteringar senast fredagen den 26 januari, kl 11.00
• projektfördelningen tillkännages senast 30 januari, kl 16
• närvaro på gästföreläsningar, man ska delta delta på åtminstone två gästföreläsningar, schema  (individuell bokföring)
• inlämning av preliminär specifikation, deadline: 8 mars
• åtminstone tre träffar med "uppdragsgivaren"
• muntlig lägesrapport; en ur gruppen träffar kursledaren för samtal, 4-6 april
• förhandsvisning, alla deltagare är med, enligt schema där man bokar tid
• dokumentation (pappersform och www-form), lämnas i samband med förhandsvisningen
• muntlig slutredovisning, alla deltagare är med, enligt schema där man bokar tid
• opposition på annan grupps projekt, görs av minst två personer
• närvaro på andras slutredovisningar, närvaro vid minst två tvåtimmars redovisningspass förutom det egna (individuell bokföring)
• egen utvärdering av projektarbetet
 

Projektpresentationer och gästföreläsningar

Projekten presenteras
Onsdagen den 17 januari, kl 10-12, 13-15 i sal E1
Ett antal intressenter, inom och utom högskolan, presenterar projektförslag som består i utveckling av en tillämpning (ofta ett "datorstött verktyg") där grafisk interaktion är ett moment men där också kunnande från andra kurser, t.ex. databaskursen, kan tillämpas. En lista över projektförslagen kommer via denna länk men fullständiga beskrivningar till alla projekten finns bara i pappersform.
I samband med presentationerna ges också en genomgång av principerna och kraven för den preliminära projektspecifikationen.

En serie föredrag ges under tiden 23 januari- 7 februari. Syftet är att att ge stöd för det arbete som ska göras. Föredragen ska inte ses som någon fullständig kurs i projektarbete utan är mera tänkta att ge inspiration och viss bakgrund. Några artiklar kommer troligen också att kopieras och göras tillgängliga.
Gästföreläsningar är schemalagda enligt följande:

Tisdagen 23 januari, kl 14-16, sal D2, Börje Törnblom, Enator, Praktisk
       Projektstyrning, Enators arbetssätt PPS, OH-bilder1, OH-bilder2, PPS-mallar/X (där X är något av
ATGLISTA.DOC,BESLUND.DOC,DOKGRP_1.DOC,FELRAPP.DOC,GR01.DOC,GR02.DOC,GR03.DOC,GR04.DOC,
GR05.DOC,KALLELSE.DOC,PDF.DOC,PDI.DOC,PPARM1.DOC,PPARM2.DOC,PROJRAPP.DOC,PROT.DOC,
SLUTRAPP.DOC,UPPDRBSK.DOC)
Onsdagen den 24 januari, kl 13-15, sal E1, Stina Hållsten, dokumentation av projektarbete
Tisdagen den 30 jauari, kl 13-15, sal K1, Björn Eiderbäck, projektarbete, xp.pdf
=== eXtreme Programming, generella sidor ===
XP:s hemsidor: http://www.xprogramming.com/   http://www.extremeprogramming.org/

Wiki:  http://c2.com/wiki/?ExtremeProgrammingRoadmap

=== Testning ===  Orginalpapper:  http://www.xprogramming.com/testfram.htm

Java:  http://www.junit.org

 === Refactoring ===  Martin Fowler (innehåller också XP-material):  http://www.martinfowler.com/

Wikipages: http://c2.com/cgi/wiki?WikiPagesAboutRefactoring

Martin Fowlers små korta refactoringtips:  http://www.refactoring.com/catalog/index.html

=== Kontinuerlig Integration ===:  http://www.xprogramming.com/Practices/PracContIntFreqTest.html
http://www.martinfowler.com/articles/continuousIntegration.html
Onsdagen den 31 januari, kl 13-15, sal E1, Nils-Erik Gustafsson, Ericsson Utvecklings AB,
        Projekterfarenheter som dialogdesigner
Onsdagen den 7 februari, kl 13-15, sal E1, systemgruppen, Johan Berglund, NADA
      Översikt av lämpliga utvecklingsverktyg vid NADA


Stina Hållsten, skriftlig och muntlig framställning i anslutning till ert eget arbete med presentation och dokumentation på kursen - tag chansen att få hjälp av en som kan det här!
Detta tillfälle blir tisdagen den 24 april, kl 10-12, sal E35

I samband med någon/några gästföreläsningar ger Lars Kjelldahl en del konkreta tips och råd angående projektarbete på denna kurs.

OBS: Eftersom gästföreläsningarna förhoppningsvis ska utgöra en viss bakgrund för ert projektarbete vill jag att ni är med på dem. Den som inte kan eller vill vara med vid åtminstone två av föreläsningarna får skriva en liten uppsats i stället. Uppsatsen baseras på ett par artiklar som jag ger er. Den ska vara inlämnad senast 15 februari.

Jag räknar med att kopiera några artiklar i anslutning till gästföreläsarnas föredrag (detta beror i viss utsträckning på vilket intresse som uttrycks från kursdeltagarna).
 

Projektförslag, regler för projektförslag, avtal

En lista över projektförslagen kommer via denna länk men fullständiga beskrivningar till alla projekten finns bara i pappersform, som finns tillgängliga vid presentationerna den 17 januari.

Alla förslag till projekt ska följa de regler som satts upp i samband med den inbjudan till projektförslag som kursledaren skickat ut till presumptiva uppdragsgivare. Projektförslag ska kunna prioriteras av alla grupper och också tilldelas alla grupper. Det får inte finnas "beroendeförhållanden" mellan uppdragsgivare och projektgrupp - man kan därför inte definiera ett projekt, som man sedan gör själv. Projekten ska vara av en typ så att resultatet av dem går att presentera på ett överskådligt och begripligt sätt för andra kursdeltagare i samband med slutredovisningen.

Framtida användning av utvecklat program: Vi förutsätter normalt att uppdragsgivaren får fri tillgång till användning av programmet så länge det är fråga om icke kommersiell användning. Om det skulle bli fråga om ett kommersiellt utnyttjande så får detta diskuteras mellan uppdragsgivare (som stått för idén) och projektgruppen (som stått för programmet). Gruppen och uppdragsgivaren bör i förväg skriva ett avtal rörande bl.a. detta. Mera material om IT-juridik finns i litteraturen och IT-företagens sida.
 

Prioriteringar på projektförslag

Efter presentationen får deltagarna nio dagar på sig att forma projektgrupper om 6-8 deltagare som anmäler sig tillsammans via email till lassekj@nada.kth.se med angivande av intresset för projektidéerna i form av prioriteringar senast fredagen den 26 januari, kl 11.00. Alla prioriteringar ska innehålla tio projekt listade från 1 (högst prioritet) till 10 (tionde plats). Om man endast ger t.ex. 2 prioriteringar antages alla andra projekt ha prioritet 3. Namn och email ska anges för samtliga projektdeltagare. De som vill anmäla sig i mindre grupp eller individuellt kan också göra detta varmed de överlämnar åt kursledaren att forma en grupp. Jag bekräftar mottagandet av dessa email så kolla att ni får mitt svar (annars bör ni skicka ett nytt mail till mig). Endast en person i gruppen ska kommunicera med mig om prioriteringarna (annars finns det risk att jag missar och t.ex. ger er två projekt). Jag bekräftar mottandet och tilldelar gruppen ett nummer.
Ni får alltså bilda grupper själva men tänk på att det kan vara bra om ni har lite olika kunskaper i gruppen, t.ex. är det bra om åtminstone några läser GrIP-kursen som börjar i period 3.
 

Projekten

Senast 30 januari, kl 16 tillkännages projektfördelningen.
Resultat och erfarenheter från årets kurs kommer att finnas i dokumentationerna från projekten.
Utvärderingskommittén kommer att utse ett eller flera bästa projekt
 

Kontaker med uppdragsgivaren, intensivarbete

Under kursens gång skickas viss epost ut enbart till kontaktpersonerna i projektgrupperna. Dessa brev finns samlade här.
Från den 5 februari vidtar specificerande av uppgiften tillsammans med uppdragsgivaren, gärna i form av enkla prototyper. Ni ska försöka få tillstånd en träff med er uppdragsgivare så snart som möjligt (se vidare checklista). Kursledaren är intresserad av att få reda på tiden för denna träff eftersom jag vill vara med vid några av de inledande träffarna.

Ni ska hålla regelbunden kontakt med er uppdragsgivare. Följande träffar är ett minimikrav (annars blir ni inte godkända):

1. Träff för att diskutera den preliminära specifikationen samt skriva avtal med uppdragsgivaren om användningen av programmet (görs normalt under perioden 30 januari - 7 mars).

2. Träff för etappredovisning samt för att diskutera modifieringar av den preliminära specifikationen (görs normalt under perioden

3. Förhandsvisning inför slutredovisningen: Detta sker några dagar före slutredovisningen enligt bokningslista. Närvarande ska vara kursledaren, några ur oppositionsgruppen, alla gruppdeltagare samt helst också uppdragsgivaren. Om uppdragsgivaren inte kan vara med vid det bokade tillfället ska ni ordna en separat visning för honom/henne.

Gruppen får i samråd med uppdragsgivaren själv välja miljö för programutvecklingen.
På NADA finns kompetens främst när det gäller Mac och UNIX-miljö samt JAVA som med fördel bör kunna användas i flera av projekten även i PC-miljö.

En lista med "resurspersoner" kommer förhoppningsvis att finnas.
 

Preliminär specifikation

Senast 8 mars skall varje projektgrupp till kursledaren (postfack plan 4 och 6 eller via attachment i ett email, word- eller pdf-format) och till uppdragsgivaren lämna en preliminär specifikation främst enligt de principer som angivits vid föreläsning samt via www.

Senast 15 mars lämnas ett besked om den preliminära specifikationen.
 

Lägesrapport

Någon från gruppen, normalt "projektledaren", ska boka en tid, 4-6 april, för samtal med kursledaren. En bokningslista kommer att sättas upp ppå en av anslagstavlorna på plan 3 (i fönsternischen ut mot Osquars backe). En kort skrfitlig rapport (c:a 1 A4-sida) skickas till kursledaren en dag före mötet via email. Om tiden 4-6 april är helt omöjlig för någon i gruppen så skicka ett mail om detta i god tid före 4 april. För samtalet reserveras en halvtimme. Projektledaren ger en lägesrapport och det finns möjligheter att diskutera problem som gruppen kan ha, t.ex. när det gäller utrustning, programvara, kontakter med uppdragsgivaren, samarbete i gruppen etc.
 

Förhandsvisningar

Tider för förhandsvisningar (45 minuter per grupp enligt bokningslista):
4/5  13-16,  7/5  9-12, 13-16,  8/5  10.30-12, 13-16
Vid förhandsvisningen förväntas gruppen prata om sitt projekt och demonstrera det vid dator. Den avsatta tiden ger utrymme för diskussioner mellan gruppen, oppositionsgruppmedlemmar, uppdragsgivare och kursledare.
Bokningslistor för förhandsvisningarna och slutredovisningarna kommer att sättas upp på en av anslagstavlorna på plan 3 (i fönsternischen ut mot Osquars backe) fredagen den 6 april, kl 10.

I samband med förhandsvisningen och gärna tidigare inlämnas:
* Användarhandledning och systembeskrivning (dels via www och dels på papper i en form anpassad för papper). Krav på slutdokumentationen. Observera att en bristfällig dokumentation kan underkännas varvid gruppen får komplettera dokumentationen. En  deadline kommer att ges för en sådan komplettering.
* Körbar version tillgänglig så att en annan projektgrupp, uppdragsgivare och kursledare kan utvärdera.
Ett bristfälligt projekt kan underkännas varvid komplettering får göras. En deadline kommer att ges för en sådan komplettering.
 

Schema för förhandsvisningar och slutredovisningar för de olika grupperna, inkl fördelning av oppositionsuppdrag, kommer via denna länk (efter det att alla grupperna bokat tid).
 

Slutredovisningar, inkl opposition

Tider för slutredovisningar i sal D2, 20 minuter per grupp enligt bokningsschema:
8/5, 8-10, sal D2
16/5, 10-12, 15-17, sal D2
18/5, 10-12, 13-15, sal D2
Vid slutredovisningen förväntas gruppen presentera sitt projekt på ett professionellt sätt där alla gruppemdlemmar ska yttra sig. Det program som tagits fram ska demonstreras live med projektorkanon. Riktlinjer för slutredovisningen finns. En bristfällig slutpresentation kan underkännas varvid gruppen får göra om presentationen vid senare tillfälle.

Vid slutredovisningen, som bör ta c:a 20 min, ska samtliga gruppmedlemmar medverka aktivt med muntlig presentation (varje gruppmedlem presenterar sig med namn inför sin medverkan). Inför redovisningstillfället skall gruppen också utvärdera ett av de andra projekt som redovisas vid samma tillfälle och opponera (ge positiva och negativa synpunkter) på detta efter deras presentation. Använd checklistan för detta.

Observera att närvaro (och aktivt deltagande) vid förhandsvisning och slutredovisning krävs för godkänt på kursen.
 

Examination, kommitté för utvärdering av projekt

Bedömning av projekten görs av en utvärderingskommitté. Projekten bedöms av en utvärderingskommitté bestående av fyra personer (Lars Kjelldahl, Olle Bälter, Björn Eiderbäck och Stina Hållsten). Kommittén använder ett antal kriterier vid sin bedömning. Vidare räknar vi med att göra viss språklig granskning av slutdokumentationerna. Kommittén utser ett eller flera "bästa projekt".
Uppdragsgivarens syn på projektarbetet kommer att inhämtas av kommittén, men beslutet om bedömning av projektet ligger hos kommittén (formellt hos kursledaren).

På kursen ges enbart betyget godkänt eller underkänt. Däremot får alla grupper ett differentierat omdöme från utvärderingskommittén. De bästa grupperna får ett "bästa projekt"-diplom.
Godkännandet på kursen inkluderar närvaro på gästföreläsningar, godkänd preliminär specifikation, lägesrapport, närvaro på slutpresentationerna, godkänd slutdokumentation, samt godkänd slutpresentation. Dessa sex moment bokförs i res som laborationsmoment.
 

Utvärdering, kursenkät (årets enkät kommer via en länk här)

Ni ska göra en egen utvärdering av ert arbete med projektet. Det gör ni med:
• ett möte i gruppen där ni diskuterar vad som var bra och dåligt med utgångspunkt från frågelistan för detta. Skicka en samlad rapport på 1 sida till mig via email.
• alla i gruppen svarar på frågor via www på kurswebplatsen, åtminstone 5 deltagare/grupp måste svara, normalt alla
Utöver vid egna redovisningstillfället skall du ha närvarit vid minst två andra slutredovisningstillfällen om vardera 2 timmar (syftet med detta är att det ska finnas publik vid slutpresentationerna och att ni ska få höra om vad de andra grupperna gjort).

Utvärdering av kursen kommer att göras bl.a. med en enkät (ACE). Grupperna kommer också mot slutet av kursen uppmanas att lämna sina gemensamma synpunkter. Även uppdragsgivarna kommer uppmanas att lämna synpunkter.

Kursenkät kommer att läggas in här.

Tryck här för att hämta kursenkäten:

Erfarenheter från årets kurs kommer att finnas i kursanalysen.
 
 

Välkommen till kursen!

Lars Kjelldahl, kursledare, nås säkrast via email: lassekj@nada.kth.se

Denna sida har webb-adressen http://www.nada.kth.se/kurser/kth/2D1954