Introduction
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...
References
Aleksić V, Ivanović M (2016) Introductory programming subject in European higher education. Inf Educ J 15(2):163–182
Ali A, Smith D (2014) Teaching an introductory programming language in a general education course. J Inf Technol Educ Innov Pract 13:57–67
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.236572
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–55
Dierbach C (2014) Python as a first programming language. J Comput Sci Coll 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). ACM, New York, 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. ACM, New York, pp 165–170. https://doi.org/10.1145/2512276.2512293.
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.0088941
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–282
Hadjerrouit S (1998a) A constructivist framework for integrating the Java paradigm into the undergraduate curriculum. ACM SIGCSE Bull 30(3):105–107
Hadjerrouit S (1998b) Java as first programming language: a critical evaluation. SIGCSE Bull 30(2):43–47. https://doi.org/10.1145/292422.292440
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.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, ACM international conference proceeding series, vol 1008, ACM Inc., New York, pp 305–312. https://doi.org/10.1145/2812428.2812448
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.1330685
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.1867697
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.1731833
Moritz SH, Blank GD (2005) A design-first curriculum for teaching Java in a CS1 course. ACM SIGCSE Bull 37(2):89–93
Parker K, Chao JT, Ottawa T, Chang J (2006) A formal language selection process for introductory programming courses. J Inf Technol Educ 5:133–151
Rabai LBA, Cohen B, Mili A (2015) Programming language use in us academia and industry. Inform Educ 14(2):143
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.54149
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.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). ACM, New York, pp 231–234. https://doi.org/10.1145/107004.107046
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, Cham
Tempte MC (1991) Let’s begin introducing the object-oriented paradigm. ACM SIGCSE Bull 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 Bull 27(1):322–326
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-1
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-6
Yadin A (2011) Reducing the dropout rate in an introductory programming course. ACM Inroads 2(4):71–76. https://doi.org/10.1145/2038876.2038894
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this entry
Cite this entry
Xinogalos, S., Pitner, T., Savić, M., Ivanović, M. (2020). First Programming Language in Introductory Programming Courses, Role of. In: Tatnall, A. (eds) Encyclopedia of Education and Information Technologies. Springer, Cham. https://doi.org/10.1007/978-3-319-60013-0_217-1
Download citation
DOI: https://doi.org/10.1007/978-3-319-60013-0_217-1
Received:
Accepted:
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-60013-0
Online ISBN: 978-3-319-60013-0
eBook Packages: Living Reference Computer SciencesReference Module Computer Science and Engineering