The way in which novice programmers learn to write code is of considerable interest to computing education researchers. One research approach to understanding how beginners acquire their programming abilities has been to look at student performance in exams. Lopez et al. (2008) analyzed student responses to an endof-first-semester exam. They found two types of questions accounted for 46% of the variance on the code writing portion of the same exam. One of those types of question required students to trace iterative code, while the other type required students to explain what a piece of code did. In this paper, we investigate whether the results by Lopez et al. may be generally indicative of something about novice programmers, or whether their results are just an artifact of their particular exam. We studied student responses to our own exam and our results are broadly consistent with Lopez et al. However, we did find that some aspects of their model are sensitive to the particular exam questions used. Specifically, we found that student performance on explaining code was hard to characterize, and the strength of the relationship between explaining and code writing is particularly sensitive to the specific questions asked. Additionally, we found Lopez et al.'s use of a Rasch model to be unnecessary, which will make it far easier for others to conduct similar research.
The problems encountered by students in first year computer programming units are a common concern in many universities including Victoria University. A fundamental component of a computer science curriculum, computer programming is a mandatory unit in a computing course. It is also one of the most feared and hated units by many novice computing students who, having failed or performed poorly in a programming unit, often drop out from a course. This article discusses some of the difficulties experienced by first year programming students, and reviews some of the initiatives undertaken to counter the problems. The article also reports on the first stage of a current research project at Victoria University that aims to develop a balanced approach to teaching first year programming units; its goal is to 'befriend' computer programming to help promote success among new programming students.
The problems encountered by students in first year computer programming units are a common concern in many universities including Victoria University. A fundamental component of a computer science curriculum, computer programming is a mandatory unit in a computing course. It is also one of the most feared and hated units by many novice computing students who, having failed or performed poorly in a programming unit, often drop out from a course. This article discusses some of the difficulties experienced by first year programming students, and reviews some of the initiatives undertaken to counter the problems. The article also reports on the first stage of a current research project at Victoria University that aims to develop a balanced approach to teaching first year programming units; its goal is to 'befriend' computer programming to help promote success among new programming students.
Higher education programs need to prepare their graduates for the practical challenges they can expect to face upon entering the workforce. Students can be better prepared if their academic learning is reinforced through authentic workplace experience, where the link between theory and professional practice can be realized. Increasingly, such learning in the workplace is being seen as an integral part of the university curricula as evidenced through the implementation of the Learning the Workplace & Community (LiWC) Policy at Victoria University, Australia. This policy mandates a minimum of 25% content and assessment of all academic programs be related to work-integrated learning. Recognizing the need for authentic workplace experience in the IT undergraduate program, a review found that the existing work-related learning component accounted for only half the required 25% LiWC commitment. Currently, the LiWC component is an industry-based capstone project that spans two semesters in the final year of study. These projects allow students to work on real-life software development tasks where they experience the practical challenges of building software systems whilst appreciating the needs of a business client. In a search of the literature, campus-located industry projects were identified as one of the two most common work-related learning experiences in IT programs, the other being internships sited in the workplace. By retaining the current project-based component, it was decided to add an internship to the program to further bolster the student learning experience and graduate outcomes. This paper details the existing program structure and explores two possible implementations for the achievement of the LiWC policy. The first approach necessitates the addition of one academic year of cooperative education internship to be placed strategically between the current second and third years. Alternatively, the second proposal sacrifices several elective units to accommodate a final semester internship experience. The paper discusses both alternatives against various issues under consideration: staffing and administration, assessment, industry partnerships, professional accreditation and its impact upon differing cohorts of students.
Executive SummaryGenetic algorithms (GAs) are a problem solving strategy that uses stochastic search. Since their introduction (Holland, 1975), GAs have proven to be particularly useful for solving problems that are 'intractable' using classical methods. The language of genetic algorithms (GAs) is heavily laced with biological metaphors from evolutionary literature, such as population, chromosome, crossover, cloning, mutation, genes and generations. For beginners studying genetic algorithms, there is quite an overhead in gaining comfort with these terms and an understanding of their parallel meanings in the unfamiliar computing milieu of an evolutionary algorithm. This paper describes a 'hands on' strategy to introduce and teach genetic algorithms to undergraduate computing students. By borrowing an analogical model from senior biology classes, poppet beads are used to represent individuals in a population (Harrison, 2001). Described are several introductory exercises that transport students from an illustration of natural selection in Biston betula moths, onto the representation and solution of differing mathematical and computing problems. Through student manipulation and interactions with poppet beads, the exercises cover terms such as population, generation, chromosome, gene, mutation and crossover in both their biological and computing contexts. Importantly, the tasks underline the two key design issues of genetic algorithms: the choice of an appropriate chromosome representation, and a suitable fitness function for each specific instance. Finally, students are introduced to the notion of schema upon which genetic algorithms operate.The constructivist model of learning advocates the use of such contextual problems to create an environment where students become active participants in their own learning (Ben-Ari, 1998;Greening, 2000;Kolb, 1984). Initial student feedback about these "hands on" exercises has been enthusiastic. As well, several students have made reference to the lessons learnt as the basis for GA coding in subsequent open-ended assignments. It seems that once the hurdle of becoming familiar with GA terminology has been surmounted, students find genetic algorithms to be particularly intriguing for their uncanny ability to solve incredibly complex problems quickly and proficiently (Moore, 2001).
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.