Eksamen og gjennomf?ring INF3331 H09

Kurset gjennomføres med avsluttende eksamen med karakterer. Det tilbys 3 alternative løp for å gjennomføre emnet:

  1. Løp 1: Mappe-eksamen med 75% av alle ukeoppgaver. Det gis 40 oppgaver. Av disse må 30 (= ca. 75%) godkjennes ved oppmøte på gruppene. Alle må opp til avsluttende skriftlig eksamen.

     

  2. Løp 2: Mappe-eksamen med 37.5% av alle ukeoppgaver + prosjektoppgave. Av de totalt 40 oppgavene kreves 15 (= 37.5%) oppgaver godkjent ved oppmøte på gruppene. Det er fritt hvilke oppgaver man velger. I tillegg må man gjennomføre en prosjektoppgave av ca. 32 timers omfang (= 4 arbeidsdager). Temaet for prosjektoppgaven er valgfritt, studentene kan arbeide i grupper på inntil tre, og prosjektet må være godkjent av gruppelærer/foreleser innen 14. november. Innleveringsfristen er derfor 31. oktober.  Alle må opp til avsluttende skriftlig eksamen.

     

  3. Løp 3: Mappe-eksamen med et månedsprosjekt. Det kreves gjennomføring av prosjekt med omfang ca. 64 timer. Prosjektforslag må innleveres til kursledelsen innen 15. september, og prosjektrapport må være levert innen 31. oktober. Prosjektet presenteres i plenum på siste forelesning. Man må opp til avsluttende skriftlig eksamen. (Dette løpet er tiltenkt de som har gode kunneskaper om programmering, generelt og scripting i Perl og Python spesielt, slik at det er noe meningsløst å gjøre et stort antall enkle oppgaver. I stedet kan man gjøre et omfattende programmeringsprosjekt, gjerne knyttet til jobb eller master/phd-oppgave.)

     

Det er bare løp 3 som krever individuell godkjenning av foreleser i starten av kurset. Man kan altså velge fritt mellom løp 1 og 2 mens kurset går. Hvis man sikter på løp 1, må man være nøye med å gjøre oppgaver tidlig i kurset (dette er pedagogisk lurt uansett, dessuten øker oppgavemengden og vanskelighetsgraden betydelig mot slutten av kurset). De som går glipp av for mange grupper, kan hoppe over fra løp 1 til løp 2.

Krav til eget arbeid

Det er underforstått at hver oppgave som inngår i mappen er utført og innskrevet av studenten selv. Dette er i tråd med Ifi's regler om obligatorisk hjemmearbeid. Dersom en besvarelse er svært lik en annen students besvarelse (og oppgaven ikke er svært enkel/kort eller at det er bare en naturlig måte å skrive programmet på), skal navn på 亚博娱乐官网_亚博pt手机客户端登录spartnere skrives øverst i filen.

Vi oppfordrer til 亚博娱乐官网_亚博pt手机客户端登录 og diskusjon rundt oppgavene, men en må alltid kunne forklare og forsvare alle sider av en besvarelse. Hvis gruppelærer er i tvil om dette er oppfylt (selv i bare en oppgave), kan gruppelærer be studenten i etterkant av timen, eller så fort det lar seg arrangere, redegjøre for den aktuelle oppgaven. Dersom redegjørelsen fortsatt etterlater tvil om tilstrekkelige kunnskaper, kalles studenten inn til en kontroll av obliger. Her vil to faglærere være til stede og be studenten forklare et vilkårlig sett av oppgavene som til da skal inngå i studentens mappe. Enhver oppgave som ikke forklares tilfredstillende vil underkjennes og kan ikke inngå i mappen.

Innlevering av oppgaver

Nå skal oppgavene for alle som følger løp 1 og 2, leveres elektronisk hver uke på http://www.ifi.uio.no/~inf3331/upload.  Klokken 16.00 på fredag stenges denne siden for innlevering av ukens oppgaver. For å få godkjent må altså en oppgave først være godkjent på en gruppetime og deretter være elektronisk innlevert i tide.

Prosjektoppgave

Forslag til prosjektoppgave (gjerne presist formulert i en epost) må godkjennes av gruppelærer. Prosjektet består av

  • kildekode (pluss evt. tilleggsprogramvare man trenger om dette ikke er installert for emnets studenter),
  • relevant dokumentasjon,
  • demonstrasjoner av funksjonalitet, samlet på en Web-side,
  • timeliste med oversikt over tidsforbruket på de ulike delene av prosjektet: lære nytt stoff, implementere og teste, skrive dokumentasjon.

