5 research outputs found

    Online tutoring system for programming courses to improve exam pass rate

    Get PDF
    University students enrolled in the first year of the Computer Science degree may have problems approaching programming, negatively affecting their study during the course. Tutoring programming projects are very important in helping students with difficulty in learning by providing the right approach to study, improving their knowledge and skills in computing. The aim of this work is to realize a new Java Programming tutoring online course that allows students to have an effective online tool to achieve the learning goals of the course and this will enhance the programming exam pass rate. The course we have designed consists of tools to help students with video tutorials, self- assessment quizzes, code evaluations and exercises to solve using an online Java editor. Because the Moodle platform lacks tools to check the quality of the code syntax, a new software was created. It performs a syntax analysis of the Java code and, as a tutor, automatically provides feedbacks and tips to the students to improve the quality. For each online tool the immediate feedback technique is used to amplify students' engagement. A Clustering Machine Learning technique is performed to identify different students' behaviors. A correlation between them and the final performance showed the most influential features of the completed activities. Quantitative analysis highlighted the effectiveness of the tutoring system and the online course designed in this work to enhance the final exam pass rate. At the end, students filled a questionnaire to report their perception and satisfaction about the course

    Online tutoring system for programming courses to improve exam pass rate

    Get PDF
    University students enrolled in the first year of the Computer Science degree may have problems approaching programming, negatively affecting their study during the course. Tutoring programming projects are very important in helping students with difficulty in learning by providing the right approach to study, improving their knowledge and skills in computing. The aim of this work is to realize a new Java Programming tutoring online course that allows students to have an effective online tool to achieve the learning goals of the course and this will enhance the programming exam pass rate. The course we have designed consists of tools to help students with video tutorials, self-assessment quizzes, code evaluations and exercises to solve using an online Java editor. Because the Moodle platform lacks tools to check the quality of the code syntax, a new software was created. It performs a syntax analysis of the Java code and, as a tutor, automatically provides feedbacks and tips to the students to improve the quality. For each online tool the immediate feedback technique is used to amplify students’ engagement. A Clustering Machine Learning technique is performed to identify different students’ behaviors. A correlation between them and the final performance showed the most influential features of the completed activities. Quantitative analysis highlighted the effectiveness of the tutoring system and the online course designed in this work to enhance the final exam pass rate. At the end, students filled a questionnaire to report their perception and satisfaction about the course

    Autoavaliação na aprendizagem de programação introdutória: uma revisão sistemática da literatura / Self-assessment in introductory programming learning: a systematic literature review

    Get PDF
    O processo de aprendizagem de programação em cursos introdutórios é desafiador para alunos, professores e instituições de ensino, já que, devido a diversas dificuldades, os alunos tendem a evadir dos cursos por não se acharem capazes de aprender os conceitos de programação ou sentirem dificuldades durante seu aprendizado que não são supridas pelos professores. Diante desse contexto, este artigo busca, por meio de uma revisão sistemática da literatura, fazer um levantamento sobre o estado atual e as principais características da autoavaliação na aprendizagem de programação introdutória, para que os resultados levantados possam ser utilizados em contextos reais de sala de aula, com a finalidade de prover uma melhoria no processo de ensino e aprendizagem. O protocolo seguido, permitiu a busca de artigos em bases conhecidas na área de informática para educação, onde foram aplicados os critérios de inclusão e exclusão para posterior análise de qualidade e seleção final para leitura na íntegra desses estudos, para que assim, pudesse ser feita a extração dos dados que responderam às questões de pesquisa da obra. Os resultados apontam que nos últimos 5 anos: (i) a principal abordagem de autoavaliação utilizada foi o uso de feedback personalizado; (ii) a principal técnica utilizada foi o feedback; (iii) as principais limitações reportadas pelos autores foram limitações relacionadas à abordagem utilizada; (iv) dentre os benefícios, o que obteve mais relevância foi a melhoria na compreensão do conteúdo; (v) a abordagem de medição mais adotada foi a análise de performance; e (vi) as tecnologias que mais auxiliam no processo de autoavaliação, foram as ferramentas

    DRAFT-What you always wanted to know but could not find about block-based environments

    Get PDF
    Block-based environments are visual programming environments, which are becoming more and more popular because of their ease of use. The ease of use comes thanks to their intuitive graphical representation and structural metaphors (jigsaw-like puzzles) to display valid combinations of language constructs to the users. Part of the current popularity of block-based environments is thanks to Scratch. As a result they are often associated with tools for children or young learners. However, it is unclear how these types of programming environments are developed and used in general. So we conducted a systematic literature review on block-based environments by studying 152 papers published between 2014 and 2020, and a non-systematic tool review of 32 block-based environments. In particular, we provide a helpful inventory of block-based editors for end-users on different topics and domains. Likewise, we focused on identifying the main components of block-based environments, how they are engineered, and how they are used. This survey should be equally helpful for language engineering researchers and language engineers alike

    Automated Feedback for Learning Code Refactoring

    Get PDF
    corecore