# 九工大研究会 資料 アウトライン ## タイトル ### 候補 - 非IDE上でのコードリーディングにおけるシンタックスハイライトとフォントによる影響の調査 - コードのシンタックスハイライトとフォントが引き起こすプログラム理解と感情的な影響の調査 - 非IDE上でのコードリーディングにおけるシンタックスハイライトとフォントの重要性の調査 ## アイディアの説明 ### 概要 - 論文上など,IDE上以外にもコードリーディングの機会はたくさんある. - しかし,論文上のコードは予約語のみハイライトされているということが多く,IDE程明確な色分けはされていない. - 時には,ハイライトが全くされていない場合すらある. - さらに論文などではコード部分のフォントも著者が任意で選ぶことができるため,必ずしも等幅フォントが使われているとも限らない. - そこで,シンタックスハイライトやフォントがコードを理解することにどの程度影響を与えるかを調査する. - また,同時にシンタックスハイライトやフォントの,コードリーディング時の印象面を調査する脳波にどのような影響を与えるかを調査し. ### motivating example - 論文の多くは予約語ハイライト. - たまに,非等幅フォントや,シンタックスハイライトがされていない場合もある. - Grayの例([ソースコードの表示法とその実現 - 橋爪 佑起](https://mie-u.repo.nii.ac.jp/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=9502&item_no=1&page_id=13&block_id=21)) ### RQ **RQ1**: シンタックスハイライトとフォントは脳波に影響を与えるか? **RQ2**: シンタックスハイライトがコード理解に影響を与えるか? **RQ3**: フォントがコード理解に影響を与えるか? ### 実験設計 #### 実験手法 - 実験前に被験者にアンケートをとる. - プログラミングの経験年数 - 論文などにコードを載せるときにシンタックスハイライトやフォントにこだわるかどうか - フルハイライトのコードを普段どの程度見るか - Grayのコードを普段どの程度見るか - 2,3分くらいで読解できる出力のある簡単な題材を被験者に読んでもらい,コードリーディング時の時間と脳波を測定する. - 1セット7リードとして,それを4セットする. - 一人当たり実験は70分(90分以上実験を続けると疲れが出るため.) - リード中に理解にかかった時間と脳波を測る. #### 実験題材 - 実験題材はAtCoderのB問題からC問題を改題し,作成. - 実験題材は全てGrayのときにリーディングの邪魔になるように,コメントを2カ所挿入した. - タスクセットはそれぞれ,以下に分類した. - リスト操作 - 文字列操作 - 数学系 - 条件分岐 - タスクセット内7リードのRQの割り当ては以下の通り.  - 実験題材の例 ```java= public static void main(String[] main) { //prepare two lists List list1 = Arrays.asList('i', 'a', 'c', 'f'); List list2 = Arrays.asList('m', 'f', 'i', 'w'); for (int i = 0; i < list1.size(); i++) { for (int j = 0; j < list2.size(); j++) { // if arr1[i] equals arr2[j], print i and j if (list1.get(i) == list2.get(j)) { System.out.println(i); System.out.println(j); } } } } ``` ## 予備実験の結果 機器がお借りできるようになり次第行う予定. ## 今後の予定 - 実験題材の難易度の調整 - 本番の実験 ### 聴衆に期待すること - 実験の動機などの部分に詰めの甘さがないかを教えてほしい. - 実験題材についての改良案 ### memo - 文章をかきすぎない - 「伝わるデザイン」を読む - なぜ印象に目を向けたのか - なぜ解像度をしないのかを明確に - 議論の過程を書く - RQ4はいらないのでは? - 脳波でどう測るのかを説明する -
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up