計算機程式設計師在閱讀程式碼時對形式和含義上的違規行為表現出獨特的、依賴於專業知識的大腦反應。
隨著計算機程式設計在勞動力中的地位越來越重要,人們對如何有效學習計算機程式設計的更好模型的需求也越來越明顯。
本研究透過記錄 62 名不同水平的 Python 程式設計師在閱讀帶有形式(語法)和意義(語義)操作的程式碼行時的腦電生理反應,彌補了這一空白。
在小組層面上,結果顯示:
- 對形式語法的處理會產生 P600 效應,與句法有效的程式碼相比,句法無效的程式碼在 500-800 毫秒範圍內會產生更多的正偏轉。
- 而對語義意義操作則會產生 N400 效應,語義上不可信的程式碼比語義上可信的程式碼在 300-500 毫秒範圍內產生更多的負偏轉。
組內 Python 專業技能更強的人對形式違規的敏感度更高。
這些結果支援這樣一種觀點,即熟練的程式設計與熟練的自然語言學習一樣,都與將基於規則的知識納入線上理解過程有關。相反,所有技能水平的程式設計師都表現出了對語義意義操作的神經敏感性,這表明對已有語義關係的依賴促進了不同技能水平的程式碼理解。
我們的資料表明,當熟練的程式設計師閱讀程式碼行時,他們會使用有關語句級形式和標記級含義的資訊來逐步更新他們對程式碼試圖完成的任務的心理表徵,就像自然語言的讀者一樣使用有關語法結構和單詞級語義的資訊來理解句子的含義。
在我們的實驗中,程式設計師分別對程式碼的語義和句法操作表現出明顯的 N400 和 P600 效果,反映了這一點。
總之,我們提出的第一項研究表明,程式設計師在程式碼理解過程中實時增量構建心理表徵時,對形式和含義資訊表現出神經敏感性。這樣做時,專家程式設計師對專案之間的結構關係更加敏感,其特點是在看到專案後 600 毫秒內大腦對語法違規的反應顯著。
banq注:
- 學習者必須以某種方式將語言輸入分為與意義相關的方面和與形式相關的方面(banq注:形式與內容分離)
- 程式語言類似學習人類第二母語,程式語言更類似語文
詳細點選標題