Nada

2D1351, Programmeringsstil, 4 poäng, period 4 01/02

Denna sida: Separata sidor:

Senaste nytt

2002-06-22
Nu har kursens bästa projekt utsetts.
Joel har skrivit en kursanalys för den avslutade kursomgången.
2002-05-27
OH-bilder från Decernos gästföreläsning Att hantera projekt i en konsultorganisation finns nu på sidan med gästföreläsningar.
2002-05-19
Nu finns information om hur tilldelning av hedersomnämnande går till.
På fredag finns det möjlighet att gå på möte och påverka datorintroduktionen för D02.
2002-05-02
Information om examination och bokning av redovisningstider finns här.
OH-bilder från OM:s gästföreläsning Utvecklingen av den elektroniska handelsplatsen SAXESS finns nu på sidan med gästföreläsningar.
2002-04-29
Gästföreläsning: Utvecklingen av den elektroniska handelsplatsen SAXESS, OM AB, torsdag 2/5 kl. 12.15-14.00 i sal D1.
2002-04-25
Det blir en repetitionsföreläsning den 30/4 kl 08:15 i sal E1 där alla praktiska detaljer gällande implementationsdokument, slutdokument och examination gås igenom.
Referenserna uppdaterade med information om Javadoc.
2002-04-24
OH-bilder från gästföreläsningarna Projekthantering på Front och Beställarkompetens finns nu på sidan med gästföreläsningar.
2002-04-18
Information om att föra över designdiagram till Star Office och MS Word tillagt i FAQ:n.
2002-04-17
Föreläsningen 23/4 är inställd.
Istället för en tävling kommer framstående projekt att ges ett hedersomnämnande.
2002-04-16
Referenserna uppdaterade med dokumentation till Dia. Dia är ett bra verktyg för att rita UML-diagram.
Referenserna uppdaterade med en översikt av MIME (standard för hur ett e-postmeddelande kodas). Dokumentet är lite mer ingående än vad som krävs. Tack Andreas Frey för informationen!
2002-04-10
Information om gästföreläsningar.
Föreläsningen 16/4 är inställd.
En exempelfil med skräppost finns nu tillgänglig. Se FAQ:n för mer information.
2002-03-19
Seminarium om eXtreme Programming i morgon! (Ej obligatoriskt och ingår inte i kursen.)
En sida med dokument från förra årets kurs har lagts upp. Det är en dump från ett gammalt excelark och innehåller en del döda länkar.
Alla får uppskov med kravspecifikation till på måndag 25 mars p.g.a. kontrollskrivning i Logik. Du behöver inte längre anmäla detta till din gruppledare.
2002-03-14
Automat-meshning av extremt simpla skruvar i skalmeshade strukturer är ett nytt spännande förslag till eget projekt som lämnats in av Scania.
En sida med vanliga frågor och svar finns här.
2002-03-13
Gruppindelning och projekttilldelning finns här.
2002-03-12
Programmeringstävling på NADA.
Detaljschema.

Lärare

Kursledare och föreläsare är Joel Brynielsson, joel@nada.kth.se.

Gruppledare för de tre grupperna är

  1. Ronnie Johansson, rjo@nada.kth.se
  2. Jens Rathsman, f97-jra@f.kth.se
  3. Joel Brynielsson, joel@nada.kth.se
Eventuella frågor riktas i första hand till din gruppledare. Då du skickar e-post till oss vill vi att du börjar din ärenderad (d.v.s. "Subject:") med "[prost] ".

Kursupplägg

Programmeringsstil består av en föreläsningsserie och ett projektarbete som löper parallellt där stoffet från föreläsningsserien omedelbart kan tillämpas i det pågående projektet.

Föreläsningsserien är tvådelad:

Projektet genomförs i projektgrupper om två personer som sätts samman slumpvis av kursledaren. Det främsta motivet för den slumpvisa gruppindelningen är att man i sitt yrkesverksamma liv inte alltid har möjlighet att välja sina arbetskamrater. Observera att endast de som har registrerat sig i res kommer att indelas i grupper och tilldelas projekt. Du förväntas därför ha skrivit in dig i res senast tisdag 12 mars (se nedan för information om res).

Gruppindelning och projekttilldelning kommer att anslås på kursens webbsida den 13 mars.

Projekt

I årets upplaga av kursen blir teknologerna tilldelade något av följande projekt:
  1. Webbläsare med editor
  2. E-postfilter
  3. Presentationsprogram
  4. Chattprogram
Projekten kommer att presenteras närmare under kursens tredje föreläsning (13 mars).

Eget projekt

För den intresserade projektgruppen finns möjlighet att byta bort sitt tilldelade projekt mot ett eget projekt. Har ni en specifik idé som ni vill realisera så kan ni ansöka hos er gruppledare om att få göra ett eget projekt.

