Matching Items (2)
Filtering by

Clear all filters

134533-Thumbnail Image.png
Description
Learning to program is no easy task, and many students experience their first programming during their university education. Unfortunately, programming classes have a large number of students enrolled, so it is nearly impossible for professors to associate with the students at an individual level and provide the personal attention each

Learning to program is no easy task, and many students experience their first programming during their university education. Unfortunately, programming classes have a large number of students enrolled, so it is nearly impossible for professors to associate with the students at an individual level and provide the personal attention each student needs. This project aims to provide professors with a tool to quickly respond to the current understanding of the students. This web-based application gives professors the control to quickly ask Java programming questions, and the ability to see the aggregate data on how many of the students have successfully completed the assigned questions. With this system, the students are provided with extra programming practice in a controlled environment, and if there is an error in their program, the system will provide feedback describing what the error means and what steps the student can take to fix it.
ContributorsVillela, Daniel Linus (Author) / Kobayashi, Yoshihiro (Thesis director) / Nelson, Brian (Committee member) / Hsiao, Sharon (Committee member) / Computing and Informatics Program (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-05
157864-Thumbnail Image.png
Description
Computer science education is an increasingly vital area of study with various challenges that increase the difficulty level for new students resulting in higher attrition rates. As part of an effort to resolve this issue, a new visual programming language environment was developed for this research, the Visual IoT and

Computer science education is an increasingly vital area of study with various challenges that increase the difficulty level for new students resulting in higher attrition rates. As part of an effort to resolve this issue, a new visual programming language environment was developed for this research, the Visual IoT and Robotics Programming Language Environment (VIPLE). VIPLE is based on computational thinking and flowchart, which reduces the needs of memorization of detailed syntax in text-based programming languages. VIPLE has been used at Arizona State University (ASU) in multiple years and sections of FSE100 as well as in universities worldwide. Another major issue with teaching large programming classes is the potential lack of qualified teaching assistants to grade and offer insight to a student’s programs at a level beyond output analysis.

In this dissertation, I propose a novel framework for performing semantic autograding, which analyzes student programs at a semantic level to help students learn with additional and systematic help. A general autograder is not practical for general programming languages, due to the flexibility of semantics. A practical autograder is possible in VIPLE, because of its simplified syntax and restricted options of semantics. The design of this autograder is based on the concept of theorem provers. To achieve this goal, I employ a modified version of Pi-Calculus to represent VIPLE programs and Hoare Logic to formalize program requirements. By building on the inference rules of Pi-Calculus and Hoare Logic, I am able to construct a theorem prover that can perform automated semantic analysis. Furthermore, building on this theorem prover enables me to develop a self-learning algorithm that can learn the conditions for a program’s correctness according to a given solution program.
ContributorsDe Luca, Gennaro (Author) / Chen, Yinong (Thesis advisor) / Liu, Huan (Thesis advisor) / Hsiao, Sharon (Committee member) / Huang, Dijiang (Committee member) / Arizona State University (Publisher)
Created2020