Matching Items (6)
156059-Thumbnail Image.png
Description
Assemblers and compilers provide feedback to a programmer in the form of error messages. These error messages become input to the debugging model of the programmer. For the programmer to fix an error, they should first locate the error in the program, understand what is causing that error, and finally

Assemblers and compilers provide feedback to a programmer in the form of error messages. These error messages become input to the debugging model of the programmer. For the programmer to fix an error, they should first locate the error in the program, understand what is causing that error, and finally resolve that error. Error messages play an important role in all three stages of fixing of errors. This thesis studies the effects of error messages in the context of teaching programming. Given an error message, this work investigates how it effects student’s way of 1) understanding the error, and 2) fixing the error. As part of the study, three error message types were developed – Default, Link and Example, to better understand the effects of error messages. The Default type provides an assembler-centric single line error message, the Link type provides a program-centric detailed error description with a hyperlink for more information, and the Example type provides a program centric detailed error description with a relevant example. All these error message types were developed for assembly language programming. A think aloud programming exercise was conducted as part of the study to capture the student programmer’s knowledge model. Different codes were developed to analyze the data collected as part of think aloud exercise. After transcribing, coding, and analyzing the data, it was found that the Link type of error message helped to fix the error in less time and with fewer steps. Among the three types, the Link type of error message also resulted in a significantly higher ratio of correct to incorrect steps taken by the programmer to fix the error.
ContributorsBeejady Murthy Kadekar, Harsha Kadekar (Author) / Sohoni, Sohum (Thesis advisor) / Craig, Scotty D. (Committee member) / Jordan, Shawn S (Committee member) / Gary, Kevin A (Committee member) / Arizona State University (Publisher)
Created2017
156212-Thumbnail Image.png
Description
Each programming language has a compiler associated with it which helps to identify logical or syntactical errors in the program. These compiler error messages play important part in the form of formative feedback for the programmer. Thus, the error messages should be constructed carefully, considering the affective and cognitive needs

Each programming language has a compiler associated with it which helps to identify logical or syntactical errors in the program. These compiler error messages play important part in the form of formative feedback for the programmer. Thus, the error messages should be constructed carefully, considering the affective and cognitive needs of programmers. This is especially true for systems that are used in educational settings, as the messages are typically seen by students who are novice programmers. If the error messages are hard to understand then they might discourage students from understanding or learning the programming language. The primary goal of this research is to identify methods to make the error messages more effective so that students can understand them better and simultaneously learn from their mistakes. This study is focused on understanding how the error message affects the understanding of the error and the approach students take to solve the error. In this study, three types of error messages were provided to the students. The first type is Default type error message which is an assembler centric error message. The second type is Link type error message which is a descriptive error message along with a link to the appropriate section of the PLP manual. The third type is Example type error message which is again a descriptive error message with an example of the similar type of error along with correction step. All these error types were developed for the PLP assembly language. A think-aloud experiment was designed and conducted on the students. The experiment was later transcribed and coded to understand different approach students take to solve different type of error message. After analyzing the result of the think-aloud experiment it was found that student read the Link type error message completely and they understood and learned from the error message to solve the error. The results also indicated that Link type was more helpful compare to other types of error message. The Link type made error solving process more effective compared to other error types.
ContributorsTanpure, Siddhant Bapusaheb (Author) / Sohoni, Sohum (Thesis advisor) / Gary, Kevin A (Committee member) / Craig, Scotty D. (Committee member) / Arizona State University (Publisher)
Created2018
154762-Thumbnail Image.png
Description
Software engineering education today is a technologically advanced and rapidly evolving discipline. Being a discipline where students not only design but also build new technology, it is important that they receive a hands on learning experience in the form of project based courses. To maximize the learning benefit, students must

Software engineering education today is a technologically advanced and rapidly evolving discipline. Being a discipline where students not only design but also build new technology, it is important that they receive a hands on learning experience in the form of project based courses. To maximize the learning benefit, students must conduct project-based learning activities in a consistent rhythm, or cadence. Project-based courses that are augmented with a system of frequent, formative feedback helps students constantly evaluate their progress and leads them away from a deadline driven approach to learning.

One aspect of this research is focused on evaluating the use of a tool that tracks student activity as a means of providing frequent, formative feedback. This thesis measures the impact of the tool on student compliance to the learning process. A personalized dashboard with quasi real time visual reports and notifications are provided to undergraduate and graduate software engineering students. The impact of these visual reports on compliance is measured using the log traces of dashboard activity and a survey instrument given multiple times during the course.

A second aspect of this research is the application of learning analytics to understand patterns of student compliance. This research employs unsupervised machine learning algorithms to identify unique patterns of student behavior observed in the context of a project-based course. Analyzing and labeling these unique patterns of behavior can help instructors understand typical student characteristics. Further, understanding these behavioral patterns can assist an instructor in making timely, targeted interventions. In this research, datasets comprising of student’s daily activity and graded scores from an under graduate software engineering course is utilized for the purpose of identifying unique patterns of student behavior.
ContributorsXavier, Suhas (Author) / Gary, Kevin A (Thesis advisor) / Bansal, Srividya K (Committee member) / Sohoni, Sohum (Committee member) / Arizona State University (Publisher)
Created2016
154791-Thumbnail Image.png
Description
One of the most common errors developers make is to provide incorrect string

