Institutionen för informationsteknologi

Kursbeskrivning

Kursen ger 2 poäng för er som läser DVP och 1 poäng för er som läser IT. Den extra poängen för DVP är på inget sätt gratis utan motiveras med djupare kursinnehåll, en extra föreläsning och en större inlämningsuppgift.

Vi kommer att gå igenom ANSI-C. Funktioner, arrayer, loopar, pekare, makron osv. Stor vikt kommer att läggas på läsbarhet och konsten att skriva kod som går att underhålla men det kommer naturligtvis även att ingå en del fulkod (det är ju ändå C Winking smiley)

Kursen är riktad till er som inte har programmerat imperativa programmeringsspråk tidigare. (Imperativa = C/C++, Java, Pascal o.s.v.) Jag kommer att gå igenom allt från grunden och det kommer inte att gå snabbt! Eftersom C är ett relativt litet språk kommer vi dock att hinna komma till ganska svåra saker innan det är över. Efter kursen förväntas ni kunna saker som minneshantering, pekar-aritmetik m.m. Goda kunskaper i andra imperativa språk (som t.ex. Java) underlättar naturligtvis men räker inte hela vägen.

Kurslitteratur

Jag kommer inte att använda eller referera till kurslitteraturen under kursen. För den som känner sig osäker på programmering kan en bok på svenska underlätta förståelsen och den angivna kurslitteraturen är "Vägen till C". För er som mest vill ha en bok att bläddra i rekommenderar jag "The C programming language" av Kernighan/Ritchie. Boken är i första hand en uppslagsbok och inte en lärobok, så den är mycket användbar även när man kan C och är ute efter syntax och definitioner.

Examination

Examination sker genom inlämningsuppgifterna.

Alla uppgifter löses i grupper om exakt två personer. Uppgifterna ska lösas tillsammans, det är inte meningen att ni ska dela upp jobbet i mindre delar och lösa var sin del på egen hand. Alla gruppmedlemmar ska vara beredda att svara på frågor om och redogöra för hela lösningen.

På inlämningsuppgifter lämnas något av betygen godkänd (G), komplettering (K) eller underkänd (U). Komplettering innebär att lösningen inte är tillräckligt bra utan måste förbättras och lämnas in för ny betygsättning senast vid stopptiden för nästa inlämningsuppgift. Underkänt betyg får man om man inte lämnar in ett seriöst försök till lösning av uppgiften innan stoptiden eller om ev. komplettering inte är tillräckigt bra. (Och förstås om man fuskat.)

För att en inlämning ska räknas som ett "seriöst försök" ska följande kriterier vara uppfyllda:

  • Programmet ska vara ämnat att lösa det problem som uppgiften beskriver.
  • Källkoden ska passera kompilatorn (gcc) med de flaggor som uppgiften kräver utan varningar.
  • Kända fel och brister i inlämningen ska vara dokumenterade i källkoden.

Man kan alltså bli godkänd på en inlämningsuppgift på ett av två sätt:

  • Genom att lämna in en tillräckligt bra lösning i tid.
  • Genom att lämna in ett "seriöst försök" till lösning i tid och dessutom
    1. Närvara på nästa föreläsning (obligatoriskt!)
    2. Senast vid nästa inlämningstillfälle lämna in en tillräckligt bra lösning ("komplettering").

För godkänt på kursen krävs att samtliga inlämningsuppgifter är godkända enligt reglerna ovan.

Det finns en kodningsstandard för hur lösningarna skall vara utformade. Om inte denna standard följs kan resultatet bli komplettering/underkännande utan att vi ens tittar på vad lösningen faktiskt gör.

Uppdaterad  2006-02-08 13:27:27 av Jesper Wilhelmsson.