Dejan Bokan

Dejan Bokan holds the role of Chief Product Owner at TTTech Auto and serves as an Instructor at NIT Academy. With a wealth of experience exceeding a decade in Embedded Software Development, specializing in Consumer Electronics and Automotive Software, he has built a solid reputation for delivering industry-quality software solutions. Currently, Dejan focuses on collaborating with major Automotive OEMs to ensure the provision of high-quality solutions for Advanced Driver Assistance Systems (ADAS).

His passion for knowledge transfer was prominently displayed during a six-year tenure as a Teaching Assistant at FTN University of Novi Sad. During this time, he had the opportunity to nurture the growth of aspiring engineers, leaving a positive and lasting impact on their educational journey.

Driven by a passion for expanding his expertise, Dejan is pursuing a Ph.D. in Machine Learning applications for Image and Video Processing. His research aims to enhance image and video analysis using artificial intelligence.

Dejan's blend of theoretical expertise and practical insights has consistently led to successful project implementations. He remains dedicated to staying abreast of the latest advancements and effectively shares his knowledge with colleagues and students alike. His expertise and commitment to innovation make him a valuable asset to the NIT Institute Lecturers community.


  • Bokan, G. Velikić, D. Kukolj and D. Sandić-Stanković, "Blind DIBR-synthesized image quality assessment based on sparsity features in morphological multiscale domain," International Conference on Quality of Multimedia Experience (QoMEX), Erfurt, Germany doi: 10.1109/QoMEX.2017.7965645
  • Sandić-Stanković, D. M. Bokan and D. D. Kukolj, "Blind DIBR-synthesized Image Quality Assessment using multi-scale DoG and GRNN," Symposium on Neural Networks and Applications (NEUREL), Belgrade, Serbia, doi: 10.1109/NEUREL.2018.8587020.
  • Bokan, D. Kukolj and D. Sandić-Stanković, "A no-reference synthesized view quality assessment using statistical features in morphological multiscale domain," Telecommunication Forum (TELFOR), Belgrade, doi: 10.1109/TELFOR.2017.8249420
  • Bokan, M. Temerinac, Z. Lukac and S. Ocovaj, "C based laboratory for teaching Digital Signal Processing to Computer Engineering undergraduates," International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, doi: 10.23919/MIPRO.2017.7973526


Understand C on a higher level, including its memory handling, optimizations, and advanced constructs.


Gain an in-depth understanding of the logic behind the C language. Understand how commands written in C are mapped to processor instructions, memory handling, pointers and function callbacks, and more advanced C constructs. Finally, learn how C programs are optimized and applied in specific embedded environments.


Course topics:

  • C data types, arrays vs pointers, casting, little vs big endian
  • Declarations, variables, storage classes, types, constants, static and automatic duration, memory locations, linkage
  • Function caveats, calling conventions, calling from assembly
  • Pointer arithmetic, multi-dimensional arrays, function pointers, void pointers, endianness
  • Input-output and I/O dangers
  • Strings and safe string handling in C, structures, member alignment, and padding
  • Splitting a program, declaration sharing, header files
  • Build process and tools, preprocessor, compiler, linker, scripting
  • Memory handling, buffers, queues, lists, double buffering
  • Cross-compilation, embedded targets, compiler specifics


Software: IDE with a compiler provided by NIT, Chrome browser.

Hardware: Computer with an Internet connection, working speakers, and microphone.

Prior knowledge: Participants should have basic knowledge of programming in C.