Skip to main content
Log in

Students’ perspective on the first programming language: C-like or Pascal-like languages?

  • Published:
Education and Information Technologies Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Dierbach, C. (2014). Python as a first programming language. Journal of Computing Sciences in Colleges, 29(6), 153–154.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Feller, W. (1948). On the Kolmogorov-Smirnov limit theorems for empirical distributions. The Annals of Mathematical Statistics, 19(2), 177–189.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Hadjerrouit, S. (1998b). Java as first programming language: a critical evaluation. SIGCSE Bull, 30(2), 43–47. doi:10.1145/292422.292440.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Yadin, A. (2011). Reducing the dropout rate in an introductory programming course. ACM Inroads, 2(4), 71–76. doi:10.1145/2038876.2038894.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stelios Xinogalos.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10639-017-9601-6

Keywords

Navigation