ABSTRACT
We developed a web-based tool for learning the order of evaluating expressions in C++ and Python languages. The variety of operator precedence and associativity among programming languages and the lack of direct visualization make understanding expression evaluation difficult for some students. The key feature of the new system is a detailed explanation of errors, containing fault reasons---the subject domain laws that the student violated. We evaluated the tool with 14 first-year Computer Science students and received positive feedback. This tool can be used for learning new concepts during homework without requiring more class time because it provides enough feedback for students to learn on their own.
Supplemental Material
- Peter Brusilovsky and Hoah-Der Su. 2002. Adaptive visualization component of a distributed web-based adaptive educational system. In International Conference on Intelligent Tutoring Systems. Springer, 229--238. https://doi.org/10.1007/3--540--47987--2_27Google ScholarCross Ref
- Tyne Crow, Andrew Luxton-Reilly, and Burkhard Wuensche. 2018. Intelligent Tutoring Systems for Programming Education: A Systematic Review .Association for Computing Machinery, New York, NY, USA, 53--62. https://doi.org/10.1145/3160489.3160492Google ScholarDigital Library
- Adidah Lajis, Shahidatul Arfah Baharudin, Diyana Ab Kadir, Nadilah Mohd Ralim, Haidawati Mohd Nasir, and Normaziah Abdul Aziz. 2018. A review of techniques in automatic programming assessment for practical skill test. Journal of Telecommunication, Electronic and Computer Engineering (JTEC) , Vol. 10, 2--5 (2018), 109--113. https://journal.utem.edu.my/index.php/jtec/article/view/4394/3251Google Scholar
- Chen Liang, Jianbo Ye, Shuting Wang, Bart Pursel, and C Lee Giles. 2018. Investigating active learning for concept prerequisite learning. In Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 32.Google ScholarCross Ref
- Ana Maria Ortiz-Colon and Jose Luis Maroto Romo. 2016. Teaching with Scratch in compulsory secondary education. International Journal of Emerging Technologies in Learning (iJET) , Vol. 11, 02 (2016), 67--70.Google ScholarCross Ref
- Oleg Sychev and Nikita Penskoy. 2020. Ontology-based determining of Evaluation Order of C expressions and the Fault Reason for Incorrect Answers. In Proceedings of the ISWC 2020 Demos and Industry Tracks: From Novel Ideas to Industrial Practice co-located with 19th International Semantic Web Conference (ISWC 2020), Globally online, November 1--6, 2020 (UTC) (CEUR Workshop Proceedings, Vol. 2721). CEUR-WS.org, 44--49. http://ceur-ws.org/Vol-2721/paper494.pdfGoogle Scholar
Index Terms
- A Tool to Teach Expressions with Feedback About Broken Laws
Recommendations
Modula-2 versus Java as the first programming language: Evaluation of students' performance
CompSysTech '16: Proceedings of the 17th International Conference on Computer Systems and Technologies 2016The choice of the first programming language in computer science curricula is a complex multi-faceted issue that needs to be addressed from multiple points of view. In this paper we adopt the perspective of the teacher, and after surveying factors such ...
Non-Programming Activities for Engagement with Foundational Concepts in Introductory Programming
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science EducationProgramming-in a text-based or visual language-is a complex activity that novices find difficult to learn. In this paper, we present an experience report on how novel activities designed for early conceptual exploration can support middle school ...
Htdp and dmda in the battlefield: a case study in first-year programming instruction
FDPE '08: Proceedings of the 2008 international workshop on Functional and declarative programming in educationTeaching the introductory course on programming is hard, even with well-proven didactic methods and material. This is a report on the first-year programming course taught at Tübingen and Freiburg universities. The course builds on the well-developed ...
Comments