陳丹丹,門洪,關(guān)碩,倫向敏,趙君
(東北電力大學(xué)自動(dòng)化工程學(xué)院,吉林吉林132012)
基于C++Builder的面向?qū)ο蟪绦蛟O(shè)計(jì)課程是測(cè)控專業(yè)一門重要的專業(yè)課,同時(shí)也是一門技術(shù)基礎(chǔ)課。該課程理論與實(shí)踐結(jié)合得比較緊密,尤為強(qiáng)調(diào)學(xué)生的實(shí)際動(dòng)手能力。它的教學(xué)效果直接影響到學(xué)生實(shí)踐技能的培養(yǎng)以及后續(xù)專業(yè)課程的學(xué)習(xí)[1]。以往課程的教學(xué)模式,大都是以程序語(yǔ)言自身的體系為脈絡(luò)展開教學(xué),再輔助以少量學(xué)時(shí)的幾個(gè)實(shí)驗(yàn)。實(shí)驗(yàn)項(xiàng)目設(shè)置也比較單調(diào)片面,絕大部分屬于驗(yàn)證組件屬性和方法的實(shí)驗(yàn),缺少與專業(yè)相關(guān)的應(yīng)用型實(shí)驗(yàn)。由于這種教學(xué)模式不是以解決實(shí)際工程應(yīng)用問(wèn)題為目的展開,學(xué)生難以在學(xué)習(xí)中獲取實(shí)際項(xiàng)目開發(fā)經(jīng)驗(yàn)。如此以來(lái),勢(shì)必給學(xué)生造成一種錯(cuò)覺,認(rèn)為程序設(shè)計(jì)類課程實(shí)用性不強(qiáng),不能應(yīng)用于專業(yè)實(shí)際,最終導(dǎo)致學(xué)生的學(xué)習(xí)熱情降低,教學(xué)效果不理想[2]。因此,傳統(tǒng)的教學(xué)內(nèi)容與授課模式,已滿足不了培養(yǎng)工程型人才的需要。如何改進(jìn)教學(xué)方法,提高教學(xué)效果,增強(qiáng)學(xué)生的軟件編程專業(yè)技能,顯得尤為重要。
課程的學(xué)習(xí)圍繞一個(gè)具體測(cè)控系統(tǒng)開發(fā)過(guò)程展開,將教學(xué)內(nèi)容重組,形成一個(gè)個(gè)單一模塊,每一模塊分別確定相應(yīng)的教學(xué)目標(biāo),教學(xué)重點(diǎn)及難點(diǎn),并分離出與之對(duì)應(yīng)的理論和實(shí)踐內(nèi)容[3]。各模塊的設(shè)置依據(jù)上位機(jī)軟件系統(tǒng)開發(fā)流程,每個(gè)模塊分別解決該測(cè)控系統(tǒng)開發(fā)過(guò)程中的一部分,最后將各模塊以“搭積木”的方式進(jìn)行組合,完成一個(gè)完整的測(cè)控系統(tǒng)開發(fā)。
變更授課地點(diǎn),把學(xué)生從合班教室?guī)氲綄?shí)驗(yàn)室機(jī)房,調(diào)整理論與上機(jī)學(xué)時(shí)比例為1 1,利用邊講邊練的授課模式開展教學(xué)。將理論內(nèi)容融入到每個(gè)教學(xué)模塊中,使學(xué)生在上機(jī)實(shí)踐中消化理解抽象的理論知識(shí)。學(xué)生每次上機(jī)都可解決測(cè)控系統(tǒng)開發(fā)過(guò)程中的一個(gè)模塊,可激發(fā)學(xué)生學(xué)習(xí)興趣,保證教學(xué)質(zhì)量。
考評(píng)體系包括四大部分:理論部分占20%,模塊考核部分占50%(五個(gè)模塊各占10%),綜合應(yīng)用部分占20%,平時(shí)表現(xiàn)部分占10%。每一模塊授課結(jié)束,引入相關(guān)評(píng)價(jià)機(jī)制,進(jìn)行一次模塊考核。當(dāng)整個(gè)課程教學(xué)結(jié)束后,要求實(shí)現(xiàn)某一測(cè)控系統(tǒng)的設(shè)計(jì),并進(jìn)行綜合應(yīng)用部分考核。最后,進(jìn)行紙制化理論考核。這樣當(dāng)最終完成真實(shí)測(cè)控系統(tǒng)開發(fā)時(shí),教學(xué)任務(wù)也同步完成[4]。
將一個(gè)具體的測(cè)控系統(tǒng)設(shè)計(jì)項(xiàng)目引入面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué),學(xué)生通過(guò)完成預(yù)先設(shè)置好的模塊化實(shí)驗(yàn)項(xiàng)目,可逐步達(dá)到測(cè)控系統(tǒng)設(shè)計(jì)目標(biāo),從而掌握開發(fā)測(cè)控系統(tǒng)涉及到的上位機(jī)軟件系統(tǒng)編程方法,獲取開發(fā)經(jīng)驗(yàn)。如以電廠鍋爐水溫控制系統(tǒng)設(shè)計(jì)項(xiàng)目為例,鍋爐水溫信號(hào)可由單片機(jī)提供,學(xué)生應(yīng)用面向?qū)ο笳Z(yǔ)言C++Builder6.0中的相關(guān)組件編程實(shí)現(xiàn)將單片機(jī)的控制的鍋爐水溫?cái)?shù)據(jù)顯示在PC上,完成單片機(jī)與PC機(jī)的通信。而且在控制過(guò)程中采集到的數(shù)據(jù)要求學(xué)生使用數(shù)據(jù)庫(kù)管理,數(shù)據(jù)庫(kù)應(yīng)用程序的編程能力也得到進(jìn)一步擴(kuò)展。具體實(shí)施方法將按照測(cè)控系統(tǒng)開發(fā)流程大致分為五個(gè)模塊:
(1)用戶管理模塊,用于講授常用控件、菜單和工具欄、文件管理組件等內(nèi)容,使學(xué)生了解用戶管理界面的設(shè)計(jì)。
(2)數(shù)據(jù)采集模塊,使學(xué)生掌握如何使用常用控件進(jìn)行參數(shù)的設(shè)置。
(3)通信控制模塊,用于講授串口通信控件,使學(xué)生掌握如何利用軟件控制單片機(jī),將單片機(jī)控制或運(yùn)行結(jié)果顯示在計(jì)算機(jī)屏幕上。
(4)顯示模塊,用于講授圖形和圖表控件,使學(xué)生可以分析數(shù)據(jù),繪制數(shù)據(jù)的曲線圖和狀態(tài)圖等。
(5)數(shù)據(jù)處理模塊,用于講授數(shù)據(jù)控制組件、數(shù)據(jù)訪問(wèn)組件及報(bào)表組件等數(shù)據(jù)庫(kù)常用組件,使學(xué)生掌握利用數(shù)據(jù)庫(kù)組件進(jìn)行數(shù)據(jù)的整理和保存。
在實(shí)驗(yàn)項(xiàng)目的設(shè)置上,力求以培養(yǎng)學(xué)生測(cè)控系統(tǒng)設(shè)計(jì)能力為目標(biāo),努力提高學(xué)生的實(shí)踐動(dòng)手能力和高級(jí)語(yǔ)言編程能力?,F(xiàn)將本課程以往實(shí)驗(yàn)項(xiàng)目與改進(jìn)的實(shí)驗(yàn)項(xiàng)目進(jìn)行對(duì)比如下,如表1和表2所示[5]。
表1 課程以往實(shí)驗(yàn)項(xiàng)目設(shè)置
表2 課程改進(jìn)實(shí)驗(yàn)項(xiàng)目設(shè)置
結(jié)合表1和表2可以看出,以往的實(shí)驗(yàn)項(xiàng)目大多為驗(yàn)證性實(shí)驗(yàn),而且實(shí)驗(yàn)中涉及的組件也只是一些基本通用的組件,這種實(shí)驗(yàn)不利于學(xué)生專業(yè)技能的培養(yǎng)。考慮到面向?qū)ο蠹夹g(shù)的開發(fā)工具涉及到的組件數(shù)量非常多,教學(xué)中不可能全面覆蓋,而且從組件應(yīng)用角度來(lái)看,其原理是相同的,可以舉一反三,沒有必要面面俱到。因此,改進(jìn)的實(shí)驗(yàn)項(xiàng)目,在內(nèi)容設(shè)置上,壓縮了驗(yàn)證性實(shí)驗(yàn)比例,有選擇性的針對(duì)專業(yè)特點(diǎn)和實(shí)際應(yīng)用,選取與專業(yè)相關(guān)的組件進(jìn)行講授,如增加設(shè)計(jì)測(cè)控系統(tǒng)涉及到的組件用法及相關(guān)編程內(nèi)容,使學(xué)生能夠“學(xué)有所用”,從而提高學(xué)生專業(yè)學(xué)習(xí)興趣,改善教學(xué)效果,有效地將面向?qū)ο蟪绦蛟O(shè)計(jì)課程融入專業(yè)培養(yǎng)。
按照上述思路,設(shè)計(jì)好的模塊化程序,學(xué)生在后續(xù)課程設(shè)計(jì)中仍可以作為參考。而且測(cè)控系統(tǒng)設(shè)計(jì)項(xiàng)目的選題內(nèi)容可以根據(jù)需要靈活調(diào)整,但必須滿足的共性條件是:能將單片機(jī)控制終端或信號(hào)采集與數(shù)據(jù)處理的結(jié)果顯示在上位機(jī)屏幕上,實(shí)現(xiàn)上下位機(jī)的通信,并能夠?qū)Σ杉降臄?shù)據(jù)進(jìn)行管理,包括數(shù)據(jù)的顯示、保存與打印等。
將測(cè)控系統(tǒng)設(shè)計(jì)項(xiàng)目引入面向?qū)ο蟪绦蛟O(shè)計(jì)課程,以基于C++Builder語(yǔ)言開發(fā)的模塊化程序?yàn)槠脚_(tái)進(jìn)行教學(xué),突破了傳統(tǒng)程序設(shè)計(jì)類課程的授課模式。通過(guò)教學(xué)實(shí)踐證明,這種新的教學(xué)方法不僅使學(xué)生在有限的課堂時(shí)間里熟悉了一種高級(jí)編程語(yǔ)言,而且在課程結(jié)束時(shí)亦可掌握開發(fā)測(cè)控系統(tǒng)涉及到的上位機(jī)軟件系統(tǒng)設(shè)計(jì)方法。該教學(xué)方法目前已應(yīng)用于測(cè)控專業(yè)09級(jí)學(xué)生,并取得了良好的教學(xué)效果,學(xué)生的學(xué)習(xí)興趣和動(dòng)手能力得到明顯提高,為學(xué)生順利走向工作崗位奠定了基礎(chǔ)。搭建的模塊化程序,可用于后續(xù)微機(jī)原理課程設(shè)計(jì)及儀表課程設(shè)計(jì),為實(shí)現(xiàn)專業(yè)課程體系的協(xié)調(diào)統(tǒng)一起到一定的推進(jìn)作用。
[1]王飛鵬.面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)方法研究探討[J].科技信息,2008(34):58-60.
[2]莫燕,熊邦書,付崇芳.將硬件引入“面向?qū)ο蟪绦蛟O(shè)計(jì)”課程實(shí)驗(yàn)教學(xué)[J].計(jì)算機(jī)時(shí)代,2010,4(1):62-63.
[3]周子平,杜月云.《VC++面向?qū)ο蟪绦蛟O(shè)計(jì)》的模塊化教學(xué)與創(chuàng)新應(yīng)用[J].商丘職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,6(5):112-113.
[4]李麗榮,邵林,黃艷.模塊化方法應(yīng)用于軟件課程教學(xué)的探索[J].科技信息,2007(25):46-47.
[5]陸衛(wèi)忠,劉文亮,等.C++Builder 6程序設(shè)計(jì)教程(第二版)[M].北京:科學(xué)出版社,2009.