- Computer Systems:A Programmer's Perspective, 2. vydání (Prentice Hall, 2016).
- Programovací jazyky v kontextu:Přehled hlavních paradigmat programování (Springer, 2013).
- Praxe programování (Prentice Hall, 2010).
- Objektově orientovaný návrh a realizace (Prentice Hall, 1999).
Články
- „Význam programovacích jazyků v učebních osnovách informatiky“ (Sdělení ACM, červenec 2016).
- „Budoucnost počítačového vzdělávání v rychle se měnícím světě“ (Communications of the ACM, srpen 2015).
- „Role teorie ve vzdělávání informatiky“ (Sdělení ACM, červen 2014).
- "Proč učit programování?" (Sdělení ACM, květen 2012).
Jiné
- Spolueditor edice Springer International Publishing "Základy a trendy® v programovacích jazycích".
- Člen redakční rady časopisu ACM Journal on Educational Resources in Computing (JERIC).
- Předseda programového výboru Technického sympozia o počítačovém vzdělávání ACM SIGCSE (SIGCSE) v letech 2016 a 2017.
- Člen řídícího výboru SIGCSE Technical Symposium on Computer Science Education (SIGCSE) od roku 2014.
- Od roku 2012 je členem Fakulty Computing Research Association (CRA).
- Člen Asociace pro výpočetní techniku (ACM) od roku 2009.