Nastava na onim najvažnijim predmetima, koji čine okosnicu studija, u smislu programskih tehnologija, odvija se kroz predavanja, laboratorijske vježbe i konstrukcijske vježbe.

Tijekom prva tri tjedna nastave student će odslušati sva predavanja kako bi se pripremio za laboratorijske vježbe. Stoga će dio predavanja biti izveden metodom ex cathedra, dok će drugi dio obrađivati konkretne primjere iz prakse (case-study). Nazočnost na predavanjima uvjet je za pohađanje laboratorijskih vježbi.

Nakon toga, laboratorijske vježbe održavat će se kroz sljedećih pet tjedana. Laboratorijske vježbe su iste za sve studente i izvode se prema zadanim pripremama i uputama za rad u laboratoriju. Student je dužan pripremiti se za laboratorijske vježbe sukladno zadanim pripremama. Tijekom laboratorijskih vježbi student će se u praksi upoznavati s pojedinim elementima programskih jezika i tehnologija, ovisno o predmetu, koje će tijekom konstrukcijskih vježbi integrirati u cjeloviti projekt. Nakon odrađenog prvog dijela, student ima obvezu kolokvirati laboratorijske vježbe.

Nakon toga, u sljedećih sedam tjedana slijedi drugi dio rada u laboratoriju kroz konstrukcijske vježbe i izradu projekta. Konstrukcijske vježbe predstavljaju samu srž studija.

U sklopu konstrukcijskih vježbi student će izraditi zadani projekt, samostalno ili u timu, pod mentorstvom nastavnika. Projekt može biti zadan u suradnji s nekim gospodarskim subjektom, ili zadan od strane nastavnika. Prilikom definiranja projektnog zadatka bit će jasno definirana svaka pojedina funkcionalnost traženog programskog rješenja, te će biti definirano kojim postotkom tražena funkcionalnost sudjeluje u ukupnom rješenju projektnog zadatka, što će biti osnova za ocjenjivanje.

Za izradu projekta student ima 45/30[1] sati koje radi pod mentorstvom nastavnika, obvezno u laboratoriju, te dodatnih 70/85[2] sati za samostalan rad na projektu koji može raditi u laboratoriju, u radnim prostorima nekog gospodarskog subjekta ili samostalno kod kuće. Student će prvih pet tjedana raditi pojačanom dinamikom, na sličan način kako rade i razvojni inženjeri u realnom sektoru – mentor će sa studentom raditi što više „kraćih“ konzultativnih sastanaka u kojima će se raspravljati o konkretnim problemima s kojima se student susreo, navoditi paradigme koje mogu voditi ka njihovom rješavanju, komentirati razna moguća rješenja i izrađivati planovi razvojnih aktivnosti na projektu.

Ovakvo mentorstvo će omogućiti i kontinuirano praćenje rada studenta tijekom izrade projekta. Tijekom rada na projektu poželjno je korištenje različitih pomagala i servisa koje će student svakako koristiti u svom kasnijem inženjerskom radu (npr. www.stackoverflow.com), kao što je poželjna i komunikacija s kolegama. Studenti koji uspješno izrade projekt, mogu pristupiti kolokviranju konstrukcijskih vježbi.

Za kolokviranje konstrukcijskih vježbi, tijekom posljednja dva tjedna nastave, predviđeno je 5 sati rada studenta pod mentorstvom nastavnika te 10 sati za samostalan rad studenta u laboratoriju, u radnim prostorima nekog gospodarskog subjekta ili kod kuće. Kolokviranje projekta koji je izrađen tijekom konstrukcijskih vježbi izvodit će se kao primopredajna procedura realnog programskog rješenja, tijekom koje će nastavnik i student prvo definirati da li izrađeni projekt ima sve tražene funkcionalnosti. Na osnovu toga nastavnik će ocijeniti da li je projekt i u kojem stupnju završen. Ovdje nastavnik može zatražiti da se određene funkcionalnosti dorade ili usklade sa specifikacijom. Nakon toga nastavnik će provjeriti vjerodostojnost projekta analizirajući programski kod, komentirajući sa studentom način rješavanja određenog problema odnosno zadajući studentu jednostavne zahtjeve za promjenama koje će student izvoditi pod mentorstvom i u nazočnosti nastavnika.

Student koji kolokvira konstrukcijske vježbe time će automatski i položiti cijeli ispit.

Ukoliko student ne kolokvira konstrukcijske vježbe, ali prethodno ostvari pravo na potpis indeksa, moći će pristupiti usmenom ispitu.

Usmeni ispit se polaže za računalom u laboratoriju i podrazumijeva samostalno rješavanje određenog manjeg programskog zadatka uz korištenje svih dostupnih pomagala, što vjernije simulirajući situaciju u stvarnom razvojnom okruženju. Za prolaz je potrebno zadatak riješiti na zadovoljavajući način uzevši u obzir najbitnije tražene funkcionalnosti. Konačna ocjena formira se na isti način kao i prilikom kolokviranja konstrukcijskih vježbi.

[1] Jedna ili druga satnica, ovisi o predmetu

[2] Jedna ili druga satnica, ovisi o predmetu