- Computer Systems:A Programmer's Perspective, 2. painos (Prentice Hall, 2016).
- Ohjelmointikielet kontekstissa:katsaus tärkeimpiin ohjelmointiparadigmiin (Springer, 2013).
- Ohjelmoinnin käytäntö (Prentice Hall, 2010).
- Oliolähtöinen suunnittelu ja toteutus (Prentice Hall, 1999).
Artikkelit
- "Ohjelmointikielten merkitys tietojenkäsittelytieteen opetussuunnitelmassa" (Communications of the ACM, heinäkuu 2016).
- "The Future of Computing Education in a Rapidly Changing World" (Communications of the ACM, elokuu 2015).
- "The Role of Theory in Computer Science Education" (Communications of the ACM, kesäkuu 2014).
- "Miksi opettaa ohjelmointia?" (ACM:n tiedonannot, toukokuu 2012).
Muu
- Springer International Publishing -julkaisusarjan "Foundations and Trends® in Programming Languages" toimittaja.
- ACM Journal on Educational Resources in Computingin (JERIC) toimituskunnan jäsen.
- Ohjelmakomitean puheenjohtaja ACM SIGCSE:n teknisessä symposiumissa tietojenkäsittelytieteen koulutuksesta (SIGCSE) vuosina 2016 ja 2017.
- Ohjauskomitean jäsen SIGCSE:n teknisessä symposiumissa tietojenkäsittelytieteen koulutuksesta (SIGCSE) vuodesta 2014.
- Computing Research Associationin (CRA) tiedekunnan jäsen vuodesta 2012.
- Computing Machinery Associationin (ACM) jäsen vuodesta 2009.