Aim/Purpose This study introduced a new teaching and learning approach based on an ADRI (Approach, Deployment, Result, Improvement) model in an introductoryprogramming (IP) course. The effectiveness of the new teachi...
详细信息
Aim/Purpose This study introduced a new teaching and learning approach based on an ADRI (Approach, Deployment, Result, Improvement) model in an introductoryprogramming (IP) course. The effectiveness of the new teaching and learning process was determined by collecting feedback from the IP instructors and by analyzing the final exam grades of the course. Background Learning to program is considered a difficult and challenging task for a considerable number of novice programmers. As a result, high failure and dropout rates are often reported in IP courses. Different studies have been conducted to investigate the issue. One of the reasons for this challenge is the multiple skills that students have to master in order to be able to build programs. These skills include programming knowledge and problem-solving strategies and being able to pay equal attention to these required skills in the IP course. Methodology A focus group was conducted to obtain feedback from the IP instructors about the ADRI approach. The performance of the students who had completed the IP course before ADRI was compared with those who used the ADRI approach by undertaking a comparative analysis of their final exam grades. Contribution The study demonstrates that the new teaching and learning approach based on the ADRI model encourages students to pay equal attention to programming knowledge and problem-solving strategies, discouraging programming shortcuts and reducing high attrition rates (failure and dropout) in the IP course. Findings The results of the focus group show that the instructors preferred the ADRI approach compared to the traditional approach. The final exam grades show that the students performed better in semesters which offered the ADRI approach as compared to those semesters without this approach. Future Research Future research will explore the ADRI approach in other fields of computer science studies, such as database and data structure, to determine if its impact has a wider
Adopting a scholarly approach to teaching and learning and the instructional design of tertiary courses has gained increasing popularity in recent years. A programmingcourse case study is used to demonstrate how rese...
详细信息
ISBN:
(纸本)9781424462599
Adopting a scholarly approach to teaching and learning and the instructional design of tertiary courses has gained increasing popularity in recent years. A programmingcourse case study is used to demonstrate how research results on the teaching and learning of programming, can be used to inform instructional design of an introductory programming course.
The use of variables in computer programming is one of the difficulties faced by students enrolled in introductory level programming classes. The Roles of Variables (ROV) concept associates small comprehensible roles ...
详细信息
ISBN:
(纸本)9781605583815
The use of variables in computer programming is one of the difficulties faced by students enrolled in introductory level programming classes. The Roles of Variables (ROV) concept associates small comprehensible roles to variables to help novice programmers comprehend how variables should be used. This paper describes an experiment that was conducted to test the effect of different engagement levels with ROV visualization on student programming skills. 91 Female students at King Abdul Aziz University (KAU), Jeddah, Saudi Arabia, participated in the experiment. The students were divided into three groups where they all had the ROV concept explained to them in a traditional classroom setting, but were given different visualization treatments during lab sessions. Results showed that while viewing the ROV visualization significantly improved student debugging skills, no other significant effects on student programming skills were reported.
In this paper we report our study on the impact of implementing a flipped classroom model on student learning in an undergraduate introductory programming course. We use three components to measure student learning na...
详细信息
ISBN:
(纸本)9781509054671
In this paper we report our study on the impact of implementing a flipped classroom model on student learning in an undergraduate introductory programming course. We use three components to measure student learning namely, final exam scores, competency acquisition and feedback levels. We compare a traditional offering with a flipped offering delivered the following year to a comparable student population, and with no change in the course content and assessments. We observed that in comparison to the traditional, the flipped model increased pass rates in the final exam and also enhanced competency acquisition. In terms of feedback levels, the flipped classroom provided more time for one-to-one in-class personalized feedback. Our approach is unique in the sense that we use a competency framework to be able to pin point the competencies that were improved as a result of the flipped model.
The high variability of students' backgrounds typically found in introductory programming courses creates additional difficulties to foster motivation and ensure the desired competency and retention rates. This pa...
详细信息
ISBN:
(纸本)9781581136722
The high variability of students' backgrounds typically found in introductory programming courses creates additional difficulties to foster motivation and ensure the desired competency and retention rates. This paper presents and discusses the results of applying an assessment methodology strongly based upon lab exams (or on-computer exams) with the objective of ensuring programming pratice competency while maintaining students' motivation. It discusses the difficult balances of several assessment methods, details the used assessment methodology and finally presents students results and views. These show that lab exams, although more demanding then group assignments, can be made popular among students if they perceived them as fairer.
Extended Library for Visual Interactive Applications (ELVIA) is a programming tool developed and used by the two most important public universities in the Baja California peninsula in Mexico. ELVIA provides a Java cla...
详细信息
Extended Library for Visual Interactive Applications (ELVIA) is a programming tool developed and used by the two most important public universities in the Baja California peninsula in Mexico. ELVIA provides a Java class framework that helps novice students of programming to automatically generate the graphical user interface of interactive applications, focusing in the classes and objects that compose the applications. This paper describes ELVIA, some application examples and experiences applying this programming tool in introductory programming courses. (C) 2009 Wiley Periodicals, Inc. Comput Appl Eng Educ 20: 214220, 2012: 214-220, 2012;View this article online at ***/journal/cae;DOI 10.1002/cae.20387
Computational thinking (CT) is an essential skill required for every individual in the digital era to become creative problem solvers. The purpose of this research is to investigate the relationships between computati...
详细信息
Computational thinking (CT) is an essential skill required for every individual in the digital era to become creative problem solvers. The purpose of this research is to investigate the relationships between computational thinking skills, the Big Five personality factors, and learning motivation using structural equation modeling (SEM). The research administered the computational thinking scale, NEO FFI scale, and Motivated Strategies for Learning Questionnaire to a sample of 92 students pursuing degrees in Computer Science and Engineering. Based on the result analysis, it was determined that both personality and learning motivation had positive and significant impacts on computation thinking skills. Personality had a major contribution to the prediction of CT, with consciousness being the most influential predictor. The findings of this study suggest that educators and academics should focus on the significance of the psychological side of CT for the improvement of students' CT skills.
Problem posing refers to the generation of a new problem or a question, by a learner of a given topic. It has been shown to be an effective strategy for learning of complex material in domains such as mathematics. In ...
详细信息
ISBN:
(纸本)9780769551418
Problem posing refers to the generation of a new problem or a question, by a learner of a given topic. It has been shown to be an effective strategy for learning of complex material in domains such as mathematics. In this study we have defined Problem Posing Exercises (PPE) as a problem posing based instructional strategy to scaffold the learning of complex material and problem solving in a first year undergraduate computer science course (CS1). We implemented PPE in a large CS1 course of 450 students and found that PPE has positive effects on students learning and engagement. We also examined the differences in effect of PPE for novice and advanced learners and found that PPE has more evident effects on novices than advanced learners.
The department of computer science, across many schools in the US, have been seeing a constant increase in enrollments over the last decade. This particularly impacts class sizes of introductorycourses, as they are u...
详细信息
The department of computer science, across many schools in the US, have been seeing a constant increase in enrollments over the last decade. This particularly impacts class sizes of introductorycourses, as they are usually listed as required prerequisites courses. The students in these courses typically have very little or zero prior experience with programming. In such course settings, it is not an exaggeration to state that most students in these courses spend more one-on-one time with the course teaching assistants than they do with their course instructors. This implies that the kind of individual attention provided by the TAs of such courses to their students has a very high impact on the students’ learning and the quality of the TAs would greatly impact the quality of the course and directly or indirectly also impact the student retention rate and their interest in computer science for their academic/industry careers.
We wanted to take a closer look at what it is that these TAs do, and how they do it. We observed TAs from two introductorycourses for almost about two semesters, and conducted a focus group meeting each with TAs and students enrolled in these course. We found that the TAs felt responsible for instilling an interest in computer science in the students, apart from helping them to learn by themselves. We also found that the students see teaching assistants as a very valuable resource, when it comes to actually applying the concepts that they learn in lecture. Our findings tells us that there is a gap between what the TAs think they need to give as help to the students and what the students tend to expect from their TAs. We also discuss the implications of our findings and possible future work.
Python has become a popular language for the delivery of introductory programming courses. Two reasons for this are Python's convenience and syntactic simplicity, giving a low entry barrier for beginners and the a...
详细信息
ISBN:
(纸本)9781450377294
Python has become a popular language for the delivery of introductory programming courses. Two reasons for this are Python's convenience and syntactic simplicity, giving a low entry barrier for beginners and the ability to solve complex problems with short snippets of code. However, students exhibit widespread misconceptions about the meaning of basic language constructs, inhibiting their ability to solve problems and damaging their understanding of fundamental concepts. In this paper, we document our observations of level 1 university students over several years, as well as surveys probing the nature of their misconceptions. We analyze the misconceptions in relation to a notional machine model for Python, and show that many students form inadequate and brittle mental models of the language. Our results indicate that one of the major sources of misunderstanding is the heavy use of overloading in Python. Overloading hides the complexity of algorithms and data structures, often leading students to write code that involves mutability, sharing, copying, side effects, coroutines, concurrency, and lazy evaluation - and none of those topics are accessible to students who haven't yet mastered basic assignments, conditionals, and looping. We suggest that Python, when taught alone, is insufficient as an introductory language: students can gain a firmer grasp of programming fundamentals when Python is presented alongside a complementary low level language that makes a notional machine clear and explicit.
暂无评论