冉彥中 曹婧華 楊可揚 唐明祥
摘 要:根據(jù)新工科環(huán)境下對人才實踐性和創(chuàng)新性的培養(yǎng)需求,分析了《C語言程序設計》的課程特點和改革現(xiàn)狀,建立了教學體系框架模型,提出了基于PBL的教學模式,在教學實施中將Arduino設計引入到C語言的教學中,旨在更好的理解C語言的思維和結構,更好的將理論與實踐結合,培養(yǎng)學生的創(chuàng)新意識。
關鍵詞:新工科;C語言;PBL;Arduino
中圖分類號:G642.0文獻標識碼:A
doi:10.14031/j.cnki.njwx.2019.11.077
Teaching Reform of C Programming Based on PBL Method
Ran Yanzhong1,Cao Jinghua1,Yang Keyang1,Tang Mingxiang2
(1.Center for Computer Fundamental Education,Jilin University,Changchun 130062, China;
2. College of plant Sience,Jilin University,Changchun 130062, China)
Absrtact:According to the demand of New Engineering for talents cultivating of practicality and innovation, firstly this paper analyzed the characteristics and reform of “C language programming”, then a teaching frame system model was established and the teaching model based on PBL is proposed, finally using Arduino to implement C language teaching. It aims to better understand the thinking and structure of C language, better combine theory and practice, and cultivate students 'innovative consciousness.
Key words: new engineering; C language programming; PBL; Arduino
0 引言
2017年教育部發(fā)布《關于開展新工科研究與實踐的通知》,相對于傳統(tǒng)的工科人才,未來新興產(chǎn)業(yè)和新經(jīng)濟需要的是實踐能力強、創(chuàng)新能力強的“新工科”人才[1-3]。作為計算機基礎教學重點科目之一的《C語言程序設計》也要理論聯(lián)系實際,實現(xiàn)教學觀念的根本性改變。
1 《C語言程序設計》教學改革現(xiàn)狀
C語言在解決問題的思維方式和流程上所具有的基礎性優(yōu)勢不可替代,這門課程脈絡清晰,主要面向非計算機專業(yè),作為教學的C語言因為其面向過程的編寫方式和運行結果的控制臺顯示特性,在教學過程中缺少互動與實踐,長期以來僅用來解決數(shù)學問題。目前國內(nèi)程序設計語言教學正在嘗試各種改革[4-9],目的在于使教學內(nèi)容更吸引人、更適應市場的需求。
西南交通大學圍繞提升本科教學質(zhì)量,開始了從以“教”為中心到以“學”為中心的轉(zhuǎn)變。新的教學模式就是要讓學生為主體,學生自己主動思考問題、解決問題,依靠自己的實踐來驗證所學理論,在學習的過程中提升自己的能力。以清華大學為代表的一流高校提出了MOOC的教學新模式[10-13],但是這種模式在共享優(yōu)等教學資源的前提下,實際上存在弊端,一是篩選適合自己的教學內(nèi)容需要大量的時間,二是遠程教學缺乏面對面的互動,不易集中學生注意力。對此,多所大學尋求改革,主要探索的是教學方法上的改革,比如啟發(fā)式教學、案例式教學,或者將教學內(nèi)容的順序做了調(diào)整,也有教師嘗試了C語言在4G網(wǎng)絡和物聯(lián)網(wǎng)中的應用,但大多以理論為主缺少實例。
2 《C語言程序設計》教學框架及教學實踐分析
基于工科的定位,結合課程現(xiàn)有的發(fā)展現(xiàn)狀和實際的需求,提出C語言教學體系模型[14]如圖1所示。探討教學方法、教學內(nèi)容和教學實踐是以“教什么”和“怎么教”為核心展開的思考。教學內(nèi)容上既要體現(xiàn)C語言的邏輯思維又要與實踐緊密結合;教學方法上要引領學生主動思考,以學生為主體,不再就C語言論C語言。C語言的教學改革,不僅是教學方法和教學模式上的改革,更需要將教學方法和實現(xiàn)平臺融合、實現(xiàn)創(chuàng)新性和實踐性的統(tǒng)一。沒有創(chuàng)新就沒有發(fā)展這不僅是對學生的要求,更是科技和社會進步對教師提出的嚴峻任務,教師要與時俱進,不斷地更新自己的觀念和知識儲備,用新的教學模式和教學內(nèi)容去裝點課堂。充分發(fā)揮學生的積極性和主動性提高創(chuàng)新能力,培養(yǎng)學生自主思考的習慣,使學生成為課堂的主體,教師成為學生的引導者。
本文提倡在新工科的發(fā)展的環(huán)境下,采用PBL(Problem-Based Learning)以問題為主導的教學方式,強調(diào)以學生為中心,極大程度的調(diào)動學生學習的積極性。講授的內(nèi)容不再停留在控制結構和數(shù)據(jù)模型的語法層面上,應在以下兩個方面具有可擴展性,一是要注重以“邏輯思維”為主線的思考問題的方式,二是要將程序設計理論結合具體的實踐,使理論具有應用空間。
C語言的教學實踐工具比較有效的就是Arduino,近年來課題組積極尋求C語言改革的方法,2015年關注到Arduino電路板,它是一塊嵌入式的電路板,提供多種傳感器接口,硬件和軟件都有開源免費資源可用,各個專業(yè)普遍適用,可以針對不同的專業(yè)設計相應的案例。通過教學應用認為Arduino是“以問題為中心”的教學方法得以實現(xiàn)的有效平臺。利用它與C語言得天獨厚的渾然一體優(yōu)勢,將程序的運行結果用Arduino的多種傳感器輸出??梢允菇Y果顯示生動有趣,挖掘?qū)W生的創(chuàng)造潛能。學生可通過多種平臺進行編程,不再局限在機房、筆記本上,也可以把自己的程序挪到手機終端,這將極大限度的激發(fā)學生探索問題和解決問題的興趣,也使程序運行結果更為直觀和貼近現(xiàn)實,還可以進一步指導學生用C語言在Arduino上制造出自己的作品,把“理論傳授+專業(yè)實踐”的傳統(tǒng)教學模式,轉(zhuǎn)變?yōu)椤疤岢鰡栴}+課堂探討+興趣小組”的新模式。PBL模式下的C語言Arduino教學實踐模型如圖2所示。將Arduino引入C語言教學通過一系列的循序漸進的Arduino制作案例,提出問題,引導學生分析問題,用C語言思維指導實踐,在實踐中更好地理解C語言的結構,理論與實踐相互促進。
3 使用案例設計舉例
糧庫使用電動振動篩篩選糧食,振動期間產(chǎn)生的大量灰塵有害于身體健康,而控制振動篩的開關安裝在振動篩機體上,必須近距離操作,導致工作人員吸入大量灰塵。本案例開發(fā)手機APP以及振動篩下面的控制裝置取代原有的手工零距離按鈕,實現(xiàn)手機遠距離控制振動篩開關。振動篩自動開關系統(tǒng)組成如圖3所示。
手機終端APP如圖4所示,語音控制部分代碼如圖5所示。
單片機控制繼電器用到選擇結構的知識點:
int incomingByte;????? // 串口數(shù)據(jù)存儲
void setup() {
Serial.begin(9600);
pinMode(7, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
if (incomingByte == 'H')
{
digitalWrite(7, HIGH); //開繼電器
}
if (incomingByte == 'L')
{
digitalWrite(7, LOW);//關繼電器}
分支語句的H、L通過下面系列操作得到:讀單片機串口,由藍牙模塊輸入,藍牙模塊和手機終端的藍牙形成局域網(wǎng),語音輸入開、關通過云平臺識別為文本開關,手機APP將開、關轉(zhuǎn)為H、L發(fā)送給單片機。此案例簡單有趣,引發(fā)學生的思考,拓展學生視野,具有創(chuàng)新和實踐價值。
參考文獻:
[1]沈建新,陸勇.“新工科”理念下的地方本科高校校本課程開發(fā)[J].鹽城師范學院學報 (人文社會科學版),2017(4):116.
[2]楊曉燕,梁豐,王仁芳,等.新工科教育中計算機應用型人才培養(yǎng)實踐探索[J].計算機教育,2018(5):56.
[3]孫安媛,孫德林,徐舒.“互聯(lián)網(wǎng)+”背景下新工科信息化創(chuàng)新創(chuàng)業(yè)多樣化探索[J].江西通信科技,2008(1):35.
[4]周世平,童向榮,盧云宏.程序設計基礎課程改革方案探討[J].計算機教育,2015(3):84.
[5]陽小華,劉志明,李華新.大學計算機課程教學研究綜述:基于近十年中文核心期刊與CSSCI期刊文獻的分析[J].高等理科教育,2015(4):119.
[6]于莉莉, 張磊, 李晶. 學科交融、通專結合的程序類課程改革研究 [J]. 黑龍江教育學院學報 ,2018,37(6):40.
[7]呂程.新工科背景下的機械專業(yè) C 語言課程改革 [J]. 科技創(chuàng)新導報,2018(4):249.
[8]張書月.基于計算思維能力培養(yǎng)的 C 語言程序設計課程改革探究 [J]. 科技經(jīng)濟導刊,2018,26(25):141.
[9]韋劍, 劉方, 周丹. 基于翻轉(zhuǎn)課堂的獨立學院《C 語言程序設計》課程教學改革研究 [J]. 教育現(xiàn)代化,2017,4(45):101.
[10]教育部高教司.“新工科”建設復旦共識[J].高等工程教育研究,2017,24(1):10.
[11]教育部高教司.新工科建設指南(“北京指南”)[J].高等工程教育研究,2017,24(4):20.
[12]趙廣輝.面向新工科的Python程序設計交叉融合案例教學[J].計算機教育,2017(4):23.
[13]朱月秀.基于ACM競賽的C++程序設計課程教學改革[J].漳州師范學院學報(自然科學版),2012(1):96.
[14]孔繁森. 實踐教學體系的框架模型研究[J]. 高等工程教育研究2017(5):135.
(03)
基金項目:基于Arduino的C語言程序設計PBL教學模式探索,項目編號:2017XYB069
作者簡介:冉彥中(1969-),男,重慶萬州人,碩士,高級工程師,研究方向:人工智能應用,E-mail:1458485640@qq.com。
通訊作者:唐明祥(1968-),男,四川宜賓人,碩士,教授級高級工程師,研究方向:農(nóng)業(yè)機械:E-mail:279222513@qq.com。