讀完小學生編程考試大綱,不妨重新討論一下「計算機從娃娃抓起」這件事

芥末堆看教育 發佈 2020-01-05T01:56:52+00:00

圖片來源:unsplash*來源:機器之心(ID:almosthuman2014),作者:蛋醬人這一生,不可能不經歷幾場抓耳撓腮的考試。

圖片來源:unsplash

*來源:機器之心(ID:almosthuman2014),作者:蛋醬

人這一生,不可能不經歷幾場抓耳撓腮的考試。

就比如大學生們幾乎都參加過的全國計算機等級考試,比如二級 Office 考試,考察的是 Word、Powerpoint、Excel 這種常用軟體的操作,但據統計通過率還不足三分之一……

其實,隨著網際網路的發展和計算機技術的普及,與計算機水平有關的考試不再局限於大學生這個群體,專門針對中小學生的「全國青少年軟體編程等級考試」已經在全國上下開展地如火如荼。

就在 2020 年的第一天,中國電子學會考評中心就發布了《關於舉辦 2020 年青少年軟體編程等級考試的通知》。

它和全國計算機等級考試的節奏很像,每年 3 月、6 月、9 月、12 月各組織一次考試,考過可以獲得正式證書。

這門在 2019 年第一季度才正式啟動的考試,全年內共吸引了數萬名考生報名參與,目前已經覆蓋了超過 25 個省市。

三十五年過去了,我們終於明白了什麼叫做「計算機要從娃娃抓起」,在各位體會到「村裡剛通網」那種快樂的年紀,現在的小學生已經學會編程了。

但是,小學生學習編程這件事,褒貶不一,也有人說:「少兒編程真的不是收智商稅嗎?」

讓我們先看下考試標準

少兒編程在國內火熱起來,也就是這兩年的事。

《國務院關於印發新一代人工智慧發展規劃的通知》中指出要實施全民智能教育項目,在中小學階段設置人工智慧相關課程,逐步推廣編程教育。

之所以要在青少年群體中開展軟體編程等級考試,也是少兒編程考試催生出的必然產物。全國青少年軟體編程等級考試是由中國電子學會於 2018 年啟動的面向青少年軟體編程能力水平的社會化評價項目。中國電子學會是工信部旗下的一個學術類社團,成立於 1962 年,也是中國科學技術協會的團體會員單位。

考試是全國統一命題、統一考試,系統自動評分,題目的範圍是根據一份《青少年軟體編程等級標準》選定的,這份標準最早在 2018 年 10 月出爐了第一版,由中國電子學會科普培訓與應用推廣中心制定,共分為 3 個類別、20 個級別,是首個全國級面向青少年軟體編程能力水平的社會化評價項目。

分類方式主要是根據程式語言的不同,也代表著編程水平的進階,分別有預備級(圖形化 1-4 級)、正式級(代碼級 1-10 級)、Python 語言(1-6 級)。預備級側重 Scratch 圖形化編程,正式級側重 C 語言代碼編程。

值得注意是,在每份標準的開篇部分都有這麼一句話:「本標準不以評價教學為目的,考核內容不是按照學校要求設定,而是從軟體編程所需要的技能和知識,以及國內編程教育的普及情況而確定,主要以實踐應用能力為主。」

據統計,考試開展一年來,圖形化級 1-2 級綜合通過率約為 85%、代碼級 1-2 級綜合通過率為 71%。

2019 年 12 月底,中國電子學會科普培訓與應用推廣中心正式升級了 2020 版的《青少年軟體編程等級標準》,2020 年度的四場考試需要按照升級後的標準來操作。總體來說,主要升級的地方在於整體調降了難度係數,取消了禁止轉換的要求,同時明確了圖形化編程的定位,即編程入門體驗工具,確定了青少年軟體編程等級考試(Scratch)和青少年軟體編程等級考試(Python)之間的銜接關係。

考綱解讀

機器之心細細研讀了這套《青少年軟體編程等級標準》,總體來說,基礎的確實很基礎,但也有一部分是很有難度的,一些內容幾乎是本科生或者碩士的課程內容。

預備級(圖形化 1-4 級)