Några lärare och forskare har hört av sig med ett antal skarpa projekt som kan definieras som egna projekt. Det här är chansen för dig som vill ha en riktigt intressant uppgift med en intresserad uppdragsgivare.

Projektkrav

Projektet förväntas uppfylla följande: Projektet demonstreras och examineras i datorsal i vecka 20.

Dokument

Under kursen förväntas projektgruppen lämna in följande dokument:
22 mars
Kravspecifikation.
19 april
Designdokument.
3 maj
Implementationsdokument.
13-16 maj
Slutdokument (inlämnas i samband med examinationen).
Inlämning av dokument sker via webblänk som e-postas till gruppledaren. Dokumenten skall vara välskrivna, snygga, "säljande" och läsbara på webben. Ett dokument anses läsbart på webben om det tillåter läsaren att välja webbläsare och operativsystem efter eget behag (HTML- och PDF-dokument är okej, men Word- och Postscript-dokument är förbjudna). Alla brev med dokumentinlämning besvaras från gruppledaren med återkoppling. Brister i inlämnade dokument skall därefter åtgärdas. Om bristerna är ringa räcker det med att uppdatera i slutdokumentet (där alla de tidigare inlämnade dokumenten ingår). I annat fall skall komplettering göras inom en vecka från det att gruppledaren så begär.

Detaljer om dokumentens utformning och innehåll kommer att gås igenom i kursens föreläsningsserie.

Kurslitteratur

Kursbok

Föreläsningarna i kursen tar upp valda delar av följande bok:
Ian Sommerville. Software Engineering. 6:e upplagan, Addison-Wesley, 2001.
ISBN 0201-39815-X. 720 sidor.
Pris: 600 kr på kårens bokhandel.
Boken har en omfattande hemsida med exempelkod, inledande kapitel, ordlista, OH-bilder, m.m.
"Software Engineering" är en bra och heltäckande bok när det gäller mjukvarukonstruktion som i flera avseenden går utanför omfattningen av denna kurs. Förutom att boken ger en bra framställning av området har den också valts för att ge teknologen en användbar referens för framtiden. Litteraturen kommer inte att tenteras av och det står studenten fritt att välja annan (eller ingen) litteratur om så önskas. För den som vill äga en bra bok i mjukvarukonstruktion vill vi dock varmt rekommendera "Software Engineering" av Sommerville.

I årskurs tre kommer ytterligare två högskolepoäng att ägnas åt mjukvarukonstruktion och då kommer Sommerville att komma till användning. Läs om Nadas omläggning av datalogikurserna på D-linjen för mer information.

Java

För den som vill ha en bra och grundläggande svensk bok i Java rekommenderas Skansholm som komplement till Deitel och Deitel som användes i INDA.
Jan Skansholm. Java direkt med Swing. 3:e upplagan, Studentlitteratur, 2002.
ISBN 91-44-02228-X. 680 sidor.
Pris: 400 kr på kårens bokhandel.
Uppföljaren till Deitel och Deitel är en tjock bok med mycket exempelkod. Boken skall mer ses som en exempelsamling än en bok man läser från pärm till pärm. För den som tycker om att lära sig via exempel är den mycket bra med beskrivningar av många av de tyngre API-klasserna.
Harvey Deitel, Paul Deitel, Sean Santry. Advanced Java 2 Platform - How to Program. Prentice Hall, 2002.
ISBN 0-13-089560-1. 1496 sidor.
Vikt: 3,3 kg
Pris: 700 kr på kårens bokhandel.

Referenslitteratur

Under kursen har följande två böcker visats upp. De innehåller många bra tips för den som utvecklar mjukvara och är skrivna av några mycket erfarna programmerare.
Brian W. Kernighan, Rob Pike. The Practice of Programming. Addison-Wesley, 1999.
ISBN 0-201-61586-X. 288 sidor.
Bokens hemsida.
Andrew Hunt, David Thomas. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley, 1999.
ISBN 0-201-61622-X. 352 sidor.
Pris: 445 kr på kårens bokhandel.
Bokens hemsida.

Schema

KTH:s centrala schema gäller med två undantag. Föreläsningarna 16:e och 23:e april är inställda. En lokal kopia från KTH:s schemagenerator finns här. Eventuella schemaändringar kommer att annonseras under rubriken "Aktuellt" ovan.

OBS! I denna kurs är det mycket viktigt att hålla sig informerad om eventuella schemaändringar som kan tänkas uppstå p.g.a. osäkerheten när det gäller gästföreläsningsdelen. Sådana ändringar annonseras via kursens webbsida.

Detaljschema

