He received his M.Sc. and Ph.D. degrees in computing from the University of Zagreb in 2004 and 2009, respectively. He completed his postdoc at the Learning Sciences Laboratory, National Institute of Education, Nanyang Technological University in Singapore (2009-2010). Since 2012, he is a professor at the Faculty of Electrical Engineering and Computing in Zagreb, Croatia, where he teaches several courses in software engineering, algorithms and data structures and programming paradigms and languages. He has been engaged as a consultant in projects and initiatives on technology-enhanced learning both locally and internationally.