Open AccessPosted Content
Teaching Python programming with automatic assessment and feedback provision
TLDR
A method of automatic feedback provision for students learning programming and computational methods in Python that very significantly reduces the staff time required to establish whether a student's solution is correct, and shifts the emphasis of computing laboratory student contact time from assessing correctness to providing guidance.Abstract:
We describe a method of automatic feedback provision for students learning programming and computational methods in Python. We have implemented, used and refined this system since 2009 for growing student numbers, and summarise the design and experience of using it. The core idea is to use a unit testing framework: the teacher creates a set of unit tests, and the student code is tested by running these tests. With our implementation, students typically submit work for assessment, and receive feedback by email within a few minutes after submission. The choice of tests and the reporting back to the student is chosen to optimise the educational value for the students. The system very significantly reduces the staff time required to establish whether a student's solution is correct, and shifts the emphasis of computing laboratory student contact time from assessing correctness to providing guidance. The self-paced nature of the automatic feedback provision supports a student-centred learning approach. Students can re-submit their work repeatedly and iteratively improve their solution, and enjoy using the system. We include an evaluation of the system and data from using it in a class of 425 students.read more
Citations
More filters
Book
Test Driven Development: By Example
TL;DR: Drive development with automated tests, a style of development called “Test-Driven Development” (TDD for short), which aims to dramatically reduce the defect density of code and make the subject of work crystal clear to all involved.
Journal ArticleDOI
Analyzing students' perceptions to improve the design of an automated assessment tool in online distributed programming
Thanasis Daradoumis,Thanasis Daradoumis,Joan Manuel Marquès Puig,Marta Arguedas,Laura Calvet Liñán +4 more
TL;DR: This study shows that the DSLab tool includes acceptable utility and efficiency features and identifies factors that influence current design efficiency with the aim of improving DSLab design by suggesting new functionalities and ideas.
Journal ArticleDOI
Analysis of Learning Behavior in an Automated Programming Assessment Environment: A Code Quality Perspective
TL;DR: The empirical results demonstrate the efficacy of the proposed scheme in providing valuable insights into the learning behaviors of students in novice programming courses, especially in code quality assurance, which could be used to enhance programming performance at the university level.
Proceedings ArticleDOI
A Survey of Popular Image and Text analysis Techniques
Rahul Suresh,N Keshava +1 more
TL;DR: The winning Convolutional Neural Network architectures of the popular ImageNet Large Scale Visual Recognition Competition (ILSVRC) competition along with the innovations they introduced are discussed in detail.
Journal ArticleDOI
A blended learning approach for teaching python programming language: towards a post pandemic pedagogy
TL;DR: The results presented in this paper, shows the effectivity of this approach in teaching complex course especially during the COVID19 period, based on both the satisfaction rate and the success rate metrics that was chosen to asset the following approach.
References
More filters
Book
Test Driven Development: By Example
TL;DR: Drive development with automated tests, a style of development called “Test-Driven Development” (TDD for short), which aims to dramatically reduce the defect density of code and make the subject of work crystal clear to all involved.
Journal ArticleDOI
Learning and Teaching Programming: A Review and Discussion
TL;DR: This paper identifies general trends comparing novice and expert programmers, programming knowledge and strategies, program generation and comprehension, and object-oriented versus procedural programming and topics relating to novice teaching and learning.
Book
Advanced Programming in the Unix Environment
TL;DR: This edition covers more than seventy new interfaces, including POSIX asynchronous I/O, spin locks, barriers, and POSIX semaphores, and aligns with Version 4 of the Single UNIX Specification.
Journal ArticleDOI
A Survey of Automated Assessment Approaches for Programming Assignments
TL;DR: Several automatic approaches for assessing programming assignments are surveyed by surveying several automatic tools for both static and dynamic assessment of computer programs, to bring forward different assessment techniques and approaches.
Proceedings ArticleDOI
Review of recent systems for automatic assessment of programming assignments
TL;DR: It is stated that too many new systems are developed, but also acknowledge the current reasons for the phenomenon, and encourages opening up the existing systems and joining efforts on developing those further.