圖片來源:攝圖網(wǎng)
前段時間芥末堆上有一篇文章《關(guān)于機器人教育的課程體系設(shè)置,這里有些問題要問》,指出了目前國內(nèi)機器人教育課程體系設(shè)置的混亂和不完善,作為 STEAM 教育的另一個方向少兒編程教育在這方面的問題可以說有過之而無不及。
一是因為少兒編程教育比機器人教育的發(fā)展時間更短,可參考的資料更少,同時也缺乏像樂高這樣體系成熟的標(biāo)桿企業(yè),大多數(shù)機構(gòu)都處在創(chuàng)業(yè)早期發(fā)展階段;二是由于近年來少兒編程漸成風(fēng)口,本身創(chuàng)業(yè)門檻也比機器人教育更低(無需采購硬件),從業(yè)者增多,難免在教育方面的素質(zhì)參差不齊,實力弱小的創(chuàng)業(yè)者也無法在課程體系方面進(jìn)行較大的投入,導(dǎo)致課程體系混亂不堪。
在這方面我可以說是一個典型的反面例子,去年做少兒編程培訓(xùn)班時,雖然抱著認(rèn)真做教育的心態(tài),但總歸是半路出家,對教育的認(rèn)知不足,在課程體系科學(xué)性和系統(tǒng)性方面的考慮很欠缺。好在后來加入了 Makeblock,在 Makeblock 做課程設(shè)計師的這段時間內(nèi),由于公司做教育的氛圍還算寬松,因此有了比較多的時間研究 STEAM 教育方面的資料。
為了解決我們公司課程體系設(shè)置科學(xué)性的問題,盡量減少主觀的“拍腦袋”決策,需要有一套客觀的參考標(biāo)準(zhǔn)。在調(diào)研了 NGSS(Next Generation Science Standards 美國下一代科學(xué)標(biāo)準(zhǔn)),CCSS (Common Core State Standards美國共同核心州立標(biāo)準(zhǔn)),CSTA K-12 CS standards(美國計算機教師協(xié)會 K-12 計算機教育標(biāo)準(zhǔn))等幾個主流的參考標(biāo)準(zhǔn)后,最終選定了 CSTA K-12 CS standards 作為我們公司產(chǎn)品在少兒編程方面課程體系的主要參考標(biāo)準(zhǔn),其余作為輔助。本著我們公司為更好的教育盡一份力的愿景,和大家分享一下對這一份標(biāo)準(zhǔn)的思考,希望對大家建立課程體系有一點啟發(fā)。
CSTA是什么?
CSTA,全稱 Computer Science Teachers Association,即計算機科學(xué)教師協(xié)會,由計算機協(xié)會(ACM)于2004年成立,發(fā)展到現(xiàn)在,成員數(shù)量已經(jīng)超過25000名。而且成員構(gòu)成非常多元化,不僅涵蓋了K-12各個階段(小學(xué)、初中、高中)CS 學(xué)科的一線老師,還包括大學(xué)教師、工業(yè)界及政府成員,其他非盈利組織成員,學(xué)生父母等。這些成員來自于145個國家。
CSTA 的合作伙伴包括 ACM 和政府基金,谷歌、微軟、甲骨文等高科技公司,code.org 等機構(gòu), 協(xié)會的使命是為全球計算機科學(xué)教師賦能(empower, engage and advocate for K-12 CS teachers worldwide ),促進(jìn)計算機科學(xué)教育的發(fā)展。因此,該協(xié)會在學(xué)科標(biāo)準(zhǔn)制定、教師培訓(xùn)、行業(yè)會議等方面都做了大量工作。
CSTA于2011年、2016年分別發(fā)布了 K-12 階段計算機科學(xué)標(biāo)準(zhǔn)(以下簡稱 CSTA 標(biāo)準(zhǔn),本文主要分析2016新版標(biāo)準(zhǔn)),目的是為各州、地區(qū)的學(xué)校制定本地化課程大綱提供指導(dǎo)作用,由于協(xié)會在計算機科學(xué)教育方面的專業(yè)性,Littlebits、Wonder Workshop、Lego education 等商業(yè)機構(gòu)在編程課程體系的設(shè)置上都參考了 CSTA 標(biāo)準(zhǔn),code.org也在編程一小時活動的申請?zhí)峤豁撁嫱扑]采用 CSTA 標(biāo)準(zhǔn)。看來,這份標(biāo)準(zhǔn)值得我們好好研究一番。
解讀CSTA標(biāo)準(zhǔn)
CSTA 標(biāo)準(zhǔn)將 K-12 階段計算機科學(xué)學(xué)習(xí)分為3個等級 Level 1-3,并對各個等級學(xué)生要達(dá)到的水平提出了要求,其中 Level 1 根據(jù)年級又分為 Level 1A、Level 1B,而 Level 3 根據(jù)難度又分為 Level 3A,Level 3B,Level 3A 及之前的等級是針對所有學(xué)生的,而 Level 3B 這個等級是針對對計算機科學(xué)有進(jìn)一步興趣的學(xué)生。等級劃分和對應(yīng)年級分段具體如下表。
和其他學(xué)科教育標(biāo)準(zhǔn)一樣,CSTA 標(biāo)準(zhǔn)也以核心概念和核心實踐兩部分為基礎(chǔ),其中核心概念側(cè)重在內(nèi)容領(lǐng)域,而核心實踐注重行為。
核心概念主要分為5個方面,分別是算法和編程(字母 A 表示)、計算機系統(tǒng)(字母 C 表示)、數(shù)據(jù)和分析(字母 D 表示)、計算機的影響(字母 I 表示)、網(wǎng)絡(luò)和互聯(lián)網(wǎng)(字母 N 表示);
核心實踐方面分為7個部分,分別是:培養(yǎng)包容的計算文化、圍繞計算機展開合作、確認(rèn)并定義計算問題、發(fā)展和使用抽象、創(chuàng)造計算機作品、測試并改善計算機作品、關(guān)于計算機的交流。
從核心概念的分類來看,美國的計算機科學(xué)教育當(dāng)然不止于編程教育(這一點之前有作者在芥末堆上的文章已經(jīng)解釋得很清楚了),但這不影響這份標(biāo)準(zhǔn)在少兒編程方面的參考價值,對于少兒編程的課程設(shè)計來說,可以重點參考 “算法和編程” 以及 “數(shù)據(jù)和分析” 兩個核心概念。
CSTA 標(biāo)準(zhǔn)由一系列對標(biāo)準(zhǔn)的描述條目組成,每條標(biāo)準(zhǔn)有獨特的命名方式,由 “等級代號 + 核心概念代號(字母)+ 核心實踐代號(數(shù)字)+ 序號” 組成,例如 1B-A-3-7 是指 1B等級(對應(yīng)3-5年級)的第 7 條,描述 “算法和編程” 概念的,關(guān)于 “確認(rèn)并定義計算問題” 實踐的條目。
下面是我根據(jù)核心概念對每個等級不同分類的標(biāo)準(zhǔn)數(shù)量的簡單統(tǒng)計。統(tǒng)計結(jié)果可以看出,“算法和編程” 概念占據(jù)了接近一半的數(shù)量,加上“數(shù)據(jù)和分析”概念 ,兩者占到了 60%,這部分內(nèi)容是我們重點研究的對象。
CSTA 標(biāo)準(zhǔn)的內(nèi)容和應(yīng)用
上面的統(tǒng)計可以看出,CSTA 標(biāo)準(zhǔn)的條目并不多,總共133條,仔細(xì)看完也不用花太多時間,應(yīng)該把更多時間用在研究不同條目的變化和結(jié)合上。比如 Level 1A(針對 K-2 年級) 有一條描述編程能力的標(biāo)準(zhǔn)為 “為了完成一個任務(wù)或者表達(dá)創(chuàng)意,使用圖形化編程語言構(gòu)造包含序列、事件和簡單循環(huán)的程序(1A-A-5-2)” ,而 Level 1B (針對 3-5 年級)對應(yīng)標(biāo)準(zhǔn)的描述變化為 “為了解決問題或者表達(dá)創(chuàng)意,使用圖形化編程語言或文本編程語言構(gòu)造包含序列、事件、循環(huán)、條件語句、并行和變量的程序(1B-A-5-4)”,從這兩條標(biāo)準(zhǔn)的變化就能得到很多信息:
在對具體的編程知識的掌握上,1A等級只涉及序列、事件和簡單的循環(huán),而不涉及條件語句、變量和并行機制,這可能說明這個年齡段的孩子不能很好地理解條件語句等概念,在這個年齡階段的教學(xué)要慎重引入條件語句,盡可能用更容易理解的事件機制來代替;
小學(xué)高年級時已經(jīng)可以逐步引入文本編程語言了,在學(xué)完 Scratch 等圖形化編程語言后,可以引入 Python 等簡單且易理解的代碼類語言作為課程的延續(xù)(這能一定程度上解決我之前文章里提到的少兒編程課程延續(xù)性不強的問題);
學(xué)習(xí)編程的目的是為了解決問題或者表達(dá)自己的創(chuàng)意,而不是單純地掌握編程技能,在課程的設(shè)置中要多引導(dǎo)孩子關(guān)注身邊待解決的問題以及發(fā)揮自己的想象力表達(dá)自己的創(chuàng)意。
如何將標(biāo)準(zhǔn)應(yīng)用于產(chǎn)品研發(fā)?
舉例說明一下具體的應(yīng)用,Wonder Workshop 近期參考 CSTA 標(biāo)準(zhǔn)和 ISTE 標(biāo)準(zhǔn)發(fā)布了新的課程體系,其課程體系的等級設(shè)置上就很好的符合了以上的描述。由于 Wonder Workshop 的產(chǎn)品針對的年齡段比較低,因此其課程體系主要對應(yīng)于 CSTA 標(biāo)準(zhǔn)的 Level 1,它的整個體系根據(jù)年級分為 6 個 Level,其中 Level A-C 對應(yīng)于 K-2 年級(CSTA 標(biāo)準(zhǔn)的 Level 1A),這個階段學(xué)習(xí)的編程概念只涉及序列、循環(huán)和事件,等級上升到 Level D-F 時,對應(yīng)年級為 3-5(CSTA 標(biāo)準(zhǔn)的 Level 1B),此時才引入條件語句、函數(shù)和變量。
這些標(biāo)準(zhǔn)對于少兒編程學(xué)習(xí)產(chǎn)品的開發(fā)也有幫助,比如,Scratchjr 這款 app 的設(shè)計就很符合 CSTA 標(biāo)準(zhǔn)的 Level 1A 等級(Scratchjr 是一款和麻省理工學(xué)院合作開發(fā)的針對 5-7 歲孩子學(xué)習(xí)編程的 iPad 應(yīng)用)。玩 Scratchjr 這款應(yīng)用時,會發(fā)現(xiàn)應(yīng)用里完全去掉了條件語句,而強化了事件機制,腳本標(biāo)志也都盡量用形象的符號來代替,我初次體驗時很好奇 Scratchjr 為什么完全沒有條件語句,這對于一些功能的實現(xiàn)影響還是挺大的,直到看到了這份 CSTA 標(biāo)準(zhǔn)才算解開了疑惑。
除了關(guān)注一些變化的部分,還應(yīng)該關(guān)注一些一以貫之只不過程度不同的標(biāo)準(zhǔn),比如對于知識產(chǎn)權(quán)的重視,Level 1A 的第一條標(biāo)準(zhǔn)就是 “使用別人的代碼、音樂或圖片時要表示感謝(1A-A-7-1)”,以后的等級基本都出現(xiàn)了類似的標(biāo)準(zhǔn),只不過是描述變成了 “當(dāng)想法借鑒他人或修改他人的編程項目時,注明引用(1B-A-7-2)” “當(dāng)代碼借鑒自他人時,提供必要的引用說明(2-A-7-3)”,美國對于知識產(chǎn)權(quán)的重視和教育可見一斑。還有對于培養(yǎng)孩子分解問題解決問題的思維和能力的強調(diào),對這一點的強調(diào)在每個 Level 都提到了,即使在 Level 1A 這個最低年齡層的等級(下圖是每個 Level 的詳細(xì)描述,為了不失真采用英文原版表述)。
由此可知,學(xué)習(xí)編程的一個很重要的目的就是培養(yǎng)孩子將一個復(fù)雜的問題拆解成簡單問題最終解決問題的思維方式和能力,因此在課程設(shè)計時要盡量包含孩子自主思考如何分解問題的環(huán)節(jié),那種傳統(tǒng)的老師在臺上操作學(xué)生跟著模仿的上課方式是完全背離了編程教育的初衷的。還有其他一些每個 Level 都會強調(diào)的標(biāo)準(zhǔn),比如對于團隊合作的鼓勵、對于程序和算法的調(diào)試等等,在此不做更多分析。
結(jié)語
這篇文章算是對 CSTA 標(biāo)準(zhǔn)的一份導(dǎo)讀,目的是把值得作為少兒編程課程體系設(shè)置參考的 CSTA 標(biāo)準(zhǔn)介紹給大家,拋磚引玉,引發(fā)大家更多的思考,推薦大家詳細(xì)地閱讀這份標(biāo)準(zhǔn),相信一定會有更多的收獲。當(dāng)然,建立一套科學(xué)的系統(tǒng)的少兒編程課程體系還有很多工作要做,只是對照 CSTA 標(biāo)準(zhǔn)照貓畫虎是遠(yuǎn)遠(yuǎn)不夠的 ,還需要結(jié)合國內(nèi)學(xué)生的實際情況、教學(xué)反饋等不斷完善迭代課程體系,但這一份標(biāo)準(zhǔn)至少讓大家在摸著石頭過河的時候有了一些路線參考,能夠避開一些深坑。
要下載 CSTA 標(biāo)準(zhǔn)的,可以點擊以下網(wǎng)盤地址(鏈接:http://pan.baidu.com/s/1c2CN1Qw),歡迎通過微信(wolfbro)與作者交流,加好友時請做簡單介紹。
2、芥末堆不接受通過公關(guān)費、車馬費等任何形式發(fā)布失實文章,只呈現(xiàn)有價值的內(nèi)容給讀者;
3、如果你也從事教育,并希望被芥末堆報道,請您 填寫信息告訴我們。