Introductory Programming Courses in Australia and New Zealand in 2013 - trends and reasons (original) (raw)

Trends in Introductory Programming Courses in Australian Universities–Languages, Environments and Pedagogy

Reproduction, 2012

This paper reports the results of a study of 44 introductory programming courses in 28 Australian universities, conducted in the latter months of 2010. Results of this study are compared with two censuses previously conducted during 2001 and 2003, to identify trends in student numbers, programming language and environment/tool use and the reasons for choice of these, paradigms taught, instructor experience, text used and time spent on problem solving strategies in lectures and tutorials. Measures of mental effort experienced ...

Trends in Introductory Programming Courses in Australian Universities Languages, Environments and Pedgogy.

This paper reports the results of a study of 44 introductory programming courses in 28 Australian universities, conducted in the latter months of 2010. Results of this study are compared with two censuses previously conducted during 2001 and 2003, to identify trends in student numbers, programming language and environment/tool use and the reasons for choice of these, paradigms taught, instructor experience, text used and time spent on problem solving strategies in lectures and tutorials. Measures of mental effort experienced during the solution of novice programming problems were also examined.

An Analysis of Introductory University Programming Courses in the UK

2016

This paper reports the results of the first survey of introductory programming courses (N = 80) taught at UK universities as part of their first year computer science (or similar) degree programmes, conducted in the first half of 2016. Results of this survey are compared with a related survey conducted since 2010 (as well as earlier surveys from 2001 and 2003) in Australia and New Zealand. We report on student numbers, programming paradigm, programming languages and environment/tools used, as well as the reasons for choice of such. The results in this first UK survey indicate a dominance of Java at a time when universities are still generally teaching students who are new to programming (and computer science), despite the fact that Python is perceived to be both easier to teach as well as to learn. Furthermore, this survey provides a starting point for valuable pedagogic baseline data in the context of substantial computer science curriculum reform in UK schools, as well as increasi...

An Analysis of Introductory Programming Courses at UK Universities

The Art, Science, and Engineering of Programming

Context: In the context of exploring the art, science and engineering of programming, the question of which programming languages should be taught first has been fiercely debated since computer science teaching started in universities. Failure to grasp programming readily almost certainly implies failure to progress in computer science. Inquiry: What first programming languages are being taught? There have been regular national-scale surveys in Australia and New Zealand, with the only US survey reporting on a small subset of universities. This the first such national survey of universities in the UK. Approach: We report the results of the first survey of introductory programming courses (N = 80) taught at UK universities as part of their first year computer science (or related) degree programmes, conducted in the first half of. We report on student numbers, programming paradigm, programming languages and environment/tools used, as well as the underpinning rationale for these choices. Knowledge: The results in this first UK survey indicate a dominance of Java at a time when universities are still generally teaching students who are new to programming (and computer science), despite the fact that Python is perceived, by the same respondents, to be both easier to teach as well as to learn. Grounding: We compare the results of this survey with a related survey conducted since (as well as earlier surveys from and) in Australia and New Zealand. Importance: This survey provides a starting point for valuable pedagogic baseline data for the analysis of the art, science and engineering of programming, in the context of substantial computer science curriculum reform in UK schools, as well as increasing scrutiny of teaching excellence and graduate employability for UK universities.

Language Choice in Introductory Programming Courses at Australasian and UK Universities

Proceedings of the 49th ACM Technical Symposium on Computer Science Education - SIGCSE '18, 2018

Parallel surveys of introductory programming courses were conducted in Australasia and the UK, with a view to examining the programming languages being used, the preferred integrated development environments (if any), and the reasons for these choices, alongside a number of other key aspects of these courses. This paper summarises some of the similarities and differences between the findings of the two surveys. In the UK, Java is clearly the dominant programming language in introductory programming courses, with Eclipse as the dominant environment. Java was also the dominant language in Australasia six years ago, but now shares the lead with Python; we speculate on the reasons for this. Other differences between the two surveys are equally interesting. Overall, however, there appears to be a reasonable similarity in the way these undergraduate courses are conducted in the UK and in Australasia. While the degree structures differ markedly between and within these regions-a possible explanation for some of the differences-some of the similarities are noteworthy and have the potential to provide insight into approaches in other regions and countries.

Introductory Programming: What's Happening Today and Will There Be Anyone to Teach Tomorrow ?

Aicps, 2004

