A Mixed-Methods Study of Novice Programmer Interaction with Python Error Messages
The ability to interpret error messages in order to find and fix bugs is an essential skill for novice programmers. Unfortunately, the technical language of most error messages can hinder the progress of CS1 students and can lead to feelings of confusion and frustration. A potential intervention for CS educators is the use of enhanced error messages that utilise natural-language geared towards novice learners, but the current discourse in CS Education regarding benefits of such messages is inconclusive. In this paper, we describe a planned, semi-controlled experiment running parallel to a CS1 course at the University of Toronto Scarborough. The study aims to build upon existing work in quantifying the effects of enhanced error messages by incorporating additional quantitative metrics, usability surveys, student feedback, and semi-structured interviews. The additional methods serve to measure not only the effects on error recovery, but student satisfaction, sense of frustration and overall attitude towards error messages and debugging.
Static Analyses in Python Programming Courses
Students learning to program often rely on feedback from the compiler and from instructor-provided test cases to help them identify errors in their code. This feedback focuses on functional correctness, and the output, which is often phrased in technical language, may be difficult to for novices to understand or effectively use. Static analyses may be effective as a complementary aid, as they can highlight common errors that may be potential sources of problems. In this paper, we introduce PyTA, a wrapper for pylint that provides custom checks for common novice errors as well as improved messages to help students fix the errors that are found. We report on our experience integrating PyTA into an existing online system used to deliver programming exercises to CS1 students and evaluate it by comparing exercise submissions collected from the integrated system to previously collected data. This analysis demonstrates that, for students who chose to read the PyTA output, we observed a decrease in time to solve errors, occurrences of repeated errors, and submissions to complete a programming problem. This suggests that PyTA, and static analyses in general, may help students identify functional issues in their code not highlighted by compiler feedback and that static analysis output may help students more quickly identify debug their code.
Research on Control and Planning of Soft-Wing UAV for Haze Removal
The existence of fog and haze has caused great pollution to the environment. The research of removing haze is a hot topic in recent years. In this paper, a special haze removal algorithm based on Soft- Wing UAVis proposed. In this algorithm, two track control strategies are designed based on the Soft-Wing UAV model transfer function. A SIMULINK platform based mathematical model of Soft-Wing UAV is built to testified effectiveness of the two track control strategies. An autonomous ergodic-planning algorithm with greedy strategy and foldback algorithm for Soft-Wing UAV is designed. Within the algorithm, the haze regional has been modelled, the cost matrix is constructed, and the planning and ergodic strategy is proposed. Finally, the experimental results validates the reliability of the algorithm in the application of haze removal with the proposed evaluation Index.