返回文章列表

資訊科學基礎教育

資訊科學專題分享
Code Gym 資訊科學基礎教育

手機、電腦和網路在我們生活中扮演一個重要的角色,我們透過相關這些科技幫助我們完成工作、與人聯繫,世界各國開始重視到資訊科學的基礎教育,麻省理工學院為小朋友打造了一個簡單有趣的程式語言Scratch,現在已有許多學校作為電腦課程的教案之一,我也期許自己能在資訊科學的基礎教育中能有所貢獻,讓他們能在國中小時期就能夠有基本的觀念,善用他們的想像力、創意和熱情,豐富自己的人生創造另一種可能。

因為某個因緣際會我與一位在學校任職的老友聯繫,開始將我的想法落實在台灣的資訊科學基礎教育當中,我規劃的課程主題為程式語言、網路應用、硬體資訊和資訊應用,雖然資訊科學的專有名詞不易理解,但我仍盡力用學生聽得懂的方式做教學,初期我發現自己的教學內容太過艱澀,但我也慢慢摸索和反思,修正我的教學和課程內容,讓學生可以將所學做出成品,發展興趣、活用技術同時也提升自信,這樣的過程也幫助我製作的課程內容,以及在講解不易理解的技術時能有更清楚的解釋。


WordPress建立部落格網站

WordPress是一個能夠快速建立網站的套件,它免費並且功能齊全,最大的特色是可以更換網站外觀的佈景主題,還有安裝外掛應用程式。透過官方提供的免費線上服務,我們可以很方便的建立一個屬於自己的部落格網站。利用這些Wordpress的優點,我教同學建立出屬一個「有主題的部落格網站」,主題內容不設限,只要是自己有興趣的都可以作為撰寫的主題,讓同學自由發揮自己想要做的內容。

當初設定課程目標是建立一個「有主題的部落格網站」,對於同學或是有志撰寫部落格的人有兩個面向的優點:

  1. 對自己而言:這個有主題性的部落格網站,能夠有組織性的紀錄學習過程,這個過程能夠帶給心中的滿足與快樂,我們可以稱為心流(Flow),心流理論請參考維基百科的解釋,這是一般物質享受和外在刺激所無法觸及的心理層面。而這也能為自己在學習這方面領域的學習做有效的知識管理。 

  2. 對他人而言:藉由部落格的內容,能夠讓閱覽者了解創作者的興趣和專業,進而建立信任並更加認識創作者產生共鳴。追隨部落格的人能夠在該部落格的基礎上堆疊該專業領域的知識,被追隨的部落格網站也能為網路世界做出貢獻,這樣對自己與他人之間良性互動的結果,建立了良好的循環,讓部落格正向成長,內容更為豐富。

課堂中的學生建立的主題大都和自己的興趣和喜好有關,像是NBA籃球、電腦遊戲、youtuber…等,只要不涉及暴力、色情和非法事情,內容不設限,任何想要研究探索的主題都可以,我在下圖擷取其中四個部落格,左上角截圖的部落格是以世界地理為主題,下方兩個部落格則是以遊戲為主題,右上角的部落格是一位七年級的女生所建立的,她討論的是有關「跨性別」觀點的內容,並且使用英文撰寫,她能夠透過英文自學資訊科學的知識,像是使用線上教學平台Khan Academy自學Github,並使用HTML建立網頁使用Github Pages讓其他人可以瀏覽網頁,我想這樣探討主題的內在思考與自學能力相信已有大學能力基礎,我能做的就是盡可能地給予她想知道的知識,並不設置限制讓她們盡情發揮,希望這埋下的種子未來能成長為一棵大樹。

Arduino控制器製作有趣的電子產品

Arduino控制器可以連接外部感測器並執行程式語言的邏輯程序,所以他是一個能學習基礎電路和程式語言的優質教學用具。課程中我們使用LED、超音波感測器、溫濕度感測器等多種外接零件,並撰寫程式語言接收感測器的數值與資訊,透過程式邏輯判斷,控制燈光或聲音等反應,建立有趣而豐富的電子產品。透過一整個學期完整的教學讓同學了解基礎電路中的電阻、電壓、電流等觀念,撰寫程式上傳到控制器觀察感測器和感測互動,深刻體驗程式語言for迴圈、if判斷條件式等基礎觀念。