預備級基於 scratch 編程環境制定,以圖形化編程題型為主,面向 6-15 周歲的學生,將考核標準分為四個等級,從初步掌握編程到理解並使用鍊表、函數和多線程,逐步提升,評估學生的編程知識、技能水平。

這一階段的考核目標也比較簡單:「讓學生能夠掌握圖形化編程的相關知識和操作能力,熟悉編程各項基礎知識和理論框架,通過設定不同等級的考試目標,讓學生具備圖形化編程從簡單的程序到複雜的遊戲設計的編程能力,為後期專業化編程學習打下良好基礎。」

比如在第一級標準中,主要包括「初步學會使用編程工具,理解編程工具中的核心概念」和「按照規定的功能或自定義功能編寫一段完整的程序」,比如理解編程環境介面中功能區的分布與作用、能夠將項目保存在計算機上、能夠打開計算機上已保存的項目;在這個基礎上,再完成一個順序結構的程序,學會調整指令模塊中的參數,基本上就可以過一級了。

每個標準中的一級都是必考級,考過一級之後才可自由選擇其他級別報考。

預備級標準總共有四個等級,都不算太難。比如下圖是第四級的知識點思維導圖,屬於入門性質的知識點。

正式級(代碼級 1-10 級)

正式級考試題型以單選、多選、判斷和代碼編程題型為主,面向 8 周歲以上的學生,主要使用的程式語言是 C 語言。

在第三級這一部分,每個考點的關鍵詞都會提供相應的學習連結,點擊就會跳轉到 openjudge(一個非常優秀的刷題網站)的相關頁面。

如果說前三級都是「掌握某某概念」之類的要求,從第四級開始到第九級,這個考綱就有點難度了,從考察內容上看基本上是本科課程的水平。

比如第四級標準中的這個「掌握基本算法中的動態規划算法,並用上述算法編寫指定功能的正確完整的程序」。

到了五級標準,已經需要:

  1. 掌握基本算法中的分治技術;

  2. 掌握基本算法中的搜索剪枝技術;

  3. 掌握基本算法中的貪心算法。

並且要能夠使用上述方法編寫指定功能的正確完整的程序。

第六級:

到了第 10 級,內容基本上是研究生課程才能達到的水平了。

Python(1-6 級)

相比於正式級的考試來說,Python 的考試顯得簡單得多,基本可以算是入門水平。

Python 第一級的要求類似於「精通 IDLE 的打開與關閉」,除此之外就是一些基礎概念和程序的編寫,熟練即可。

直到第六級,像「掌握 SQLite 資料庫基礎編程」、「初步掌握類與對象的使用」,都還算比較基礎的操作。

這套青少年軟體編程等級標準是由中國電子學會、北京大學及騰訊公司共同發布的,還有 60 位業界代表組成的專家組成員,包括微軟中國、ARM 、騰訊、京東雲、核桃編程、學而思網校、小碼王、西瓜創客、極客晨星、編玩邊學、編程俠等這些企業單位。

少兒編程,意義幾何?

從整體趨勢來看,編程確實是一種需要「從娃娃抓起」的技能,但有很多人認為,低年級的小學生乃至初中生,在數學理論基礎還未紮實的情況下,忙著學習編程有點太早了。

知乎網友「廖雪峰」的回答。

如果說讓低齡兒童使用 Scratch 編程,藉助圖形的方式去熟悉編程的邏輯,也無可厚非。Scratch 的用法比較簡單,拖拽滑鼠就能進行程序設計,本就是專門面向青少年設計的。但 C 語言和 Python,還是太早了,真正的編程需要數學基礎作為支撐。

也有人認為,學編程與學琴學畫學書法一樣,可以看作是一種特長。通過對編程邏輯的認知,可以培養兒童的理性思維。至於代碼的實用性,倒不必太過擔心,青少年學習編程無需追求精通。

畢竟賈伯斯他老人家也說過:「我覺得每個人都應該學習一門程式語言。學習編程教你如何思考,就像學法律一樣。學法律並不一定要為了做律師,但法律教你一種思考方式。學習編程也是一樣,我把計算機科學看成是基礎教育,每個人都應該花 1 年時間學習編程。」

本文轉載自微信公眾號「機器之心」,作者蛋醬。文章為作者獨立觀點,不代表芥末堆立場,轉載請聯繫原作者。

關鍵字: