Institutionen för informationsteknologi

Programmeringsmetodik 2 VT-05

Nyheter

Här hittar du aktuell information om kursen. Tag för vana att läsa denna sida regelbundet!

  • (2005-06-16) Den frivilliga skrivtentan 2005-06-16 är nu rättad. Resultatet finns här.
  • (2005-06-15) Hemtentan 2005-05-31/2005-06-01 är nu rättad. Resultaten finns här.
  • (2005-06-07) Den frivilliga skrivtentan 2005-05-27 är nu rättad. Resultatet finns här.
  • (2005-05-16) Hemtentan inträffar den 31/5-1/6 (tisdag-onsdag), och den valfria skrivtentan den 27/5. Se mer nedan under Examination.
  • (2005-05-16) Föreläsningen 18/5 kl 10-12 är inställd.
  • (2005-03-01) Förtydligade kopplingen PM2-PVT i avsnittet om inlämningsuppgifterna. Korrigerade deadlines för uppgift 2 och 3. Tog bort ogiltiga datum från avsnittet om tentamen.
  • (2005-02-07) Reparerade en massa trasiga länkar och referenser.

Kursstart

Första kurstillfället är en föreläsning måndagen den 19:e januari klockan 10:15 i sal 1211.

Denna föreläsning är obligatorisk eftersom kursdeltagarna kommer att registreras och diverse administrativ information lämnas. Den som av någon anledning inte kan närvara måste höra av sig till den kursansvarige.

Kursens syfte

Kursen syftar till att ge en fördjupad kunskap om och färdighet i programmeringsmetodik genom att utföra ett större programmeringsprojekt med hårda krav på kvalitet hos kod och dokumentation.

Se även den formella kursplanen för DVP-kurs, för fristående kurs.

Schema och kursupplägg

Denna kurs genomförs i samarbete med kursen Programvaruteknik (PVT). Studenter på PVT kommer att inom ramen för sin kurs utforma kravspecifikationer som skall användas vid lösning av deluppgift 2 och 3 av inlämningsuppgiften i vår kurs. De kommer dessutom att ansvara för kvalitetskontroll (testplanering och kodinspektion) av lösninarna till samma deluppgifter.

De två kurserna har vissa föreläsningar gemensamma. Ett gemensamt schema finns här.

Under period 3 kommer kursen att genomföras i låg fart (10% arbetsinsats). Under period 4 ökar takten (30% arbetsinsats).

Kurslitteratur

Kursbok är "The Pragmatic Programmer: From Journeyman to Master" av Andrew Hunt och David Thomas, Addison-Wesley, ISBN 0-20161622-X, samt kompendium utgivet av institutionen som kan köpas på UTHgård. (Det finns en risk att kompendieupplagan är för liten - skulle kompendiet ta slut så hör av dig till den kursansvarige så ordnar han en kopia.)

Uppgifter

Inlämningsuppgiften finns här. För lösningen av uppgiften gäller ett flertal kodnings- och dokumentationsregler. De som läser kursen som enstaka kurs (5p) kommer att få göra kompletterande uppgifter.

En del information som du behöver för att kunna lösa uppgiften (t.ex. information om XML-formatet och XML-parser) finns inte i uppgiftsbeskrivningen utan på denna webbsida.

Inlämningsuppgiften skall lösas i grupper om 3 (undantagsvis 2) personer. Dessa grupper skall anmälas till någon av assistenterna omgående (Namn och e-mail på samtliga i gruppen). Skulle du sakna någon att arbeta med så meddela detta så skall vi fixa grupper åt er.

Deluppgifter som är godkända behöver inte nödvändigtvis vara 100% korrekta. Mindre fel ger inte komplettering utan skall åtgärdas till redovisningen av nästa deluppgift. Du bör därför hämta ut din rättade uppgift snarast, även om den blev godkänd. Har ev. kommentarer inte åtgärdats i nästa redovisning får du "riktig" komplettering.

Ni skall lämna i en redovisning på papper som innehåller dokumentation och källkod (se uppgiftsbeskrivningen för detaljer). Vid inlämning skall din grupp även tillhandahålla en tar-fil med källkoden till programmet. Lämpligen anges fullständigt namn (inkl. katalog) till denna tar-fil i början av redovisningen så att assistenterna kan hitta den. När den packas upp skall innehållet hamna i en katalog med samma namn som gruppen. Skriver man make i denna katalog så skall tracern byggas (ej nödvändigt för deluppgift 1).

Testdata

Större testfiler i ppm-formatet hittar du på Unix-systemet i katalogen /it/kurs/pm2/vt04/ppm. Vill du titta på innehållet i en ppm-fil kan du använda programmet xview. Mindre testfiler kan du hämta från sista sidan i uppgiftsbeskrivningen eller t.o.m. konstruera för hand.

XML

Läs en XML-presentation (OH-bilder) eller en kort introduktion till XML. Annars finns massor med information på webben. Gör t.ex. en Google-sökning efter XML tutorial.

Exempelfiler för raytracern i XML-format kan du hitta i katalogen /it/kurs/pm2/vt04/xml. DTDn till raytracerfilerna finns under http: //www.it.uu.se/edu/course/homepage/pm2/VT04/pm2gl.dtd.

