1. Barnett, M. & Windley, P. (1993). Dysfunctional programming: Teaching programming using formal methods to non-computer science majors. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/summary?doi = 10.1.1.47.2694.
2. Biggs, J. (2003). Aligning teaching for constructing learning. Retrieved from http://www.heacademy.ac.uk/assets/documents/resources/database/id477_aligning_teaching_for_constructing_learning.pdf.
3. Biggs, J. & Tang, C. (2011). Teaching for quality learning at university. Maidenhead: McGraw-Hill and Open University Press.
4. Bloom, B. S. (1956). Taxonomy of educational objectives. Handbook I: The cognitive domain. New York, NY: David McKay.
5. Boulay, B. du. (1989). Some difficulties of learning to program. In E.Soloway & J. C.Spohrer (Eds.), Studying the novice programmer (pp. 283–299). Hillsdale, NJ: Lawrence Erlbaum Associates.