P2 Projektet P2-vejlederne Redigeret af Kurt Nørmark Datalogi og Software Første Studieår Aalborg Universitet Forårssemestret 2015
Introduktion til P2 projektforløbet Til dette P2 projektforløb vil der ikke blive udarbejdet et traditionelt projektkatalog. I stedet for beskrives der nogle områder og retninger, som kan være udgangspunkt for projektarbejdet (se de sidste sider i dette dokument). Disse områder vil være udgangspunkt for gruppedannelsen på den første dag i projektperioden. I den indledende periode af projektarbejdet skal de dannede grupper diskutere og udforske området med henblik på at beskrive et initierende problem. Mere specifikt afsættes der ca. en uge til at beskrive projektet og til at formulere det initierende problem. Det er vigtigt at rådføre sig med projektvejlederen i dette forløb, således at projektet både er motiverende og interessant for de studerende og for vejlederen. Ved afslutningen af perioden skal der udarbejdes en projektbeskrivelse. Dette er et kort skrift, som omfatter beskrivelse af følgende: Problemstillingen - bredt og overordnet. Datalogiske emner som forventes involveret i projektet. Kontekstuelle spørgsmål og problemstillinger. Formuleringen af det initierende problem for projektarbejdet. Kort redegørelse for hvordan tema og målsætninger i studieordningen for P2 forventes at blive opfyldt i det valgte projekt. Projektbeskrivelsen sendes til projektvejlederen (pr. mail, PDF dokument) senest onsdag 11. februar kl. 12. Der vil blive foretaget et review af det udarbejdede projektforslag blandt vejledere, koordinator og PV-konsulenter. Reviewet kan resultere i at projektforslaget skal revideres. Side om side med beskrivelsen af projektet skal der laves gruppesamarbejdsaftale og vejlederkontrakt. Hovedvejledere Der er pt. afsat vejledningsressourcer til i alt 21 grupper på Dat2/SW2: Kurt Nørmark, normark@cs.aau.dk - 5 grupper. Rikke H. Jensen, rjens@cs.aau.dk - 2 grupper. Jacob Nørbjerg, jacobnor@cs.aau.dk - 2 grupper. Jane Billestrup, jane@cs.aau.dk - 6 grupper. Bo Thiesson, thiesson@cs.aau.dk - 2 grupper. Louise Foshammer, foshammer@cs.aau.dk - 2 grupper. Claus Skaaning, claus.skaaning@gmail.com - 2 grupper. 1
Der er ikke tilknyttet bivejledere til projekterne på P2. Der vil være mulighed for at møde de fleste vejlederne ved semesterstarten. Endvidere er der mulighed for at sende email til vejledere og/eller forslagsstillere forud for gruppedannelsen. Kurt Nørmark. 2
Studieordningen for P2-projektenheden Titel Programmering og problemløsning. Forudsætninger Projektmodulerne på 1.semester, kursusmodulerne Imperativ programmering og POPBL (også kendt som PV) samt at kursusmodulerne Diskret matematik, Computer arkitektur og Objektorienteret programmering følges parallelt med projektarbejdet. Formål At den studerende opnår færdigheder i problemorienteret projektarbejde i en gruppe samt viden om sammenhænge mellem problemdefinition, modeldannelsers rolle i forståelse og konstruktion af programmer, og programmer som løsning på et problem i en problemstillings kontekst. Endvidere at opnå viden om fagets indhold og fagets videre potentialer. Begrundelse Projektarbejdet fokuserer på at opnå færdigheder i programmering og dertil hørende modeldannelse i forbindelse med problemløsning. Projektarbejdet skal således sikre, at de studerende opnår et fælles fundament i programmering, der kan udnyttes i efterfølgende semestre. Projektarbejdet fokuserer desuden på at opnå erfaring med problemorienteret projektarbejde i tilknytning til programmering. Mål Viden Den studerende skal efter gennemført projektmodul kunne: forstå og gøre rede for syntaks og adfærd af sproglige konstruktioner i et konkret programmeringssprog og hvordan de kan anvendes Færdigheder Den studerende skal efter gennemført projektmodul kunne: 3
implementere et større program og herunder udnytte og forstå begreber, strukturer og faciliteter i programmeringssproget samt på denne baggrund konstruere et velstruktureret program gennemføre en aftestning af programmet som - i en rimelig grad - sikrer, at det udviklede program svarer til problemformuleringen. Kompetence Efter gennemførelsen af projektmodulet skal den studerende kunne: afgrænse en problemstilling og inden for denne problemstilling formulere og forsvare et problem, der kan løses ved brug af programmering som en væsentlig del af løsningsmetoden udarbejde en model, der kan anvendes i forbindelse med løsningen af det valgte problem fuldføre arbejdet frem til et køredygtigt og demonstrerbart program og herunder vise evne til afgrænsning beskrive hvordan programmet løser et formuleret problem inden for problemstillingens kontekst inddrage relevante brugsmæssige og sociale forhold af løsninger inden for datalogi og softwareteknologi beskrive, reflektere over og analysere de opnåede erfaringer med problemorienteret projektarbejde i en gruppe Indhold Som del af projektets problemløsning skal gruppen i fællesskab udarbejde et større program af høj kvalitet. Der skal i denne forbindelse også være en beskrivelse af væsentlige egenskaber ved programmet. Der skal specielt gøres rede for det overordnede design af løsningen, eventuelt med hovedvægt på programstrukturer og anvendte algoritmer. Som dokumentation for projektarbejdet skal projektgruppen udarbejde en P2-rapport, udarbejde en P2-procesanalyse, Midt i projektperioden afholdes et statusseminar, hvor projektgruppen fremlægger sin problemformulering, arbejdsresultater og erfaringer med projektarbejdsprocessen. Ved dette seminar deltager mindst én anden projektgruppe og de pågældende gruppers vejledere. Prøveform Mundtlig prøve - gruppeeksamen på baggrund af projektdokumentationen. Bedømmelse Individuel karakter efter 7-trins-skalaen. Ekstern censur. 4
Vurderingskriterier Fremgår af rammestudieordningen, som kan læses via adressen: http://www.sict.aau.dk/til-studerende/regler-retningslinjer/rammestudieordning/ Se teksten på side 49-51 i det refererede PDF dokument. 5
Områder for P2-projektet Her følger korte beskrivelser og oplæg om de mulige retninger for P2 projektet. 1. IT til administration i mindre virksomheder. En virksomhed skal holde styr på varer og tjenesteydelser, og forskellige sammenhænge mellem disse. Endvidere skal der understøttes bestemte forretningsprocesser. Inden for dette område skal der identificeres en særlig problemstilling. Endvidere skal virksomhedens forretningsområde naturligvis identificeres (hvilken slags virksomhed). 2. IT i foreninger. Foreninger, såsom sportsklubber, har behov for IT til at holde styr på medlemmer og andre ressourcer. Dette kan eksempelvis være ledere, trænere, vagtplaner, turneringer og økonomi. Et projekt inden for dette område skal, som udgangspunkt, identificere en særlig vinkel - og en specifik problemstilling. Den kan endvidere anbefales at knytte en kontakt til en bestemt forening. 3. IT i hjemmet. IT fylder efterhånden rigtig meget i hjemmet. Ikke bare i forhold til PC ere, telefoner og tables, men i lige så høj grad i forhold til at automatisere forskellige ting, for at gøre hverdagslivet lettere. IT i hjemmet kan også give overblik over forbrug, beholdninger, og mangler. Projekter inden for dette områder kan også omfatte IT sikkerhed i hjemmet. Med tiltag i konceptet internet of things i private hjem bliver sikkerheden et stadigt vigtigere område. 4. Matematik og IT. Matematik og datalogi hænger tæt sammen. IT bliver brugt til at arbejde med matematik på mange forskellige måder, både helt basalt (regnemaskiner), og mere ambitiøst (CAS systemer) inden for undervisning, produktudvikling og forskning. Med afsæt i dette brede område skal der identificeres et specifikt problem, som egner sit til at opfylde P2 projektets målsætninger. 5. Sundhed og IT. Introduktion af IT inden for det danske sundhedsvæsen har været et langt og smertefuldt forløb. Det har f.eks. taget mere end et årti at indføre elektroniske patientjournaler på de danske sygehuse. Der er stadig i 2015 mulighed for nytænkning og forbedringer. Mange, som arbejer i sundhedssektoren, er frustrerede over uhensigtsmæssig understøttelse af arbejdsgange, og måden hvorpå sundhedsarbejdet skal dokumenteres ved brug af IT. Udfordringen inden for dette område vil bl.a. være at identificere en niche (og et problem) inden for sundhedsområdet, som fagligt kan håndteres i et projekt på DAT2 eller SW2. 6. Simulering. Simulering af en udvalgt del af virkeligheden er et stort og vigtigt område. En simulering skal typisk give indsigt i hvordan et kompliceret system fungerer i et tidsligt forløb. Simulering tager udgangspunkt i en model, som ønskes analyseret for at forstå udvalgte egenskaber af det virkelige og bagvedliggende system. Simulering og objekt-orienteret programmering er et klassisk makkerpar. De første objektorienterede programmeringssprog - Simula - blev lavet med henblik på at løse simuleringsopgaver. 7. Optimering. Der findes mange situationer, hvor man ønsker, at kunne optimere en virkelig proces. Dette kan være i forhold til pladsbesparelse, som f.eks. på parkeringspladser eller pakkelagre, eller i forhold til tid, som f.eks. ved ruteplanlægning eller planlægning af flugtveje. Optimering tager udgangspunkt i en model af virkeligheden og herudfra kan forskellige scenarier beskrives og forbedres. 6
8. Detektering af unormalheder. Der er mange situationer, hvor det er yderst kritisk at opdage unormalheder eller uhensigtsmæssigheder ( anomaly detection ). For eksempel kan det være kritisk for en patients velvære og helbredelse at opdage unormale kombinationer af ordineret medicin. Men der er mange andre muligheder for overvåningssystemer (tyveri, snyd, etc.) Unormalheder kan opdages på to måder: Enten har man en model af hvad der er normalt og unormalt og klassificerer i forhold til det, eller også har man en model for hvad der er normalt, og klassificerer så alt afvigende som unormalt. For et projekt indenfor dette område er det vigtigt, at gruppen først taler med vejleder(e) om tilgængeligt datamateriale. Uden data kan projektet ikke lade sig gøre! 7