Abstract
The choice of the first programming language (FPL) has been a controversial issue for several decades. Nearly everyone agrees that the FPL is important and affects students’ subsequent education on programming. The study presented in this article investigates the suitability of various C-like and Pascal-like programming languages as a FPL. Students from three Universities express their perceptions on the FPL through a specially designed questionnaire. The students had been introduced to programming using different FPLs and having experience on more than one language and formulated two distinct groups: a group introduced to programming with a C-like and another with a Pascal-like language. The statistical analysis of the data collected showed that the choice of the FPL does not have a deep impact on difficulties that novices may experience when learning the basics of programming. However, this result was recorded in the context of three distinct programming courses that were positively evaluated by students in relation to their content, organization and quality. Consequently, this study indicates that the overall quality of the course and the instructors have a great impact on a smooth introduction to programming no matter what the FPL is.
Similar content being viewed by others
References
Aleksić, V., & Ivanović, M. (2016). Introductory programming subject in European higher education. Informatics in Education Journal, 15(2), 163–182.
Ali, A., & Smith, D. (2014). Teaching an introductory programming language in a general education course. Journal of Information Technology Education: Innovations in Practice, 13, 57–67.
Brilliant, S., & Wiseman, T. R. (1996). The first programming paradigm and language dilemma. In K. J. Klee (Ed.), Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education (SIGCSE ‘96) (pp. 338–342). New York: ACM. doi:10.1145/236452.236572.
Decker, R., & Hirshfield, S. (1994). The top 10 reasons why object-oriented programming Can’t be taught in CS1. ACM SIGCSE Bulletin, 26(1), 51–55.
Dierbach, C. (2014). Python as a first programming language. Journal of Computing Sciences in Colleges, 29(6), 153–154.
Duke, R., Salzman, E., Burmeister, J., Poon, J., Murray, L. (2000). Teaching programming to beginners - choosing the language is just the first step. In Proceedings of the Australasian conference on Computing education (ACSE ‘00) (pp. 79–86).
Farag, W, Ali, S., Deb, D. (2013). Does language choice influence the effectiveness of online introductory programming courses? In Proceedings of the 14th annual ACM SIGITE conference on information technology education (pp. 165–170). New York: ACM. doi:10.1145/2512276.2512293.
Farooq, M. S., Khan, S. A., Ahmad, F., Islam, S., & Abid, A. (2014). An evaluation framework and comparative analysis of the widely used first programming languages. PloS One, 9(2), e88941. doi:10.1371/journal.pone.0088941.
Feller, W. (1948). On the Kolmogorov-Smirnov limit theorems for empirical distributions. The Annals of Mathematical Statistics, 19(2), 177–189.
Goosen, G. L., Mentz, E., Nieuwoudt, E. (2007). Choosing the “best” programming language?! In Proceedings of the computer science and IT education conference (pp. 269–282).
Hadjerrouit, S. (1998a). A constructivist framework for integrating the Java paradigm into the undergraduate curriculum. ACM SIGCSE Bulletin, 30(3), 105–107.
Hadjerrouit, S. (1998b). Java as first programming language: a critical evaluation. SIGCSE Bull, 30(2), 43–47. doi:10.1145/292422.292440.
Hitz, M., & Hudec, M. (1995). Modula-2 versus C++ as a first programming language—some empirical results. In C. M. White, J. E. Miller, & J. Gersting (Eds.), Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education (SIGCSE ‘95) (pp. 317–321). New York: ACM. doi:10.1145/199688.199838.
Ivanović, M., Budimac, Z., Radovanović, M., Savić M. (2015). Does the choice of the first programming language influence students’ grades? In Proceedings of the 16th International Conference on Computer Systems and Technologies, CompSysTech’15, June 25–26, Dublin, Ireland, ACM International Conference Proceeding Series (Vol. 1008, pp. 305–312). NY: ACM Inc. doi:10.1145/2812428.2812448.
Jabłonowski, J. (2007). A case study in introductory programming. In B. Rachev, A. Smrikarov, D. Dimov (Eds.), Proceedings of the 2007 international conference on Computer systems and technologies (CompSysTech ‘07) (Article 82, p. 7). New York: ACM. doi:10.1145/1330598.1330685.
Leping, V., Lepp, M., Niitsoo, M., Tõnisson, E., Vene, V., Villems, A. (2009). Python prevails. In B. Rachev, A. Smrikarov (Eds.), Proceedings of the International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing (CompSysTech ‘09) (Article 87, p. 5). New York: ACM. doi:10.1145/1731740.1731833.
Mann, H. B., & Whitney, D. R. (1947). On a test of whether one of two random variables is stochastically larger than the other. The Annals of Mathematical Statistics, 18(1), 50–60.
Moritz, S. H., & Blank, G. D. (2005). A design-first curriculum for teaching Java in a CS1 course. ACM SIGCSE Bulletin, 37(2), 89–93.
Radensky, A., Zivkova, E., Petrova, V., Lesseva, R., & Zascheva, C. (1988). Experience with Ada as a first programming language. SIGCSE Bull, 20(4), 58–61. doi:10.1145/54138.54149.
Sanders, I., & Langford, S. (2008). Students’ perceptions of python as a first programming language at wits. In Proceedings of the 13th annual conference on Innovation and technology in computer science education (ITiCSE ‘08). New York: ACM 365. doi:10.1145/1384271.1384407.
Skublics, S., & White, P. (1991). Teaching Smalltalk as a first programming language. In Proceedings of the twenty-second SIGCSE technical symposium on Computer science education (SIGCSE ‘91) (pp. 231–234). New York: ACM. doi:10.1145/107004.107046.
Tempte, M. C. (1991). Let’s begin introducing the object-oriented paradigm. ACM SIGCSE Bulletin, 23(I), 338–342.
Wick, M. (1995). On using C++ and object-orientation in CS1: the message is still more important than the medium. ACM SIGCSE Bulletin, 27(1), 322–326.
Xinogalos, S. (2016). Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy. Education and Information Technologies , 21(3), 559–588. doi:10.1007/s10639-015-9433-1.Springer Sciece+Business Media New York
Yadin, A. (2011). Reducing the dropout rate in an introductory programming course. ACM Inroads, 2(4), 71–76. doi:10.1145/2038876.2038894.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Xinogalos, S., Pitner, T., Ivanović, M. et al. Students’ perspective on the first programming language: C-like or Pascal-like languages?. Educ Inf Technol 23, 287–302 (2018). https://doi.org/10.1007/s10639-017-9601-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10639-017-9601-6