Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3636243.3636264acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesaus-ceConference Proceedingsconference-collections
research-article

Tartare: Automatic Generation of C Pointer Statements and Feedback

Published: 29 January 2024 Publication History
  • Get Citation Alerts
  • Abstract

    This paper addresses the difficulties students face when learning and practicing pointers (i.e., variables storing the memory address of another variable as its value) in a computer programming class. To improve their understanding and practice, we have developed Tartare, an automatic C pointer statement and feedback generator. By creating statements with automatic feedback, students are given the opportunity to practice at will, each time on a different instance. In addition, if the statement must be done remotely and accounts in the final grade, Tartare discourages academic dishonesty since each student faces their own statement to solve.
    This paper describes the techniques implemented in Tartare, relying on a pattern template-based approach. The statement variety of Tartare is evaluated. Finally, current limitations and further improvements are discussed. We believe our approach for Tartare can be transposed for automatic exercises generation in various other fields.

    References

    [1]
    B. Adcock, P. Bucci, W. D. Heym, J. E. Hollingsworth, T. Long, and B. W. Weide. 2007. Which Pointer Errors Do Students Make?. In Proc. SIGCSE Technical Symposium on Computer Science Education.
    [2]
    M. Agarwal and P. Mannem. 2011. Automatic Gap-Fill Question Generation from Text Books. In Proc. Workshop on Innovative Use of NLP for Building Educational Applications (IUNLPBEA).
    [3]
    U. Z. Ahmed, S. Gulwani, and A. Karkare. 2013. Automatically Generating Problems and Solutions for Natural Deduction. In Proc. International Joint Conference on Artificial Intelligence (IJCAI).
    [4]
    I. Aldabe, M. Lopez de Lacalle, M. Maritxalar, E. Martinez, and L. Uria. 2006. ArikIturri: An Automatic Question Generator Based on Corpora and NLP Techniques. In Proc. Intelligent Tutoring Systems (TS).
    [5]
    J. J. Almeida, E. Grande, and G. Smirnov. 2016. Context-Free Grammars: Exercise Generation and Probabilistic Assessment. In Proc. Symposium on Languages, Applications and Technologies (SLATE).
    [6]
    C. Alvin, S. Gulwani, R. Majumdar, and S. Mukhopadhyay. 2015. Automatic Synthesis of Geometry Problems for an Intelligent Tutoring System. cs.AI 1510.08525. arXiv.
    [7]
    T. Barnes and J. Stamper. 2008. Toward Automatic Hint Generation for Logic Proof Tutoring Using Historical Student Data. In Proc. Intelligent Tutoring Systems (ITS).
    [8]
    L. Becker, S. Basu, and L. Vanderwende. 2012. Mind the Gap: Learning to Choose Gaps for Question Generation. In Proc. Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies.
    [9]
    J. Boustedt, A. Eckerdal, R. McCartney, J. E. Moström, M. Ratcliffe, K. Sanders, and C. Zander. 2007. Threshold concepts in computer science: do they exist and are they useful?ACM SIGCSE Bulletin 39, 1 (March 2007), 504–508.
    [10]
    G. Brieven, L. Malcev, and B. Donnet. 2023. Training Students’ Abstraction Skills Around aCafé2.0. cs.CY 2309.09562. arXiv.
    [11]
    O. Chinedu and A. Ade-Ibijola. 2023. Synthesis of Nested Loop Exercises for Practice in Introductory Programming. Egyptian Informatics Journal 24, 2 (July 2023), 191–203.
    [12]
    M. Craig and A. Petersen. 2016. Student Difficulties with Pointer Concepts in C. In Proc. Australasian Computer Science Week Multiconference (ACSW).
    [13]
    J. Crawford, K. Butler-Henderson, J. Rudolph, B. Malkawi, M. Glowatz, R. Burton, P. A. Mangi, and S. Lam. 2020. COVID-19: 20 Countries’ Higher Education Intra-Period Digital Pedagogy Responses. Journal of Applied Learning & Teaching 3, 1 (2020), 9–28.
    [14]
    J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova. 2019. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In Proc. Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT).
    [15]
    C. Douce, D. Livingstone, and J. Orwell. 2005. Automatic Test-Based Assessment of Programming: A Review. Journal on Educational Resources in Computing 5, 3 (September 2005), 4–es.
    [16]
    A. DuFrene. 2016. Automatic Generation and Grading of Programming Exercises. Technical Report. California Polytechnic State University.
    [17]
    P. Ertmer, J. Richardson, B. Belland, D. Camin, P. Connolly, G. Coulthard, K. Lei, and C. Mong. 2007. Using Peer Feedback to Enhance the Quality of Student Online Postings: An Exploratory Study. Journal of Computer-Mediated Communication 12, 2 (January 2007), 412–433.
    [18]
    G. E. Forsythe and N. Wirth. 1965. Automatic grading programs. Communications of the ‘ACM’ 8, 5 (May 1965), 275–278.
    [19]
    K. Goldman, P. Gross, C. Heeren, G. Herman, L. Kaczmarczyk, M. Loui, and C. Zilles. 2008. Identifying Important and Difficult Concepts in Introductory Computing Courses using a Delphi Process. In Proc. ACM Technical Symposium on Computer Science Education (SIGCSE).
    [20]
    K. V. Hanford. 1970. Automatic Generation of Test Cases. IBM Systems Journal 9, 4 (1970), 242–257.
    [21]
    J. B. Hext and J. W. Winings. 1969. An Automatic Grading Scheme for Simple Programming Exercises. Commun. ACM 12, 5 (May 1969), 272––275.
    [22]
    G. Hill, J. Mason, and A. Dunn. 2021. Contract Cheating: an Increasing Challenge for Global Academic Community Arising from CoVID-19. Research and Practice in Technology Enhanced Learning 16, 1 (December 2021).
    [23]
    J. Hollingsworth. 1960. Automatic Graders for Programming Classes. Commun. ACM 3, 10 (October 1960), 528––529.
    [24]
    E. Holohan, M. Melia, D. McMullen, and C. Pahl. 2006. The Generation of e-Learning Exercise Problems from Subject Ontologies. In Proc. IEEE International Conference on Advanced Learning Technologies (ICALT).
    [25]
    L. Kaczmarczyk, E. Petrick, J. East, and G. Herman. 2010. Identifying student misconceptions of programming. In Proc. ACM Technical Symposium on Computer Science Education (SIGCSE).
    [26]
    T. Klein and M. Nabi. 2019. Learning to Answer by Learning to Ask: Getting the Best of GPT-2 and BERT Worlds. cs.CL 1911.02365. arXiv.
    [27]
    Z. Liang, W. Yu, T. Rajpurohit, P. Clark, X. Zhang, and A. Kaylan. 2023. Let GPT be a Math Tutor: Teaching Math Word Problem Solvers with Customized Exercise Generation. cs.LG 2305.14386. arXiv.
    [28]
    S. Liénardy, L. Leduc, D. Verpoorten, and B. Donnet. 2021. Challenges, Multiple Attempts, and Trump Cards – A Practice Report of Student’s Exposure to an Automated Correction System for a Programming Challenges Activity. International Journal of Technologies in Higher Education (IJTHE) 18, 2 (June 2021), 45–60.
    [29]
    K. Malinka, M. Peresini, A. Firc, O. Hujnak, and F. Janus. 2023. On the Educational Impact of ChatGPT: Is Artificial Intelligence Ready to Obtain a University Degree?. In Proc. Conference on Innovation and Technology in Computer Science Education (ITiCSE).
    [30]
    I. Milne and G. Rowe. 2002. Difficulties in Learning and Teaching Programming—Views of Students and Tutors. Education and Information Technologies 7 (March 2002), 55–66.
    [31]
    R. Mitkov and L. A. Ha. 2003. Computer-Aided Generation of Multiple-Choice Tests. In Proc. Workshop on Building Educational Applications Using Natural Language Processing (HLT-NAACL-EDUC).
    [32]
    A. Papasalouros. 2013. Automatic Exercise Generation in Euclidean Geometry. In Proc. Artificial Intelligence Applications and Innovations (AIAI).
    [33]
    P. M. Phothilimthana and S. Sridhara. 2017. High-Coverage Hint Generation for Massive Courses: Do Automated Hints Help CS1 Students?. In Poc. ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE).
    [34]
    T. W. Price, Y. Dong, and T. Barnes. 2016. Generating Data-driven Hints for Open-ended Programming. In Proc. International Conference on Educational Data Mining (EDM).
    [35]
    A. Radford, J. Wu, R. Child, D. Luan, D. Amodei, and I. Sutskever. 2019. Language Models are Unsupervised Multitask Learners. Last Access: September 21st, 2023.
    [36]
    D. Radosevic, T. Orehovački, and Z. Stapic. 2010. Automatic On-line Generation of Student’s Exercises in Teaching Programming. Proc. Central European Conference on Information and Intelligent Systems (CECIIS).
    [37]
    K. Rivers and K. Koedinger. 2014. Automating Hint Generation with Solution Space Path Construction. In Proc. Intelligent Tutoring Systems (ITS).
    [38]
    R. Rolim, G. Soares, L. D’Antoni, O. Polozov, S. Gulwani, R. Gheyi, R. Suzuki, and B. Hartmann. 2017. Learning Syntactic Program Transformations from Examples. In Proc. International Conference on Software Engineering (ICSE).
    [39]
    D. Sadigh, S. A. Seshia, and M. Gupta. 2012. Automating Exercise Generation: A Step towards Meeting the MOOC Challenge for Embedded Systems. In Proc. Workshop on Embedded and Cyber-Physical Systems Education (WESE).
    [40]
    S. Sarsa, P. Denny, A. Hellas, and J. Leinonen. 2022. Automatic Generation of Programming Exercises and Code Explanations Using Large Language Models. In Proc. ACM Conference on International Computing Education Research (ICER).
    [41]
    R. Singh, S. Gulwani, and S. Rajamani. 2012. Automatically Generating Algebra Problems. In Proc. AAAI Conference on Artificial Intelligence.
    [42]
    R. Singh, S. Gulwani, and A. Solar-Lezama. 2013. Automated Feedback Generation for Introductory Programming Assignments. In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).
    [43]
    Y. Skalban, L. Specia, and R. Mitkov. 2012. Automatic question generation in multimedia-based learning. In Proc. International Conference on Computational Linguistics (COLING): Posters.
    [44]
    E. Soremekun, E. Pavese, N. Havrikov, L. Grunske, and A. Zeller. 2022. Inputs From Hell:. IEEE Transactions on Software Engineering 48, 4 (April 2022), 1138–1153.
    [45]
    P. N. Sovietov. 2021. Automatic Generation of Programming Exercises. Proc. International Conference on Technology Enhanced Learning in Higher Education (TELE) (June 2021).
    [46]
    J. Weizenbaum. 1966. ELIZA—a Computer Program for the Study of Natural Language Communication between Man and Machine. Commun. ACM 9, 1 (January 1966), 36––45.
    [47]
    J. H. Wolfe. 1976. Automatic Question Generation from Text – an Aid to Independent Study. ACM SIGCSE–SIGCUE Outlook 10, SI (February 1976), 104––112.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ACE '24: Proceedings of the 26th Australasian Computing Education Conference
    January 2024
    208 pages
    ISBN:9798400716195
    DOI:10.1145/3636243
    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].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 29 January 2024

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. C programming language
    2. Tartare
    3. pointers
    4. statement generation

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    • Région Wallonne

    Conference

    ACE 2024
    ACE 2024: Australian Computing Education Conference
    January 29 - February 2, 2024
    NSW, Sydney, Australia

    Acceptance Rates

    Overall Acceptance Rate 161 of 359 submissions, 45%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 14
      Total Downloads
    • Downloads (Last 12 months)14
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media