Emne - Sanntidsprogrammering - TTK4145
Sanntidsprogrammering
Om
Om emnet
Faglig innhold
Tema: Programmeringsformalismer for sanntid; POSIX, Ada, Java og Go. Tråder/prosesser, scheduling, synkronisering og kommunikasjon concurrency. Feilhåndtering, tilgjengelighet og konsistens. Programvare kvalitet og utviklingsmetodikk.
Et programeringsprosjekt gjort som gruppearbeide er en vesentlig del av faget.
Øvinger.
Læringsutbytte
Kunnskap:
- Inngående kjennskap til synkroniseringsmekanismer som semaforer og monitorer.
- Inngående kjennskap til meldingsbasert synkronisering.
- Inngående kjennskap til tråder, prosesser, scheduling og synkronisering i perspektiv av et sanntids operativsystem.
- Inngående kjennskap til vanlige fallgruber ved sanntidsprogrammering.
- Inngående kjennskap til feilhåndtering og feiltoleranse.
- Inngående kjennskap til høytilgjengelighet og konsistens i systemer med flere tråder/prosesser.
- Kjenskap til programmeringsspråkene C, C++, Java, Ada og Go.
- Kjenskap til CSP, Formelle metoder og bruk av analyseverktøy for sanntidssystemer.
Ferdighet:
- Gode ferdigheter i design og utvikling av sanntids programvare herunder både systemer basert på meldingssending og delt variabelsynkronisering.
- Evne til å planlegge og gjennomføre praktisk implementasjon av et programvaresystem av signifikant kompleksitet. (1-2 tusen linjer C-kode).
- Gode ferdigheter i et fritt valgt programmeringsspråk (sannsynligvis C, C++, Java eller ADA).
- Studenten skal kunne forholde seg konstruktivt i sitt design til feilhåndtering og konsistens i systemer med flere deltagere.
Generell kompetanse:
- Gruppesamarbeide.
- Programvareutvikling
- Informasjonsteknologi generelt.
Læringsformer og aktiviteter
Forelesninger, øvinger og prosjekt. Prosjektet er ganske stort og vil bli gjort i samarbeide med to andre studenter i hovedregelen.
Obligatoriske aktiviteter
- Øvinger
Mer om vurdering
Øvingene er obligatoriske og teller ikke på karakteren i faget.
Prosjektet evalueres i fire deler, alle gruppevis:
- "Fremdriftsrapport". Denne leveres inn i første halvpart av semesteret.
- "Kodekvalitet". Koden leveres inn, sammen med gruppens vurderinger av et antall andre gruppers kode og en post-mortem selv-evaluering. Disse danner grunnlaget for vurderingen av denne delen.
- "FAT". Dette er sluttesten av systemet. Hva som virker og ikke.
- "Slutt-rapporten". En sluttrapport som dekker bl.a. design, erfaringer og refleksjoner.
Det er ikke klageadgang på disse delene.
Alle deler av faget må bestås for å bestå faget. Utsatt eksamen arrangeres i august for midtsemesterprøven og slutteksamen.
For utsatt eksamen kan eksamenformen bli endret til muntlig eksamen. Dersom studenten også etter utsatt eksamen har sluttkarakteren F/ikke-bestått, må studenten gjenta hele emnet.
Anbefalte forkunnskaper
Studenten må ha god ferdighet i minst ett programmeringsspråk og en god forståelse av datamaskiner og operativsystemers virkemåte.
Kursmateriell
Pensumlitteratur og støttelitteratur oppgis ved semesterstart.
Studiepoengreduksjon
| Emnekode | Reduksjon | Fra |
|---|---|---|
| SIE3050 | 7,5 sp |
Fagområder
- Program/system-utvikling
- Datamaskiner
- Datateknikk
- Teknologiske fag
Kontaktinformasjon
Emneansvarlig/koordinator
Faglærere
Ansvarlig enhet
Eksamen
Eksamen
Ordinær eksamen - Vår 2026
Midtsemesterprøve
Skriftlig skoleeksamen
Oppgitt rom kan endres og endelig plassering vil være klar senest 3 dager før eksamen. Du finner din romplassering på Studentweb.