Use of generative artificial intelligence software in the process of introductory programming training at university
Michael Dolinsky
Ph.D, docent, docent of the chair “Department of Mathematical Problems of Control and Informatics” Gomel State University named after F. Skorina, Gomel, Belarus, Sovietskaya str. 104, 246023, Gomel
Keywords: generative artificial intelligence; programming training for freshmen; DL.GSU.BY
Abstract
This paper provides a review of the literature on introductory programming training in universities and the use of generative artificial intelligence software (GAIS) for these purposes. During introductory programming training in universities, the tasks of developing five skills are highlighted: abstraction (determining what information about an entity/object needs to be preserved and what to ignore); generalization (formulating a solution in general terms so that it can be applied to solve various problems); decomposition (breaking complex problems into smaller subtasks that are easier to understand and solve); algorithmization (determining step by step a set of operations/actions in order to solve a problem); debugging (localization and elimination of errors). There are also many programming languages used in introductory education at universities, such as Pascal, C , Python, C#, Java. A review of the literature on the use of GAIS in teaching of programming at universities indicated the following main problems and tasks: to prevent the use of GAIS to obtain undeserved grades in the subject; develop techniques and examples of using GAIS in the educational process to personalize, increase intensity and quality; explore new areas of using GAIS, for example, developing skills in using GAIS to solve real production problems (GAIS operator). A description is given of the author's experience of using GAIS for introductory programming training for first-year students of the Faculty of Mathematics and Programming Technologies of Gomel State University named after F. Skorina. The main futures of authors approach are the following: automatic personalized training, low entry threshold, multiple entry points, personalization, intensification, freedom to choose a program development language (in current practice between five programming languages: Pascal, Python, Java, C#, C . If the need arises, new languages can be added).
References
1.Aldalur I. and Sagarna X. Improving Programming Learning in Engineering Students through Discovery Learning, IEEE Revista Iberoamericana de Tecnologias del Aprendizaje (Early Access),
https://doi.org/10.1109/RITA.2023.3301409
2.Shanmugam DB, Vijayalakshmi Dr.N, Revathi N. Approaches to teaching programming: a comprehensive review and analysis, chapter in book "Research in Multidisciplinary Subjects (Volume-2) under ed. Biplab Auddy (2023)
3.Belmar HM Review on the teaching of programming and computational thinking in the world. Front. Comput. Sci. 4, 997222.https://doi.org/10.3389/fcomp.2022.997222
4.CC 2020: Computing Curricula 2020: Paradigms for Global Computing Educationhttps://www.acm.org/binaries/content/assets/education/curricula-recommendations/cc2020.pdf
5.Cheng YP., Cheng SC., Yang M., Lin JM., Huang YM. Applying Computational Thinking and Formative Assessment to Enhance the Learning Performance of Students in Virtual Programming Language. In: Huang, Y. M., Rocha, T. (eds) Innovative Technologies and Learning. ICITL 2023. Lecture Notes in Computer Science, vol 14099. Springer, Cham.https://doi.org/10.1007/978-3-031-40113-8_13
6.Xu X. Teaching Reform of Virtual Instrument Technology and Application Course Based on OBE Concept. Open Access Library Journal, (2023), 10, 1-9.https://doi.org/10.4236/oalib.1110491
7.Fonseca I., Martins NC and Lopes F. A Web-based Platform and a Methodology to Teach Programming Languages in Electrical Engineering Courses," 2022 31st Annual Conference of the European Association for Education in Electrical and Information Engineering (EAEEIE), Coimbra, Portugal , 2022, 1-6,https://doi.org/10.1109/EAEEIE54893.2022.9820594
8.Mamman M., Rdadi RS, Sadiq MA Computerized E-learning platform for teaching Python programming using Hausa language. World Journal of Advanced Engineering Technology and Sciences (2023) 09(02): 116–123https://doi.org/10.30574/wjaets.2023.9.2.0214
9.Zhang S., Yang J., Sang X. Exploring the Applications of EduCoder Platform in Blended Teaching for Computer Major. Journal of Education and Educational Research, 2023, 4(2)https://drpress.org/ojs/index.php/jeer/article/view/10819/10528
10.Grindei L., Constantinescu C., Bojita A., Holonec R. and Rapolti L., Project-oriented approach in teaching programming to the first year undergraduate students in Electrical Engineering," 2023 10th International Conference on Modern Power Systems (MPS), Cluj-Napoca, Romania, 2023, 1-4,https://doi.org/10.1109/MPS58874.2023.10187591
11.Lewis JE, Hawkins N., Robinson BS Comparing First-Year Student Programming Confidence Perceptions Between Different Hands-On Projects Paper presented at 2023 ASEE Annual Conference & Exposition, Baltimore, Maryland.https://peer.asee.org/43274
12.Vakaliuk T., Chyzhmotria O., Antoniuk D., Medvediev M. and Didkivska S. The Use of ICT of Educational Purposes in the Independent Work of Students in the Study of the Basics of Programming by Future Software Engineers. In Proceedings of the 2nd Myroslav I. Zhaldak Symposium on Advances in Educational Technology (AET 2021), 644-657https://doi.org/10.5220/0012066700003431
13.Mosobalaje OO, and Orodu OD Introducing Python Coding to Petroleum Engineering Undergraduates: Excerpts from a Teaching Experience." Paper presented at the SPE Nigeria Annual International Conference and Exhibition, Lagos, Nigeria, July 2023,https://doi.org/10.2118/217148-MS
14.Othman J., Mahlan S.B., Kadar R., Shamsuddin M., & Wahab N.A. Factors Affecting Engineering Students in Learning the Programming Subject at UiTM Pulau Pinang: A Study on Educators' Ability. International Journal of Academic Research in Progressive Education and Development, (2023) 12(2), 944–953http://dx.doi.org/10.6007/IJARPED/v12-i2/17359
15.Nguyen A, Ha V. Teaching DevOps and Software Engineering Practices Using an Automated Programming Assessment System. journal [Internet]. 20Jul.2023 Available from:https://journal.tvu.edu.vn/index.php/journal/article/view/2104
16.Pusztai K. Education supported by games even in university? IntechOpen.https://doi.org/10.5772/intechopen.1002208
17.Zakiah N., Khalid D., Hidayah W. A Review of Gamification for Learning Programming Language, International Conference on Business Studies and Education (ICBE 2023)https://www.icbe.my/wp-content/uploads/2023/06/5-1.pdf
18.Zhuang Y., Wang L., Zhang M., Lin S., Hu H. and Tao X. OPTES: A Tool for Behavior-based Student Programming Progress Estimation 2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC), 122-131,https://doi.org/10.1109/COMPSAC57700.2023.00025.
19.Oosterwyk G., Tsibolane P., Kautondokwa P., Canani A. Beyond the Hype: A Cautionary Tale of ChatGPT in the Programming Classroom. Conference: SACLA2023
20.Jacques L. Teaching CS-101 at the Dawn of ChatGPT. ACM Inroads (2023) 14(3):40–46https://doi.org/10.1145/3595634
21.Bengtsson D., Kaliff A. Assessment Accuracy of a Large Language Model on Programming Assignments Degree Project in Computer Science and Engineering 2023,https://www.diva-portal.org/smash/get/diva2:1779792/FULLTEXT01.pdf
22.Denny P., Luxton-Reilly A., Leinonen J, Amarouche T., Reeves B., Prather J., Becker B. Promptly: Using Prompt Problems to Teach Learners How to Effectively Utilize AI Code Generators arXiv:2307.16364v1 [cs. HC] 31 Jul 2023,https://arxiv.org/pdf/2307.16364.pdf
23.Zheng Y. ChatGPT for Teaching and Learning: An Experience from Data Science Education. In The 23rd Annual Conference on Information Technology Education (SIGITE '23)https://arxiv.org/pdf/2307.16650.pdf
24.Farah J., Ingram S., Purohit A., Holzer A., and Gillet D. Harnessing Rule-Based Chatbots to Support Teaching Python Programming Best Practices international Conference on Interactive Collaborative Learning (ICL2023), Madrid, Spain, September 26-29 , 2023https://infoscience.epfl.ch/record/303628
25.Dolinsky M. An Approach to Teaching Introductory-Level Computer Programming, Olympiads in Informatics, 2013, 7, 14-22https://ioinformatics.org/journal/INFOL114.pdf
26.Dolinsky M. Teaching Algorithms and Programming First Year University Students on Base of Distance Learning System DL.GSU.BY, WSEAS Transactions on Advances in Engineering Education, 2022a, 19, 52-57https://wseas.com/journals/articles.php?id=5611
27.Dolinsky M. Instrumental System of Distance Learning DL.GSU.BY and Examples of its Application. Global Journal of Computer Science and Technology Interdisciplinary, 2022e, 22(1), 45-53https://globaljournals.org/GJCST_Volume22/6-Instrumental-System-of-Distance-Learning.pdf
28.Dolinsky M. A New Generation Distance Learning System for Programming and Olympiads in Informatics, Olympiads in Informatics, 2017, 11, 29-39 https://ioinformatics.org/journal/v11_2017_29_39.pdf