identifiers across the HTML5-JavaScript-CSS3 stack. The existing literature shows that a

significant percentage of defects observed in real-world codebases belong to this

category. Existing work focuses on semantic static analysis, while this thesis attempts to

tackle the challenges that can be

One of the most common errors developers make is to provide incorrect string

identifiers across the HTML5-JavaScript-CSS3 stack. The existing literature shows that a

significant percentage of defects observed in real-world codebases belong to this

category. Existing work focuses on semantic static analysis, while this thesis attempts to

tackle the challenges that can be solved using syntactic static analysis. This thesis

proposes a tool for quickly identifying defects at the time of injection due to

dependencies between HTML5, JavaScript, and CSS3, specifically in syntactic errors in

string identifiers. The proposed solution reduces the delta (time) between defect injection

and defect discovery with the use of a dedicated just-in-time syntactic string identifier

resolution tool. The solution focuses on modeling the nature of syntactic dependencies

across the stack, and providing a tool that helps developers discover such dependencies.

This thesis reports on an empirical study of the tool usage by developers in a realistic

scenario, with the focus on defect injection and defect discovery times of defects of this

nature (syntactic errors in string identifiers) with and without the use of the proposed

tool. Further, the tool was validated against a set of real-world codebases to analyze the

significance of these defects.
ContributorsKalsi, Manit Singh (Author) / Gary, Kevin A (Thesis advisor) / Lindquist, Timothy E (Committee member) / Doupe, Adam (Committee member) / Arizona State University (Publisher)
Created2016
154796-Thumbnail Image.png
Description
In the last decade, the number of people who own a mobile phone or portable electronic communication device has grown exponentially. Recent advances in smartphone technology have enabled mobile devices to provide applications (“mHealth apps”) to support delivering interventions, tracking health treatments, or involving a healthcare team into the treatment

In the last decade, the number of people who own a mobile phone or portable electronic communication device has grown exponentially. Recent advances in smartphone technology have enabled mobile devices to provide applications (“mHealth apps”) to support delivering interventions, tracking health treatments, or involving a healthcare team into the treatment process and symptom monitoring. Although the popularity of mHealth apps is increasing, few lessons have been shared regarding user experience design and evaluation for such innovations as they relate to clinical outcomes. Studies assessing usability for mobile apps primarily rely on survey instruments. Though surveys are effective in determining user perception of usability and positive attitudes towards an app, they do not directly assess app feature usage, and whether feature usage and related aspects of app design are indicative of whether intended tasks are completed by users. This is significant in the area of mHealth apps, as proper utilization of the app determines compliance to a clinical study protocol. Therefore it is important to understand how design directly impacts compliance, specifically what design factors are prevalent in non-compliant users. This research studies the impact of usability features on clinical protocol compliance by applying a mixed methods approach to usability assessment, combining traditional surveys, log analysis, and clickstream analysis to determine the connection of design to outcomes. This research is novel in its construction of the mixed methods approach and in its attempt to tie usability results to impacts on clinical protocol compliance. The validation is a case study approach, applying the methods to an mHealth app developed for early prevention of anxiety in middle school students. The results of three empirical studies are shared that support the construction of the mixed methods approach.
ContributorsPatwardhan, Mandar (Author) / Gary, Kevin A (Thesis advisor) / Pina, Armando (Committee member) / Amresh, Ashish (Committee member) / Arizona State University (Publisher)
Created2016
155250-Thumbnail Image.png
Description
For the past decade, mobile health applications are seeing greater acceptance due to their potential to remotely monitor and increase patient engagement, particularly for chronic disease. Sickle Cell Disease is an inherited chronic disorder of red blood cells requiring careful pain management. A significant number of mHealth applications have been

For the past decade, mobile health applications are seeing greater acceptance due to their potential to remotely monitor and increase patient engagement, particularly for chronic disease. Sickle Cell Disease is an inherited chronic disorder of red blood cells requiring careful pain management. A significant number of mHealth applications have been developed in the market to help clinicians collect and monitor information of SCD patients. Surveys are the most common way to self-report patient conditions. These are non-engaging and suffer from poor compliance. The quality of data gathered from survey instruments while using technology can be questioned as patients may be motivated to complete a task but not motivated to do it well. A compromise in quality and quantity of the collected patient data hinders the clinicians' effort to be able to monitor patient's health on a regular basis and derive effective treatment measures. This research study has two goals. The first is to monitor user compliance and data quality in mHealth apps with long and repetitive surveys delivered. The second is to identify possible motivational interventions to help improve compliance and data quality. As a form of intervention, will introduce intrinsic and extrinsic motivational factors within the application and test it on a small target population. I will validate the impact of these motivational factors by performing a comparative analysis on the test results to determine improvements in user performance. This study is relevant, as it will help analyze user behavior in long and repetitive self-reporting tasks and derive measures to improve user performance. The results will assist software engineers working with doctors in designing and developing improved self-reporting mHealth applications for collecting better quality data and enhance user compliance.
ContributorsRallabhandi, Pooja (Author) / Gary, Kevin A (Thesis advisor) / Gaffar, Ashraf (Committee member) / Bansal, Srividya (Committee member) / Amresh, Ashish (Committee member) / Arizona State University (Publisher)
Created2017