Detecting beacons in grasshopper visual programming language
Detecting beacons in grasshopper visual programming language
dc.contributor.advisor | Kanan, Aslı | |
dc.contributor.author | Haddur, Atra | |
dc.contributor.authorID | 523191001 | |
dc.contributor.department | Architectural Design Computing | |
dc.date.accessioned | 2024-12-12T09:28:08Z | |
dc.date.available | 2024-12-12T09:28:08Z | |
dc.date.issued | 2023-02-15 | |
dc.description | Thesis (M.Sc.) -- İstanbul Technical University, Graduate School, 2023 | |
dc.description.abstract | Program comprehension (PC) is a process of understanding an unfamiliar program either written by oneself or another programmer in order to perform further maintenance tasks. PC plays an important role in both understanding the existing programs and creating them. But it consumes a huge amount of programmer's time and it is considered an intensive cognitive process that involves heavy brain activity for creating the model or abstraction of the program. Generally, programmers don't write code from scratch. Sometimes they only have to review pages where a suitable precedent can be found and make a few modifications based on existing programs. Therefore, they need to develop PC skills to read and reason about code written by other programmers and reflect on their code as they write, debug, or extend it. On the other hand, acquiring this skill is challenging. Previous studies have indicated that beacons can ease the comprehension process for programmers. Beacons are described as stereotyped segments of code which provide hints about the existence of a particular programming structure or operation. They can be any surface features that typically occur in a program and strongly point to the program's function and they are highly recognizable to the experts. Although there have been several studies within the context of TPLs, to investigate the existence of beacons and their contribution to PC, we did not encounter studies focusing on beacons in Visual Programming Languages. In addition, the studies related to comprehension and beacon had mostly focused on computer programmers and to the best of our knowledge there are no studies focusing on designers or the design domain. However, not only TPLs but also VPLs have been widely used for various purposes, particularly in the design field. Programming has been recognized as one of the inevitable skills for almost every field, especially in the 21st century. Architecture and design are no exceptions. With the emergence of visual programming languages in the field of architecture, architects can now solve complex problems and produce complex forms. As a result, this process has begun to have a significant impact on the proficiency required for architects. Leading architectural firms such as Zaha Hadid Architects (ZHA), and Bjarke Ingels Group (BIG) are already benefiting from parametric visual programming tools, such as Grasshopper, in their design process. However, learning a visual programming language in the first place can be non-trivial. Understanding how to imply design ideas and identify the relevant parts inside precedents to create a program or by extending existing programs to create desired designs can be time-consuming. The previous studies on TPLs suggest that beacons can help programmers to overcome these challenges. Do beacons help designers to cope with the above challenges and support visual programming comprehension as promised in textual programming languages? But most importantly, do beacons exist in VPLs? Answering these questions is the main goal of this study. In order to investigate the existence of beacons and their effect on visual program comprehension, similar studies investigating beacons and program comprehension were examined. Based on the examination of existing resources, three hypotheses were developed to search for beacons. In order to test these hypotheses, a controlled experiment was conducted with designers using Memorization-Recall and Eye Tracking Methods. The experiment consisted of three parts which were carried out in chronological order. The first part involved survey questions related to the participants' experience while learning and using Grasshopper. The second part involved an eye-tracking session, to identify beacons by observing participant's gazing behavior while performing program comprehension task. In the final part, recall-memorization task was performed and the designers were asked to describe the program function. In order to examine the collected data according to the correctness of the answers and experience level, the participants were divided into two categories: that were correct- incorrect group and novice - experienced group. After completing the experiment BeGaze software was used to collect eye-tracking data, particularly, Revisit and Fixation Count. SPSS software and Google Spreadsheets were used to conduct a statistical analysis of the collected data. The results showed that experienced participants and participants who could comprehend the program correctly could identify the pullPoint as a beacon. This can indicate that beacons exist in VPLs as it was indicated in TPLs. So it can be concluded that pullPoint component can have a high potential to be identified as a beacon in Grasshopper. The main contribution of this research is initiating beacon studies beyond textual programming languages by providing empirical evidence for the existence of beacons in visual programming languages. In addition to it, learning and teaching visual programming languages can also benefit from the findings of this study. | |
dc.description.degree | M.Sc. | |
dc.identifier.uri | http://hdl.handle.net/11527/25784 | |
dc.language.iso | en_US | |
dc.publisher | Graduate School | |
dc.sdg.type | Goal 11: Sustainable Cities and Communities | |
dc.subject | Programming language | |
dc.subject | Programlama dili | |
dc.title | Detecting beacons in grasshopper visual programming language | |
dc.title.alternative | Grasshopper görsel programlama dilindeki işaretlerin araştırılması | |
dc.type | Master Thesis |