10,223 research outputs found
A Perspective Of Automated Programming Error Feedback Approaches In Problem Solving Exercises
Programming tools are meant for student to practice programming. Automated programming error feedback
will be provided for students to self-construct the knowledge through their own experience. This paper has
clustered current approaches in providing automated error programming feedback to the students during problem solving exercises. These include additional syntax error messages, solution template mismatches, test data comparison, assisted agent report and collaborative comment feedback. The study is conducted
based on published papers for last two decades. The trends are analyzed to get the overview of latest
research contributions towards eliminating programming difficulties among students. The result shows that
future direction of automated programming error feedback approaches may combine agent and collaborative feedback approaches towards more interactive, dynamic, end-user oriented and specific goal oriented. Such future direction may help other researchers fill in the gap on new ways of assisting learners to better understand feedback messages provided by automated assessment tool
Introductory programming: a systematic literature review
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 Automated Code Evaluation Systems and Resources for Code Analysis: A Comprehensive Survey
The automated code evaluation system (AES) is mainly designed to reliably
assess user-submitted code. Due to their extensive range of applications and
the accumulation of valuable resources, AESs are becoming increasingly popular.
Research on the application of AES and their real-world resource exploration
for diverse coding tasks is still lacking. In this study, we conducted a
comprehensive survey on AESs and their resources. This survey explores the
application areas of AESs, available resources, and resource utilization for
coding tasks. AESs are categorized into programming contests, programming
learning and education, recruitment, online compilers, and additional modules,
depending on their application. We explore the available datasets and other
resources of these systems for research, analysis, and coding tasks. Moreover,
we provide an overview of machine learning-driven coding tasks, such as bug
detection, code review, comprehension, refactoring, search, representation, and
repair. These tasks are performed using real-life datasets. In addition, we
briefly discuss the Aizu Online Judge platform as a real example of an AES from
the perspectives of system design (hardware and software), operation
(competition and education), and research. This is due to the scalability of
the AOJ platform (programming education, competitions, and practice), open
internal features (hardware and software), attention from the research
community, open source data (e.g., solution codes and submission documents),
and transparency. We also analyze the overall performance of this system and
the perceived challenges over the years
Computer-based assessment system for e-learning applied to programming education
Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 201
Recommended from our members
Hierarchical classification for multiple, distributed web databases
The proliferation of online information resources increases the importance of effective and efficient distributed searching. Our research aims to provide an alternative hierarchical categorization and search capability based on a Bayesian network learning algorithm. Our proposed approach, which is grounded on automatic textual analysis of subject content of online web databases, attempts to address the database selection problem by first classifying web databases into a hierarchy of topic categories. The experimental results reported demonstrate that such a classification approach not only effectively reduces the class search space, but also helps to significantly improve the accuracy of classification performance
Learning to code in class with MOOCs: Process, factors and outcomes
Problem: Python became the most popular programming language in recent years, beating
Java, the programming language still widely used as the main programming language in many
undergraduate degrees on computer science related areas. Students from those degrees often
do not get Python in their syllabus, but the job market is demanding it increasingly.
Objective: To assess if learning a new programming language by following a MOOC is feasible
in a fully dedicated mode and allows achieving a learning outcome comparable to the
traditional in-class learning process.
Proposal: Students from undergraduate degrees lacking Python skills followed a dedicated and
intensive learning process on that language based on an in-class MOOC. The latter is suitable
for students with some background in programming, as is the case, allowing a faster learning
pace. Participants’ subjective perception of the corresponding workload was monitored.
Validation: A programming contest, using an automatic judge, was used as a validation for this
proposal. Two groups of students participated: those from three degrees lacking Python, which
followed the proposed MOOC (experimental group), and those from the degree that includes
Python programming, which had a traditional in-class learning process (control group).
Conclusions: The experiment results were analysed and it was inferred that the proposed
in-class MOOC learning approach is as effective as the traditional learning approach. Furthermore,
it was identified that the students’ average grades obtained in the previous programming
courses taken as part of their degree’s syllabus and the number of MOOC modules finished in
the context of this experiment directly influence the number of points obtained in the contest.Problema: Nos últimos anos, Python tornou-se a linguagem de programação mais popular,
ultrapassando o Java, que continua a sermuito usada como principal linguagem de programação
em muitas licenciaturas relacionadas com informática. Estas licenciaturas acabam muitas vezes
por não oferecer esta competência aos estudantes, no entanto o mercado de trabalho procura-a
cada vez mais.
Objectivo: Avaliar a possibilidade de aprender uma nova linguagem de programação através de
um MOOC num regime de total dedicação. E por fim, perceber se este permite obter resultados
comparáveis ao ensino tradicional.
Proposta: Os estudantes com falta de conhecimentos de Python realizaram um processo de
aprendizagem intensivo desta linguagem através de um MOOC em sala de aula. Este último
é adequado a estudantes com alguns conhecimentos de programação, permitindo assim um
ritmo mais rápido de aprendizagem. A perceção subjetiva dos participantes sobre a respetiva
carga de trabalho foi monitorizada.
Validação: Realização de um concurso de programação recorrendo a um juiz automático. Dois
grupos de estudantes participaram neste concurso: estudantes das 3 licenciaturas sem conhecimentos
de Python, que realizaram o MOOC (grupo experimental), e os estudantes da licenciatura
que inclui Python e que teve uma aprendizagem tradicional (grupo de controlo).
Conclusões: Os resultados deste experimento foram analisados e inferiu-se que a aprendizagem
de um MOOC em sala de aula é tão eficaz quanto o ensino tradicional. Para além disso,
foi também verificado que a média de notas dos estudantes obtida nas unidades curriculares
de programação que já frequentaram no seu curso e o número de módulos feitos no MOOC no
contexto desta experiência influenciam diretamente os pontos obtidos no concurso de programação
- …