劉欣
當我們思考創客教育的時候,我們可以從兩個角度對創客教育進行理解。一是通過教育的方式培養創客的“創客的教育”;二是用創客的方法改造教育的“創客式教育”,二者互相融合,互相支撐,形成創客教育的主題,創客教育的最終目的在于培養具有創新意識、創造能力和創新思維的創新型人才。
創客空間的營造是進行創客教育的一種很好的辦法,在創客空間中,我們能夠通過硬件的配置和軟件的實施,實現創客的教育這一目的;但如果為了創客而創客,則不會充分發揮創客教育的意義。
創新并不是創客這個群體的特殊屬性,而是未來社會的普遍需求。所以,創客教育不能局限于創客空間的限制,更要走出創客空間,走向校園的方方面面,重構我們的校園生活。創客式教育促使我們思考:如何用創客思維改造我們的日常課程,如何用創客思維改變我們的教學設備。
下面我們將通過3個案例,從硬件和軟件2個維度,以及硬件與軟件的結合,看看怎樣利用創客教育的成果改變我們的校園。前2個例子都可以通過學生在創客空間或課堂上進行制作,并應用于課堂學習,為教學服務,制作成本都不高,適合教師邁出創客教育的第一步;而最后一個例子更適合創客教育的深入實踐和發展。
邏輯電路搶答器:用開源硬件整合創客課程與傳統課程
在中學學習中,邏輯電路是物理教學及信息技術課程上會涉及的知識,也是電子計算機的組成基礎,掌握邏輯電路的基本原理也可以為計算機科學的學習和理解打下堅實基礎。在傳統課堂的講解中,學生需要記住各種邏輯門的符號及真值表,如果缺乏深度的接觸,搭建起真正的邏輯電路,學生會對這個問題缺乏進一步的認識。
目前,越來越多的課堂將搶答作為活躍課堂氣氛和提高學生知識掌握能力的手段加入了日常的課程設計中。而目前許多課堂設計的搶答環節都是根據教師的肉眼進行判斷哪位學生舉手比較快,那么,我們是否可以給學生設計一個搶答器,讓每個學生只要一按在桌子上的按鈕,通過基本的電路原理,就可以判斷出哪位學生先進行了搶答。
在這個案例中,學生將會用Boson Kit元件搭建起一個搶答器,并做成一個可供其他課堂使用的服務工具。在課堂上每當學生按下搶答器按鈕的時候,都能快速喚起他們思考和制作的過程。
Boson Kit是由著名的創客公司DFRobot開發的一款創客開源硬件。Boson Kit元件的設計部件分為輸入模塊、輸出模塊、功能模塊及其他模塊。與其他開源硬件不同的是,Boson Kit在創客制作中不需要使用軟件進行編程制作,更適合進行創客體驗式創作。Boson Kit中擁有與門、或門、非門3種基本的邏輯模塊,學生可以通過這些模塊組成更加復雜的邏輯電路。例如,通過基本的邏輯門電路組裝成計算機的基本元件半加器。
在這個活動中,我們給出參考的BosonKit模塊如下表。
教師也可以根據實際設計增加或減少模塊。
在動手制作之前,我們需要對搶答器的需求進行討論分析。在課堂上,學生通過資料搜索、分組討論等方式了解搶答器的類型,通過調查、訪談等方式明確產品需求,這也是創客制作中不可缺少的環節。并對以往課堂搶答這一環節的過程進行分解,繪制成一個流程圖。
由簡到難,我們從雙人搶答器開始做起。在搶答器的制作中,在動手制作之前,教師有必要讓學生熟悉Boson Kit元件,讓學生在摸索中了解元件的特征。在這里的教學環節中,我們可以采用小組討論的方法讓學生進行頭腦風暴去解決問題,同時也可以對工具做一些限制,甚至制造一些小障礙,促進學生思考如何構建邏輯電路。
在學生形成一定的初步想法后,學生將設計理念與說明寫在記錄紙上,并記錄討論形成的電路圖。并向教師提出物資需求,教師可以給予適當的建議與反饋,學生根據建議進行適當修改,并繼續優化設計方案。
有了設計方案之后,學生需要進行原型的制作,并進行測試,進一步反思測試過程中出現的問題。并通過小組間互評的方式,了解別的小組是如何進行這項設計的。
最后一個環節是作品展示,引導學生通過多樣化的手段展示自己的作品。在整個搶答器的制作過程中,學生能夠從中學習邏輯電路的基本知識,鍛煉設計思維,培養創客精神,引起學生對知識的進一步興趣,打開創客大門。
對于有更深興趣的學生,教師可以通過組織創客社團等方式進行搶答器的進一步改進學習,如設計多人搶答器,使用藍牙通訊模塊進行無線化改進,增加多種模式的搶答器等。優秀的設計作品可以進行生產銷售,成為教師裝備的一部分。
點名器:用計算思維解決課堂上的問題
Scratch是創客活動中最常見的入門編程技術之一,也是中小學最廣泛學習的編程語言。在學生們學習Scratch的時候,我希望學生不只是學會這門技術,還能夠把技術應用在實際生活中。
在課上或者課外,我們經常就一件身邊的事提出問題,帶著學生們一起分析和給出解決方案。能否用編程幫教師點名,這是我最常拋出來讓學生思考的問題之一。每次我提出這個問題的時候,經常有學生馬上就說:“建一個包含所有學生名字的鏈表(鏈表是Scratch里實現數組的方式,是一系列數據的集合),再隨機抽取就行了。”這就是典型的以技術為導向的思維。針對一個問題,技術通常并不直接等同于解決方案。那么,用Scratch編程的點名解決方案應該如何下手呢?
我們可以先帶著學生進行需求分析,把教師當作我們的服務對象,把點名這件事更深入地拆解分析。進行需求分析最方便的就是畫思維導圖了。首先我們先列出點名的目的都有哪些。這個環節我們可以讓學生分組討論,并鼓勵他們盡可能多想,把思維放開。學生討論結束后,我們先把討論結果列出來(見圖1),然后帶著大家一起逐條分析,提煉出一個服務對象最需要的需求。比如對我來說,出勤點名是不需要的,而經常需要的是點名回答問題,或者點名參加課堂活動。“點名抽獎”是一個很有趣的需求,但并不會經常用到。所以,以我作為服務對象,點名要解決的問題可以描述為“從全班同學中選取一個人”。endprint
看這個描述,一些同學會覺得和剛才說的“建立名字鏈表并隨機抽取”好像是一樣的。那我們需要繼續進行分析。首先我們對比一下,由一位教師點名,和用計算機程序點名,能否是一樣的過程。或者說,Scratch程序實現點名的過程,是否就是復制教師點名的過程,這又可以開始一輪討論。分析后我們發現,如果是一位教師點名,看起來這個行為過程很快,教師張嘴說出一位同學的名字就完成了。那么,Scratch程序如何實現這個過程呢?這是我認為最關鍵的一個環節。
推導實現流程時,我一般會先反問一個問題:“如果教師不知道學生的名字,是否還能完成點名?”這個問題不太容易想到。在課堂上,如果教師不知道學生的名字,也是可以點名的。教師可以用手指,點一位學生即可;而Scratch程序就不可能做到。實在沒有名冊,程序的解決辦法只能是學生座位都預先編號,程序隨機選取編號實現點名。回到我課堂的情況,我是知道所有學生名字的,所以不需要用編號。
接下來,我會寫下教師點名的步驟(見圖2),然后讓學生給出Scratch對應的實現方法。第1步,教師要“記憶學生名冊”,Scratch的實現方法是“建立學生名字鏈表”。第2步,教師要在腦子里“選取一位同學”,Scratch是“獲得一個隨機數,以此隨機數為索引,提取一位學生名字”。第3步,教師想好了選哪一位學生,再要做的是“說出名字”。這一步Scratch的實現就復雜了。我們要Scratch不只是顯示出學生的名字,同時還要“念”出名字的話,需要先在Scratch里錄好所有學生名字的語音。每一條語音的名稱要跟學生名字一一對應,我們就可以用學生名字作變量,播放與變量值同名的語音即可。第3步的具體實現可以不講解得太具體,留給學生在實操時思考。
通過上邊的分析梳理,點名程序的核心思路已經很清晰了。我們還欠缺什么呢?因為教師在點名時要使用Scratch程序,所以程序里還缺少一個交互邏輯,也就是教師如何操作啟動程序(見圖3、圖4)。最簡單的方式,我們可以使用Scratch的“小綠旗事件”啟動,但我通常都要求學生不要依賴系統事件,這樣不能算是一個“獨立”的程序。可以用鍵盤事件,也可以畫一個點擊按鈕,這里就讓學生自由發揮了。
在交互邏輯實現上,學生可以發揮他們的美術能力。比如圖5是“科技學堂”網站“課堂中的Scratch”慕課里的一個點名案例,這個案例就繪制了很漂亮的界面,一看就非常吸引人。這個案例使用了學號而不是學生名字,主要是因為把學生名字的漢字都畫出來的工作量太大了,就省略為只畫o_-9十個數字。此案例還有一個非常好的創意,就是在給出最終選擇前,學號有一個翻滾然后漸漸停住的效果,極大地增加了趣味性(見圖5)。
完成了基本功能后,我們還可以深入探究改進的可能。比如,如果程序連續2次選了同一個人,或者太多次選到同一個人,這都不符合我們在課堂上的需要。如何避免?再比如,程序隨機選到的總是女同學,我們能否讓程序在男女生之間的選擇更平均?我們是否能建立一個規則,每一個被點過的同學,在本堂課就不再被點(見圖6)?
校園生活中還有非常多的案例能成為課堂上引導學生思考和創造的話題。除此之外,當教師打開一個Scratch程序,由計算機叫出一位同學的名字,課堂是不是也變得更活潑、更有創意了呢?
自動跟隨機器人:軟硬件結合發展創客教育
創客的發展離不開軟件工程與開源硬件的結合,純粹的軟件或硬件的制作并不能構成創客教育的全部,如何將軟件與硬件有機結合,也是一個我們值得思考的地方。
被稱為“創客教育之父”的著名計算機科學家、教育學家的西摩爾·派普特(ScymourPapert)在其建構主義學習理論中強調“學習即通過分享建構知識”,創客教育便是專注于問題解決與數字化或物理制造,以建構學習者的知識體系。事實上,他在1966年創造第1款面向兒童的編程教育語言Logo的時候,就設計了既可以通過屏幕輸出,也可以通過一個實體的“小海龜”機器人進行輸出,學校可以在這2種輸出方式之間進行選擇。派普特認為,教育必須給孩子們一個“可供思考的實體”,通過感官體驗培養特定的思維模式,基于這個理論基礎,各種服務于創客教育的軟硬件應運而生,樂高機器人套件、Scratch編程語言成為創客教育中影響力較大的硬件和軟件,這也為教師進行創客教育提供了設備的支持。
這里為教師介紹的一個軟硬件結合案例是“自動跟隨機器人”。它利用Scratch語言進行編程,實現對機器人的自動化操作。在這個案例中,機器人能夠實現跟隨互動對象前進一段路程,并對互動對象進行問候;當互動對象離開一定距離的時候,機器人返回原位。機器人采用的是樂高的EV3作為控制核心,以配套的紅外傳感器作為輸入設備,使用Scratch語言進行編程,是一個適合于中學生開展機器人活動及計算思維課程的一個案例。案例的內容可在http://kaspesla.github.io/ev3scratch/中找到。
硬件方面選擇的是樂高EV3,這是樂高在2013年發布的第3代機器人,是一款面向創客教育市場設計,融合興趣、知識、體驗為一體的教育機器人。目前,它以開發簡便、易于操作和拓展性強的特點,為眾多的學校創客教育所喜愛。使用樂高作為硬件的基礎優勢在于學生可以利用樂高模塊化的積木拼插,快速完成機械結構的搭建。
軟件層面的構建,我們選擇Scratch x作為工具進行編程。Scratch目前已經成為主流的編程教育工具,其優勢不必贅述。而Scratch x是以Scratch語言為基礎,為開發測試設備而設計的可視化編程語言的拓展實驗平臺。Scratch x原理是在電腦上通過程序和瀏覽器之間的接口,通過USB或者藍牙達到與其他設備通訊的目的。通過這個平臺,可以實現編程語言與硬件設備的連接,達到給學生提供一個“可供思考的實體”的效果。
感應器也是目前創客教育中不可或缺的一項技術,各大創客硬件的開發商都在產品中加入了很多感應模塊。在“自動跟隨機器人”的設計中,學生需要了解感應器的基本原理,明白紅外感應是如何測量人與機器的距離,并進行條件判斷的;但又不需要太過于深入地了解感應器的結構,學生可以快速通過感應器實現自己的機器人設計。
EV3+Scratch的設計還有很多,值得我們進行開發設計。以創客教育為動力,學生能夠在日常生活的觀察中找到設計的地方,并且進行深入的思考,動手制作并分享,獲得能力和知識,這樣才能適應未來人才的需要,促進教育的發展。endprint