16 research outputs found
Python for teaching introductory programming: A quantitative evaluation
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
A collaborative approach to learning programming: a hybrid learning model
The use of cooperative working as a means of developing collaborative skills has been recognised as vital in programming education. This paper presents results obtained from preliminary work to investigate the effectiveness of Pair Programming as a collaborative learning strategy and also its value towards improving programming skills within the laboratory. The potential of Problem Based Learning as a means of further developing cooperative working skills along with problem solving skills is also examined and a hybrid model encompassing both strategies outlined
iJava: un nuevo lenguaje para facilitar el paso del paradigma imperativo al orientado a objetos
La aplicación del enfoque procedural permite
una presentación paulatina y escalonada de
los conceptos de programación imperativa. Sin
embargo, algunos alumnos tienen dificultades
al pasar a estudiar orientación a objetos (OO),
especialmente si se utiliza un lenguaje distinto
en cada paradigma. Por otro lado, el empleo
de Java en la docencia de ambos modelos es
criticado por lo inadecuado que resulta desde
el punto de vista pedagógico y la confusión, y
malos hábitos, que puede llegar a generar en
los alumnos.
Para continuar aplicando el enfoque procedural
facilitando la transición del paradigma
imperativo al OO se ha desarrollado un nuevo
lenguaje de programación imperativo denominado
iJava. En este artículo se describe este
lenguaje y su entorno de desarrollo específico,
los aspectos pedagógicos que se han tenido en
cuenta en su diseño y cómo favorece una transición
paulatina hacia Java durante el aprendizaje
de las bases de la programación imperativa.
Finalmente se comenta la experiencia
de su aplicación durante el curso 2008-09.Peer Reviewe
The Effects of Objects-First and Objects-Late Methods on Achievements of OOP Learners
Our research explored the effects of objects-first and objects-late methods on achievements of object-oriented programming (OOP) learners during a graduate course. The course’s scope was virtually identical for two groups, but the structure of the contents differed in sequence. The objects-first method emphasized the design and discussion of the object-oriented concepts from the very beginning while the objects-late deferred these concepts to the late lectures. The objects-first learners used all visual functionalities of BlueJ IDE. However, the objects-late learners started with only the text-based interfaces of BlueJ and they benefited its visual support in the last lectures. At the end of the study, we found that there was a statistically significant difference between OOP learner groups
Student success model in programming course: A case study in UUM
The complexity and difficulty ascribed to computer programming has been asserted to be the causes of its high rate of failure record and attrition. It is opined that programming either to novice, middle learner, and the self-branded geeks is always a course to be apprehensive of different studies with varying findings. Studies on factors leading to the success of programming course in higher institution have been carried out. The record at Universiti Utara Malaysia (UUM) shows that 38% of semester one undergraduate students failed the programming course in 2013. This
really motivates this study, which aims at investigating the practical factors affecting
the success of programming courses, and to position its’ theoretically findings to
complement the existing findings. Data were gathered using a quantitative approach, in which a set of questionnaire were distributed to 282 sampled respondents, who are undergraduate and postgraduate students of Information Technology (IT) and Information and Communication Technology (ICT). Having screened and cleaned the data, which led to the deletion of four outlier records, independent T-test,
correlation, and regression were run to test the hypotheses. The results of Pearson
correlation test reveal that teaching tools, OOP concepts, motivation, course evaluation, and mathematical aptitude are positively related to academic success in programming course, while fear is found to be negatively related. In addition, the regression analysis explains that all the elicited independent variables except fear are strongly related. Besides, the independent T-test also discovers no deference between groups with and without previous programming experience
Why teach unix?
This paper examines computing academics' conceptions of the Unix operating system, and the purpose of teaching Unix. Interview transcripts from nine academics were analysed phenomenographically. A small number of qualitatively different conceptions of Unix were identified, within two broad categories. The first broad category manifested a technical approach to Unix. Within this broad category, the conceptions of Unix were, from the least to most sophisticated ! (1) Unix as a set of unrelated commands; (2) Unix as a command line interface superior to GUIs; and (3) Unix as a problem solving tool. The second broad category was a non technical conception of Unix, in which Unix was seen as a resource that is cheap, secure and robust. With regard to teaching Unix, two broad categories of reasons were identified ! practical and pedagogical. These results for teachers are broadly consistent with an earlier phenomenographic study of student conceptions of Unix. © 2007, Australian Computer Society, Inc
Introductory Programming and the Didactic Triangle
In this paper, we use Kansanen's didactic triangle to structure and analyse research on the teaching and learning of programming. Students, teachers and course content are the three entities that form the corners of the didactic triangle. The edges of the triangle represent the relationships between these three entities. We argue that many computing educators and computing education researchers operate from within narrow views of the didactic triangle. For example, computing educators often teach programming based on how they relate to the computer, and not how the students relate to the computer. We conclude that, while research that focuses on the corners of the didactic triangle is sometimes appropriate, there needs to be more research that focuses on the edges of the triangle, and more research that studies the entire didactic triangle. © 2010, Australian Computer Society, Inc
Controversy on how to teach CS 1: A discussion on the SIGCSE-members mailing list
A discussion took place on the SIGCSE mailing list in late March of 2004 that raised important issues on how to teach introductory courses using Java. This article attempts to summarize several of the important points raised during this discussion, among them whether or how objects should be taught early or late in a CS 1 course, or indeed whether object-oriented languages should be postponed until a second course. There has been a tremendous shift to the use of Java in the CS 1 course at colleges and universities in the last several years. Reflecting this change, the Advanced Placement course in Computer Science, designed to provide a college-level computer science course for high school students, moved to Java in the 2003-2004 academic year. However, the use of Java and other object-oriented languages in introductory CS courses seems to be generating a lot of controversy among college faculty. Strong feelings about whether or how Java should be taught in introductory courses erupted in March, 2004, on the SIGCSE mailing list. Looking back at introductory textbooks using Java, there seems to have been a gradual change in approach over time. The first wave of Java textbooks primarily followed the structure of C+
Teaching introductory programming: a quantitative evaluation of different approaches
© ACM, 2014. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Transactions on Computing Education, 2014, Vol. 14, No. 4, Article 26, DOI: http://dx.doi.org/10.1145/266241