Projekt och beskrivning Björn Victor, vt 2014 Har ni boken?! Har ni projektidé?! Har ni grupp?
Övning: projektbeskrivning Till imorgon: skriv en (1) sida som beskriver ett projekt på Operativsystem och multicoreprogrammering 1. vad var planen/avsikten/syftet/målet 2. hur genomfördes arbetet 3. vad blev resultatet Övning: inte obligatorisk, men nyttig! Lämna in i Studentportalen, ta med utskrift, som ska läsas av kamrat
Övning 1 Byt projektbeskrivning med någon annan Läs och analysera: Vilka aspekter i projektet beskrivs? Vilken struktur har beskrivningen? Vilken språklig stil? Vilken detaljnivå?
Hur välja projekt? Hur strukturera idéerna? Hur formulera projektplanen?
Hur väljer man projekt? [Dawson kap 3.2]
Hur väljer man projekt? Tiden måste räcka! lagom ambitiöst givet ramarna inte i ett helt nytt område men skadar inte med bredding!
Hur väljer man projekt? Det ska vara intressant för dig! annars svårt att motivera sig, speciellt längre projekt (typ exjobb) men ibland inget/smalt val
Hur väljer man projekt? Det bör vara utvecklande för dig! givet dina mål, vad passar in för att nå dit? hur utvecklar projektet dina förmågor och kunskaper?
Hur väljer man projekt? Det ska ha syfte och tydliga mål vilken är målgruppen som får nytta av projektet? långsiktiga och kortsiktiga mål helst bägge
Hur väljer man projekt? Det har en tydlig leverans rapport, programsystem, etc hjälper dig att fokusera
Hur väljer man projekt? Det passar din profil/program/kurs gör inte exjobb i astronomi men kanske i astronomisk tillämpning av IT?
Men hur hittar man ett? Fråga efter andras idéer, gamla projekt, etc Brainstorm Strukturering
Exempel Uppsatsmet. Dataströmhantering, framtidens databaser, Molnet, elektroniskt papper, MRAM, virtualisering, trådlös energiöverföring, GPGPU, OpenID, 3Dskrivare Tidig svensk datorindustri, Open source affärsmodeller, AI-tekniker, Enigma, Turing Funktionella språk, bevisbarhet, FFT, JIT, visualisering & rendering, Python, Erlang
Exempel Självst.arb E-handel (beg. kurslitteratur), Utnarmapp, reccemottagnings-app, Win8-app Spelprogrammering (iphone, ipad, Android, XNA, multiplayer), Värmeeffektivisering (säkerhet, GUI), Tidsynkronisering i vågkraftverk Quadrotor (fyrprop. helikopter)
Brainstorm! Skriv ner alla idéer direkt som de kommer oordnat, snabbt, utan eftertanke eller filtrering När stormen bedarrat, titta på idéerna med eftertanke
Hur strukturera idéerna? [Dawson kap 3.2]
Strukturera! Givet en idé, ett ämnesområde, el.dyl: strukturera, gruppera och relatera nyckelord/delområden identifiera vad som är intressant att fokusera på
Research Territory Maps Software engineering Support elements assists Methods/ techniques can define assists Process models ongoing protocol for Activities def. content of Stages [efter Dawson, fig 3.1]
Relevance Tree Artificial intelligence application areas AI techniques Knowledge representation mundane tasks planning robotics search machine learning expert systems semantic networks rule-based systems predicate logic vision expert tasks medical diagnosis inductive learning neural nets genetic algorithms prediction [efter Dawson, fig 3.2]
Spider diagrams Figure 3.3 Example of a spider diagram for software engineering [från Dawson]
Kapiteluppdelning Givet en idé, prova att bryta upp rapporten i (tänkta) kapitel om för svårt: du vet inte riktigt vad du tänker göra om för få: projektet är för smalt om för många: du har ett för stort/ ambitiöst projekt
Extra tester Kan du motivera projektet för personen på gatan? Hur mycket vet du redan? Sätt en siffra! om svårt: du vet för lite om området Finns kontakt, handledning (ex lärare på relevant kurs)?
Jobba med företag Uppmuntras arbetslivskontakter är viktiga och nyttiga! OBS: målen skiljer sig mellan parterna företaget vill ha en viss sak gjord ni behöver uppfylla kursmålen, skriva akademiskt etc
Projektplanen
Gör projektbeskrivning Innan du påbörjar projektet, skriv en projektplan tvingar dig att tänka igenom det blir ett kontrakt mellan dig och uppdragsgivare/handledare/ examinator (även om det kan ändras) Kan funka utan, men mycket mindre chans att lyckas
Planeringstekniker SMART-mål: Specific, Measurable, Appropriate, Realistic, Time-related WBS: work breakdown structure tidsuppskattningar milstolpar Läs kap 4.3! aktivitetsdiagram Schemaläggning: Gantt
Work Breakdown Structure Figure 4.2 An example of a work breakdown structure [från Dawson]
Tidsuppskattning/budget Activity Literature search Literature review Investigate and evaluate ANNs Design ANN Develop and test ANN Get stock market data Train ANN Use stock market models Review statistical tests Analyse and evaluate Complete report Total Effort Estimated Duration 8 weeks 4 weeks 4 weeks 4 weeks 2 weeks 1 week 1 week 2 weeks 2 weeks 4 weeks 8 weeks 40 weeks (approximately 10 months) Table 4.1 Time estimates for example stock market ANN project [från Dawson]
Milstolpar Figure 4.3 Milestones leading to the project s ultimate aim [från Dawson]
Aktivitetsdiagram Figure 4.5 An example of an activity network [från Dawson]
Gantt-diagram Figure 4.6 An example Gantt chart [från Dawson]
Projektplanens innehåll
Vad ska finnas med? Titel, deltagare, sammanfattning/abstract Områdesbeskrivning, lägesbeskrivning Syfte, mål, målgrupp, motivation Frågeställningar, metoder, avgränsningar Krav, utvärdering Riskbedömning, tidplan Relation till kursmål Ser mycket ut - men hjälper! Referenser
Området + läget Områdesbeskrivning: vilket är området, omgivningen, kontextet, bakgrunden för projektet? Lägesbeskrivning: vad är läget när det gäller "problemet" som projektet ska lösa? Vilka andra har försökt lösa det, eller gjort relaterade saker?
Syfte, mål, målgrupp Syfte: vart strävar projektet? vad är det övergripande målet, nyttan, effekterna av projektet? Mål: vad ska konkret levereras/utföras av projektet (vilket tar oss närmare syftet), formulerat mätbart/smart? Målgrupp: vem/vilka får nytta av projektet, vem är det ämnat för?
Motivation! Motivation: Varför är projektet viktigt? Hur stort är problemet, vad är följden av att det inte är löst, hur bra vore det att lösa? Vilken "lucka" i området täcker ni? Varför är er lösning bättre/ annorlunda än andras?
Frågeställningar, metoder Frågeställningar: vad ska ni ta reda på, vilka tekniska problem behöver ni lösa? vilka etiska frågeställningar finns (tänk t.ex. på användningen av resultatet)? Metoder: vilka ska ni konkret använda för att lösa problemet/bygga systemet/arbeta? Vilka tekniker/verktyg ska ni använda?
Gränser, krav, utvärdering Avgränsningar: vad ska INTE göras? Vad ska bara göras om tid/resurser/ omständigheter räcker till? Krav: vilka krav ställer ni/andra på ert resultat? Hur snabbt, vackert, användbart? Utvärdering: hur ska ni utvärdera ert arbete/system, hur vet ni om/hur bra ni lyckats?
Resurser, ramar, risker Resurser och ramar: vad har ni tillgång till, vad behöver ni, hur mycket tid etc? Riskbedömning: hur skulle ni kunna misslyckas att nå målet? Hur sannolikt? Vad gör ni då? Hur kan ni undvika/ minska riskerna?
Tidplan, kursmål Tidplan: vad gör ni när? Hur mycket jobbar ni per dag/vecka/etc? När är ni lediga? Vilka milstolpar finns - när ska vilka delar vara klara? Hur hjälper projektet er att uppfylla kursmålen? integrera kunskaper från tidigare kurser - vilka? visa en fördjupad och breddad kompetens - hur?
Vad ska finnas med? Titel, deltagare, sammanfattning/abstract Områdesbeskrivning, lägesbeskrivning Syfte, mål, målgrupp, motivation Frågeställningar, metoder, avgränsningar Krav, utvärdering Riskbedömning, tidplan Relation till kursmål Referenser
Korrekturläs! Stavning: använd automatisk kontroll Grammatik: använd vänner/kollegor Klipp/klistra-fel Innehåll: Använd checklistor fullständigt (jfr. Innehåll) förståeligt, tillräckligt djup intresseväckande, välstrukturerat Mer senare
Läs kursboken Kapitel 1-2: introduktion Kapitel 3-4: projektförslag Kapitel 5: litteratursökning
Diskussion, frågor, projektidéer