- Računalni sustavi:Perspektiva programera, 2. izdanje (Prentice Hall, 2016.).
- Programski jezici u kontekstu:Pregled glavnih programskih paradigmi (Springer, 2013.).
- Praksa programiranja (Prentice Hall, 2010.).
- Objektno orijentirani dizajn i implementacija (Prentice Hall, 1999).
Članci
- "Važnost programskih jezika u kurikulumu informatike" (Priopćenja ACM-a, srpanj 2016.).
- "Budućnost računalnog obrazovanja u svijetu koji se brzo mijenja" (Saopćenje ACM-a, kolovoz 2015.).
- "Uloga teorije u informatičkom obrazovanju" (Priopćenja ACM-a, lipanj 2014.).
- "Zašto podučavati programiranje?" (Saopćenje ACM-a, svibanj 2012.).
Ostalo
- Suurednik serije Springer International Publishing "Osnove i trendovi® u programskim jezicima".
- Član uredništva časopisa ACM Journal on Educational Resources in Computing (JERIC).
- Predsjednik programskog odbora ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE) 2016. i 2017. godine.
- Član Upravnog odbora SIGCSE Technical Symposium on Computer Science Education (SIGCSE) od 2014.
- Fakultetski suradnik Computing Research Association (CRA) od 2012.
- Fellow of Association for Computing Machinery (ACM) od 2009.