13,601 research outputs found

    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

    Teaching complex theoretical multi-step problems in ICT networking through 3D printing and augmented reality

    Get PDF
    This paper presents a pilot study rationale and research methodology using a mixed media visualisation (3D printing and Augmented Reality simulation) learning intervention to help students in an ICT degree represent theoretical complex multi-step problems without a corresponding real world physical analog model. This is important because these concepts are difficult to visualise without a corresponding mental model. The proposed intervention uses an augmented reality application programmed with free commercially available tools, tested through an action research methodology, to evaluate the effectiveness of the mixed media visualisation techniques to teach ICT students networking. Specifically, 3D models of network equipment will be placed in a field and then the augmented reality app can be used to observe packet traversal and routing between the different devices as data travels from the source to the destination. Outcomes are expected to be an overall improvement in final skill level for all students

    Practical Use of Review Question and Content Object as Advanced Organizer for Computer Programming Lessons

    Get PDF
    AbstractThe purpose of this study is to examine the effectiveness of review question and content object as advanced organizer used for prior knowledge activation in an introductory computer programming. The students’ engagement when using the strategies was examined to reach the primary findings. Content object (CO) as the advanced organizer to activate prior knowledge used before a new programming concept was learnt. Review questions (RQ) on programming concepts and solutions were designed to encourage the paper–pen method. Findings have shown similar performance in post-test. The outcome of this study showed CO useful to foster better learning programming

    The Effectiveness of Aural Instructions with Visualisations in E-Learning Environments

    Get PDF
    Based on Mayer’s (2001) model for more effective learning by exploiting the brain’s dual sensory channels for information processing, this research investigates the effectiveness of using aural instructions together with visualisation in teaching the difficult concepts of data structures to novice computer science students. A small number of previous studies have examined the use of audio and visualisation in teaching and learning environments but none has explored the integration of both technologies in teaching data structures programming to reduce the cognitive load on learners’ working memory. A prototype learning tool, known as the Data Structure Learning (DSL) tool, was developed and used first in a short mini study that showed that, used together with visualisations of algorithms, aural instructions produced faster student response times than did textual instructions. This result suggested that the additional use of the auditory sensory channel did indeed reduce the cognitive load. The tool was then used in a second, longitudinal, study over two academic terms in which students studying the Data Structures module were offered the opportunity to use the DSL approach with either aural or textual instructions. Their use of the approach was recorded by the DSL system and feedback was invited at the end of every visualisation task. The collected data showed that the tool was used extensively by the students. A comparison of the students’ DSL use with their end-of-year assessment marks revealed that academically weaker students had tended to use the tool most. This suggests that less able students are keen to use any useful and available instrument to aid their understanding, especially of difficult concepts. Both the quantitative data provided by the automatic recording of DSL use and an end-of-study questionnaire showed appreciation by students of the help the tool had provided and enthusiasm for its future use and development. These findings were supported by qualitative data provided by student written feedback at the end of each task, by interviews at the end of the experiment and by interest from the lecturer in integrating use of the tool with the teaching of the module. A variety of suggestions are made for further work and development of the DSL tool. Further research using a control group and/or pre and post tests would be particularly useful

    A Computer Learning Environment for Novice Java Programmers That Supports Cognitive Load Reducing Adaptations and Dynamic Visualizations of Computer Memory

    Get PDF
    Learning to program a computer is difficult for many. The Learning Edge Momentum hypothesis suggests that the difficulty may be due to the tightly integrated nature of programming concepts and adapting the way curriculum is offered may have a significant influence on the outcomes. We investigate applying cognitive load reducing methods to instruction of the introductory programming concepts of declaration, assignment and sequence, using a new learning environment that an instructor can adapt for a specific example or that a student can personalize for amount and modality of content provided. Our study has three learning surveys. Each learning survey has short instructional videos designed using cognitive load reducing methods and then asks participants to solve novel problems using the presented materials. Our first learning survey was completed by 123 participants recruited on Amazon\u27s Mechanical Turk (AMT). We found that 23% that watched the instructional video without computer memory (n=61) answered the three code tracing questions correctly. Our second learning survey included instructional videos prepared after analyzing the results of the previous survey and emphasized cognitive load reducing methods in preparing the new instruction. This second survey was completed by 220 participants also recruited via AMT. We found that 57% of the participants that watched the instructional video without computer memory (n=72) answered the three tracing questions correctly. Our third learning survey with 322 participants recruited via AMT confirmed that the difference between the two videos was statistically significant with medium effect size. In the third survey, 29% of the participants watching the first survey instructional video without computer memory and 45% of those that watched the second survey instructional video without computer memory answered all three tracing questions correctly. In the third learning survey, the gain from 29% from our first short video that we thought was a reasonable presentation to 45% in the second short video seems to lend strong support to the hypothesis that our typical methods of instruction for introductory programming simply overwhelm the cognitive capabilities of many of the students. Our results suggest that cognitive load reducing methods may be very helpful for teaching introductory programming concepts

    The pedagogy of computer programming using cognitive development through an e-learning object

    Get PDF
    Motivated by the needs of a pedagogy focusing on minimizing the learning difficulties in program semantics knowledge and logical reasoning, this research project develops a cognitive development-based pedagogy for introductory programming to support students in organizing and constructing knowledge to learn computer programming. A pedagogy is described as a practice and learning theory that defines the teaching and learning. Regarding the practice of this pedagogy, it uses a cognitive learning tool, called e-learning object, to support the scaffolding. With regard to the theory, this pedagogy is developed based on Vygotsky’s Zone of Proximal Development and Piaget’s theory for cognitive development. In particular the scaffolding of this pedagogy includes three major learning processes. The first two learning processes focus on supporting students constructing knowledge on program semantics and conceptually map this knowledge to the coding process. The last learning process extends the learning to self-practice by demanding students to complete a set of exercises independently. All of these learning processes are supported by using the e-learning object, which is the major cognitive learning tool used in this pedagogy to support cognitive development. It is called e-learning object as it is designed by organizing a group of learning objects, in which each of them is to deliver the concepts of a specific unit topic of program control. Together with the course materials, these learning objects are accessed through the college’s ‘Blackboard System’. In addition to the major objective of improving students’ learning performance, this cognitive development-based pedagogy also extends from this objective to find out whether the positive learning outcome connects to cognitive development, and also whether this pedagogy can be embraced by teachers for use in their teaching processes. With these objectives, six research questions are defined in two stages of study. Research questions Q1 and Q2 are used to study students’ learning outcomes in year 1 and 2, and research questions Q3 to Q5 are used to find out whether students’ learning outcomes are connected to cognitive development. Research question Q6 focuses on whether this pedagogy matches teachers’ knowledge of using it, based on their knowledge of applying technology-based pedagogy. The research methodology of this project is the triangulation design where quantitative data are enriched by the collection of qualitative data. This mixture of quantitative and qualitative data collection in different research questions enables this study to interpret the values of this cognitive development-based pedagogy with different views from students and teachers. The research methods mainly include the quasi-experimental method, survey method and the rating scale anchoring method. With these methods, data are collected by using pre-test and post-test papers, questionnaires, and a checklist of rating scale anchoring mental specifications. They are analysed by two-tailed t-test, descriptive method with mean analysis and the one- way repeated measure ANOVA. These research and data analysis methods have been proven effective and used widely, in educational research projects. This research project makes four major contributions: (i) the e-learning object used in this pedagogy can be used to improve students’ learning performance in computer programming; (ii) evidence that a pedagogy focusing on cognitive development can be used to improve students’ learning performance without being limited by programming languages; (iii) development of a cognitive development- based pedagogy for wide use in introductory programming without being limited by teachers’ knowledge and programming languages; and (iv) learning with this cognitive development-based pedagogy builds up students’ problem-solving skills and applies them to different subject areas. With these achieved goals, this project therefore provides a conceptual and operational model for a pedagogical approach to Computer Science teachers design and use in their teaching process

    Using Building Blocks to Construct Effective Learning Objects

    Get PDF
    Technological developments over the past decade have had a strong impact on education bringing significant opportunities for changing teaching models. This has led to an interest in the development of shareable, scalable and reusable learning objects. This paper builds on the ideas of Parrish (2004) and other recognised theorists in this area who suggest that the production of educational materials needs to promote adaptive learning strategies. We broaden Parrish’s work by testing some of his propositions for object oriented instructional design in the domain of information systems. The contribution of this paper is an extended set of principles for creating multimedia building blocks and aggregating them into learning objects as well as engaging students in the development process. The principles can be used for creating and reusing multimedia building blocks for teaching in many discipline areas. We illustrate the use of these principles by developing and testing a set of learning objects for learning programming. We find that the high cost of creating learning objects noted by Parrish can be ameliorated by using readily available software and Web 2.0 technologies. This approach supports academics developing learning objects without involving professional educational designers and without the added overhead of learning complex software packages

    A game-based approach to the teaching of object-oriented programming languages

    Get PDF
    Students often have difficulties when trying to understand the concepts of object-oriented programming (OOP). This paper presents a contribution to the teaching of OOP languages through a game-oriented approach based on the interaction with tangible user interfaces (TUIs). The use of a specific type of commercial distributed TUI (Sifteo cubes), in which several small physical devices have sensing, wireless communication and user-directed output capabilities, is applied to the teaching of the C# programming language, since the operation of these devices can be controlled by user programs written in C#. For our experiment, we selected a sample of students with a sufficient knowledge about procedural programming, which was divided into two groups: The first one had a standard introductory C# course, whereas the second one had an experimental C# course that included, in addition to the contents of the previous one, two demonstration programs that illustrated some OOP basic concepts using the TUI features. Finally, both groups completed two tests: a multiple-choice exam for evaluating the acquisition of basic OOP concepts and a C# programming exercise. The analysis of the results from the tests indicates that the group of students that attended the course including the TUI demos showed a higher interest level (i.e. they felt more motivated) during the course exposition than the one that attended the standard introductory C# course. Furthermore, the students from the experimental group achieved an overall better mark. Therefore, we can conclude that the technological contribution of Sifteo cubes – used as a distributed TUI by which OOP basic concepts are represented in a tangible and a visible way – to the teaching of the C# language has a positive influence on the learning of this language and such basic concepts

    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.)
    corecore