楊冬梅
(河南信息統計職業學院,河南 鄭州 450008)
“程序設計”是計算機專業重要的課程之一,也是展現編程思想,強調學生編程能力的重要課程。但因程序設計所包含的知識點細碎,對程序設計的實踐性要求較高,如果缺失編程興趣,則很難深入學習編程方法,更難以適應就業崗位需要。為此,化解“程序設計”課程興趣不足難題,就需要從激趣入手,深化“程序設計”課程改革。
從“程序設計”課程專業來看,對學生的專業知識、邏輯思維、動手實踐能力等提出更高要求。但傳統的“程序設計”課程在教學中,以布置實踐作業為主,學生根據作業任務完成相關編程知識的學習和應用。由于高職生源整體質量的降低,軟件設計類課程學生對“程序設計”實踐課程興趣度不足。一方面,一些學生反映英語基礎差,對“程序設計”中的語言學習沒有好感。如在C語言編程設計中,如果對英語不熟悉,其在編程中的一些設置、備注、程序表達方式等缺失興趣和信心。如果英語基礎不好,就很難對后續程序類課程進行良好學習,也看不懂他人的程序設計思路。另一方面,一些學生存在邏輯思維欠缺問題,特別是曾經是文科的學生,面對編程邏輯,更易產生抵觸情緒。通過對學生程序設計興趣不足原因的分析,可以梳理出以下主要問題:(1)學生在學習上自主性不夠,特別是受到中學被動授知教育的影響,往往缺乏應有的學習自覺意識。(2)“程序設計”習題本身過于淺顯,與實際應用有較大偏差,導致學生感覺編程難。(3)“程序設計”課程需要不斷積累編程經驗,而非一蹴而就,很多剛學習程序設計的學生在遇到編程難題時,會喪失學習積極性。所以說,缺失編程興趣是造成“程序設計”課程教學低效的主要原因,而激趣教學,就是要從興趣導向上,讓學生體驗編程的樂趣,挖掘學生的編程潛能,逐漸改進學生對“程序設計”課程的學習積極性,提升學生的編程能力[1]。
在高職“程序設計”課程教學實踐中,興趣不足影響學習積極性,而趣味的激發需要突出對學生需求的滿足。當下,很多學生喜歡玩游戲,也容易從游戲中獲得滿足感。為此,我們對比了多款虛擬機器人編程軟件,以RoboMind編程軟件最具代表性。該軟件可以滿足教學團隊設置不同的編程游戲任務,讓學生從玩游戲過程中,培養編程意識,鍛煉編程邏輯思維。最關鍵的是,通過編程闖關方式,能夠降低學生對編程的抵觸心理,增進“程序設計”學習樂趣。RoboMind編程軟件是荷蘭阿姆斯特大學開發的程序設計智能化機器人軟件,編程界面主要有4部分,即菜單區、代碼編寫區、地圖和結果顯示區、運行調速區等。整體來看,編程界面新穎,操作方式簡便,游戲化風格更易滿足高職學生的編程體驗。
從軟件功能及特點來看,RoboMind主要有三大優勢:(1)對語言兼容性強。可以支持中文、英文多國語言指令,非常適宜英語基礎不好的學生。如利用“翻譯腳本”功能可以實現對語言代碼的多語種翻譯呈現。(2)學習門檻低。在RoboMind編程實踐中,其語法簡單,比較容易上手,且內置多種編程概念,可以滿足查看、移動、循環、條件語句等語法功能,還能夠根據需要進行噴繪、抓取,在“編輯區”,可以直接輸入指令,來讓機器人自動完成編程。另外,對于一些指令及方法的運用,不需要額外記憶,可以從“插入”菜單選擇需要的指令代碼。如在程序顯示器寫一個“口”字,只需要執行代碼“畫白色,重復(4){向前1步;右轉};停止畫畫”。(3)闖關式理念讓編程更富趣味。在“程序設計”教學中,對于“程序設計”任務的布置和完成,都可以利用闖關游戲來貫穿編程知識,讓學生在闖關中內化理解。另外,根據不同層次的學生實際,可以設置不同等級的闖關任務,學生可以根據自主情況選擇編程,增強程序設計的信心和樂趣[2]。
利用RoboMind進行編程實踐時,可以根據自身的設計任務來優化教學內容。首先,布置游戲任務。RoboMind具有不同難度的闖關設置,可以讓學生在規定時間、不限闖關數量完成“程序設計”實驗任務,并獲得相應的經驗值。其次,分析游戲任務。每一個學生根據任務要求,可以進行小組合作學習。如對于Repeat循環語句的練習,可以設置迷宮中行走案例;在If語句及觀察指令學習時,可以設置尋寶案例,每行進一次,觀察環境,確定是前進還是轉向,當發現寶貝后,拾起寶貝,完成任務。同時,利用尋寶游戲,教師要鼓勵學生將自己比作機器人,以自我的思維與行動來操控機器人指令,進而增強思維情境,鍛煉學生邏輯思維能力。然后,開始闖關。在分析完闖關任務后,進入闖關游戲。通常,在布置闖關任務時,學生很少能夠一次性闖關完成,都需要從多次的嘗試、失敗中查找問題,最后化解問題取得成功。如此一來,學生能夠在闖關游戲中感受程序調試的樂趣,增強面對問題、永不放棄的精神。利用闖關游戲,來強化學生的心理素質,增強學習積極性。再次,進入闖關分享交流。每一次闖關任務的完成,我們都需要結合闖關任務進行探討,對闖關中的問題進行分析,對所遇到的情況,闖關過程利用抓屏軟件進行播放,分析學生如何化解編程疑惑。事實上,每次在分享交流中,學生都能夠從他人的闖關任務中,獲得思維的拓展,特別是從解題思路上,有助于啟發學生堅定對編程課程的學習信心。最后,完成進階。每一次闖關成功,都說明學生已經具備相應的闖關知識和能力,而進入下一關,難度會提升,編程知識點也會增多。利用闖關方式,讓學生從中不斷消解困難,鞏固和提升對“程序設計”課程的學習積極性,也讓學生從程序設計中鍛煉編程方法。
在挖掘“程序設計”學習趣味上,教師也可以融入多種教法,來突出編程實踐教學,強化學生對“程序設計”知識點及編程技能的訓練。
“程序設計”課程教學中,語法及邏輯等問題是基本點,也是要求學生理解并掌握的內容。對于編程語法,很多學生需要經過多次訓練來掌握,如果單一設置編程訓練,學生易感到枯燥。利用互改作業模式,可以通過察看他人程序,分析程序語法是否存在錯誤。同時,在閱讀他人程序時,也能夠從中了解程序設計的不同風格,增強學生的編程意識和良好習慣的養成。另外,在編程調試中,通過對他人程序錯誤現象的分析,來加強自身對語法的理解和應用。
學習編程,不能一個人學習,要從大家的共同學習交流中取長補短。根據學生情況,分成若干小組,組內成員在編程水平上具有互補性。如此一來,對于編程設計中的問題,可以讓小組成員進行分析,查找解決方法;也可以讓學生對某設計任務進行共同研討,梳理編程思路。小組合作與討論,有助于增強學生的編程思維,拓展程序設計視野,特別是對于某一問題的解決,可以有不同的解法和路徑,在這個交流過程中,讓學生能夠從編程實踐中增強編程能力。
對于“程序設計”課程趣味的營造,也可以導入項目答辯模式。針對不同的編程任務,我們設置具體的項目內容,來考查學生的編程水平。如對于基礎性程序設計項目,主要考查學生的編程思想、編程方法和基本操作;對于應用性編程項目,主要考查學生在程序設計編程設計的綜合技能,包括編程項目報告、程序設計、項目答辯等內容。利用項目答辯教學模式,更易突出學生的個性化編程能力,鍛煉學生獨立完成編程任務。
程序設計興趣的激發,也可以通過競賽機制,來強化學生你追我趕的編程積極性。考查學生的編程技能,利用一些競賽活動,讓學生從上機實驗、課下編程學習中,解決編程問題,營造良好的學習編程的氛圍。當然,對于競賽項目任務的設計,需要結合學生編程實際,特別是競賽題目的層次性,利用難度分級來滿足不同編程水平的學生需求。
大學生群體對現代移動通信網絡較為熟悉,我們可以利用QQ群、微信群等即時通信工具,組建程序設計問答群,讓學生在群里對學習中的問題進行提問,發揮群體的智慧來解決疑難。同時,一些學生性格內心,在課堂上不愿意與教師交流,課下也不愿向同學請教,這樣會帶來更多的學習疑難。通過交流群,對于一些問題,教師、學生共同參與解決,其他學生也可以參與回答,由此營造的學習環境,也有助于讓內向的學生從中看到而獲得有益幫助,進而逐漸形成良好的學習氛圍。
“程序設計”具有較強的實踐性、創新性,教師要在整合各個章節、習題、實踐內容基礎上,多融入編程思想的滲透,特別是對于剛入門學生,在算法知識、數據結構等知識還不完善時,要側重于體驗編程過程教學,以簡易的編程虛擬機器人,或者其他趣味性的編程軟件,引導學生認識編程的魅力,轉變對編程的正確態度。教師在面對不同學生時,要多鼓勵,多給予積極的引導。對于基礎好的學生,嘗試以綜合性、挑戰性程序任務來激發其編程能力;對于基礎差的學生,以淺顯的、趣味性任務來增進編程成就感,逐漸提升編程興趣。
[1]陳進.高職學生編程興趣引導的探索和實踐[J].教育觀察,2017(18):76-78.
[2]鄒靜.淺談大學C語言教學方法[J].現代職業教育,2017(1):126.