Merk at timelisten er spesielt viktig dersom programmer ikke fungerer tilfredsstillende; du kan gjennom den overbevise gruppelærer om at du har gjort en tilstrekkelig innsats for å få godkjent prosjektet. Timelisten skal vise ca. 40 timer arbeid (= 5 dager) for gjennomsnittstudenten. Dette er under forutsetning av at relevante temaer, som er forelest i kurset, er fordøyet på forhånd (du kan altså ikke sette opp tre dager til å lese om GUI-programmering og så lage en enkel GUI på en dag og deretter bruke to dager til demo og dokumentasjon). Tilsvarende vil studenter med solid programmeringserfaring i Perl/Python kunne gjennomføre et godt nok prosjekt på et par-tre dager.

Filer og dokumenter som inngår i prosjektet lagres i en logisk og ryddig katalogstruktur, og en tarfil med katalogtreet sendes til gruppelærer for godkjenning.

Denne siden gir en detaljert oversikt over krav til prosjektoppgaven.

Prosjektet må ha en viss bredde av elementer fra Python eller Perl. Det betyr at programmer normalt skal ha GUI- eller Web-grensesnitt med mindre det er gode grunner for noe annet. Prosjektet er forøvrig en glimrende anledning for å lære om moduler som ikke er tema i kurset.

Vi anbefaler å sette av de to siste ukene i oktober til prosjektet. Da burde man ha gjort de fleste av oppgavene i mappen og ha et godt grunnlag for prosjektet. Samtidig blir man ferdig før den intensive eksamensperioden. Siste frist for levering er 31. oktober.

Det har vært innlevert en mengde svært imponerende prosjekter i kurset - noen ganger er det nesten magisk for mye studenter kan få til på noen få dager. De fleste lærer veldig mye av prosjektet og hever modningsgraden av stoffet i kurset (dette ser vi på muntlig eksamen). Det anbefales derfor sterkt å satse på løp 2!

Skriftlig eksamen

Formålet med avsluttende skriftlig eksamen er å kontrollere at studenten behersker kunnskaper i kurset. Det vil bli gitt karakterer.

Månedsprosjekt

Månedsprosjektet er først og fremst et tilbud til studenter om å gjøre noe mer omfattende (og gjerne mer avansert) enn det som tilbys gjennom oppgavene i kurset og evt. en kort 8-dagers prosjektoppgave. Omfanget av månedsprosjektet er 100 timer (4 uker a 25 timer). Prosjektet skal gjennomføres som et profesjonelt industriprosjekt, dvs. at det skal være prosjektforslag, timelister, dokumentasjon/rapport og presentasjon. Kvaliteten må være på et profesjonelt nivå ("ting må virke og se pent ut"). Programvaren må utvikles hovedsaklig i Perl og/eller Python, men man er fri til å plukke opp moduler og andre verktøy man kan eller vil sette seg inn i.

Prosjektforslag og prosjektrapport m/programvare innleveringsfrister - se over. Prosjektrapporten skal foreligge som Web-sider og inneholde prosjektforslag, motivasjon, beskrivelse, demonstrasjoner, programvare, timeregnskap, erfaringer mm. Studenten presenterer sitt prosjekt i plenum på siste forelesning, som et godt forberedt, profesjonelt foredrag på 15 min. Det skal føres et timeregnskap over gjennomføringen av prosjektet til hjelp for godkjenningsprosessen. Studenten må opp til skriftlig eksamen.

Hva skal man så velge?

Med mindre man er i en spesiell situasjon, f.eks. i arbeidslivet, som påtvinger løp 3, står valget mellom løp 1 og 2. Månedsprosjektet i løp 3 krever forholdsvis mye oversikt over scripting i Perl/Python før 15. september (pga. innleveringsfristen for prosjektforslaget) så dette løpet krever egentlig at man har god kjennskap om Perl/Python på forhånd. Fordelen med månedsprosjektet er at man får anledning til å gjennomføre et større programmeringsprosjekt innen sitt eget interesseområde (det er få andre muligheter til dette før masteroppgave - og ikke alltid da heller!). For de fleste studenter står valget derfor mellom løp 1 og 2. Faglig sett vet vi at 8-dagers prosjektet gir stort læringsutbytte, så løp 2 er utvilsomt hva vi anbefaler. Hovedproblemet med prosjektet er at det naturlig nok må uføres mot slutten av undervisningsperioden, og arbeidet kan komme i konflikt med eksamensforberedelser i andre kurs. Man får selvfølgelig størst fleksibilitet ved å tenke løp 1 i starten, slik at man gjør oppgavene hver uke, og så utsetter valget til senere i semesteret.

 


Publisert 25. aug. 2009 08:11 - Sist endret 7. okt. 2009 15:34