173 research outputs found

    Incorporating visual and animation teaching tools in computer programming classes for effective teaching and learning

    Get PDF
    The problems in teaching and learning programming techniques prevail all over the world. Learning programming logic without utilizing any visualization material is difficult. One possible solution to overcome this problem is by using program animation. The proposed program animation software used in teaching novices learning introductory programming is JELIOT 3. The aim of this project is to investigate the effectiveness of teaching programming classes for beginners using programming tool JELIOT 3 that incorporate visualization and animation, specifically the outcome of students’ performances before and after using JELIOT 3. The study population is novice students with no significant programming experience. They were drawn from an on campus section of second semester Foundation in Business Information Technology introductory programming course at INTI International College, Subang Jaya. The class size when this study was conducted was only 9 students. The 9 students were divided into two groups at random. The first group (POST-JELIOT) received standard classroom lectures then followed by JELIOT 2. The second group (PRE-JELIOT) received the JELIOT 3 lesson and then the traditional classroom lecture. From the findings, there was a significant difference in performance when comparing between students who are first taught JELIOT 3 in the overall assessments on the two programming tests and on the two array model assessments. The implications then are that a visual teaching and animated illustration to programming is an effective method for teaching programming. Instruction in computer programming must make use of such visualization to develop good mental visualization of programming. (Abstract by author

    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

    Exploring student perceptions about the use of visual programming environments, their relation to student learning styles and their impact on student motivation in undergraduate introductory programming modules

    Get PDF
    My research aims to explore how students perceive the usability and enjoyment of visual/block-based programming environments (VPEs), to what extent their learning styles relate to these perceptions and finally to what extent these tools facilitate student understanding of basic programming constructs and impact their motivation to learn programming

    A flexible approach to introductory programming : engaging and motivating students

    Get PDF
    © 2019 Copyright is held by the owner/author(s). In this paper, we consider an approach to supporting students of Computer Science as they embark upon their university studies. The transition to Computer Science can be challenging for students, and equally challenging for those teaching them. Issues that are unusual – if not unique – to teaching computing at this level include • the wide variety in students background, varying from no prior experience to extensive development practice; • the positives and negatives of dealing with self-taught hobbyists who may developed buggy mental models of the task in hand and are not aware of the problem; • the challenge of getting students to engage with material that includes extensive practical element; • the atypical profile of a computing cohort, with typically 80%+ male students. The variation in background includes the style of prior academic experience, with some students coming from traditional level 3 (i.e. A-levels), some through more vocational routes (e.g. B-Tech, though these have changed in recent years), through to those from experiential (work based) learning. Technical background varies from science, mathematical and computing experience, to no direct advanced technical or scientific experience. A further issue is students’ attainment and progression within higher education, where the success and outcomes in computer science has been identified as particularly problematic. Computer Science has one the worst records for retention (i.e. students leaving with no award, or a lower award than that originally applied for), and the second worst for attainment (i.e. achieving a good degree, that being defined as a first or a 2:1). One way to attempt to improve these outcomes is by identifying effective ways to improve student engagement. This can be through appropriate motivators – though then the balance of extrinsic versus intrinsic motivation becomes critical. In this paper, we consider how to utilize assessment – combining the formative and summative aspects - as a substitute for coarser approaches based on attendance monitoring

    How can the teaching of programming be used to enhance computational thinking skills?

    No full text
    The use of the term computational thinking, introduced in 2006 by Jeanette Wing, is having repercussions in the field of education. The term brings into sharp focus the concept of thinking about problems in a way that can lead to solutions that may be implemented in a computing device. Implementation of these solutions may involve the use of programming languages.This study explores ways in which programming can be employed as a tool to teach computational thinking and problem solving. Data is collected from teachers, academics, and professionals, purposively selected because of their knowledge of the topics of problem solving, computational thinking, or the teaching of programming. This data is analysed following a grounded theory approach. A Computational Thinking Taxonomy is developed. The relationships between cognitive processes, the pedagogy of programming, and the perceived levels of difficulty of computational thinking skills are illustrated by a model.Specifically, a definition for computational thinking is presented. The skills identified are mapped to Bloom’s Taxonomy: Cognitive Domain. This mapping concentrates computational skills at the application, analysis, synthesis, and evaluation levels. Analysis of the data indicates that the less difficult computational thinking skills for beginner programmers are generalisation, evaluation, and algorithm design. Abstraction of functionality is less difficult than abstraction of data, but both are perceived as difficult. The most difficult computational thinking skill is reported as decomposition. This ordering of difficulty for learners is a reversal of the cognitive complexity predicted by Bloom’s model. The plausibility of this inconsistency is explored.The taxonomy, model, and the other results of this study may be used by educators to focus learning onto the computational thinking skills acquired by the learners, while using programming as a tool. They may also be employed in the design of curriculum subjects, such as ICT, computing, or computer science

    A flexible approach to introductory programming : engaging and motivating students

    Get PDF
    © 2019 Copyright is held by the owner/author(s). In this paper, we consider an approach to supporting students of Computer Science as they embark upon their university studies. The transition to Computer Science can be challenging for students, and equally challenging for those teaching them. Issues that are unusual – if not unique – to teaching computing at this level include • the wide variety in students background, varying from no prior experience to extensive development practice; • the positives and negatives of dealing with self-taught hobbyists who may developed buggy mental models of the task in hand and are not aware of the problem; • the challenge of getting students to engage with material that includes extensive practical element; • the atypical profile of a computing cohort, with typically 80%+ male students. The variation in background includes the style of prior academic experience, with some students coming from traditional level 3 (i.e. A-levels), some through more vocational routes (e.g. B-Tech, though these have changed in recent years), through to those from experiential (work based) learning. Technical background varies from science, mathematical and computing experience, to no direct advanced technical or scientific experience. A further issue is students’ attainment and progression within higher education, where the success and outcomes in computer science has been identified as particularly problematic. Computer Science has one the worst records for retention (i.e. students leaving with no award, or a lower award than that originally applied for), and the second worst for attainment (i.e. achieving a good degree, that being defined as a first or a 2:1). One way to attempt to improve these outcomes is by identifying effective ways to improve student engagement. This can be through appropriate motivators – though then the balance of extrinsic versus intrinsic motivation becomes critical. In this paper, we consider how to utilize assessment – combining the formative and summative aspects - as a substitute for coarser approaches based on attendance monitoring

    Let's Ask Students About Their Programs, Automatically

    Get PDF
    Students sometimes produce code that works but that its author does not comprehend. For example, a student may apply a poorly-understood code template, stumble upon a working solution through trial and error, or plagiarize. Similarly, passing an automated functional assessment does not guarantee that the student understands their code. One way to tackle these issues is to probe students' comprehension by asking them questions about their own programs. We propose an approach to automatically generate questions about student-written program code. We moreover propose a use case for such questions in the context of automatic assessment systems: after a student's program passes unit tests, the system poses questions to the student about the code. We suggest that these questions can enhance assessment systems, deepen student learning by acting as self-explanation prompts, and provide a window into students' program comprehension. This discussion paper sets an agenda for future technical development and empirical research on the topic

    Proceedings of the Second Program Visualization Workshop, 2002

    Get PDF
    The Program Visualization Workshops aim to bring together researchers who design and construct program visualizations and, above all, educators who use and evaluate visualizations in their teaching. The first workshop took place in July 2000 at Porvoo, Finland. The second workshop was held in cooperation with ACM SIGCSE and took place at HornstrupCentret, Denmark in June 2002, immediately following the ITiCSE 2002 Conference in Aarhus, Denmark
    corecore