lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

Om kursen

Realtidsprogrammering eller jämlöpande exekvering?

Det händer rätt ofta att begreppen "concurrent programming", dvs att hantera parallel (jämlöpande) exekvering och delade resurser, och "real-time programming", dvs att säkerställa att exekveringen av ett program händer inom ett specificerat tidsintervall, blandas ihop, samtidigt som begreppet "realtid" i sig kan vara förvirrande. 

För att kunna bygga och hantera realtidssystem, alltså komplexa system med flera jämlöpande aktiviteter som måste kunna reagera på "spontana" inmatningar och producera resultat inom en viss tidsperiod, behövs både de nämnda programmeringsteknikerna. Sådana system är ofta inbyggda system, då både dator och mjukvara är integrerade i "maskinen", så att denna inte upplevs som dator. 

Kursens beteckning "Realtidssystem" reflekterar just den här helheten, och kursen kommer alltså att behandla både programmeringsteknikerna (jämlöpande exekvering med hantering av delade resurser och realtidsprogrammering).

Programmeringsspråk

Under kursens gång använder vi oss av programmeringsspråket Java. Goda kunskaper i objektorienterad programmering med Java förutsätts. 

Kursens språk

Kursen, dvs föreläsningar och övningar hålls på svenska, baserade på svenska föreläsningsbilder. Eftersom kursen är uppbyggd som motsvarande kurs EDAF55, dock numera nedlagd, som gavs inom civilingenjörsprogrammet på LTH baserad på engelsk material, kommer allt annat material såsom övningar, laborationsinstruktioner och rekommenderad litteratur, tillhandahållas på engelska. 

Kursens uppbyggnad

Kursen omfattar föreläsningar, övningar, samt tre (obligatoriska) laborationer och avslutas med en skriftlig tentamen (uppgifterna formuleras på engelska, svaren får ges på svenska eller engelska). För att få hela kursen godkänd krävs det att samtliga laborationer genomförs med godkänt resultat (innan tentan) samt godkänd tenta, som är avgörande för slutbetyget. 

Föreläsningsbilder görs tillgängliga som PDF i samband med respektive föreläsning under fliken "Föreläsningar". Material för övningar och laborationer finns under respektive flik i menyn till vänster. Tre övningstillfällen är förberedelsetillfällen till laborationerna och därmed obligatoriska. Efter erfarenheter från tidigare kursomgångar är det starkt rekommenderat att delta i samtliga övningar, dvs också i dem som inte är explicit tillhörande de obligatoriska laborationerna.

OBS! Till skillnad från den nämnda "syskon"-kursen EDAF55 är denna kurs (EDAF85) ingen projektkurs. Möjliga hänvisningar till "projektet" i kursens material är därmed inte relevanta här. 

Examination & obligatoriska moment (laborationer)

Examination: Godkända resultat från utförda laborationsuppgifter (tre stycken) samt avslutande skriftlig tentamen (från HT2015 ges denna på engelska). Godkända laborationsuppgifter är förutsättning för deltagande i tentamen.

Obligatoriska moment: Kursen omfattar tre laborationstillfällen, som är redovisningstillfällen för redan innan utförda laborationsuppgifter. De schemalagda timmar (två timmar per uppgift och studentgrupp) skulle inte vara tillräckligt för att både genomföra och redovisa arbetet helt. Studenterna förväntas alltså att komma med förberedda lösningar till redovisningstillfällena, skulle det dock ha uppstått problem med programmeringen kan sådana oftast lösas ändå inom redovisningens ram. 

Eftersom laborationerna är obligatoriska gäller detta också för redovisningstillfällena. Vid skälig förhinder (t.ex. sjukdom) är det alltså viktigt att kontakta kursansvarig snarast möjligt, gärna också innan den planerade redovisningstiden, för att hitta en lösning.

Uteblir man från redovisningen utan att kontakta kursansvarig om detta, räknas respektive laborationen som "underkänd", vilket gör att man inte kan delta i den avslutande skriftliga tentan.

Sidansvarig: Elin A. Topp