Detecting beacons in grasshopper visual programming language
Grasshopper görsel programlama dilindekiisaretler˙in araştırılması
- Tez No: 892094
- Danışmanlar: DR. ÖĞR. ÜYESİ ASLI KANAN
- Tez Türü: Yüksek Lisans
- Konular: Bilim ve Teknoloji, Mimarlık, Science and Technology, Architecture
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2023
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Bilişim Ana Bilim Dalı
- Bilim Dalı: Mimari Tasarımda Bilişim Bilim Dalı
- Sayfa Sayısı: 207
Özet
Program Anlama, daha ileri program bakım görevlerini gerçekleştirmek için kişinin kendisi veya başka bir programcı tarafından oluşturulmuş bir programı anlama sürecidir. Program Anlama, programcının zamanının önemli bir kısmını tüketir ve programın modelini veya soyutlamasını oluşturmak için yoğun beyin aktivitesini içeren bilişsel bir süreç olarak kabul edilir. Program Anlama, hem mevcut programların anlaşılmasında hem de oluşturulmasında önemli bir rol oynar. Programcılar çoğu zaman bir programı en baştan oluşturmayabilir. Bazı durumlarda, oluşturmak istediği programa yönelik örnekleri araştırarak mevcut programı kendi ihtiyaç duyduğu duruma getirecek değişiklikler yapabilir. Bu nedenle, diğer programcılar tarafından oluşturulan kodu okuyup anlaması, kendi kodunu oluşturmak, hataları ayıklamak ya da koduna yeni işlevler eklemek için program anlama kabiliyetlerini geliştirmesi gerekir. Öte yandan bu beceriyi kazanmak zorlayıcı olabilir. Daha önce yapılan çalışmalar,“işaretçi'lerin”(beacons) programcılar için bu süreci kolaylaştırabileceğini göstermiştir. Beacon, belirli bir programlama yapısının veya fonksiyonun varlığı hakkında ipuçları sağlayan basmakalıp kod parçaları olarak tanımlanır. Tipik olarak bir programda ortaya çıkan ve programın amacını güçlü bir şekilde ortaya koyan herhangi bir yüzey özelliği olabilir ve özellikle deneyimli programcılar tarafından büyük ölçüde fark edilir. Yazınsal Programlama Dilleri bağlamında beacon'ların varlığını ve Program Anlama sürecine katkısını araştırmak için yapılan birçok çalışma olmasına rağmen, Görsel Programlama Dilleri bağlamında beacon'lara odaklanan çalışmalara rastlanmamıştır. Ek olarak, Program Anlama ve beacon ile ilgili çalışmalar daha çok bilgisayar programcıları üzerinde yoğunlaşmış olup, bildiğimiz kadarıyla tasarımcılara ve tasarım alanına odaklanan bir çalışma bulunmamaktadır. Ancak yazınsal programla dillerinin yanında görsel programlama dillerinin de kullanımı, günümüzde tasarım alanında yaygın bir hal almıştır. Özellikle 21. yüzyılda programlama hemen hemen her alan için vazgeçilmez becerilerden biri olarak kabul edilmiştir. Mimari ve tasarım da bu alanlardan biridir. Görsel programlama dillerinin mimarlık alanında kullanılmasıyla birlikte günümüzde mimarlar karmaşık tasarım problemlerini çözmekte ve kompleks formlar üretmektedir. Bu süreç kaçınılmaz olarak mimarların sahip olması gereken yetkinlikleri de etkilemeye başlamıştır. Zaha Hadid Architects (ZHA) ve Bjarke Ingels Group (BIG) gibi önde gelen mimarlık firmaları, tasarım süreçlerinde Grasshopper gibi parametrik görsel programlama araçlarını tasarım aşamalarında kullanmaktadır. Öte yandan, görsel bir programlama dilini öğrenmek özellikle yeni başlayanlar için kolay olmayabilir. Tasarımcının, tasarım düşüncelerini içeren bir programı üretmesi, araştırdığı benzer örneklerin içinden kodun hangi parçasını kendi programını oluşturmak için kullanacağını öğrenmesi ya da direk varolan kodu geliştirerek kendi tasarımını oluşturmayı öğrenmesi zaman alabilir. Yazınsal programa dili ile ilgili çalışmalar, programcıların beacon'ların yardımıyla bahsedilen zorlukların üstesinden gelmelerinde yardımcı olabileceğini göstermektedir. O halde“beacon”'lar yazınsal programlama dillerinde program anlama konusunda programcılara destek olduğu gibi görsel programlama dillerinde de tasarımcılara yardımcı olabilir mi? Daha da önemlisi, görsel programlama dillerinde de beacon'ların varlığından bahsedilebilir mi? Yukarıda belirtilen sorular bu çalışmanın ana odak noktasını oluşturmaktadır. Görsel programlama dillerindeki beacon'ların varlığını ve anlama sürecine katkısını inceleyebilmek için beacon ve program anlama konusunda yapılan çalışmalar incelenmiştir. Göz izleme ve program anlama ile ilgili yapılan araştırmalara göre, bilgi fiksasyon durumundayken beyin tarafından işlenir. Bu durumda, program anlama görevi verilen bir katılımcının, programın beacon içeren kısmında fiksasyon yaşayabileceği öngörülmektedir, bunun nedeni beacon'un, özellikle kodun işlevi ile ilgili en fazla bilgi içeren parçası olarak tanımlanmasıdır . Bununla beraber, beacon içeren kısmın, katılımcı tarafından sürekli olarak ziyaret edileceği beklenmektedir. Hatırlama görevinde ise, önceki çalışmalardan hareketle, beacon bileşeni ve beacon'ın komşu bileşenlerinin özellikle deneyimli katılımcılar tarafından doğru hatırlanacağı öngörülmüştür. Literatürdeki çalışmalara dayanarak beacon'ları saptamak için üç hipotez öne sürülmüştür. Hipotezleri test etmek için Hatırlama ve Göz İzleme yöntemleri kullanılarak çoğunu mimarlar ve mimarlık öğrencilerinin oluşturduğu 39 gönüllü tasarımcının katılımı ile kontrollü bir deney düzenlenmiştir. Deneyde beacon'ları araştırmak üzere, çekim prensibini barındıran üç adet grasshopper kodu seçilmiştir. Her bir kod, bir senaryoyu temsil etmektedir. Böylece çeşitli senaryolarda da beacon'ların katılımcılar tarafından tespit edilip edilemeyeceği test edilmiştir. Buna göre ilk grasshopper kodu bileşenlerin düzenli olarak yerleştirildiği ve beacon'un kodun orta kısımlarında yer aldığı bir senaryoyu temsil etmektedir. İkinci kod ise ilk koddan farklı bir çıktı elde eden bir çekim prensibinin uygulandığı senaryoyu temsil etmektedir. Son olarak, üçüncü kod ilk kod ile aynı işlevi yerine getirip aynı çıktıyı üretmesine rağmen, kodu oluşturan bileşenler daha düzensiz olarak yerleştirilip, beacon bileşeni kodun ortasından ziyade, köşeye daha yakın olacak şekilde yerleştirilmiştir. Deney kronolojik sırayla gerçekleştirilen üç bölümden oluşmuştur. İlk bölüm tasarımcıların Grasshopper görsel programlama dilini öğrenirken ve kullanırken yaşadıkları deneyimler ile ilgili anket sorularını içermektedir. İkinci bölüm tasarımcıların program anlama görevi süresi boyunca göz hareketlerini takip eden göz izleme oturumunu içermektedir. Son bölümde ise katılımcılardan hatırlama görevini yerine getirmelerini ve programın amacını tanımlamaları istenmiştir. Her bir kod için bu aşamalar farklı katılımcılar ile yürütülmüştür. Deney tamamlandıktan sonra BeGaze yazılımı kullanılarak her bir tasarımcının göz izleme (ziyaret ve fiksasyon sayısı) verileri elde edilmiştir. Ayrıca anket sonuçları değerlendirilmiştir. Deney sonucunda elde edilen verilerin istatiksel analizini yapmak için Google e- tablolar ve SPSS yazılımı kullanılmıştır. Deney sonuçlarının program anlama görevinin doğruluğuna (doğru ve yanlış grup) ve deneyim seviyesine (acemi ve deneyimli grup) göre incelenmesi için tasarımcılar iki kategoriye ayrılmıştır. Buna göre, programın işlevini doğru bir şekilde tanımlayabilen ve program sonucunda oluşabilecek görsel çıktısıyı doğru çizebilen katılımcılar doğru grubuna, aksi takdirde yanlış grubuna dahil edilmiştir. Katılımcılara deneye katılmadan önce çevrimiçi bir anketi gönderilip bu anketi doldurmaları istenmiştir. Bu anket, katılımcıların ne kadar süredir görsel programlama dillerini kullandığı ve Görsel programlamayı kullanım düzeyi açısından kendilerini nasıl değerlendirdikleri ile ilgili soruları içermektedir. Ankete verilen cevaplara göre katılımcılar doğru ya da yanlış grubuna dahil edilmiştir. Bu çalışmanın sonucunda deneyimli ve programın amacını doğru anlayan katılımcıların pullPoint bileşenini beacon olarak tanımlayabildikleri görülmüştür. Analizler sonucunda, beacon olmayan bileşenler ile karşılaştırıldığında, beacon bileşeninin deneyimli ve doğru gruptaki katılımcılar tarafından daha yüksek ziyaret ve fiksasyon yüzdeliğine sahip olduğu ortaya çıkmıştır. Buna ek olarak, beacon bileşeninin hatırlanması ile programı anlama konusunda anlamlı bir ilişki olduğu sonucuna ulaşılmıştır, buna göre yazınsal programlamada olduğu gibi, görsel programlama dillerinde de beaconların program anlama sürecini kolaylaştıracağı sonucuna varılabilir. Ayrıca deney sonuçlarına göre acemi katılımcılar ile karşılaştırıldığında, deneyimli katılımcılar beacon bileşenini ve beacon'a komşu bileşenleri daha doğru bir şekilde hatırlamıştır. Bu sonuçlar genel olarak deneyde kullanılan üç kod için geçerlidir. Buna göre özellikle deneyimli ve doğru gruptaki katılımcılar, iki farklı kodda da beaconları tanıyabilmiştir (Kod\_1 - Kod\_2). Ayrıca kodu oluşturan bileşenler farklı bir düzene sahip olsalar da, ek olarak beacon bileşenini yeri değiştirilse dahi, beacon bileşeni yüksek hatırlanma oranın yanında, yüksek ziyaret ve fiksasyon oranına da sahiptir ((Kod\_1 - Kod\_3). Deney sonuçları, deneyimli ve programın amacını doğru anlayan katılımcıların pullPoint bileşenini beacon olarak tanımlayabildiklerini ortaya çıkarmıştır. Böylece, pullPoint (beacon) bileşeninin Grasshopper görsel programlama dilinde beacon olarak tanımlanma potansiyelinin yüksek olduğu saptanmıştır. Bu bulgulardan yola çıkarak aynı yazınsal programlama dillerinde vurgulandığı gibi, görsel programlama dillerinde de beacon'ların varlığından söz edilebilir. Ancak işaret'lerin görsel programlama alanında henüz araştırılmamış olması nedeniyle, bu çalışma yazınsal programlama alanında program anlama ve işaret çalışmalarına dayalı olarak geliştirilmiş ve test edilmiştir. Görsel programlama dillerinde işaret'lerin daha detaylı bir şekilde araştırılması için daha fazla teorik ve deneysel araştırmalara ihtiyaç vardır. Bu çalışma yazınsal programlama dillerinin yanı sıra görsel programlama dillerinde de beacon'ların varlığına dair deneysel kanıtlar bularak literatüre katkı sağlamıştır. Ayrıca görsel programlama dillerinin öğrenilmesi ve öğretilmesi ile ilgili araştırmalar da bu çalışmanın bulgularında yararlanabilir.
Özet (Çeviri)
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.
Benzer Tezler
- Bluetooth beacon temellı̇ kapalı alan mobı̇l konum tespı̇t ve analı̇z sı̇stemı̇ gelı̇ştı̇rı̇lmesı̇
Development of closed area mobile location detection and analysis system development based on bluetooth beacons
MEHMET NAZİF MASMANACI
Yüksek Lisans
Türkçe
2018
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolErciyes ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. CELAL ÖZTÜRK
- Kapalı mekanlarda ble beacon kullanarak sunucu tabanlı konum takibi
Server based indoor location tracking using ble beaconn
ADEM BAYAR
Yüksek Lisans
Türkçe
2019
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolKarabük ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
YRD. DOÇ. DR. HAKAN KUTUCU
- Tüberküloz tanısı ve ilaç direncinin gösterilmesine yönelik moleküler beacon esaslı gerçek zamanlı polimeraz zincir reaksiyon kiti geliştirilmesi
Development of a molecular beacon-based real-time polymerase chain reaction kit for the diagnosis of tuberculosis and drug resistance
OĞUZ ARI
Doktora
Türkçe
2024
Enfeksiyon Hastalıkları ve Klinik MikrobiyolojiAnkara Yıldırım Beyazıt ÜniversitesiTıbbi Mikrobiyoloji Ana Bilim Dalı
PROF. DR. RIZA DURMAZ
- Performance evaluations on the spatial reuse techniques of the next generation wlans
Yeni nesil kablosuz yerel ağlarında spektral tekrar kullanım tekniklerinin değerlendirmesi
ÖMER FARUK TOPAL
Yüksek Lisans
İngilizce
2019
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiElektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
PROF. DR. GÜNEŞ ZEYNEP KARABULUT KURT
- A channel-leakage monitor for silicon wafer scribe testing without mechanical access
Silisyum pul üzerinde mekanik erişimsiz çizik testi yapabilen bir kanal kaçağı monitörü
ANIL ÖZDEMİRLİ
Doktora
İngilizce
2021
Elektrik ve Elektronik MühendisliğiYeditepe ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. UĞUR ÇİLİNGİROĞLU