Journal Screenshot

International Journal of Academic Research in Progressive Education and Development

Open Access Journal

ISSN: 2226-6348

Program Comprehension Technique in Teaching and Leaning: A Cognitive Perspective

Rozita Kadar, Putra Sumari, Jamal Othman, Syarifah Adilah Mohamed Yusoff

http://dx.doi.org/10.6007/IJARPED/v10-i3/11570

Open access

In studying about programming languages, the important part is to understand the language itself. Learners need to be able to comprehend a program that is completed with syntax, semantic and program flow. Most learners especially the novices face a lot of problems when trying to learn a program. Many studies have been conducted to observe the process on how learners understand the program source code. Usually, the study of program comprehension focuses on the combination of two important characteristics: theories and tools. The theories that provide how to improve program comprehension and tools that can implement the theories. These two characteristics will change the way programmers understand the program codes. Many researchers review some of the key theories of program comprehension and discusses on how these theories are related to tools that support it. Thus, the aim of this study is to explore the evolution of the three predominant approaches of program comprehension in the aspect of cognitive theory which are: bottom-up, top-down and the integrated approach. This study also considers the important of cognitive model to make the effective learning process. Therefore, this paper can provide the intuitive environment for the process of learning especially for novice learners.

Ali, N., Gueheneuc, Y.-G., & Antoniol, G. (2011). Requirements Traceability for Object Oriented Systems by Partitioning Source Code. 2011 18th Working Conference on Reverse Engineering, 45–54. https://doi.org/10.1109/WCRE.2011.16
Aljunid, S. A., Zin, A. M., & Shukur, Z. (2012). A Study on the Program Comprehension and Debugging Processes of Novice Programmers. Journal of Software Engineering, 6(1), 1-9
Anderson, L. W., Krathwohl, D. R., & Bloom, B. S. (2001). A taxonomy for learning, teaching, and assessing: A revision of Bloom’s taxonomy of educational objectives. Allyn & Bacon.
Bandura, A. (1994). Self?efficacy. Wiley Online Library.
Bloom, B. S. (1956). Taxonomy of Educational Objectives. Vol. 1: Cognitive domain. New York: McKay.
Brooks, R. (1983). Towards A Theory of the Comprehension of Computer Programs. International Journal of Man-Machine Studies, 18(6), 543–554.
Burkhardt, J.-M., Détienne, F., & Wiedenbeck, S. (2002). Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase. Empirical Software Engineering, 7(2), 115–156.
Busjahn, T., Schulte, C., & Kropp, E. (2014). Developing Coding Schemes for Program Comprehension using Eye Movements. Proceedings 25th Annual Workshop of the Psychology of Programming Interest Group, 111–122.
Deimel, L. E., & Naveda, J. F. (1990). Reading Computer Programs: Instructor’s Guide to Exercises. In Educational Materials CMU/SEI-90-EM-3. DTIC Document.
Douce, C. (2008). The Stores Model of Code Cognition. Programmer Psychology Interest Group, 1–10. Retrieved from http://www.ppig.org/papers/20th-douce.pdf
El-Sheikh, E., Reichherzer, T., White, L., Wilde, N., Coffey, J., Bagui, S. & Baskin, A. (2013). Towards Enhanced Program Comprehension for Service Oriented Architecture (SOA) Systems. Journal of Software Engineering and Applications, 6(09), 435.
Exton, C. (2002). Constructivism and Program Comprehension Strategies. Program Comprehension, 2002. Proceedings. 10th International Workshop On, 281–284.
Feigenspan, J., & Siegmund, N. (2012). Supporting Comprehension Experiments With Human Subjects. 2012 20th IEEE International Conference on Program Comprehension (ICPC), (6), 244–246. https://doi.org/10.1109/ICPC.2012.6240494
Frey, T., Gelhausen, M., & Saake, G. (2011). Categorization of Concerns: A Categorical Program Comprehension Model. Proceedings of the 3rd ACM SIGPLAN Workshop on Evaluation and Usability of Programming Languages and Tools, 73–82. ACM.
Gellenbeck, E. M., & Cook, C. R. (1991). An Investigation of Procedure and Variable Names as Beacons During Program Comprehension. Proceedings of the Fourth Workshop on Empirical Studies of Programmers, 65–79.
Hu, X., Li, G., Xia, X., Lo, D., & Jin, Z. (2018). Deep Code Comment Generation. Proceedings of the 26th Conference on Program Comprehension, 200–210. ACM.
Krinke, J. (2004). Visualization of Program Dependence and Slices. 20th IEEE International Conference on Software Maintenance, 2004. Proceedings., 168–177. https://doi.org/10.1109/ICSM.2004.1357801
Letovsky, S. (1987). Cognitive Processes in Program Comprehension. Journal of Systems and Software, 7(4), 325–339.
Maalej, W., Tiarks, R., Roehm, T., & Koschke, R. (2014). On the Comprehension of Program Comprehension. ACM Transactions on Software Engineering and Methodology, 23(4), 1–37. https://doi.org/10.1145/2622669
Meng, Wen, Rilling, J., Zhang, Y., Witte, R., Mudur, S., & Charland, P. (2006). A Context-Driven Software Comprehension Process Model. 2006 Second International IEEE Workshop on Software Evolvability (SE’06), 50–57. https://doi.org/10.1109/Software-Evolvability.2006.1
O’brien, M. P. (2003). Software Comprehension–A Review and Research Direction. Department of Computer Science & Information Systems University of Limerick, Ireland, Technical Report.
Pennington, N. (1987). Comprehension Strategies in Programming. Empirical Studies of Programmers: Second Workshop, 100–113. Ablex Publishing Corp.
Piaget, J. (2013). The construction of reality in the child (Vol. 82). Routledge.
Rajlich, Vaclav, Doran, J., & Gudla, R. T. S. (1994). Layered Explanations of Software: A Methodology for Program Comprehension. Program Comprehension, 1994. Proceedings., IEEE Third Workshop On, 46–52. IEEE.
Rajlich, V., & Wilde, N. (2002, June). The Role of Concepts in Program Comprehension. In Proceedings 10th International Workshop on Program Comprehension (pp. 271-278). IEEE.
Rist, R. S. (1986). Plans in Programming: Definition, Demonstration, and Development. First Workshop on Empirical Studies of Programmers on Empirical Studies of Programmers, 28–47.
Rugaber, S. (2000). The Use of Domain Knowledge in Program Understanding. Annals of Software Engineering, 9(1–2), 143–192.
Sasirekha, N., & Hemalatha, M. (2011). Program Slicing Techniques and its Applications. International Journal of Software Engineering & Applications, 2(3), 50–64.
Shneiderman, B., & Mayer, R. (1979). Syntactic/Semantic Interactions in Programmer Behavior: A model and experimental results. International Journal of Computer & Information Sciences, 8(3), 219–238.
Soloway, E., & Ehrlich, K. (1984). Empirical Studies of Programming Knowledge. Software Engineering, IEEE Transactions On, (5), 595–609.
Storey, M.-A. (2005). Theories, Methods and Tools in Program Comprehension: Past, Present and Future. Program Comprehension, 2005. IWPC 2005. Proceedings. 13th International Workshop On, 181–191. IEEE.
Storey, M.-A. (2006). Theories, Tools and Research Methods in Program Comprehension: Past, Present and Future. Software Quality Journal, 14(3), 187–208.
https://doi.org/10.1007/s11219-006-9216-4
Von Mayrhauser, A., & Vans, A. M. (1995). Program Understanding: Models and Experiments. Advances in Computers, 40, 1–38.
Weiss, D. M., & Mockus, A. (2013). The chunking pattern. Data Analysis Patterns in Software Engineering (DAPSE), 2013 1st International Workshop On, 35–37. IEEE.
Wiedenbeck, S. (1986). Beacons in Computer Program Comprehension. International Journal of Man-Machine Studies, 25(6), 697–709.
Xia, X., Bao, L., Lo, D., Xing, Z., Hassan, A. E., & Li, S. (2017). Measuring Program Comprehension: A Large-Scale Field Study with Professionals. IEEE Transactions on Software Engineering, 44(10), 951–976.
Xu, S. (2005). A Cognitive Model for Program Comprehension. Third ACIS Int’l Conference on Software Engineering Research, Management and Applications (SERA’05), 392–398. https://doi.org/10.1109/SERA.2005.2

In-Text Citation: (Kadar et al., 2021)
To Cite this Article: Kadar, R., Sumari, P., Othman, J., & Yusoffle, S. A. M. (2021). Program Comprehension Technique in Teaching and Leaning: A Cognitive Perspective. International Journal of Academic Research in Progressive Education and Development, 10(3), 1241–1253.