ANALYSIS OF WAYS TO IMPROVE THE EFFICIENCY IN THE STUDY OF CS1 AND CS2 COURSES IN UNIVERSITIES OF THE WORLD AND UKRAINE

Authors

DOI:

https://doi.org/10.24025/2306-4412.1.2021.229502

Keywords:

Programming language, IT education, algorithmization and programming, algorithms and data structures, object-oriented programming

Abstract

The article is devoted to finding ways to improve the efficiency in the study of basic disciplines of programming in the 1st and 2nd year of bachelor's degree in the training of IT professionals. The curricula for the training of students in the field of 12 (Information Technologies) in Ukrainian universities have been studied. The content of Algorithmization and programming, Algorithms and data structures, Object-oriented programming disciplines and similar CS1 and CS2 courses in Western universities are considered. These courses have been found to be fundamental in training quality IT professionals. A study of current problems of teaching CS1 and CS2 courses in universities of other countries has revealed that these courses, as well as their counterparts in Ukrainian universities, are difficult for students, with a high level of exam failure and dropout during sessions. Therefore, the search for ways to improve the efficiency of these courses is very important. The analysis of different approaches to teaching CS1 and CS2 in the universities of the world and Ukraine has allowed us to find out the list of the main topics of their content. The study of statistics on the use of programming languages in these disciplines has shown that universities mainly use Java, Python, C/C++ languages, and there is a pronounced regional specificity. Based on the rating of programming languages in demand in Ukraine, the need to establish a relationship between courses and their specifics, the following scheme of using programming languages is preferred: C/C++ – in Algorithmization and programming course, C/C++ – in Algorithms and data structures course, Java or C# – in Object-oriented programming course. Emphasis is placed on the im-portance of drawing on world best practices and best approaches in teaching for flexible adjustment of curricula of disciplines taking into account modern requirements for specialists in the IT labor market. The results of the study will allow a more balanced and thorough approach to the meaningful formation of these programming courses, the choice of approaches to motivate higher education students to study.

Author Biographies

Y.V. Prokop, State University of Intellectual Technologies and Communications

Ph. D., Senior Lecturer

O.G. Trofymenko, National University “Odessa Law Academy”

Ph. D., Docent

A.A. Toloknov, National University “Odessa Law Academy”

Assistant

Ya.V. Dubovoi, Державний університет інтелектуальних технологій і зв’язку

Master

References

D. B. Silva, R. L. Aguiar, D. S. Dvconlo, and C. N. Silla, "Recent studies about teaching algorithms (CS1) and data structures (CS2) for computer science students", in 2019 IEEE Frontiers in Education Conf. (FIE), Coving-ton, KY, USA, 2019, pp. 1-8. doi: 10.1109/FIE43999.2019.9028702.

D. Krpan, M. Rosić, and S. Mladenovic, "Teaching basic programming skills to un-dergraduate students", in Proc. CIET’14, 2014, pp. 147-158.

D. Krpan, S. Mladenović, and M. Rosić, "Undergraduate programming courses, stu-dents’ perception and success", Procedia – Social and Behavioral Sciences, vol. 174, pp. 3868-3872, 2015. doi: 10.1016/j.sbspro.2015.01.1126.

S. Sobral, "30 years of CS1: Programming languages evolution", in Proc. ICERI’19, 2019, pp. 9197-9205. doi: 10.21125/iceri.2019.2214.

M. Andrzejewska, "Przyczyny niepowodzeń edukacyjnych studentów informatyki na wstępnych kursach programowania", Edukacja, Technika, Informatyka, vol. 4, pp. 211-217, 2018. doi: 10.15584/eti.2018.4.29.

M. Almeida, L. Alves, M. Pereira, and G. Barbosa, "EasyCoding – methodology to support programming learning", in First Int. Computer Programming Education Conf. ICPEC-2020, 2020, pp. 1-8. doi: 10.4230/OASIcs.ICPEC.2020.1.

