《自然》證實:計算機語言更類似人類語言

banq發表於2021-11-27

編碼更多的是關於交流而不是計算。新資料:關於人們學習編碼的速度的最佳預測指標是什麼?不是數學或認知能力,而是語言能力。數學技能幾乎無關緊要。編碼是有關掌握一門語言的學問,而不是掌握數字的學問。
banq:搞笑了,難道文科生更適合學習程式設計嗎?
 
該實驗採用個體差異方法來測試學習現代程式語言類似於成年後第二次“自然”語言學習的假設。語言能力的行為和神經(靜息狀態腦電圖)指數與算術和流體認知測量(例如流體推理、工作記憶、抑制控制)一起用作預測因子。學習率、程式設計準確性和測試後陳述性知識被用作參加 10 次 45 分鐘 Python 培訓課程的 36 個人的結果衡量標準。由此產生的模型解釋了學習結果中 50-72% 的差異,語言能力測量解釋了每個結果的顯著差異,即使其他因素競爭差異。跨結果變數,流體推理和工作記憶能力解釋了 34% 的差異,其次是語言能力 (17%)、β 和低伽馬波段的靜息狀態腦電圖功率 (10%) 和計算能力 (2%)。
這些結果為理解程式設計能力提供了一個新的框架,表明在現代程式設計教育環境中計算能力的重要性可能被高估了。
 
大學環境中的程式設計課程通常需要高階數學課程作為先決條件。Jenkins 描述了我們對學習程式設計的瞭解與教授程式設計的環境之間的這種差距,他認為“如果計算機教育工作者要真正開發一個讓所有學生都能快速而良好地學習程式設計的學習環境,對學生所面臨的困難和複雜性的理解是至關重要的。目前,程式設計的教學和學習方式已從根本上被打破” 2. 不幸的是,自 15 年前發出這一行動呼籲以來,幾乎沒有取得任何進展。在同一時期,程式語言的性質也發生了變化,降低了例如學習 Pascal或 COBOL程式設計的原始研究推廣到當代程式語言的可能性。
此處描述的研究受到概念正規化轉變的推動,即學習使用現代程式語言類似於在成年後學習自然語言,例如法語或中文。具體來說,我們認為對程式設計能力的神經認知基礎的研究在很大程度上忽略了這樣一個事實,即計算機程式設計語言的設計類似於程式設計師的交流結構(人類語言),這一想法在 50 多年前由喬姆斯基首次正式提出。
 
人們認為 Python 的流行部分是由於它易於學習。與我們的假設相關的是,Python 的開發理念旨在“讀者友好”,並且實現這一目標的許多方式都具有語言相關性。例如,Python 使用縮排模式模仿英語書寫系統中存在的“段落”樣式層次結構而不是大括號(在許多語言中用於分隔程式碼的功能塊),並使用單詞(例如,“not”和“is”)表示通常用符號表示的操作(例如,“!”和“==”)。
為了研究學習 Python 程式設計的神經認知基礎,我們招募了 42 名年齡在 18-35 歲之間沒有程式設計經驗的健康年輕人(26 名女性)參加實驗室學習實驗。代替課堂學習,我們採用了 Codecademy 線上學習環境,全球超過 430 萬使用者透過該環境接觸了 Python 程式設計。為了促進主動學習(而不是僅僅點選解決方案按鈕來推進培訓),參與者被要求報告他們何時以及如何尋求幫助(例如,提示、論壇或解決方案按鈕),並且實驗者透過螢幕共享來驗證這些報告和螢幕截圖資料。在進入下一課之前,參與者還需要在課後測驗中獲得至少 50% 的準確率。SD = 9.4%)在課後測驗中表明參與者積極參與學習。

詳細點選標題

相關文章