13,808 research outputs found

    Early Developmental Activities and Computing Proficiency

    Get PDF
    As countries adopt computing education for all pupils from primary school upwards, there are challenging indicators: significant proportions of students who choose to study computing at universities fail the introductory courses, and the evidence for links between formal education outcomes and success in CS is limited. Yet, as we know, some students succeed without prior computing experience. Why is this? <br/><br/> Some argue for an innate ability, some for motivation, some for the discrepancies between the expectations of instructors and students, and some ā€“ simply ā€“ for how programming is being taught. All agree that becoming proficient in computing is not easy. Our research takes a novel view on the problem and argues that some of that success is influenced by early childhood experiences outside formal education. <br/><br/> In this study, we analyzed over 1300 responses to a multi-institutional and multi-national survey that we developed. The survey captures enjoyment of early developmental activities such as childhood toys, games and pastimes between the ages 0 ā€” 8 as well as later life experiences with computing. We identify unifying features of the computing experiences in later life, and attempt to link these computing experiences to the childhood activities. <br/><br/> The analysis indicates that computing proficiency should be seen from multiple viewpoints, including both skill-level and confidence. It shows that particular early childhood experiences are linked to parts of computing proficiency, namely those related to confidence with problem solving using computing technology. These are essential building blocks for more complex use. We recognize issues in the experimental design that may prevent our data showing a link between early activities and more complex computing skills, and suggest adjustments. Ultimately, it is hoped that this line of research will feed in to early years and primary education, and thereby improve computing education for all

    An Exploration of Traditional and Data Driven Predictors of Programming Performance

    Get PDF
    This thesis investigates factors that can be used to predict the success or failure of students taking an introductory programming course. Four studies were performed to explore how aspects of the teaching context, static factors based upon traditional learning theories, and data-driven metrics derived from aspects of programming behaviour were related to programming performance. In the first study, a systematic review into the worldwide outcomes of programming courses revealed an average pass rate of 67.7\%. This was found to have not significantly changed over time, or to have differed based upon aspects of the teaching context, such as the programming language taught to students. The second study showed that many of the factors based upon traditional learning theories, such as learning styles, are context dependent, and fail to consistently predict programming performance when they are applied across different teaching contexts. The third study explored data-driven metrics derived from the programming behaviour of students. Analysing data logged from students using the BlueJ IDE, 10 new data-driven metrics were identified and validated on three independently gathered datasets. Weaker students were found to make a greater percentage of successive errors, and spend a greater percentage of their lab time resolving errors than stronger students. The Robust Relative algorithm was developed to hybridize four of the strongest data-driven metrics into a performance predictor. The novel relative scoring of students based upon how their resolve times for different types of errors compared to the resolve times of their peers, resulted in a predictor which could explain a large proportion of the variance in the performance of three independent cohorts, R2R^2 = 42.19\%, 43.65\% and 44.17\% - almost double the variance which could be explained by Jadud's Error Quotient metric. The fourth study situated the findings of this thesis within the wider literature, by applying meta-analysis techniques to statistically synthesise fifty years of conflicting research, such that the most important factors for learning programming could be identified. 482 results describing the effects of 116 factors on programming performance were synthesised and consolidated to form a six class theoretical framework. The results showed that the strongest predictors identified over the past fifty years are data-driven metrics based upon programming behaviour. Several of the traditional predictors were also found to be influential, suggesting that both a certain level of scientific maturity and self-concept are necessary for programming. Two thirds of the weakest predictors were based upon demographic and psychological factors, suggesting that age, gender, self-perceived abilities, learning styles, and personality traits have no relevance for programming performance. This thesis argues that factors based upon traditional learning theories struggle to consistently predict programming performance across different teaching contexts because they were not intended to be applied for this purpose. In contrast, the main advantage of using data-driven approaches to derive metrics based upon students' programming processes, is that these metrics are directly based upon the programming behaviours of students, and therefore can encapsulate such changes in their programming knowledge over time. Researchers should continue to explore data-driven predictors in the future

    Development of computer science online and preliminary validation of its efficacy as an instructional environment

    Full text link
    CS Online was developed as an instructional environment to address many issues facing computer science education. One of these is the need to rekindle interest in introductory computer science. CS Online seeks to accomplish this by offering active learning experiences set in real-world contexts. The intended outcomes are increased interest in computer science as an academic discipline, increased enrollments in related courses, and increased achievement resulting from cognitive skills growth; The CS Online system generated data while 36 high school students solved programming problems, and questionnaires administered by the system were used to collect information about students\u27 self-regulatory skills and experience in math and computers. In addition, qualitative data analysis of source code submitted by students was conducted to determine how students progressed through the problem solving process and the common mistakes they made; The study revealed that students with differing levels of math and computer experience and self-regulatory skills were able to adequately complete programming problems using the system. The descriptive data on the 36 students indicated that students with high motivation seemed to outperform low motivation students in all performance measures in the study. Those who had high planning skills also seemed to outperform the low group in most of the performance measures. A similar pattern was observed in the students with high versus low math and computer skills. As the task difficulty increased, students with high planning skills seemed to require increasingly fewer attempts to complete exercises than those with lower planning skills. A qualitative analysis of problem solving revealed that students erred in syntax, logic, and then grammar---in that order. It was also shown that students spent considerable time re-running programs to observe output or to clean-up code; Although the findings suggest that in general motivation and planning seem to be important components of learning a programming language, the current descriptive findings should be interpreted with caution. Future studies with larger sample sizes are warranted. To examine effects of self-regulation on learning and performance, other relevant variables, such as existing computer language skills, may be included to control their effects on the performance; Additional findings suggest that the use of hints were helpful for students with lower math skills, computer skills, and motivation. Teachers can encourage the use of hints for those who need the extra help, but can discourage their use for the more highly skilled and motivated. The findings also suggest that, based on the types of mistakes students commonly made, instruction on debugging skills should be considered to reduce the number of syntax, logic, and grammar errors. Less time spent correcting errors becomes more time spent on problem solving. (Abstract shortened by UMI.)

    CSCI: A LEAP into the future

    Get PDF
    This paper outlines the development of a project which aims to improve the teaching and learning outcomes within the Computer Sciences. A major strategy being examined is the effectiveness of digital gamesbased learning. Utilising the Neverwinter Nights game engine the team have created a prototype to be trialled in the first half of 2008. The project forms part of a broader faculty based solution to address teaching and learning problems of first year students, known as QUALITY101

    Identification and Evaluation of Predictors for Learning Success and of Models for Teaching Computer Programming in Contemporary Contexts

    Get PDF
    Introductory undergraduate computer programming courses are renowned for higher than average failure and withdrawal rates when compared to other subject areas. The closer partnership between higher education and the rapidly expanding digital technology industry, as demonstrated by the establishment of new Degree Apprenticeships in computer science and digital technologies, requires efficient and effective means for teaching programming skills. This research, therefore, aimed to identify reliable predictors of success in learning programming or vulnerability to failure. The research also aimed to evaluate teaching methods and remedial interventions towards recommending a teaching model that supported and engaged learners in contemporary contexts that were relevant to the workplace. Investigation of qualifications designed to prepare students for undergraduate computer science courses revealed that A-level entrants achieved significantly higher programming grades than BTEC students. However, there was little difference between the grades of those with and those without previous qualifications in computing or ICT subjects. Analysis of engagement metrics revealed a strong correlation between extent of co-operation and programming grade, in contrast to a weak correlation between programming grade and code understanding. Further analysis of video recordings, interviews and observational records distinguished between the type of communication that helped peers comprehend tasks and concepts, and other forms of communication that were only concerned with completing tasks. Following the introduction of periodic assessment, essentially converting a single final assessment to three staged summative assessment points, it was found that failing students often pass only one of the three assignment parts. Furthermore, only 10% of those who failed overall had attempted all three assignments. Reasons for failure were attributed to ā€˜surfaceā€™ motivations (such as regulating efforts to achieve a minimum pass of 40%), ineffective working habits or stressful personal circumstances rather than any fundamental difficulty encountered with subject material. A key contribution to pedagogical practice made by this research is to propose an ā€˜incrementalā€™ teaching model. This model is informed by educational theory and empirical evidence and comprises short cycles of three activities: presenting new topic information, tasking students with a relevant exercise and then demonstrating and discussing the exercise solution. The effectiveness of this model is evidenced by increased engagement, increased quiz scores at the end of each teaching session and increased retention of code knowledge at the end of the course

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research

    A gentle transition from Java programming to Web Services using XML-RPC

    Get PDF
    Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)

    Advances in Teaching & Learning Day Abstracts 2005

    Get PDF
    Proceedings of the Advances in Teaching & Learning Day Regional Conference held at The University of Texas Health Science Center at Houston in 2005

    Natural Language Tutoring and the Novice Programmer

    Get PDF
    For beginning programmers, inadequate problem solving and planning skills are among the most salient of their weaknesses. Novices, by definition, lack much of the tacit knowledge that underlies effective programming. This dissertation examines the efficacy of natural language tutoring (NLT) to foster acquisition of this tacit knowledge. Coached Program Planning (CPP) is proposed as a solution to the problem of teaching the tacit knowledge of programming. The general aim is to cultivate the development of such knowledge by eliciting and scaffolding the problem solving and planning activities that novices are known to underestimate or bypass altogether. ProPL (pro-PELL), a dialogue-based intelligent tutoring system based on CPP, is also described. In an evaluation, the primary findings were that students who received tutoring from ProPL seemed to exhibit an improved ability compose plans and displayed behaviors suggestive of thinking at greater levels of abstraction than students in a read-only control group. The major finding is that NLT appears to be effective in teaching program composition skills

    Hour of Codeā€: Can It Change Studentsā€™ Attitudes Toward Programming?

    Get PDF
    The Hour of Code is a one-hour introduction to computer science organized by Code.org, a non-profit dedicated to expanding participation in computer science. This study investigated the impact of the Hour of Code on studentsā€™ attitudes towards computer programming and their knowledge of programming. A sample of undergraduate students from two universities was selected to participate. Participants completed an Hour of Code tutorial as part of an undergraduate course. An electronic questionnaire was implemented in a pre-survey and post-survey format to gauge the change in student attitudes toward programming and their programming ability. The findings indicated the positive impact of the Hour of Code tutorial on studentsā€™ attitude toward programming. However, the studentsā€™ programming skills did not significantly change. The authors suggest that a deeper alignment of marketing, teaching, and content would help sustain the type of initiative exemplified by the Hour of Code
    • ā€¦
    corecore