بررسی عادت‌های حل مسأله در برنامه‌نویسان کامپیوتری: مطالعه‌ی موردی در شرکت‌های ایرانی

نوع مقاله : علمی-پژوهشی

نویسنده

گروه علوم کامپیوتر - دانشگاه شهرکرد

چکیده

برنامه­نویسان در نحوه‌ی کدنویسی با هم فرق دارند. بررسی عادت­های برنامه­نویسان در کدنویسی هم به انتخاب برنامه­نویسان مناسب و هم به آموزش آن­ها کمک می­کند و در نتیجه باعث بهتر شدن برنامه­های کامپیوتری می­شود. این مسأله یعنی بررسی عادت­های برنامه­نویسان در کدنویسی، در خارج از ایران و معمولاً بین برنامه­نویسان دانشجو بررسی شده است. ولی بنا بر دانش ما تا کنون در ایران  مطالعه نشده است. به منظور پر کردن این شکاف و فراهم آوردن دانش بومی در این زمینه، در پژوهش حاضر با تمرکز بر عادت­های مربوط به استفاده از روش­­های حل مسأله یعنی بالا-به-­پایین، پایین-­به-­بالا، اول-­سطح و اول-­عمق، پرسش‌نامه‌ای بین 52 برنامه­نویس ایرانی که در حوزه‌ی توسعه‌ی سیستم‌های نرم‌افزاری شاغل بودند؛ توزیع شد و علاوه‌بر میزان استفاده از روش­های مختلف حل مسأله، تفاوت­های فردی برنامه­نویسان نیز از طریق آن اندازه­گیری شد. سپس داده­های جمع‌آوری شده با استفاده از روش­های آماری تحلیل شد. نتایج به­دست­آمده، این موضوع را تأیید می­کند که برنامه­نویسان ایرانی نیز بعضی از روش­های حل مسأله را به روش­های دیگر ترجیح می­دهند و  سن، جنسیت، تجربه­ی برنامه­نویسی و شخصیت برنامه­نویس از عوامل مؤثر بر میزان استفاده از روش­های حل مسأله در برنامه­نویسی هستند.

کلیدواژه‌ها


عنوان مقاله [English]

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

نویسنده [English]

  • Z. Karimi
Department of Computer Science, Shahrekord University, Shahrekord, Iran
چکیده [English]

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.

کلیدواژه‌ها [English]

  • Empirical Software Engineering
  • Programming Habits
  • Problem Solving Strategies
  • Individual Differences
  • Iranian Programmers
[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.