Vi kommer att använda XML-parsern libxml2 för att läsa XML-filer enligt DOM (document object model). Det finns en introduktion till libxml2, även i pdf-format. libxml2 finns installerad på institutionens Unix-system. När du kompilerar och länkar ett program som använder libxml2 så behöver du ge gcc optionerna -I /it/sw/www/include/libxml2 -L /it/sw/www/lib -l xml2. I katalogen /it/kurs/pm2/vt04/xmltest finns ett program xmltest.c som är baserat på programmet i XML-introduktionen ovan. Det parsar och validerar en XML-fil samt skriver ut elementnamnen i filen med indentering som motsvarar datastrukturen i filen.

För att titta på eller redigera XML-filer kan man använda XML-editorn xmlpro. Den kan köras från /it/kurs/pm2/vt04/xmlpro. Dokumentation finns i pdf-format. Innan du kan köra xmlpro måste du kopiera licensfilen /it/kurs/pm2/vt04/xmlpro2.01/xmlpro.prp till den katalog som du har som arbetskatalog när du kör xmlpro.

Inlämningsdagar för deluppgifter

  • Del 1: 16:e februari klockan 08:00.
  • Del 2: 24:e mars klockan 12:00
  • Del 3: 6:e maj klockan 12:00
  • Del 4: 24:e maj klockan 08:00
  • Del 5: 24:e maj klockan 08:00

Observera att för lösning av deluppgift 2 och 3 kommer studenter på PVT att utforma en kravspecifikation, vilken skall användas som underlag för programmeringen. PM2 grupperna ska
"i princip" ha löst uppgiften två veckor innan deadline. Sedan gör PVT studenterna kvalitetskontroll (testning och kodinspektion i samarbete med PM2 studenter). PM2 studenterna ska ta tillvara denna kvalitetskontroll, fixa problemen, och lämna in enförbättrad version den dag som anges som deadline. Den första versionen skall också lämnas in, eftersom det är denna version som är relevant för att bedömma PVT-studenternas rapporter.

Det kommer också att finnas en slutlig deadline för inlämning av uppgifter inklusive kompletteringar. Lösningar som lämnats in efter denna slutliga deadline kommer inte att rättas!

Examination

Examinationen består förutom en bedömning av lösningarna av inlämningsuppgiften av en två dagaras hemtenta. På hemtentan kommer du att få frågor som rör din egen lösning av inlämningsuppgiften (t.ex. "Skissa hur du skulle ändra ditt program för att införa följande ni funktionalitet..."). För godkänt betyg krävs godkänt på både inlämningsuppgiften och hemtentan.

Alla hjälpmedel är tillåtna för att lösa hemtentan, utom att fråga någon annan. För att försvåra detta får alla i en grupp olika tentor, men framförallt är det en förtroendefråga.

Vill man ha väl godkänt betyg krävs förutom detta att man skriver en frivillig salstenta med mera teoretisk inriktning där frågorna avser material som berörts i kurslitteraturen - speciellt kompendiet. Betyget VG får man om man fått VG på två av dessa tre examinationsmoment (inlämningsuppgift, hemtenta, salstenta).

Hemtentan kommer att ske den 31/5-1/6. Ingen anmälan krävs för hemtentan. Tentan kan hämtas ut personligen i rum 1318 mellan klockan 08:30 och 09:00 den 31/5. Om du inte hämtar tentan så skickas den med e-post minuterna efter klockan 09:00 (om du har anmält att du vill ha den via e-post). Tentan skall lämnas in i mitt postfack senast klockan 16:00 den 1/6. Om du hämtar tentan personligen så skall du visa upp kårleg. Om du får tentan per e-post måste du besöka kursledaren och visa upp kårleg innan resultatet registreras. Skulle du få underkänt på hemtentan eller avstå från att skriva den så ordnas omtenta i omtentaperioden i augusti respektive januari efter personlig överenskommelse med kursledaren.

Den frivilliga tentan är den 27/5, kl. 08-13 i Polacksbackens skrivsal. Till denna tenta måste du
anmäla dig till kansliet enligt vanliga regler. Eftersom man inte kan höja ett godkänt betyg så ligger
det i sakens natur att det inte blir någon omtenta på den frivilliga tentan.

Några gamla tentor: Hemtenta 980814, Frivillig tenta 971024.

Fusk

Om man använder andra gruppers lösningar av en uppgift när man gör sin egen lösning - eller rent av lämnar in en (nödtorftigt ändrad) kopia av någon annans lösning så är det fusk. Samma sak gäller om olika grupper samarbetar om lösningarna. Fusk kommer att leda till disciplinära åtgärder som avstängning från all undervisning och examination under viss tid.

Det är givetvis tillåtet att diskutera lösningar och lösningsmetoder med varandra mellan grupperna, men ni skall i gruppen själva ha konstruerat de lösningar ni lämnar in. Tror ni att det är risk för att sådana diskussioner leder till att två lösningar är väldigt lika varandra så säg till er lärare i förväg så undviker ni bekymmer senare. Eventuellt kan ni i så fall få göra extrauppgifter om läraren bedömer att ni samarbetat för mycket.

Uppdaterad  2005-06-16 15:38:58 av Mikael Pettersson.