C.Watson, and F. Li, "Failure rates in intro-ductory programming revisited", in Proc. 2014 Conf. Innovation & Technology in Computer Science Education (ITiCSE '14), Association for Computing Machinery, New York, NY, USA, 2014, pp. 39-44. doi: 10.1145/2591708.2591749.

J. María, R. Corral, A. Balcells, A. Estévez, G. Moreno, and M. Ramos, "A game-based approach to the teaching of object-oriented programming languages", Computers & Edu-cation, vol. 73, pp. 83-92, 2014. doi: 10.1016/j.compedu.2013.12.013.

S. Mladenovic, and D. Krpan, "Using games to help novices embrace programming: From elementary to higher education", Internation-al Journal of Engineering Education, vol. 32, no. 1 (B), pp. 521-531, 2016.

D. Krpan, S. Mladenović, and G. Zaharija, "Mediated transfer from visual to high-level programming language", in 40th Int. Conven-tion Information and Communication Tech-nology, Electronics and Microelectronics (MIPRO’2017), Opatija, 2017, pp. 800-805. doi: 10.23919/MIPRO.2017.7973531.

A. Brito, and A. Medeiros, "A motivating approach to introduce object-oriented pro-gramming to engineering students", The In-ternational Journal of Electrical Engineering & Education, vol. 7, 2019. doi: 10.1177/0020720919856247.

W. Yoke, and M. Yatim, "Computer game as learning and teaching tool for object oriented programming in higher education institution", Procedia – Social and Behavioral Sciences, vol. 123, pp. 215-224, 2014. doi: 10.1016/j.sbspro.2014.01.1417.

M. Madeja, and J. Porubän, "Innovative ap-proaches in C introductory programming courses", in ICTERI PhD Symposium, 2019.

M. Konecki, S. Lovrenčić, and M. Kaniški, "Using real projects as motivators in pro-gramming education", in 2016 39th Int. Convention Information and Communica-tion Technology, Electronics and Microelec-tronics (MIPRO), Opatija, Croatia, 2016, pp. 883-886. doi: 10.1109/MIPRO.2016.7522264.

R. M. Siegfried, K. G. Herbert-Berger, and J. P. Siegfried, "CS2 and the impact of pro-gramming language choice", in Proc. 51st ACM Technical Symposium Computer Sci-ence Education (SIGCSE '20), Association for Computing Machinery, New York, 2020, p. 1353. doi: 10.1145/3328778.3372644.

R. M. Siegfried, J. P. Siegfried, and G. Ale-xandro, "A longitudinal analysis of the reid list of first programming languages", Infor-mation Systems Education Journal, vol. 14 (6), pp. 47-54, 2016.

V. Aleksić, and M. Ivanović, "Introductory programming subject in european higher edu-cation", Informatics in Education, vol. 15, no. 2, pp. 163-182, 2016. doi: 10.15388/infedu.2016.09.

E. Murphy, T. Crick, and J. Davenport, "An analysis of introductory programming cours-es at UK universities", The Art, Science, and Engineering of Programming, vol. 1 (2), no. 18, 2017. doi: 10.22152/programming-journal.org/ 2017/1/18.

A. Herala, E. Vanhala, and U. Nikula, "Ob-ject-oriented programming course revisited", in Proc. 15th Koli Calling Conf. Computing Education Research, Association for Compu-ting Machinery, New York, 2015, pp. 23-32. doi: 10.1145/2828959.2828974.

N. Alzahrani, F. Vahid, A. Edgcomb, K. Nguyen, and R. Lysecky, "Python versus C++: An analysis of student struggle on small coding exercises in introductory program-ming courses", in Proc. 49th ACM Technical Symposium Computer Science Education (SIGCSE '18), Association for Computing Machinery, New York, NY, USA, 2018, pp. 86-91. doi: 10.1145/3159450.3160586.

L. Layman, Y. Song, and C. Guinn, "Toward predicting success and failure in CS2: A mixed-method analysis", in Proc. 2020 ACM Southeast Conf. (ACM SE '20), Association for Computing Machinery, New York, NY, USA, 2020, pp. 218-225. doi: 10.1145/3374135.3385277.

F. Johnson, S. McQuistin, and J. O'Donnell, "Analysis of student misconceptions using Python as an introductory programming lan-guage", in Proc. 4th Conf. Computing Educa-tion Practice 2020 (CEP 2020), Association for Computing Machinery, New York, NY, USA, 2020, vol. 4, pp. 1-4. doi: 10.1145/3372356.3372360.

Y. Prokop, E. Trofimenko, N. Loginova, A. Zadereyko, and M. Gerganov, "Multivari-ate analysis when choosing the first pro-gramming language studied in universi-ties", in 2019 IEEE 2nd Ukraine Conf. Elec-trical and Computer Engineering (UKRCON), 2019, pp. 1224-1228. doi: 10.1109/UKRCON.2019.8879810.

S. Naveed, M. Sarim, and A. Nadeem, "C in CS1: Snags and viable solution", Mehran University Research Journal of Engineering and Technology, vol. 37, no. 1, pp. 1-14, 2018. doi: 10.22581/MUET1982.1801.01.

I. Damyanov, and N. Borisova, "Program-ming languages in undergraduate courses and in software industry in Bulgaria", Interna-tional Journal of Pure and Applied Mathe-matics, vol. 117, no. 2, pp. 271-278, 2017. doi: 10.12732/ijpam.v117i2.3.

S. Davies, J. Polack-Wahl, and K. Anewalt, "A snapshot of current practices in teaching the introductory programming sequence", in Proc. 42nd ACM Technical Symposium Computer science education (SIGCSE '11), Association for Computing Machinery, New York, NY, USA, 2011, pp. 625-630. doi: 10.1145/1953163.1953339.

Y. Prokop, E. Trofimenko, N. Severin, and L. Bukata, "An analysis of criteria for choos-ing a first programming language in universi-ties", in 15th Int. Conf. ICT in Education, Re-search, and Industrial Applications (IC-TERI’19), 2019, pp. 420-425.

S. Sobral, "CS1: C, Java or Python? Tips for a conscious choice", in Proc. ICERI’19, 2019, pp. 2512-2519. doi: 10.21125/iceri.2019.0666.

E. Mehmood, A. Abid, M. S. Farooq, and N. A. Nawaz, "Curriculum, teaching and learning, and assessments for introductory programming course," in IEEE Access, 2020, vol. 8, pp. 125961-125981. doi: 10.1109/ACCESS.2020.3008321.

Yu. V. Prokop, O. H. Trofymenko, and O. V. Zadereyko, "Analysis of approaches in teaching the introductory programming course in universities", Systemni tekhnolohii, vol. 4 (135), pp. 73-84, 2021. [in Ukrainian]. doi: 10.34185/1562-9945-4-135-2021-08.

R. Shevchenko, "Rating of programming lan-guages 2021: the share of Python is decreas-ing, and TypeScript has bypassed C++". [Online]. Available: https://dou.ua/lenta/ articles/language-rating-jan-2021/?from=tg. Accessed on: Feb. 14, 2021 [in Ukrainian].

The best paying and most in-demand pro-gramming languages in 2020. [Online]. Available: https://www.codeplatoon.org/ best-paying-most-in-demand-programming-languages-2020. Accessed on: Feb. 14, 2021.

Published

2021-06-22

How to Cite

Prokop, Y., Trofymenko, O., Toloknov, A., & Dubovoi, Y. (2021). ANALYSIS OF WAYS TO IMPROVE THE EFFICIENCY IN THE STUDY OF CS1 AND CS2 COURSES IN UNIVERSITIES OF THE WORLD AND UKRAINE. Bulletin of Cherkasy State Technological University, (2), 18–30. https://doi.org/10.24025/2306-4412.1.2021.229502

URN