一個少兒編程課程設計師的成長感悟(一)

本文已發表於芥末堆,如標題所言,講的主要是乾貨。

少兒編程在2017年比較意外地火了,火熱的形勢一直延續到2018年,越來越多的團隊、資本、人才進入了這個行業。作為較早入局的從業者,我常收到一些請求,其中大部分是推薦合適的課程設計師,以及對課程開發或合作的諮詢。由於少兒編程課程設計是一個新興崗位,且難以從其他教育品類挖掘現成的人才,成熟的少兒編程課程設計師開始供不應求。

作為一個兩年前進入少兒編程行業,並且大部分時間都花在課程設計方面的人,我想通過兩三篇文章分享自己成長的點滴和設計課程時的一些思考,希望對剛入行和正在成長的課程設計師有一些啟發。

剛開始做課程設計的幾個月時間內,我對課程設計還沒有一個全面的了解,而課程中編程案例又佔了很多比重,因此,這個階段我的主要工作放在了研發出好的編程案例。大部分剛入行的少兒編程課程設計師應該都處於這個階段,因此第一篇文章主要講講如何設計出一個好的編程案例(主要指圖形化編程)。

在我看來,一個好的編程案例,需要滿足以下一些原則:

1. 有趣

首要的原則就是要有趣,一個無趣的不能引起孩子興趣的案例即使後面提到的幾條原則都滿足,也是不能接受的。我想這點是毋庸置疑的,就像數學裡的公理一樣無需證明。不過一千個人眼中有一千個哈姆雷特,案例是否有趣是一個極其主觀的判斷,如何有效地判斷案例是否有趣,通過實際驗課是最好的辦法。觀察上課時小朋友看到這個案例的反應,他們有沒有覺得好玩,迫不及待地想把它做出來。

當然,現實條件可能並不允許每節課都去試課,那麼研究小朋友的特點,他們喜歡什麼就顯得非常有必要。讓案例有趣有不少技巧,其中一個辦法是在案例中加入流行的遊戲元素或者常見的遊戲設計技巧,讓案例顯得酷炫、生動。因此,做課程設計時,我們都被鼓勵要多玩遊戲,尤其是小朋友喜歡玩的遊戲。

2. 貼切

案例很大程度上是為講解編程概念和培養編程思維服務的,尤其在課程早期階段,要讓孩子先理解編程中的各種概念,一個貼切的案例是必不可少的。什麼是不貼切的案例?那些不符合實際的,為了講概念而生搬硬造出來的案例就是。一個典型的反例就是我們小學數學常見的「一個水管進水一個水管出水,何時泳池被灌滿」的練習題,以至於被這道題目虐過的90後調侃這個泳池管理員是數學課上五大奇人之一。

舉一個我設計的案例作為說明,有一節課要講解編程裡布爾值「True」和「False」的概念,因此設計案例時我結合了遊戲中冷卻時間的效果做了如下案例。這是一個改編的「捕魚達人」遊戲,當按下空格鍵發射鯊魚後,此時發射狀態變為False,鯊魚無法發射出去,等圓形圈重新填滿後,發射狀態重新變為True,鯊魚可以再次發射。在這個案例中孩子們不僅能學習布爾值的概念,而且了解了遊戲中冷卻時間效果的實現機制,不僅貼切,而且有趣,在孩子中取得了很好的反響。

https://www.zhihu.com/video/971848595452887040

3. 延展性

我們常說少兒編程並不僅僅是讓孩子掌握編程技能,我在之前的文章中也提到,少兒編程更重要的是讓孩子學會利用編程表達自己。那麼,如何在課程或者案例中體現呢?這就需要保證案例的延展性。設計案例時我會預留幾個作品改進的方向,保證孩子們可以在我設計的基礎版本上延伸出去,在作品中添加更多自己的創意,從而慢慢培養他們發揮自己創意的習慣。

這一點來自一本書的啟發,在文章中我經常推薦一本scratch編程的書 —— DK出版社出品的《Coding projects in scratch》。這本書講述的是十幾個編程項目實戰,我很喜歡其中一個設計是在每個編程項目之後都有一個「Hacking and tweaks」的版塊,列出這個作品可以改進的幾個方向,讓孩子看完後可以在引導下修改,創作出自己的版本。

4. 跨學科

編程是很容易和其他學科相結合的,因此設計案例時我們要利用這個天然優勢,結合語文、數學、科學、音樂等學科設計案例,讓孩子在編程中應用這些學科知識。舉兩個我喜歡的例子,有機構設計了「詩詞大會」的作品,利用scratch編寫一個簡單的動畫,讓其他人猜是哪句詩詞,這種作品既可以調動孩子的想像力和創造力,又結合了語文的學科知識;又比如有機構結合數學設計了萬花尺的作品,讓孩子在創作萬花尺圖案的過程中學習和應用正方形、三角形、圓形等知識,這些都是很好的案例。

