Encyclopedia of Education and Information Technologies

Living Edition
| Editors: Arthur Tatnall

First Programming Language in Introductory Programming Courses, Role of

Living reference work entry
DOI: https://doi.org/10.1007/978-3-319-60013-0_217-1



The Introduction to Programming is an important field and at least one course with this or a similar title exists in all Computer Science (CS) and Information and Communications Technology (ICT) bachelor studies (Moritz and Blank 2005). A programming language selected for such a course should provide a notion in which to express algorithms, techniques, and data structures and focus on teaching programming and acquiring programming skills (Goosen et al. 2007). Computer science is a theoretical, as well as a practical discipline, and usually it deals with the science of computation, art, and craft. So, it is extremely important to learn an appropriate programming language (PL) in the first course in computer science.

Different factors and concerns (Ali and Smith 2014) influence the choice of the first programming language (FPL) for CS and ICT studies, and it is extremely important to differentiate key...

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


  1. Aleksić V, Ivanović M (2016) Introductory programming subject in European higher education. Inf Educ J 15(2):163–182Google Scholar
  2. Ali A, Smith D (2014) Teaching an introductory programming language in a general education course. J Inf Technol Educ Innov Pract 13:57–67Google Scholar
  3. Brilliant S, Wiseman TR (1996) The first programming paradigm and language dilemma. In: Klee KJ (ed) Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education (SIGCSE’96). ACM, New York, pp 338–342.  https://doi.org/10.1145/236452.236572CrossRefGoogle Scholar
  4. Decker R, Hirshfield S (1994) The top 10 reasons why object-oriented programming can’t be taught in CS1. ACM SIGCSE Bull 26(1):51–55CrossRefGoogle Scholar
  5. Dierbach C (2014) Python as a first programming language. J Comput Sci Coll 29(6):153–154Google Scholar
  6. 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). ACM, New York, pp 79–86Google Scholar
  7. 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. ACM, New York, pp 165–170.  https://doi.org/10.1145/2512276.2512293.CrossRefGoogle Scholar
  8. Farooq MS, Khan SA, 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.  https://doi.org/10.1371/journal.pone.0088941CrossRefGoogle Scholar
  9. Goosen GL, Mentz E, Nieuwoudt E (2007) Choosing the “best” programming language?! In: Proceedings of the computer science and IT education conference. Informing Science Institute, Santa Rosa, California, pp 269–282Google Scholar
  10. Hadjerrouit S (1998a) A constructivist framework for integrating the Java paradigm into the undergraduate curriculum. ACM SIGCSE Bull 30(3):105–107CrossRefGoogle Scholar
  11. Hadjerrouit S (1998b) Java as first programming language: a critical evaluation. SIGCSE Bull 30(2):43–47.  https://doi.org/10.1145/292422.292440CrossRefGoogle Scholar
  12. Hitz M, Hudec M (1995) Modula-2 versus C++ as a first programming language – some empirical results. In: White CM, Miller JE, Gersting J (eds) Proceedings of the twenty-sixth SIGCSE technical symposium on computer science education (SIGCSE’95). ACM, New York, pp 317–321.  https://doi.org/10.1145/199688.199838CrossRefGoogle Scholar
  13. 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, ACM international conference proceeding series, vol 1008, ACM Inc., New York, pp 305–312.  https://doi.org/10.1145/2812428.2812448
  14. Jabłonowski J (2007) A case study in introductory programming. In: Rachev B, Smrikarov A, Dimov D (eds) Proceedings of the 2007 international conference on Computer systems and technologies (CompSysTech’07). ACM, New York, Article 82, 7 pages.  https://doi.org/10.1145/1330598.1330685CrossRefGoogle Scholar
  15. Kaplan RM (2010) Choosing a first programming language. In: Proceedings of the 2010 ACM conference on Information technology education (SIGITE’10). ACM, New York, pp 163–164.  https://doi.org/10.1145/1867651.1867697CrossRefGoogle Scholar
  16. Leping V, Lepp M, Niitsoo M, Tõnisson E, Vene V, Villems A (2009) Python prevails. In: Rachev B, Smrikarov A (eds) Proceedings of the international conference on computer systems and technologies and workshop for PhD students in computing (CompSysTech '09). ACM, New York, Article 87, 5 pages.  https://doi.org/10.1145/1731740.1731833CrossRefGoogle Scholar
  17. Moritz SH, Blank GD (2005) A design-first curriculum for teaching Java in a CS1 course. ACM SIGCSE Bull 37(2):89–93CrossRefGoogle Scholar
  18. Parker K, Chao JT, Ottawa T, Chang J (2006) A formal language selection process for introductory programming courses. J Inf Technol Educ 5:133–151Google Scholar
  19. Rabai LBA, Cohen B, Mili A (2015) Programming language use in us academia and industry. Inform Educ 14(2):143CrossRefGoogle Scholar
  20. 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.  https://doi.org/10.1145/54138.54149CrossRefGoogle Scholar
  21. Sanders I, Langford S (2008) Student’ 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). ACM, New York, pp 365–365.  https://doi.org/10.1145/1384271.1384407CrossRefGoogle Scholar
  22. 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). ACM, New York, pp 231–234.  https://doi.org/10.1145/107004.107046CrossRefGoogle Scholar
  23. Strong G, Higgins C, Bresnihan N, Millwood R (2017) A survey of the prior programming experience of undergraduate computing and engineering students in Ireland. In: Tatnall A, Webb M (eds) Tomorrow’s learning: involving everyone. Learning with and about technologies and computing. WCCE 2017. IFIP advances in information and communication technology, vol 515. Springer, ChamGoogle Scholar
  24. Tempte MC (1991) Let’s begin introducing the object-oriented paradigm. ACM SIGCSE Bull 23(I):338–342Google Scholar
  25. Wick M (1995) On using C++ and object-orientation in CS1: the message is still more important than the medium. ACM SIGCSE Bull 27(1):322–326CrossRefGoogle Scholar
  26. Xinogalos S (2016) Designing and deploying programming courses: strategies, tools, difficulties and pedagogy. Educ Inf Technol. Springer Sciece+Business Media New York 2016 21(3):559–588.  https://doi.org/10.1007/s10639-015-9433-1CrossRefGoogle Scholar
  27. Xinogalos S, Pitner T, Ivanović M, Savić M (2018) Students’ perspective on the first programming language: C-like or Pascal-like languages? Educ Inf Technol 23(1):287–302, Springer Sciece+Business Media New York 2017.  https://doi.org/10.1007/s10639-017-9601-6CrossRefGoogle Scholar
  28. Yadin A (2011) Reducing the dropout rate in an introductory programming course. ACM Inroads 2(4):71–76.  https://doi.org/10.1145/2038876.2038894CrossRefGoogle Scholar

Authors and Affiliations

  1. 1.Department of Applied Informatics, School of Information SciencesUniversity of MacedoniaThessalonikiGreece
  2. 2.Department of Computer Systems and Communications, Faculty of InformaticsMasaryk UniversityBrnoCzech Republic
  3. 3.Department of Mathematics and Informatics, Faculty of SciencesUniversity of Novi Sad Novi SadSerbia

Section editors and affiliations

  • Bill Davey
    • 1
  1. 1.RMIT UniversityMelbourneAustralia