- Bilgisayar Sistemleri:Bir Programcının Perspektifi, 2. baskı (Prentice Hall, 2016).
- Bağlamda Programlama Dilleri:Temel Programlama Paradigmalarına İlişkin Bir Araştırma (Springer, 2013).
- Programlama Uygulaması (Prentice Hall, 2010).
- Nesneye Yönelik Tasarım ve Uygulama (Prentice Hall, 1999).
Makaleler
- "Bilgisayar Bilimleri Müfredatında Programlama Dillerinin Önemi" (ACM İletişimi, Temmuz 2016).
- "Hızla Değişen Dünyada Bilgisayar Eğitiminin Geleceği" (ACM İletişimleri, Ağustos 2015).
- "Bilgisayar Bilimleri Eğitiminde Teorinin Rolü" (ACM İletişimleri, Haziran 2014).
- "Neden Programlamayı Öğretmeliyiz?" (ACM Tebliği, Mayıs 2012).
Diğer
- Springer International Publishing'in "Programlama Dillerinde Temeller ve Trendler®" serisinin ortak editörü.
- ACM Journal on Educational Resources in Computing'in (JERIC) yayın kurulu üyesi.
- 2016 ve 2017'de ACM SIGCSE Bilgisayar Bilimleri Eğitimi Teknik Sempozyumu'nun (SIGCSE) Program Komitesi Başkanı.
- 2014 yılından bu yana SIGCSE Bilgisayar Bilimleri Eğitimi Teknik Sempozyumu (SIGCSE) Yönlendirme Komitesi Üyesi.
- 2012'den beri Bilgisayar Araştırmaları Derneği'nin (CRA) Fakülte Üyesi.
- 2009 yılından bu yana Bilgisayar Makineleri Derneği (ACM) Üyesi.