You are here

Osnovne informacije

Naziv: 
OPAiSuRK - Odabrana poglavlja iz algoritama i struktura u računarskim komunikacijama
Studijski program: 
Računarstvo i automatika – E2
Semestar: 
IX
Asistent: 
Nedeljni fond časova: 
4+4

Opis

Predmet se oslanja na materiju obrađenu u okviru predmeta PNRS 1 i nadograđuje je konceptima i metodama projektovanja sistemskog softvera na modernim namenskim platformama.

Za razliku od tema pokrivenih programom PNRS 1, koje prvenstveno uključuju programiranje aplikativnog sloja, ovaj predmet je koncipiran tako da studentima približi načine funkcionisanja jezgra operativnog sistema ugrađenih uređaja.

Neki od mehanizama koji se izučavaju su: među-procesna komunikacija, napredne tehnike deljenja memorije, protok podataka kroz slojeve operativnog sistema i upravljanje multimedijalnim i grafičkim podsistemima.

Svi koncepti su praktično objašnjeni na primeru Android platforme, kao jedne od trenutno najzastupljenijih platformi na tržištu namenskih sistema. Studenti će u okviru predmeta steći teorijska i praktična znanja iz arhitekture i projektovanja sistemskog softvera, kao i modelovanja jezgra operativnog sistema. Praktični deo predmeta se radi u programskim jezicima C, C++ i Java.

Konsultacije: Prof. dr Ilija Bašičević
Pon Uto Sre Čet Pet
Po dogovoru.
Konsultacije: MSc Sandra Ivanović
Pon Uto Sre Čet Pet
         

Konsultacije se održavaju po dogovoru, u prostorijama Odseka za računarsku tehniku i računarske komunikacije, NTP, kancelarija 516 ili na platformi MSTeams.

Semestar: IX

Bodovi:

Ukupan broj časova u semestru:

Predavanja: 10

Vežbe: 5 (C)

Obrazovni cilj:

Predmet se oslanja na materiju obrađenu u okviru predmeta PNRS 1 (niže godine studija).

Nadograđuje je konceptima i metodama projektovanja sistemskog softvera na modernim namenskim platformama.

Za razliku od tema pokrivenih programom PNRS 1, koje prvenstveno uključuju programiranje aplikativnog sloja, ovaj predmet je koncipiran tako da studentima približi načine funkcionisanja jezgra operativnog sistema ugrađenih uređaja.

Neki od mehanizama koji se izučavaju su:

  • Među-procesna komunikacija
  • Napredne tehnike deljenja memorije
  • Protok podataka kroz slojeve operativnog sistema
  • Upravljanje multimedijalnim i grafičkim podsistemima

Ishodi obrazovanja (stečena znanja):

Svi koncepti su praktično objašnjeni na primeru Android platforme, kao jedne od trenutno najzastupljenijih platformi na tržištu namenskih sistema.

Studenti će u okviru predmeta steći teorijska i praktična znanja iz arhitekture i projektovanja sistemskog softvera, kao i modelovanja jezgra operativnog sistema.

Praktični deo predmeta se radi u programskim jezicima C, C++ i Java.

Cilj predmeta je da su studenti na kraju kursa:

  • Upoznati sa konceptima funkcionisanja modernog operativnog sistema na ugrađenoj platformi
  • Upoznati sa sistemskom arhitekturom Android operativnog sistema
  • Sposobni da samostalno modeluju i menjaju sistemske komponente Androida
  • Sposobni da prezentuju rezultate:
    • Kroz dokumentaciju
    • Kroz personalnu prezentaciju

Sadržaj/struktura predmeta:

Na početku kursa objašnjavaju se osnovni koncepti i softverska arhitektura Android operativnog sistema.

Nakon toga, izlažu se osnovni principi generisanja izvršnog koda, kao i napredne tehnike za uklanjanje grešaka.

Potom se izlažu osnovni sistemski koncepti, kao što su Binder, Ashmem, i kretanje informacija i podataka kroz softverske nivoe Androida.

Nakon toga, izlažu se moduli specifični za Android platformu:

  • Multimedijalni i grafički podsistem
  • TV ekstenzije
  • Java run-time (ART)

Za kraj, prezentuje se i evolucija i rasprostranjenost Android platforme na modernim (ne uvek potrošačkim) uređajima.

Ocenjivanje rada studenata je na osnovu teorijskog znanja, rada u laboratoriji i realizovanog projektnog zadatka.

Uslovi za slušanje predmeta:

-

Predispitne obaveze:

Redovno pohađanje nastave i auditornih/laboratorijskih vežbi.

Oblici nastave i način provere znanja:

Predavanja. Tutorijali. Računarske vežbe. Konsultacije.

Studenti u toku predmetnog bloka pohađaju predavanja i računarske vežbe. Tokom perioda izrade projektnog zadatka (poslednje dve nedelje predmeta), studenti svoj ispitni rad obavljaju u terminima računarskih vežbi. Ocena iz projektnog zadatka čini 60% ukupne ocene. U toku odbrane projektnog zadatka, kandidat odgovara i na pitanja iz teorije.

Teorijska znanja se ocenjuju putem posebnog kolokvijuma, i čine 30% ukupne ocene.

Formiranje ocene:

Aktivnost / Bodovi

Pohađanje nastave (10%, 5% predavanja, 5% vežbe)

Teorijski deo - Kolokvijum (30%)

Praktični deo – Odbrana projektnog zadatka (60%)

Literatura:

Pap dr Ištvan, Lukić dr Nemanja, „Projektovanje i arhitekture softverskih sistema – Sistemi zasnovani na Androidu

Skripte sa predavanja i auditornih/laboratorijskih vežbi

Dokumentacija potrebna za izradu projektnog zadatka

LEGENDA:
(A) - Fond časova auditornih vežbi

(C) - Fond časova računarskih vežbi

(G) - Fond časova grafičkih vežbi

(N) - Fond časova numeričko/računskih vežbi

(L) - Fond časova laboratorijskih vežbi