The first programming language and freshman year in computer science: Characterization and tips for better decision making - Sobral, Sónia Rolland (2020)
The ability to program is the “visible” competency to acquire in an introductory unit in computer science. However, before a student is able to write a program, he needs to understand the problem: before formalizing, the student must have to (be able) to think, (be able) to solve and (be able) to define. At an early stage of learning there are no significant differences between programming languages. The discussion of the early programming language continues: probably never will be a consensus among academics. The Association for Computing Machinery (ACM) and Institute of Electrical and Electronics Engineers (IEEE) computer science curriculum recommendations haven't clearly defined which programming language to adopt: it is the course directors and teachers who must make this choice, consciously and not only following the trends. This article presents a set of items that should be considered when you make a programming language choice for the first programming unit in higher education computer science courses.