2002-04-30
Implementationsdokument, slutdokument och examination. Detta är en repris av föreläsningen från 2002-04-22 med en ordentlig frågestund efteråt.
2002-04-22
Implementationsdokument, slutdokument och examination. (Andra timmen föreläste Keith Curtis från Microsoft enligt gästföreläsarschemat.)
2002-03-20
Disposition av designdokument. Frågestund.
2002-03-19
Design. Sommerville: Kapitel 10 och kapitel 12.
2002-03-18
Fortsättning kravspecifikation med ett konkret exempel från förra årets kurs. Mer om mjukvaruprocesser och mjukvaruprocessmetoder. Sommerville: Kapitel 3 och kapitel 19.4 (Cleanroom Process).
2002-03-13
Projekttilldelning och grupptilldelning. Karakteristik för de olika projekten. Presentation av skarpa projekt med en titt på skillnader i användarkrav och systemkrav. Sommerville: Tillbakablick på kapitel 5.
2002-03-12
Riktlinjer för kravspecifikationen. Sommerville: Kapitel 3 t.o.m. 3.1.1 (vattenfallsmodellen) och kapitel 5 (förutom 5.3.1 - 5.3.3).
2002-03-11
Introduktionsföreläsning och genomgång av kursprogrammet. Inbjudan att deltaga i en programmeringstävling på NADA. Sommerville: Kapitel 1.
2002-02-19
Kursinformation i samband med sista INDA-föreläsningen.

Terminalövningar

Sex timmar i veckan finns schemalagda laborationer i salarna Grå, Karmosin och Vit (plan 5 i E-huset). Här är det meningen att projektgruppen kan ställa frågor rörande projektet, och då främst frågor rörande implementering i Java. Där skall alltid finnas minst två handledare närvarande att fråga om hjälp enligt aktuellt assistentschema. Som kösystem vid terminalövningarna används SimaManager.

Observera att det inte är meningen att man skall hinna göra allt sitt arbete under labbpassen. Tiden är avsedd främst för frågor.

Förutom den schemalagda tiden finns även allmän handledare tillgänglig i terminalsalarna på plan 4 vissa tider varje vardag.

Kursregistrering

Så snart kursen börjat måste du registrera dig på den. Detta görs med kommandot

res checkin prost02

på någon av Nadas unixdatorer. Du förväntas ha registrerat dig senast tisdag 12 mars!

Du bör också ge kommandot

course join prost02

Detta kommando gör tre saker:

När du är klar med kursen ger du kommandot

course leave prost02

för att återställa allt.

Om du inte läser på D-programmet måste du anmäla dig till kansliet/studievägledningen för ditt utbildningsprogram. Ingen förhandsanmälan ska göras till Nada. Det finns ingen platsbegränsning.

Betyg

Som slutbetyg på kursen ges betyget G (godkänd) eller U (underkänd). För att bli godkänd krävs: Teknolog som underkänns på kursen får ej tillgodoräkna sig uppnådda delresultat i ny kursomgång eller i annan kurs.

Resultat

När du är inloggad kan du se vilka kursmoment du är godkänd på genom att ge kommandot

res show prost02

Hederskodex

Programmeringsstil examineras genom inlämning av dokument och genom implementation av ett större projekt i Java. Dokumenten förväntas ni författa själva med referenser till de verk som ni bygger er framställning på.

När det gäller projektet så är det många gånger vettigt att använda material som någon annan gjort för att åstadkomma det färdiga resultatet. Låna gärna kod till perifera bitar, men skriv det centrala själv. Grundregeln är att det jobb du och din labbkamrat gör i kursen ska ni göra själva. Vid examinationen ska båda i gruppen kunna redogöra i detalj även för vad labbkompisen skrivit.

Det är tillåtet att använda någon annans programkod förutsatt att följande villkor uppfylls:

För både dokument och programkod gäller: Varje annan form av samarbete och utnyttjande av andras lösningar betraktas som fusk och kommer att handläggas av KTH:s disciplinnämnd som gör en utredning och avgör påföljd.

Notera att vi i denna kurs alltså uppmuntrar till användning av befintliga programbibliotek så länge detta görs synligt. Att använda extremt stora delar programkod som ni inte gjort själva är inte fusk så länge som ni inte tar åt er äran för jobbet, men ni kommer inte att bli godkända på kursen om ert egna programmeringsarbete därmed är ringa. En mycket grov riktlinje är att ni skall ha skrivit åtminstone 50% av programkoden själva.

Observera att alla färdiga projekt lagras och jämförs med andra inlämnade uppgifter på Nada för att motverka kopiering.

Synpunkter på kursen

Vi är tacksamma för alla synpunkter på kursen, och då helst under kursens gång så att vi hinner göra ändringar innan det är för sent. Synpunkter lämnas direkt till lärarna eller genom de kursutvärderare som teknologerna själva utser.

En datorstödd kursutvärdering kommer att göras efter kursens slut. Denna ligger sedan till grund för en kursanalys.

Referenser

Stöd för dokumentskrivande

Implementering

Övrigt

^ Upp till kursens webbsida.


Sidansvarig: Joel Brynielsson <joel@nada.kth.se>
Senast ändrad 22 juni 2002
Tekniskt stöd: <webmaster@nada.kth.se>