Systemprogrammering i C, VT 2007



News

Teachers

Philippas Tsigas, responsible for the course
Elad Michael Schiller
Phu Phung, assistent

Course Information

Kurskod: CTH - TDA200, GU - INN060

Kurspoäng: CTH - 3.0, GU - 3.0

Kurs-PM: Finns som [
PS] och [PDF]

Syfte
Kursens syfte är att lära ut programmering i C med fokus på systemprogrammering.

Innehåll
Syntax för språket C, strängar, filhantering, formaterad in- och utmatning, pekarhantering, hantering av fält, minneshantering, avbrottshantering, systemanrop och biblioteksrutiner, processhantering och processkommunikation, programutvecklingsverktyg som make och purify, portabilitetsaspekter.

Upplägg
Undervisningen i kursen kommer att bestå av föreläsningar och handledda laborations- och övningstillfällen. I kursen ska två laborationer utföras.

Examination
Writen exam.

Exam: 14/3, 8:30-12:30 V-huset

Kursmateriel

Som kursbok kommer vi att använda: A Book on C, programming in C - Al Kelley, Ura Pohl - fourth edition. Finns att köpa på Cremona för ca 500kr. Programexempeln i boken kan laddas i både [tar.Z] och [zip].

Om ni redan har en annan bok om ANSI-C så går det antagligen bra att använda den istället.
För de som redan kan ganska mycket om C och vill ha en referensbok rekommenderar jag "C - A Reference Manual" av Harbison och Steele.

Föreläsningsanteckningar

Lösningsförslag till de rekommenderade uppgifterna.

Schedule

Lectures

Lab Supervision

 

 

Måndag

Tisdag

Onsdag

Torsdag

Fredag

v.4
22/1

 

Lect-1 15-17

 

Lect-2 13-15

 

v.5
29/1

 

Lect-3 15-17

 

Lect- 4 13-15

 

v.6
05/2

 

Lect-5 15-17

 

Lect-6 13-15

 

v.7
12/2

Deadline lab 1

CHARM

 

No Lecture

 

v.8
19/2

 

Lect-7 15-17

 

Lect-8 13-15

 

v.9
26/2

 

No Lecture

 

Lect-9 13-15

 

v.10
05/3

 Deadline lab 2

Lect-10 15-17

 

 

 

v.11
12/3

 

 

Exam
V-huset
8:30-12:30

 

 

 

 

 

 

 

 

Laborationer

Kursen innehåller två obligatoriska laborationer som utförs i par. För GU gäller att VG är samma som 5 på Chalmers.


Om ni labbar på en Linux-dator så bör gcc fungera bra. Om ni är på en Solaris-dator måste ni dock köra "mkdir -p ~/.v_select", "v_select -p gcc-3.4.3" och "rehash" samt kompilera med flaggan "-isystem" för att C99 ska fungera bra. Om det inte fungerar med "-isystem" flaggan, prova att utelämna den.

Om ni vill logga in på skolans datorer utifrån kan ni logga in på remote1.tekno.chalmers.se (Linux) och persephone.medic.chalmers.se (Solaris).

Kursen kommer att använda ett elektroniskt system för att rapportera in laborationer. Läs
studentmanualen innan du börjar använda systemet.

Länk till labrapporteringssystemet.

Tentamen

Årets tentamen kommer att vara ganska lik tentan från 2005 samt tentorna från 2003 och tidigare.


Gamla tentor:

Diverse