劉珊珊 呂林海
第38卷第6期教學(xué)研究Vol38 No6
2015年11月Research in TeachingNov. 2015
應(yīng)用型本科電子信息類(lèi)學(xué)生
編程能力培養(yǎng)的探索與實(shí)踐
包理群李錦瓏蘭聰花(蘭州工業(yè)學(xué)院電子信息工程學(xué)院,甘肅蘭州730050)
[收稿日期]20150515[基金項(xiàng)目]甘肅省十二五教育科學(xué)規(guī)劃項(xiàng)目(GS[2013]GHB0940)
[作者簡(jiǎn)介]包理群(1983),女,甘肅定西人。副教授,碩士,主要研究方向?yàn)槌绦蛟O(shè)計(jì)、嵌入式系統(tǒng)等相關(guān)課程的研究和教學(xué)。[摘要]硬件編程能力是應(yīng)用型本科電子信息類(lèi)學(xué)生的專(zhuān)業(yè)核心能力,本文分析了電子信息類(lèi)學(xué)生編程能力培養(yǎng)現(xiàn)狀、問(wèn)題和難點(diǎn),結(jié)合教學(xué)實(shí)踐,探討了教學(xué)案例設(shè)計(jì)與硬件編程應(yīng)用相結(jié)合、實(shí)踐教學(xué)采用軟件仿真與實(shí)物調(diào)試相結(jié)合、編程思維與學(xué)習(xí)主動(dòng)性培養(yǎng)等教學(xué)改革思路,教學(xué)成效顯著。
[關(guān)鍵詞]應(yīng)用型本科;電子信息類(lèi)學(xué)生;編程能力;教學(xué)案例設(shè)計(jì)
[中圖分類(lèi)號(hào)]G642.0[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]10054634(2015)060085040引言
在教育領(lǐng)域,目前把大學(xué)分為學(xué)術(shù)型、應(yīng)用型和技能型大學(xué),應(yīng)用型本科是針對(duì)我國(guó)普通本科培養(yǎng)單一學(xué)術(shù)性人才模式的一種改革,它要求專(zhuān)業(yè)基礎(chǔ)知識(shí)夠用,更注重知識(shí)的綜合應(yīng)用和解決實(shí)際問(wèn)題能力的培養(yǎng)[1]。應(yīng)用型本科的主要任務(wù)是實(shí)施應(yīng)用型本科教育,培養(yǎng)適應(yīng)社會(huì)需求的應(yīng)用型人才。應(yīng)用型人才,就是指相對(duì)于高精尖理論型、學(xué)術(shù)型人才而言,掌握應(yīng)用型知識(shí)、更具有實(shí)踐能力的人。2014年,教育部提出將600所地方本科院校轉(zhuǎn)向應(yīng)用型[2],也體現(xiàn)了應(yīng)用型人才對(duì)我國(guó)經(jīng)濟(jì)和社會(huì)發(fā)展的重要性[2]。對(duì)于新建或新辦應(yīng)用型本科院校,不能穿新鞋、走老路,照搬舊模式,否則會(huì)與傳統(tǒng)大學(xué)辦學(xué)模式相似,失去自己的辦學(xué)特色和競(jìng)爭(zhēng)基礎(chǔ),因此大力推進(jìn)教學(xué)改革勢(shì)在必行。
電子信息是一門(mén)應(yīng)用計(jì)算機(jī)等技術(shù)進(jìn)行信息處理和信息控制的學(xué)科,編寫(xiě)程序完成數(shù)據(jù)采集、數(shù)據(jù)處理及硬件控制是該學(xué)科的主要技術(shù)領(lǐng)域。編程能力對(duì)于電子信息領(lǐng)域相關(guān)專(zhuān)業(yè)的學(xué)生都有要求,學(xué)習(xí)和掌握編程技術(shù)可以讓學(xué)生熟悉電子信息產(chǎn)品的運(yùn)行原理和運(yùn)行方式,提高電子信息產(chǎn)品的軟件研發(fā)能力。應(yīng)用型人才更注重知識(shí)的綜合應(yīng)用和解決實(shí)際問(wèn)題能力的培養(yǎng),因此基于硬件環(huán)境的編程能力對(duì)于電子信息類(lèi)學(xué)生顯得尤為重要,研究電子信息類(lèi)應(yīng)用型人才編程能力的培養(yǎng)具有十分重要的現(xiàn)實(shí)意義[3]。
1電子信息類(lèi)學(xué)生編程能力培養(yǎng)現(xiàn)狀
目前,我國(guó)應(yīng)用型本科院校電子信息類(lèi)學(xué)生編程能力培養(yǎng)主要在兩個(gè)環(huán)節(jié)完成:一是在“程序設(shè)計(jì)”類(lèi)課程(如《C語(yǔ)言程序設(shè)計(jì)》等)的教學(xué)中;二是在后續(xù)相關(guān)專(zhuān)業(yè)課程(如單片機(jī)、ARM、DSP等)的學(xué)習(xí)中。
程序設(shè)計(jì)基礎(chǔ)課程一般在大一第二學(xué)期開(kāi)設(shè),該課程概念抽象、語(yǔ)法繁多,剛進(jìn)入大學(xué)的學(xué)生在學(xué)習(xí)方式和思維方式須有較大改變,學(xué)生普遍感到難學(xué);學(xué)生對(duì)課程知識(shí)的應(yīng)用領(lǐng)域沒(méi)有認(rèn)識(shí),導(dǎo)致學(xué)習(xí)興趣不足;傳統(tǒng)的程序設(shè)計(jì)教學(xué)側(cè)重于語(yǔ)法知識(shí),大多數(shù)教材都是以成績(jī)管理為例講述相關(guān)算法,沒(méi)有與專(zhuān)業(yè)應(yīng)用相結(jié)合,也使學(xué)生感到枯燥乏味;在后續(xù)專(zhuān)業(yè)課程的學(xué)習(xí)中,編程能力又成了制約這些課程學(xué)習(xí)的主要瓶頸,造成學(xué)、用脫節(jié),這也是當(dāng)前高校電子信息類(lèi)學(xué)生培養(yǎng)中存在的主要問(wèn)題和難點(diǎn),有些學(xué)生對(duì)編程感興趣,但又不能與硬件環(huán)境相結(jié)合;有些學(xué)生對(duì)硬件設(shè)計(jì)感興趣,但缺乏硬件平臺(tái)上的編程能力,直接導(dǎo)致學(xué)生發(fā)展后勁不足和難以適應(yīng)市場(chǎng)需求。
綜上,編程能力是電子信息類(lèi)學(xué)生的薄弱環(huán)節(jié),直接制約了學(xué)生技術(shù)應(yīng)用能力和實(shí)踐創(chuàng)新能力的培養(yǎng),難以滿足對(duì)應(yīng)用型人才的社會(huì)需求。本文以提高電子信息類(lèi)學(xué)生編程能力為出發(fā)點(diǎn),結(jié)合教學(xué)實(shí)踐,探索教學(xué)改革思路。
2基于編程能力培養(yǎng)的教學(xué)改革
2.1教學(xué)案例設(shè)計(jì)與硬件編程應(yīng)用相結(jié)合
程序設(shè)計(jì)類(lèi)課程教學(xué)中,設(shè)計(jì)與單片機(jī)、ARM、DSP等實(shí)際編程應(yīng)用相結(jié)合的、具有實(shí)際應(yīng)用背景的教學(xué)案例,然后找到本課程相關(guān)知識(shí)在該案例解決中的應(yīng)用。新的教學(xué)內(nèi)容開(kāi)始時(shí),不直接講述課程知識(shí)點(diǎn),而是先提出一些具有實(shí)際意義的硬件編程實(shí)例讓學(xué)生去思考,看能否用已有的知識(shí)找到解決方法,然后再引入新的教學(xué)內(nèi)容?!禖語(yǔ)言程序設(shè)計(jì)》課程是電子信息類(lèi)專(zhuān)業(yè)的核心專(zhuān)業(yè)基礎(chǔ)課,是后續(xù)單片機(jī)、DSP、ARM等嵌入式開(kāi)發(fā)類(lèi)課程的重要語(yǔ)言和編程基礎(chǔ)。下面以《C語(yǔ)言程序設(shè)計(jì)》課程教學(xué)中兩個(gè)具體案例進(jìn)行說(shuō)明。
第6期包理群李錦瓏蘭聰花應(yīng)用型本科電子信息類(lèi)學(xué)生編程能力培養(yǎng)的探索與實(shí)踐
教學(xué)研究2015
1) “位運(yùn)算”教學(xué)。
“位運(yùn)算”是一種特殊的運(yùn)算,在嵌入式系統(tǒng)編程中,“位運(yùn)算”比其他運(yùn)算更常用,而教材的這部分內(nèi)容通常不涉及其應(yīng)用領(lǐng)域,因此可在“位運(yùn)算”這一部分內(nèi)容講授時(shí)設(shè)計(jì)和引入“單片機(jī)/ARM控制流水燈顯示”項(xiàng)目,讓學(xué)生了解“位運(yùn)算”的應(yīng)用領(lǐng)域,既增強(qiáng)了學(xué)生學(xué)習(xí)本課程的興趣和積極性,也實(shí)現(xiàn)了與后續(xù)專(zhuān)業(yè)課程的有效銜接。
2) “數(shù)組”教學(xué)。
“數(shù)組”是程序設(shè)計(jì)中一種非常重要的數(shù)據(jù)結(jié)構(gòu),是學(xué)生學(xué)完基本類(lèi)型的“變量”之后接觸到的第一種構(gòu)造數(shù)據(jù)類(lèi)型。這部分內(nèi)容的教學(xué)可與電子信息專(zhuān)業(yè)的后期專(zhuān)業(yè)應(yīng)用相結(jié)合,例如,在“單片機(jī)控制數(shù)碼管顯示”問(wèn)題中,就用到了對(duì)數(shù)組的訪問(wèn);“求最大值、最小值”問(wèn)題是數(shù)據(jù)應(yīng)用中最基本的算法,傳統(tǒng)教學(xué)在講述該算法時(shí)還是以學(xué)生成績(jī)最高分、最低分為例。該算法也在傳感器采集數(shù)據(jù)濾波問(wèn)題中用到,因此在講述這部分內(nèi)容時(shí),可以設(shè)計(jì)這些專(zhuān)業(yè)應(yīng)用實(shí)例,引導(dǎo)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對(duì)基礎(chǔ)知識(shí)的理解。下面以《C語(yǔ)言程序設(shè)計(jì)》課程中“一維數(shù)組的應(yīng)用”一節(jié)教學(xué)內(nèi)容設(shè)計(jì)為例進(jìn)行說(shuō)明。
學(xué)習(xí)內(nèi)容:一維數(shù)組的應(yīng)用。
學(xué)習(xí)目標(biāo):熟悉一維數(shù)組的使用,掌握應(yīng)用一維數(shù)組進(jìn)行數(shù)據(jù)處理的方法,實(shí)現(xiàn)與后續(xù)單片機(jī)、ARM、DSP等電子信息類(lèi)專(zhuān)業(yè)課程的有效銜接。
學(xué)習(xí)重點(diǎn):應(yīng)用一維數(shù)組進(jìn)行數(shù)據(jù)處理的方法。
學(xué)習(xí)難點(diǎn):數(shù)組元素的引用(數(shù)組下標(biāo)的靈活使用)。
【任務(wù)要求】
從下列數(shù)據(jù)中找出最大值并輸出:
18.5,16.3,21.4,13.2,8.6,7.5,19.2,25.3,15.7,13.8。
【課堂討論】
求最值在電子信息數(shù)據(jù)處理中的應(yīng)用:例如傳感器采集數(shù)據(jù)的濾波。
【任務(wù)分析】
1、數(shù)據(jù)存儲(chǔ)
float temper[10];
2、數(shù)據(jù)處理
int max=0;
temper[max]與temper[1]比較:
temper[max]與temper[2]比較:max=2
……
temper[max]與temper[9]比較:
3、數(shù)據(jù)輸出 temper[max]
【程序代碼】
#define NUM 10
main()
{ float temper[NUM]={18.5,16.3,21.4,13.2,8.6,7.5,19.2,25.3,15.7,13.8};
int i,max=0;
for(i=1;i /*如果找到了更大的數(shù)組元素,則max 記錄其下標(biāo)值*/ if(temper[i]>temper[max]) max=i; printf("The highest temperature is %.1f degrees ", temper[max]); } 【課堂練習(xí)】 編寫(xiě)程序,從下列數(shù)據(jù)中找出最小值并輸出(自己動(dòng)手,掌握算法核心思想): 18.5,16.3,21.4,13.2,8.6,7.5,19.2,25.3,15.7,13.8 【應(yīng)用舉例】 演示單片機(jī)控制數(shù)碼管顯示時(shí)、分、秒應(yīng)用系統(tǒng),如圖1所示現(xiàn)在是13時(shí)15分32秒。分析此實(shí)例中的如下關(guān)鍵代碼(假設(shè)變量hour、min、sec分別保存時(shí)、分、秒數(shù)值),鞏固“數(shù)組下標(biāo)的靈活使用”這一知識(shí)點(diǎn)。 dispbuf [0]= code[sec%10]; dispbuf [1]= code[sec/10]; dispbuf [2]= code[min%10]; dispbuf [3]= code[min/10]; dispbuf [4]= code[hour%10]; dispbuf [5]= code[hour/10]; 圖1數(shù)組應(yīng)用——單片機(jī)控制數(shù)碼管顯示 【任務(wù)拓展】 如何在后三個(gè)數(shù)碼管上顯示一個(gè)三位十進(jìn)制整數(shù)qtity(動(dòng)腦思考:實(shí)際問(wèn)題中數(shù)組下標(biāo)的靈活應(yīng)用)。 2.2實(shí)踐教學(xué)采用軟件仿真與實(shí)物調(diào)試相結(jié)合目前大多數(shù)高校在單片機(jī)等課程的實(shí)踐教學(xué)中只采用實(shí)驗(yàn)箱[4],學(xué)生只通過(guò)簡(jiǎn)單的連線就完成了硬件電路連接,而且實(shí)驗(yàn)箱的線路連接已經(jīng)固定,因此學(xué)生不能深入掌握硬件電路的工作原理和設(shè)計(jì)方法[5],更不會(huì)自己設(shè)計(jì)硬件電路;在程序編寫(xiě)時(shí)也是簡(jiǎn)單的模仿實(shí)驗(yàn)例程,不能真正提高學(xué)生自主分析和解決問(wèn)題的能力,也難以激發(fā)學(xué)習(xí)興趣。 Proteus軟件是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件??蓪?shí)現(xiàn)單片機(jī)、ARM等與外部設(shè)備的仿真,可在沒(méi)有實(shí)際硬件的場(chǎng)合實(shí)現(xiàn)軟硬件聯(lián)合調(diào)試。學(xué)生只需要一臺(tái)電腦就可以完成原理圖設(shè)計(jì)、PCB設(shè)計(jì)、軟件編寫(xiě)到軟硬件聯(lián)合調(diào)試整個(gè)過(guò)程,有效避免了學(xué)生只能在做實(shí)驗(yàn)時(shí)調(diào)試程序,課堂教學(xué)、實(shí)驗(yàn)教學(xué)和課后自學(xué)相脫節(jié)的難題。因此,在實(shí)踐教學(xué)中,可以采用Proteus系統(tǒng)仿真與實(shí)物調(diào)試相結(jié)合的方法,讓學(xué)生更方便、直觀地感受硬件編程環(huán)境和編程場(chǎng)景,為學(xué)生在硬件平臺(tái)上的軟件編程能力培養(yǎng)創(chuàng)造和提供條件。 以單片機(jī)系統(tǒng)實(shí)訓(xùn)為例,將其分為Proteus系統(tǒng)仿真與實(shí)物調(diào)試兩個(gè)環(huán)節(jié),圖2是筆者設(shè)計(jì)的實(shí)訓(xùn)題目——“多功能電子萬(wàn)年歷”的單片機(jī)系統(tǒng)仿真圖,具有日期時(shí)間顯示和調(diào)節(jié)、鬧鐘參數(shù)設(shè)置、溫度顯示、音樂(lè)播放等功能。實(shí)習(xí)內(nèi)容分為基本任務(wù)和拓展任務(wù),以滿足不同層次學(xué)生的培養(yǎng)要求。通過(guò)該仿真環(huán)節(jié)的實(shí)現(xiàn),培養(yǎng)學(xué)生以下幾方面的技術(shù)應(yīng)用能力。 1) 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)方法(包括硬件電路和軟件編程); 2) 按鍵、液晶、發(fā)光二極管、蜂鳴器等基本輸出設(shè)備的使用和編程控制; 3) 時(shí)鐘芯片、溫度傳感器等常用集成電路芯片的編程; 4) 分析和解決問(wèn)題的能力、查閱資料的能力和團(tuán)隊(duì)合作能力。 圖2單片機(jī)控制多功能電子萬(wàn)年歷仿真圖 2.3編程思維與學(xué)習(xí)興趣的培養(yǎng) 傳統(tǒng)的程序設(shè)計(jì)教學(xué),往往把精力和時(shí)間花在語(yǔ)法知識(shí)上,而沒(méi)有把程序設(shè)計(jì)思路作為教學(xué)重點(diǎn),學(xué)生不具備編程的抽象思維能力。因此,教師要轉(zhuǎn)變教學(xué)觀念,從案例入手,在案例中引出問(wèn)題,在問(wèn)題的解決中消化知識(shí)點(diǎn),然后再引導(dǎo)學(xué)生應(yīng)用所學(xué)知識(shí)解決實(shí)際問(wèn)題[6],以此激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)編程思維。 采用基礎(chǔ)實(shí)驗(yàn)實(shí)習(xí)實(shí)訓(xùn)學(xué)生競(jìng)賽的實(shí)踐教學(xué)培養(yǎng)體系和分層遞進(jìn)的實(shí)踐項(xiàng)目,將編程能力的培養(yǎng)貫穿于大學(xué)四年的學(xué)習(xí)之中,讓編程能力培養(yǎng)在四年學(xué)習(xí)中不間斷,一般學(xué)生的能力得到最大程度的發(fā)揮,優(yōu)秀學(xué)生脫穎而出,帶動(dòng)和激勵(lì)大多數(shù)學(xué)生的學(xué)習(xí)積極性和創(chuàng)造性。 在編程能力的后續(xù)培養(yǎng)中,一部分對(duì)編程感興趣的同學(xué)能積極參與各種競(jìng)賽,鍛煉和提升了學(xué)生的能力,另一部分學(xué)生處于自發(fā)的摸索狀態(tài),缺乏相互的交流與合作,還有大部分同學(xué)放棄了編程學(xué)習(xí)。因此,可將學(xué)生分成各種層次、類(lèi)型的興趣小組,創(chuàng)造良好的學(xué)習(xí)交流氛圍,形成激勵(lì)機(jī)制,讓高年級(jí)學(xué)生或者編程能力較強(qiáng)的學(xué)生帶動(dòng)、幫扶中等和較差的學(xué)生,定期舉辦講座等學(xué)術(shù)交流活動(dòng),請(qǐng)優(yōu)秀學(xué)生講解學(xué)習(xí)經(jīng)驗(yàn)、開(kāi)發(fā)技巧。鼓勵(lì)學(xué)生參與教師的科研項(xiàng)目,以科研促教研,實(shí)現(xiàn)教學(xué)與工程實(shí)際、科學(xué)研究和社會(huì)應(yīng)用的密切結(jié)合。