An Investigation of Problem-Solving Habits of Computer Programmers: A Case Study in Iranian Companies

Document Type : Original Article

Author

Department of Computer Science, Shahrekord University, Shahrekord, Iran

Abstract

Programmers differ in how they generate source codes. The study of these differences, programming habits, helps us to select and train programmers. This has been studied before and specially among student programmers. To the extent we know, such a study has not been carried out in Iran. To fill this gap and gather local knowledge, in the present research, we distributed an individual difference questionnaire among 52 programmers in various Iranian software companies. Using the collected data, we studied the influence of age, gender, experience and personality on four problem solving strategies: top-down, bottom-up, breadth-first, and depth-first. We analyzed the data statistically and found that Iranian programmers have a preference towards specific programming strategies as mentioned before in other studies. Besides, age, gender, experience, and personality traits affect their preferences.

Keywords


[1]      Z. Karimi, A. Baraani-Dastjerdi, N. Ghassem-Aghaee, and S. Wagner, “Links between the personalities, styles and performance in computer programming,” Journal of Systems and Software, vol. 111, pp. 228-241, 2016.
[2]      A. Cox and M. Fisher, “Programming style:  influences, factors, and elements,” in Second Int. Conf.  Advances in Computer-Human Interactions, 2009, pp. 82-89.
[3]      I. Vessey, “Expertise in debugging computer programs: a process analysis,” International Journal of Man-Machine Studies, vol. 23,  no. 5,  pp.459-494, 1985.
[4]      A.V. Mayrhauser and A.M. Vans, “Hypothesis-driven understanding process during corrective maintenance of large scale software” in 1997 Proc. Int. Conf. Software Maintenance, 1997, pp. 12-20.
[5]      M. Fisher, A. Cox, and L. Zhao, “Using sex differences to link spatial cognition and program comprehension,” in 22nd IEEE Int. Conf. Software Maintenance, 2006, pp. 289-298.
[6]      A.J. Ko and B. Uttl, “Individual differences in program comprehension strategies in unfamiliar programming systems,” in 11th IEEE Int.Workshop on Program Comprehension, 2003, pp. 175-184.
[7]      J.P. Ostberg, S. Wagner and E. Weilemann, “Does personality influence the usage of static analysis tools? an explorative experiment,” in  Proc. 9th International Workshop on Cooperative and Human Aspects of Software Engineering, 2016, pp. 75-81.
[8]      R. Malhotra, Empirical Research in Software Engineering Concepts, Analysis, and Applications, CRC Press, 2015.
[9]      N.M. Webb, P. Ender, and S. Lewis, “Problem solving strategies and group process in small groups learning computer programming,” American Education Research Journal; vol. 23, no.2, pp.243-261, 1986.
[10]      D.J. Hall, C.G. Cegielski, and J.N. Wade, “Theoretical value belief, cognitive ability, and personality as predictors of student performance in object‐oriented programming environments,” Decision Sciences Journal of Innovative Education, vol. 4, no. 2 pp. 237-257, 2006.
[11]      سعاد شریفات‌زاده و محمدعلی زارع چاهوکی، «یادگیری انتقالی با روش تلفیقی از انتقال نمونه و نمایش ویژگی برای پیش‌بینی نقص بین‌پروژه‌ای نرم‌افزار»، مجله مهندسی برق دانشگاه تبریز، دوره 48، شماره 1، صفحات 112-101، بهار 1397.
[12]      عاتکه گشوارپور و عطااله عباسی، «بررسی تفاوت‌های پاسخ به تحریکات تصویری دارای بار احساسی در زنان و مردان با استفاده از آزمون آماری ویلکاکسون»، مجله مهندسی برق دانشگاه تبریز، دوره 47، شماره 2، صفحات 695-687، تابستان 1396.