Institutionen för informationsteknologi

Kursbeskrivning

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/procedurella programmeringsspråk tidigare. (Det vill säga C/C++, Java, Pascal, Basic 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 liknande språk (som t.ex. Java) underlättar naturligtvis men räcker inte hela vägen.

Kurslitteratur

Kurslitteraturen består av föreläsningsanteckningar som delas ut via kurshemsidan. Föreläsningsanteckningarna speglar föreläsningarnas innehåll ganska väl både vad det gäller exempel och formuleringar. Ibland kan det underlätta med en bok som förklarar saker på ett annat sätt än vad föreläsaren gör och jag kan i så fall nämna "Vägen till C" av Jan Skansholm. 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.

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äckligt 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  2007-01-23 17:06:56 av Jesper Wilhelmsson.