《自然》證實:計算機語言更類似人類語言
編碼更多的是關於交流而不是計算。新資料:關於人們學習編碼的速度的最佳預測指標是什麼?不是數學或認知能力,而是語言能力。數學技能幾乎無關緊要。編碼是有關掌握一門語言的學問,而不是掌握數字的學問。
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%)在課後測驗中表明參與者積極參與學習。
詳細點選標題
相關文章
- 計算機程式語言的分類,解釋型語言、編譯型語言、指令碼語言的關係計算機編譯指令碼
- e語言 類似eval函式作用的函式
- 分享一個自然語言漢語時間語義識別的工具類
- Java (計算機程式語言)Java計算機
- Pants:類似Maven但支援多個語言的構建Maven
- 精通Python自然語言處理 2 :統計語言建模Python自然語言處理
- 【自然語言處理篇】--Chatterbot聊天機器人自然語言處理機器人
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 自然語言處理(nlp)比計算機視覺(cv)發展緩慢,而且更難!自然語言處理計算機視覺
- 計算機語言:編譯型/解釋型、動態語言/靜態語言、強型別語言/弱型別語言計算機編譯型別
- 課程-計算機語言學計算機
- Meta開源其類似GPT-3的語言模型 - RedditGPT模型
- 探究人類語言如何影響人工智慧人工智慧
- Java語言程式設計——物件和類09Java程式設計物件
- C語言: 分類統計字元個數C語言字元
- NLA自然語言分析,讓資料分析更智慧!
- 谷歌開放全新自然語言資料集:多元化場景更詳細標註,讓 AI 助手更懂人類谷歌AI
- java語言邏輯類、引數類和字元類Java字元
- Go語言一個輕便的實時日誌類似slack收集應用Go
- Elixir語言在Ruby社群很火,語法類似Ruby,本質卻是Erlang! - preslavR語言
- 程式設計是更像數學還是人類語言?- MIT News程式設計MIT
- 自然語言處理的最佳實踐自然語言處理
- Easy Translator語言翻譯類工具R語言
- 鴻蒙HarmonyOS實戰-ArkTS語言基礎類庫(容器類庫)鴻蒙
- 自然語言處理中的語言模型預訓練方法自然語言處理模型
- 自然語言處理NLP(四)自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- Python自然語言處理工具Python自然語言處理
- HanLP 自然語言處理 for nodejsHanLP自然語言處理NodeJS
- 自然語言處理入門 - olay自然語言處理
- 自然語言處理中句子相似度計算的幾種方法自然語言處理
- 【自然語言處理篇】--聊天機器人從初始到應用自然語言處理機器人
- 如何學習一門計算機程式語言計算機
- 探索自然語言處理:語言模型的發展與應用自然語言處理模型
- C語言:迴文數計算C語言
- 中國語文(自然語言處理)作業自然語言處理
- 《Python自然語言處理實戰》連結表Python自然語言處理
- 鴻蒙HarmonyOS實戰-ArkTS語言基礎類庫(通知)鴻蒙