This paper reports the findings of a census of introductory programming courses. Eighty five courses from Australian and New Zealand universities are included. The census aims to discover languages and paradigms taught, tools used, texts employed, method of delivery to on-campus students, instructor experience and how problem solving strategies are taught. Of note in the 2003 census is the reduction in student enrolments in introductory programming courses since 2001, the differences in teaching between Australian and New Zealand courses, and trends relating to language, tools and paradigms.

Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy

Education and Information Technologies, 2014

Designing and deploying programming courses is undoubtedly a challenging task. In this paper, an attempt to analyze important aspects of a sequence of two courses on imperative-procedural and object-oriented programming in a non-CS majors Department is made. This analysis is based on a questionnaire filled in by fifty students in a voluntary basis. The issues of the programming courses that are investigated refer to: the strategy selected for the introduction to programming; the sequence of the programming techniques and languages taught and the transition from the one to the other; students' difficulties with programming in general and with imperative-procedural and object-oriented programming in specific; the teaching and learning design of both courses; and the material that students rely on for learning programming. Based on the analysis of students' replies on the questionnaire, related work and the instructor's experience on teaching the courses, conclusions are drawn regarding all the aforementioned aspects of designing and deploying programming courses. The main contribution of the paper is the fact that all the important and interrelated aspects of a sequence of two programming courses are investigated in conjunction, providing realistic implications and guidelines for improving the quality and effectiveness of existing programming courses and designing and deploying new courses. The main results refer to the usage of a pseudo-language for an introduction to programming, the transition from procedural to object-oriented programming, the intrinsic difficulties of learning programming, and practices for a more successful teaching and learning design of programming courses. Keywords: Programming course design; teaching and learning programming; procedural programming; object-oriented programming; pedagogy 2004). The imperative-first and functional-first strategies were heavily used for decades, while the objects-first strategy attracted teachers' attention the last decade. For a long period of time extended research was carried out regarding the best choice of strategy for an introduction to programming with main opponents the imperative-first and objects-first strategy. Although, the results of the relevant studies are contradictory the majority of researchers seem to agree that students face more difficulties during their transition from imperative-procedural programming to object-oriented programming and not vice versa ). Some of the difficulties faced by students -with prior experience on an imperative-procedural language -during their introduction to OOP are the following: although the OO problem solving technique is considered more natural, it demands a new way of thinking that cannot be easily acquired by students with experience on problem solving with a procedural language (Tempte, 1991); students find it difficult to use correctly OOP concepts and tend to treat methods as procedures, ignoring their role in OOP (Handjerrouit, 1998; Handjerrouit, 1999). On the other hand, other researchers state that object-oriented languages demand knowledge of basic programming structures and characteristics and capabilities prior to using an OOP language . It is obvious that deciding what strategy to rely on for the introduction to programming is not an easy and straightforward decision. Moreover, in the case of a series of programming courses decisions have to be made regarding the overall strategies, or else what programming techniques will be taught and with what sequence. The next step is selecting a programming language that supports the selected strategy and meets the goals of the course and the program of studies. The available programming languages are numerous and selecting the one that will be used is a multicriteria decision. Researchers have proposed lists of criteria , key features and suggestions (Kaplan, 2010) for supporting teachers in selecting the first programming language. One of the most extensive list of criteria has been proposed by and includes the following criteria: software cost; programming language acceptance in academia; programming language industry penetration; software characteristics; student-friendly features; language pedagogical features; language intent; language design; language paradigm; language support and required training; and student experience. go a step beyond these usual considerations proposed as selection criteria Xinogalos, S. (2014). Designing and deploying programming courses: Strategies, tools, difficulties and pedagogy.

Python for Teaching Introductory Programming: A Quantitative Evaluation

Innovation in Teaching and Learning in Information and Computer Sciences, 2011

This paper compares two different approaches of teaching introductory programming by quantitatively analysing the student assessments in a real classroom. The first approach is to emphasise the principles of object-oriented programming and design using Java from the very beginning. The second approach is to first teach the basic programming concepts (loops, branch, and use of libraries) using Python and then move on to oriented programming using Java. Each approach was adopted for one academic year (2008-09 and 2009-10) with first year undergraduate students. Quantitative analysis of the student assessments from the first semester of each year was then carried out. The results of this analysis are presented in this paper. These results suggest that the later approach leads to enhanced learning of introductory programming concepts by students.