Napredne programerske tehnike

 

  Smjer: Teorijska kompjuterska nauka
  Semestar:  VIII                                                    
  Tip kursa:  Izborni
  Fond sati:      2+1+1
  Broj ECTS kredita:   7

 

Nastavni program:

 

  • Objektno zasnovani i objektno orjentirani pristup programiranju;
  • Klase rukovatelji (handle classes);
  • Razvoj zasnovan na standardnim kontejnerskim klasama;
  • Tehnike defanzivnog programiranja;
  • Napredne tehnike nasljeđivanja i polimorfizma; Metodologija višestrukog nasljeđivanja;
  • Generički pristup razvoju objekata;
  • Funkcijski objekti i njihova primjena; Simulacija funkcionalnog programiranja kroz objektno orjentirano programiranje;
  • Standardni šabloni za softverski dizajn; Standardni idiomi; Razmjenjivači poruka i skupljajući parametri;
  • Singltoni i njihove varijante; Rasparivanje objekata; Adapteri, observeri i fabrike objekata;
  • Upravljanje tokovima događaja; 
  • Ekstremno programiranje;

 

Literatura:

 

  • U. Breymann: Designing Components with the C++ STL, Addison-Wesley Longman Limited, 1998
  • B. Eckel: Thinking in C++, Volume 2: Practical Programming, Prentice Hall Inc, 2004
  • A. Koenig, B. Moo: Ruminations on C++, Addison-Wesley Longman Inc, 1997