skip to main content
10.1145/2729094.2742622acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

FrenchPress Gives Students Automated Feedback on Java Program Flaws

Published: 22 June 2015 Publication History

Abstract

We created an Eclipse plug-in called FrenchPress that partially automates the task of giving students feedback on their Java programs. It is designed not for novices but for students taking their second or third Java course: students who know enough Java to write a working program but lack the judgment to recognize bad code when they see it. FrenchPress does not diagnose compile-time or runtime errors, or logical errors that produce incorrect output. It targets silent flaws, flaws the student is unable to identify for himself because nothing in the programming environment alerts him. FrenchPress diagnoses flaws characteristic of programmers who have not yet assimilated the object-oriented idiom. Such shortcomings include misuse of the public modifier, fields that should have been local variables, and instance variables that should have been class constants. Other rules address the all too common misunderstanding of the boolean datatype. FrenchPress delivers explanatory messages in a vocabulary appropriate to the student's current level.
This paper reports preliminary results of a formative evaluation of FrenchPress conducted in a Fall 2014 data structures and algorithms course. User satisfaction survey responses indicate that among the students who received substantive diagnostic suggestions from FrenchPress, the percentage who were motivated to modify their program varied from 36% to 64% on four different assignments.

References

[1]
J. Bloch. Effective Java. The Java Series. Addison-Wesley, Second edition, 2008.
[2]
FindBugs 3.0.0.textithttp://findbugs.sourceforge.net/.
[3]
C. A. Higgins, G. Gray, P. Symeonidis, and A. Tsintsifas. Automated assessment and experiences of teaching programming. Journal on Educational Resources in Computing, 5(3):5, 2005.
[4]
D. Hovemeyer and W. Pugh. Finding bugs is easy. SIGPLAN Not., 39(12):92--106, 2004.
[5]
M. Hristova, A. Misra, M. Rutter, and R. Mercuri. Identifying and correcting Java programming errors for introductory computer science students. In SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science education, pages 153--156, New York, NY, 2003. ACM.
[6]
M. Joy, N. Griffiths, and R. Boyatt. The BOSS online submission and assessment system. Journal on Educational Resources in Computing, 5(3):2, 2005.
[7]
E. Murphy-Hill and A. P. Black. An interactive ambient visualization for code smells. In Proceedings of the 5th International Symposium on Software Visualization, SOFTVIS '10, pages 5--14, New York, NY, USA, 2010. ACM.
[8]
PMD 5.2.3.textithttp://pmd.sourceforge.net/.
[9]
L. Qiu and C. Riesbeck. An incremental model for developing educational critiquing systems: Experiences with the Java Critiquer. Journal of Interactive Learning Research, 19(1):119--145, 2008.
[10]
R. Singh, S. Gulwani, and A. Solar-Lezama. Automated feedback generation for introductory programming assignments. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '13, pages 15--26, New York, NY, USA, 2013. ACM.
[11]
N. Truong, P. Roe, and P. Bancroft. Static analysis of students' Java programs. In ACE '04: Proceedings of the sixth conference on Australasian computing education, pages 317--325, Darlinghurst, Australia, 2004. Australian Computer Society, Inc.

Cited By

View all
  • (2025)Introducing Code Quality at CS1 Level: Examples and Activities2024 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3689187.3709615(339-377)Online publication date: 22-Jan-2025
  • (2024)Bringing Industry-Grade Code Quality and Practices into Software Engineering Education (Doctoral Consortium)Proceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699571(1-2)Online publication date: 12-Nov-2024
  • (2024)Asking Students to Refactor their Code: A Simple and Valuable ExerciseProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653546(73-79)Online publication date: 3-Jul-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '15: Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education
June 2015
370 pages
ISBN:9781450334402
DOI:10.1145/2729094
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. eclipse plug-in
  2. educational technology
  3. program analysis
  4. static analysis

Qualifiers

  • Research-article

Conference

ITICSE '15
Sponsor:

Acceptance Rates

ITiCSE '15 Paper Acceptance Rate 54 of 124 submissions, 44%;
Overall Acceptance Rate 552 of 1,613 submissions, 34%

Upcoming Conference

ITiCSE '25
Innovation and Technology in Computer Science Education
June 27 - July 2, 2025
Nijmegen , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Introducing Code Quality at CS1 Level: Examples and Activities2024 Working Group Reports on Innovation and Technology in Computer Science Education10.1145/3689187.3709615(339-377)Online publication date: 22-Jan-2025
  • (2024)Bringing Industry-Grade Code Quality and Practices into Software Engineering Education (Doctoral Consortium)Proceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699571(1-2)Online publication date: 12-Nov-2024
  • (2024)Asking Students to Refactor their Code: A Simple and Valuable ExerciseProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653546(73-79)Online publication date: 3-Jul-2024
  • (2024)Auglets: Intelligent Tutors for Learning Good Coding Practices by Solving Refactoring ProblemsProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690119(95-101)Online publication date: 5-Dec-2024
  • (2024)Design principles for generating and presenting automated formative feedback on code quality using software metricsProceedings of the 46th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3639474.3640051(139-150)Online publication date: 14-Apr-2024
  • (2024)Towards Comprehensive Assessment of Code Quality at CS1-Level: Tools, Rubrics and Refactoring Rules2024 IEEE Global Engineering Education Conference (EDUCON)10.1109/EDUCON60312.2024.10578672(1-10)Online publication date: 8-May-2024
  • (2024)Automated Code Readability Feedback on Student AwarenessSmart Technologies for a Sustainable Future10.1007/978-3-031-61891-8_5(56-66)Online publication date: 1-Jun-2024
  • (2024)Feedback Generation for Automatic Programming Assessment Utilizing AI Techniques: An Initial Analysis of Systematic Mapping StudiesAdvances in Intelligent Computing Techniques and Applications10.1007/978-3-031-59711-4_23(257-272)Online publication date: 30-Jun-2024
  • (2023)SQMetrics: An Educational Software Quality Assessment Tool for JavaKnowledge10.3390/knowledge30400363:4(557-599)Online publication date: 29-Sep-2023
  • (2023)Detecting Programming Flaws in Student Submissions with Static Source Code AnalysisStudia Universitatis Babeș-Bolyai Informatica10.24193/subbi.2023.1.0368:1(37-54)Online publication date: 20-Jul-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media