- Computer Systems:A Programmer's Perspective, 2. kiadás (Prentice Hall, 2016).
- Programozási nyelvek kontextusban:A főbb programozási paradigmák felmérése (Springer, 2013).
- A programozás gyakorlata (Prentice Hall, 2010).
- Objektum-orientált tervezés és megvalósítás (Prentice Hall, 1999).
Cikkek
- "A programozási nyelvek jelentősége a számítástechnikai tananyagban" (Communications of the ACM, 2016. július).
- "A számítástechnikai oktatás jövője egy gyorsan változó világban" (Communications of the ACM, 2015. augusztus).
- „Az elmélet szerepe a számítástechnikai oktatásban” (Communications of the ACM, 2014. június).
- "Miért tanítani programozást?" (Az ACM közleményei, 2012. május).
Egyéb
- Társszerkesztő a Springer International Publishing "Alapok és trendek® a programozási nyelvekben" sorozatában.
- Az ACM Journal on Educational Resources in Computing (JERIC) szerkesztőbizottságának tagja.
- 2016-ban és 2017-ben az ACM SIGCSE Technical Symposium on Computer Science Education (SIGCSE) programbizottságának elnöke.
- Irányító Bizottság 2014 óta a SIGCSE Technical Symposium on Computer Science Education (SIGCSE) tagja.
- 2012 óta a Computing Research Association (CRA) oktatói munkatársa.
- 2009 óta az Association for Computing Machinery (ACM) tagja.