沈琛?王衛(wèi)和
摘要:程序設計類課程主要培養(yǎng)計算機及相關專業(yè)學生計算思維和程序設計能力,這也是大學生所需要培養(yǎng)的最重要的專業(yè)能力之一。文章分析現(xiàn)有程序設計類課程的概況,分析了將STEM教育理念融入到程序設計類課程中的可能性,以C語言程序設計為例,對教學設計進行分析和反思。
關鍵詞:STEM;程序設計類課程
一、程序設計類課程概況
隨著新技術的不斷發(fā)展,培養(yǎng)具有計算思維[1]、程序設計能力的信息技術人才,已成為社會的普遍需求。在這種形勢下,對高校的程序設計類課程教育又提出了新的要求,不僅僅需要培養(yǎng)學生對軟件工具的使用,而是需要突出學生計算思維、信息素養(yǎng)、團隊合作等綜合能力的培養(yǎng)。而現(xiàn)有的教學模式中還存在著不少問題和局限性:
重視語法知識和語句運用的講授,忽視激發(fā)學生對問題求解的興趣。程序設計語言本身的知識點多、抽象且連貫性強,傳統(tǒng)的教學模式是將理論教學與實驗環(huán)節(jié)分開進行,在理論學生中雖然重視知識點的講解,但是忽視了對問題求解的引導和分析,因此在實驗過程中往往不能對問題進行分析,久而久之會對程序設計語言課程失去興趣。
傳統(tǒng)的教學方式強調(diào)以教師為主導。程序設計類課程的教學方式強調(diào)理論知識的科學性和系統(tǒng)性,重視在教學過程中的教師講授,往往忽略了學生自己解決問題的能力培養(yǎng)。
其實,程序設計類課程的教學本質(zhì)并不是單一的為了學習某種知識或技能而教學,而是在學習過程中所掌握的思維方式和技術運用,這才是教學的靈魂所在。因此,探討將最新的STEM教育理念融入到程序設計類課程中具有現(xiàn)實意義。
二、STEM教育融入到程序設計類課程的可能性分析
STEM教育[2]是科學、技術、工程、數(shù)學,英文首字母的縮略語,強調(diào)基于現(xiàn)實問題情境的跨學科式教育。編程作為STEM教育的一部分,正是培養(yǎng)學生分析和解決問題的思維方式。因此,STEM教育與程序設計類課程在多方面具有契合點,基于對兩者特點的分析,基于STEM教育的程序設計類課程的教學內(nèi)容進行以下改進:
增加內(nèi)容綜合性。STEM教育是通過項目學習,以工程設計為基礎,具有學科融合的綜合性特點。因此,程序設計類課程的內(nèi)容也應該體現(xiàn)綜合性,能夠讓學生在學習編程技巧的同時獲得對各領域知識和技能的深入學習,能夠?qū)⒏拍钚灾R與現(xiàn)實問題相聯(lián)系,理解技術在整個工程設計中的作用。
增加內(nèi)容實踐性。STEM教育是先創(chuàng)造情境,以項目的形式進行教學,讓學生在項目中自己動手實踐。程序設計類課程的內(nèi)容可以在綜合性的基礎上,多增加些實踐內(nèi)容,讓學生完成模型的設計和制作、動手體驗編程實驗,以互動有趣的方式呈現(xiàn)科學教學,幫助學生更好地進入編程世界。
三、基于STEM教育對程序設計類課程的內(nèi)容設計
該論文以C語言程序設計課程中的循環(huán)結構教學為例,將STEM教學理念融入課堂進行教學內(nèi)容設計。
(一)設計思路
本課將學生所感興趣的樂高機器人帶入課堂,教師演示機器人循環(huán)帶著小球回家的情境,然后教師提出疑問:機器人是怎么找到家的呢?激發(fā)學生的學習興趣,然后,教師以問題解決的教學模式,帶著學生一起去探究,一步一步循序漸進地帶學生掌握循環(huán)結構知識,并讓學生體驗機器人編程的新鮮感和成就感。
(二)教學實施
1.創(chuàng)設問題情境,導入新課。教師通過演示樂高機器人能夠升舉小球并帶回家的過程,提出問題,引導學生分析,機器人是由程序來進行控制的,在帶小球回家的過程中,不停地重復行走來搜索到目標,這種重復的算法步驟就是今天要學習的循環(huán)結構。
2.讓學生在問題中不斷理解循環(huán)的概念。教師讓學生運用以前學過的順序和分支結構嘗試進行編程,提出循環(huán)結構和這兩種結構有哪些不同,它是如何執(zhí)行的,繪制出循環(huán)結構的流程圖,并分組進行探討
3.布置學生實踐練習,學會運用循環(huán)結構。教師讓學生分別用順序結構和循環(huán)結構進行編程,來實現(xiàn)讓機器人走四邊形和六邊形的兩個程序,通過對比歸納總結循環(huán)結構的優(yōu)點,可以大大減少重復書寫的工作量,也通過難度呈梯度上升,讓學生更好地理解循環(huán)結鉤。
4.解決機器人帶小球回家問題。教師采用模塊化的編程方法引導學生一步步解決問題,并讓學生自主探索機器人帶小球回家的算法,讓學生親自動手來實踐,自己檢查學習的成果,加深對知識的理解。引導學生通過課外查閱資料拓展眼界,激勵學生進一步學習編程和機器人知識。
三、研究反思
本文分析了程序設計類課程的概況,以C語言程序設計為例對教學設計進行了梳理,但是不夠全面,也不夠深入,能對教學設計做出合理的論證。在今后的研究工作中,需要對大學生的認知特點和學習能力進行更深入的理解,學無止境,教亦無止境,期望在后續(xù)的研究中能夠不斷完善教學設計,以便于該教育理念在程序設計類課程中進一步推廣和應用。
參考文獻:
[1]高枚,龔沛曾,孫麗君.構建多層次思維培養(yǎng)的C/C++程序設計教學[J].計算機教育,2016(1):81-83.
[2]余勝泉,胡翔.STEM教育理念與跨學科整合模式[J].開放教育研究,2015,21(04):13-22.