當然,在此也提個醒,單個案例的跨學科容易做,整體的跨學科就難很多,因為那要考慮到另一個學科的進階體系,同時顧及到兩個學科的進階,難度就不止是原有難度的平方了。在學習編程的同時去系統學習另一個學科的知識,這條路是否可行,我認為有待商榷。

滿足了上面四個原則的案例應該算得上一個好案例了,但且慢,一個好的案例並不能單獨地來看,還要把它放在整個課程體系中來看,因此作為課程體系的一部分他還需要滿足下面的一些原則:

1. 進階性

之前的文章中曾經介紹過美國的CSTA標準,可以作為少兒編程課程體系制定的參考。在我看來,課程的整體體系需要有進階性,一個體系內的每部分內容、每堂課之間也需要有良好的進階性。編程里有很多概念,事件、循環、條件判斷、變數等等,在設計案例之前,需要先設定好這一系列課程的主線,案例設計時參照這條主線,否則會顯得雜亂無章。

案例之間最好環環相扣,比如前一節課學習了循環這個新概念,下一節課的案例最好應用了循環,然後再學習一個新概念,比如條件判斷,讓孩子每節課都突破它的已知範圍,慢慢地往外拓展,每次都讓孩子邁上一個小台階,既不會覺得過於挑戰(台階過大)又不會覺得過於無聊(原地踏步),如果能達到遊戲設計中的flow狀態就更好了。

2. 前後呼應

案例之間如果能自然銜接或者前後呼應會讓孩子有更多驚喜。比如我設計的一堂課,創作「海底世界」的小動畫,這堂課里講到了造型的重複變化,是對「重複執行」這種循環的應用,孩子上完課後自然會問,那能不能讓動畫里的鯊魚把小魚吃掉呢,而下一節課正好就是「大魚吃小魚」,講解條件判斷,如果小魚碰到鯊魚,那麼消失,小朋友想實現這個效果,自然抱著好奇心和求知慾聽課。

再比如,一開始做的案例由於水平有限是採用笨一點的辦法實現的,學到後面更高階的知識後用簡單的辦法重新實現,孩子會產生一種我比之前更厲害的成就感,例如同樣是播放一首小星星的歌曲,一開始實現的辦法是不斷複製疊加播放音符的代碼塊,到後面學習了列表知識後,用兩三行代碼就能播放任何歌曲,這就像學了更高深的武功一樣。

3. 故事性

人天生都是喜歡聽故事的,尤其是孩子,如果設計的課程能具有連貫的故事,那是相當有吸引力的。這要求先構想出一個場景或故事出來,再用案例實現每節課的故事情節,同時還要兼顧上文中提到的各個原則,難度增加了不少。當然了,我們也可以借鑒已有的孩子耳熟能詳的故事或電影來創作作品,比如製作「星球大戰」的系列課程。

對於線上錄播課來說,要求課程具有更多的故事性。這方面的代表是編程貓,一直在構建自己的IP形象和源碼世界的故事。其他機構在這方面也有不少努力,比如西瓜創客引入了「孫小弟」的形象,貝爾編程引入了西遊記的故事場景。其實西遊記在這方面有得天獨厚的優勢,非常適合改編。西遊記不僅具有很多故事場景,便於發揮,而且大家耳熟能詳,天然是個大IP。非常期待有編程西遊這樣完整的系統課程出來。我們小時候在電視上觀看「西遊記」,而這一代孩子在電腦上編程實現「西遊記」故事,想想也是挺美妙的場景。

以上就是我認為的設計出一個好的編程案例需要遵循的一些原則(並不需要全部都滿足),用下面幾句話簡單概括一下:

有趣貼切易擴展;

豐富多樣跨學科;

合理進階相呼應;

故事情境幫大忙。

當然,如何把一個好的案例變成一堂好課,還有很多工作要做,我個人也在不斷摸索中。這個話題放在後面的文章再來談一些我的思考。

文末再簡單提一下,有一些人來找我交流,問我課程設計師最重要的是什麼?這個問題很大,我談一談自己的想法,課程設計師需要「強輸入,勤思考,多輸出」,要不斷輸入好的內容,經常思考整理,並積極分享,所謂分享即學習,我在其他文章中也整理了一些值得參考的輸入源,感興趣的可以點擊查看。

這篇文章是我作為非科班出身的課程設計師的一家之言,歡迎大家探討。我的微信號是 wolfbro,大家添加好友時歡迎做個自我介紹(如果沒有自我介紹,大概率不通過)。


推薦閱讀:

少兒編程——教育領域的新藍海
魔爪編程|Scratch 基礎課 番外篇 早早堆雪人
這些美輪美奐的圖,你畫不出來,但是可以編出來
什麼是少兒編程教育

TAG:課程設計 | 少兒編程 | 少兒教育 |