下圖是一位七年級的同學製作的「瓦斯警報感測器」,盒子的外觀使用雷射雕刻製作,當左右兩邊感測器接收到異常氣體時(測試使用酒精揮發測試),上方紅色LED燈閃爍,內部蜂鳴器發出聲響,裝置在盒子上的LCD銀幕顯示左右兩邊氣體濃度,該名同學很有熱情的做出了這個精美的學期成果,讓我印象深刻。

程式語言基礎教學

透過學習程式設計鍛鍊思考能力,學習邏輯推演,是我當初開設這個課程主要的目的,我並不希望教授艱澀難懂的演算法、資料結構這些大學開設的基礎課程,或是朝向比賽解題的方向,我是以有計畫性的規劃基本觀念為主,重點在於理解程式語法和活用這些知識,藉由簡單的範例,在課堂上實作並給予協助指導,課程是以Java、Python兩個程式語言為主要教學內容,Python較為簡單易學,尤其在資料分析、網路爬蟲和人工智慧方面發展特別的快,Java是目前最多人使用的程式語言,涵蓋網站系統、企業級系統和Android App的開發,都是使用Java程式語言撰寫。學習這兩種程式語言的基礎對於未來軟體開發技術的發展的能更為廣泛。

課程使用Coding Ground線上程式開發系統作為實作教案,之前我有寫過一篇有關Coding Ground教學文章,它不需要安裝特定軟體就能夠直接使用瀏覽器編輯和執行多種程式語言,是一個非常適合初學者剛開始學習的線上服務。透過這個好用的服務我們可以很快的實作課堂上的教學內容,其中的程式碼和講義皆由Ryan本人設計,每次上課都依據同學反饋再隨時調整內容強度,並在下一次的教案中調整。

網頁設計與實作HTML、CSS和Javascript

我們每天都在觀看網頁,然而卻很少了解製作網頁的基礎知識,這個課程教學是讓同學了解製作網頁的3個基礎工具,HTML、CSS和Javascript,我利用蓋房子來解說,HTML就像是房屋的鋼骨結構,CSS是美化這棟房子的外觀和裝飾,Javascript是房子內部的功能設備,像是防火警報、安全監控等,說明完成後使用W3schools作為實作教學,因為W3schools有像字典一樣能夠參考範例,當我說明解釋完後同學能夠參考範例揣摩,重點是他能夠線上執行同學輸入的語法結果,雖然是英文網頁,但藉此能夠了解英文專有名詞,我覺得是較為正確的觀念,因為翻譯過後的專有名詞有時會因個人解讀不同有不同的翻譯結果,原文的專有名詞統一世界通用,這重要的一步在於未來遇到問題時,在Google搜尋時是使用英文專有名詞,能更準確的找到問題的解答和來自國外的不同解法,讓自己的發展不會因語言而受限。

電腦零組件介紹和組裝

電腦的運作需要多個零組件組裝起來才能使用,我在課程中介紹CPU、RAM和硬碟等,硬體零組件的功用,並帶一台電腦拆開後告訴學生每個零組件的外觀與組裝方式,最後使用網路上知名組裝電腦賣家的線上服務,給予每位同學兩萬五千塊的金額上限目標,自行規劃一台能夠運作的電腦。

教學相長

回想我自己國中時期,也有電腦課,當時國中學開機就要一堂課的時間,因為開機需要用開機片,磁碟片還是用大片的5.25吋軟碟片,插入開機片後要把門關起來,進到DOS 系統下指令那種,老實說我並不記得當時課堂上教了什麼,只有一件事讓我印象比較深刻,當時班上有一位同學帶了一套遊戲來學校,想說要在電腦課的時候玩,這套遊戲的安裝也是使用軟碟片安裝,大概有六、七片吧,安裝完也差不多要下課了,因為當時資料儲存技術和磁碟讀取速度,相較於現在真的差很多,這裡我只是舉出一個時代在更迭、科技不斷在更新的例子,在學校教這些國中生的過程中,我不可能再去教他們如何用開機片下指令去開機,因為老舊的技術已經不適用了,而教學方式也不斷在更新,只有能不斷自我學習的講師,才能給予學生當下最適合的教學內容。

Code Gym 致力於創造實用的高品質線上課程,幫助想要學習程式語言和IT技術的朋友,能透過我們的課程,學習相關知識,創造出屬於你自己的作品

瀏覽所有課程