說起學習一門新語言,你多半會想到法語、西班牙語或是漢語。但為什么不是Python或Java呢?
(資料圖)
自然語言和人工語言的學習過程有多相似?相似到超過你想象。
華盛頓大學的研究者曾發表了一項研究,顯示最能預測一個人對流行的編程語言Python的學習速度的,其實是語言能力和問題求解的技能。
這項研究發表在《科學報告》(ScientificReports)雜志上,它采用了行為學測試和對腦部活動的測量,以此觀察了被試學習編程的速度及效果究竟與什么因素相關。
語言能力強,學起編程快
Python更像是另一門自然語言。| Wikimedia Commons
研究招募了42名被試,要他們在Codeacademy學一門熱門的編程網課——10節45分鐘的“學習Python”課。一共有36名被試完成學習,研究者確定了這36人的學習速度和學習效果。
在開始網絡學習之前,被試先接受了一組測試,以判斷他們的數學技能、工作記憶、問題求解以及外語學習能力。
在網上的編程課中,研究者追蹤了被試的學習速度以及他們對網上軟件中內置的測驗題的回答情況。被試在學習結束后,還接受了一次測驗和編程任務,以評判他們的整體編程知識。
記憶、問題求解、數字能力或語言能力,對于被試們學習編程到底有多大影響呢?
被試學習Python的速度有快有慢,在學習結束時也顯示了不同的編程能力。研究者發現,學生們學習Python的效果,主要和他們的一般認知能力(即問題求解和工作記憶)有關。而他們學習Python的速度,則與一般認知能力和語言能力這兩個因素有關。
在Python的學習速度上,語言能力解釋了近20%的個體差異。
與之相比,數學能力只能解釋學習速度2%的個體差異,和學習效果更是毫無相關性。
總之,學習編程更多是依靠語言技能,而非數字技能。
腦電圖提供了更多證據
大腦內部的電流會在頭皮上產生電壓波動,腦電圖就是通過記錄這種電模式來測量腦部活動。| pixabay
研究里,腦電圖數據進一步證明了語言技能的重要性。
在開始網上學習任務之前,被試先測了靜息狀態的腦電圖,也就是被試在心情放松無所事事的狀態下腦內的電流模式。
靜息狀態的腦電活動包含了不同的模式。其中一種緩慢的腦電波被稱為“β振蕩”(beta oscillations)。之前的研究顯示,靜息狀態下高強度的β振蕩和學習一門外語的能力有關。
而這項研究顯示,高強度的β振蕩和更快的學習速度以及更豐富的編程知識有關。
雖然這一發現對語言學習和編程學習的聯系提供了額外支持,但目前還不清楚β振蕩和學習效果有什么關系,還需要進一步研究研究。
總的來說,這些結果證明了語言學習技能是編程學習中一個不可或缺的方面(至少對Python的學習是如此),而數學技能對于被試學得多好多快反而沒有多少預測作用。
語言技能強的女孩,來學編程吧
這個結論對于圍繞編程的種種看法具有重要影響,因為編程常被看作一個“數學密集”的領域。
關于程序員存在許多成見,特別是哪些人能成為優秀程序員的問題。女性常常覺得自己不符合“典型”計算機程序員的形象。但是平均而言,女孩一般具有比男孩更高的語言技能。
現在這個新研究顯示,語言技能可以預測編程學習能力,或許女性未來可以有“擅長編程”的名聲了。
語言能力強的女性,應該對學習編程有更強信心 | pexels
有些領域確實對數學和編程技能都有要求,但大部分編程工作卻不一定來自這些領域。根據目前這項研究,似乎沒有必要讓每個計算機科學的學生都完成高等數學課程。在數學要求上增加一點彈性,或許有助于招收并留住學生。
將語言技能和編程明確地聯系在一起、提供無需高等數學的教育選擇,這或許能在傳授學生他們需要的編程技能之外,增加一點學生的多樣性。眼下“訓練營”式的編程教育正迅速風行,它引導參與者進入編程行業,而不需要強迫他們學習微積分。
隨著編程成為許多工作的必備技能,是時候質疑一下那些關于編程先決條件的成見了。從這項新研究的成果出發,大學和個人應該重新思考自己對編程學習的認識、以及學會編程究竟需要哪些能力。有許多人不是所謂的“數學高手”,但他們完全可能成為編程專家。
作者:AmyNippert
翻譯:紅豬
編輯:游識猷
編譯來源:Massivesci
關鍵詞: