147 research outputs found

    Investigating the effects of learning activities in a mobile Python tutor for targeting multiple coding skills.

    Get PDF
    Mobile devices are increasingly being utilized for learning due to their unique features including portability for providing ubiquitous experiences. In this paper, we present PyKinetic, a mobile tutor we developed for Python programming, aimed to serve as a supplement to traditional courses. The overarching goal of our work is to design coding activities that maximize learning. As we work towards our goal, we first focus on the learning effectiveness of the activities within PyKinetic, rather than evaluating the effectiveness of PyKinetic as a supplement resource for an introductory programming course. The version of PyKinetic (PyKinetic_DbgOut) used in the study contains five types of learning activities aimed at supporting debugging, code-tracing, and code writing skills. We evaluated PyKinetic in a controlled lab study with quantitative and qualitative results to address the following research questions: (R1) Is the combination of coding activities effective for learning programming? (R2) How do the activities affect the skills of students with lower prior knowledge (novices) compared to those who had higher prior knowledge (advanced)? (R3) How can we improve the usability of PyKinetic? Results revealed that PyKinetic_DbgOut was more beneficial for advanced students. Furthermore, we found how coding skills are interrelated differently for novices compared to advanced learners. Lastly, we acquired sufficient feedback from the participants to improve the tutor

    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

    Computer Science To Go (CS2Go): Developing a course to introduce and teach Computer Science and Computational Thinking to secondary school students

    Get PDF
    Computer Science To Go (CS2Go) is a course designed to teach Transition Year Students about Computer Science and Computational Thinking. This project has been conducted over two years and this thesis charts the development of the course from the initial research stage, through the lesson creation sections to the testing and evaluation of the course material. Over 80 hours of engaging, informative and challenging material has been developed for use in the classroom. Alongside the lesson plans, assessment and monitoring tools have been created, including a novel tool to assess students Computational Thinking skills. The content was tested in two major studies after an initial pilot study. This initial pilot study proved useful in constructing the full CS2Go course. Overall the course has been well received with teachers and students engaging well with the content. A web portal has also been created to allow for easy dissemination of all the CS2Go material. The further development of this web portal will turn CS2Go into a one-stop shop for teachers and educators hoping to find CS teaching material
    corecore