scispace - formally typeset
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

Beck
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

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

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

Beck
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.
Related Papers (5)
Trending Questions (2)