計(jì)算機(jī)函數(shù)入門教學(xué)范文
時(shí)間:2023-12-05 17:55:07
導(dǎo)語(yǔ):如何才能寫好一篇計(jì)算機(jī)函數(shù)入門教學(xué),這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
關(guān)鍵詞:計(jì)算機(jī)技術(shù)基礎(chǔ);農(nóng)業(yè)院校;課時(shí);探討
中圖分類號(hào):TP3-4
1 課程教學(xué)目標(biāo)
《計(jì)算機(jī)技術(shù)基礎(chǔ)》是高等學(xué)校非計(jì)算機(jī)專業(yè)的一門公共課程,根據(jù)教育部高教司的有關(guān)要求規(guī)定,這門課程是在第一層次即《計(jì)算機(jī)文化基礎(chǔ)》以后的第二層次的課程,要求學(xué)生具有一種高級(jí)語(yǔ)言編程和上機(jī)調(diào)試程序的能力。課程的教學(xué)的目標(biāo):在使用計(jì)算機(jī)的基礎(chǔ)上,掌握一門計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,編制一些常用程序,具有一定的程序開發(fā)能力;具有一定水平的硬件知識(shí),能夠自我組織、安裝或開發(fā)小規(guī)模硬件系統(tǒng);具有熟悉、消化、使用與所從事專業(yè)關(guān)系密切的最新軟件的能力;具有自我學(xué)習(xí)能力,能不斷吸取計(jì)算機(jī)科技發(fā)展新成果,緊跟信息科學(xué)發(fā)展步伐的能力。
本課程的教學(xué)改革圍繞教學(xué)目標(biāo)不斷進(jìn)行,近年來(lái),根據(jù)我校教學(xué)改革的總體要求,課程設(shè)置包括課時(shí)都進(jìn)行了不同程度調(diào)整,突出核心或主干課程的重要性。隨著計(jì)算機(jī)及信息技術(shù)的發(fā)展普及,學(xué)生在入學(xué)前接觸計(jì)算機(jī)的機(jī)會(huì)大大增加,對(duì)計(jì)算機(jī)的了解、使用情況較以往已大不相同,所以,計(jì)算機(jī)公共課課時(shí)進(jìn)行了壓縮,《計(jì)算機(jī)技術(shù)基礎(chǔ)》由60課時(shí)(理論30課時(shí))壓縮至48課時(shí)(理論24課時(shí)),相應(yīng)的課程內(nèi)容就要做調(diào)整。24課時(shí)的理論課如何設(shè)置,如何達(dá)到相應(yīng)的教學(xué)要求,我們?cè)诮虒W(xué)中進(jìn)行了不斷的探索。
2 課程內(nèi)容設(shè)置
我?!队?jì)算機(jī)技術(shù)基礎(chǔ)》課程采用Visual Basic為主要平臺(tái),講授基本的windows桌面應(yīng)用,主要教學(xué)內(nèi)容有兩方面,一是基本算法編程,二是VB基本界面、功能編程,其中以基本算法編程為核心。根據(jù)本次教學(xué)改革要求,將主要內(nèi)容按順序劃分為如下模塊:
2.1 基本程序設(shè)計(jì)
這一部分包含3個(gè)教學(xué)章節(jié),講授10課時(shí),主要內(nèi)容有:
第一章,概述(2課時(shí)),具體內(nèi)容包括硬件和軟件;計(jì)算機(jī)工作原理(存儲(chǔ)程序);軟件開發(fā)工具及程序設(shè)計(jì)語(yǔ)言(概念、分類等);VB概述(發(fā)展、特點(diǎn)等);明確面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念和 vb事件驅(qū)動(dòng)程序的突出特點(diǎn);VB集成開發(fā)環(huán)境概覽,,明確VB三種工作狀態(tài),明確VB應(yīng)用程序組成部分和文件類型。
第二章,VB基本語(yǔ)言(3課時(shí)),具體內(nèi)容包括VB數(shù)據(jù)類型;常量和變量;VB表達(dá)式;常用數(shù)學(xué)函數(shù);四則運(yùn)算類程序設(shè)計(jì)。
第三章 順序結(jié)構(gòu)(5課時(shí)),具體內(nèi)容包括賦值語(yǔ)句;Inputbox函數(shù);Msgbox函數(shù);Print方法;常用內(nèi)部函數(shù);順序結(jié)構(gòu)程序設(shè)計(jì);窗體、標(biāo)簽(Caption屬性)、文本框(text屬性)和命令按鈕簡(jiǎn)介;Windows風(fēng)格的順序結(jié)構(gòu)程序設(shè)計(jì)。
這一部分學(xué)習(xí)完成后要求學(xué)生掌握3方面主要內(nèi)容:1. 基本計(jì)算;2. Windows基本界面,重點(diǎn)解決Windows風(fēng)格的輸入輸出;3. 常用內(nèi)部函數(shù)。這部分內(nèi)容完成后要求學(xué)生對(duì)順序結(jié)構(gòu)的程序設(shè)計(jì)能夠完全掌握,會(huì)編程進(jìn)行基本的運(yùn)算。
2.2 分支程序設(shè)計(jì)
教學(xué)章節(jié)為第四章,分支,講授3課時(shí)。講授內(nèi)容為:?jiǎn)涡薪Y(jié)構(gòu)If語(yǔ)句;簡(jiǎn)單塊結(jié)構(gòu)If語(yǔ)句(不帶Elseif的);一般塊結(jié)構(gòu)If語(yǔ)句;條件語(yǔ)句的嵌套。本章中Select case語(yǔ)句因課時(shí)原因不講。
這部分內(nèi)容要重點(diǎn)強(qiáng)調(diào)流程圖,掌握分支的形態(tài)和含義。
2.3 循環(huán)程序設(shè)計(jì)
教學(xué)章節(jié)為第五章,循環(huán),講授8課時(shí)。講授內(nèi)容為:循環(huán)的概念;While語(yǔ)句;Do語(yǔ)句;For語(yǔ)句;多重循環(huán)。本章涉及各種常用算法,是本課程的核心內(nèi)容。
2.4 數(shù)組
教學(xué)章節(jié)為第六章,數(shù)組,講授2課時(shí)。因課時(shí)關(guān)系重點(diǎn)講一維數(shù)組,二維數(shù)組簡(jiǎn)單介紹。本章要重點(diǎn)講授的內(nèi)容為排序算法。
2.5 常用控件
教學(xué)章節(jié)為第七章,常用控件,講授1課時(shí)。重點(diǎn)講授用文本框解決多行輸出和Timer控件。
通過(guò)這樣設(shè)置教學(xué)內(nèi)容,在較短的課時(shí)內(nèi)讓學(xué)生對(duì)VB進(jìn)行較完整的入門學(xué)習(xí)。
3 教學(xué)探討
上述的課程設(shè)置經(jīng)過(guò)教學(xué)實(shí)踐證明,課程設(shè)置緊湊,要求教師充分利用課堂時(shí)間,同時(shí)也要充分利用上機(jī)實(shí)驗(yàn)時(shí)間補(bǔ)充說(shuō)明,在較短的課時(shí)內(nèi)可以讓學(xué)生對(duì)VB進(jìn)行較完整的入門學(xué)習(xí)。
在教學(xué)中,要適應(yīng)新的教學(xué)內(nèi)容和安排,注意如下問題:
3.1 盡快入門的問題
農(nóng)林專業(yè)的學(xué)生其專業(yè)課程和理工類課程差別較大,固有的學(xué)習(xí)習(xí)慣和方式在計(jì)算機(jī)等課程的學(xué)習(xí)中會(huì)遇到問題,因此要幫助他們掌握相應(yīng)的知識(shí)和技能,盡快入門,盡快培養(yǎng)興趣。教學(xué)的內(nèi)容組織非常關(guān)鍵,有些教科書在一開始就會(huì)羅列出很多內(nèi)容,這些內(nèi)容會(huì)讓初學(xué)者望而卻步,產(chǎn)生畏難情緒,作為教師就是要讓學(xué)生有選擇地掌握重點(diǎn)內(nèi)容,迅速入門,這樣才能調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性。
3.2 掌握基本概念和技能
VB的內(nèi)容十分龐大,吸引人的地方也很多,但是,基本的內(nèi)容、基本的算法是要學(xué)習(xí)掌握的核心內(nèi)容,這些內(nèi)容要扎扎實(shí)實(shí)地掌握,作為程序設(shè)計(jì)的入門課程,如何正確描述和實(shí)現(xiàn)算法是學(xué)習(xí)的關(guān)鍵,不少學(xué)生雖然語(yǔ)句也學(xué)了,但一寫格式就錯(cuò),編程時(shí)總有偏差和感到困難,這都是基本功不扎實(shí)的表現(xiàn),本課程24課時(shí)的理論內(nèi)容都學(xué)好了,24課時(shí)的上機(jī)實(shí)踐都認(rèn)真練習(xí)了,VB學(xué)習(xí)就算入門了,以后的學(xué)習(xí)可以憑自己興趣展開。
3.3 教學(xué)手段方法的改進(jìn)
隨著教學(xué)條件的不斷改善,計(jì)算機(jī)教學(xué)在許多高校已完全采用多媒體等手段,充分利用多媒體手段,做好課件,體現(xiàn)細(xì)節(jié)是重要的改革內(nèi)容。在教學(xué)方法上,要強(qiáng)調(diào)理論和實(shí)踐的結(jié)合,理論課講清基本概念和方法,實(shí)驗(yàn)課加強(qiáng)實(shí)踐。計(jì)算機(jī)的操作命令、語(yǔ)言語(yǔ)法不需要推導(dǎo),概念也不復(fù)雜,但必須通過(guò)上機(jī)操作才能掌握。所以盡管理論課課時(shí)減少,但實(shí)驗(yàn)課時(shí)仍相應(yīng)匹配,占總學(xué)時(shí)一半,實(shí)驗(yàn)進(jìn)度與理論進(jìn)度同步。
4 網(wǎng)絡(luò)三維虛擬校園的應(yīng)用分析
在網(wǎng)絡(luò)三維虛擬校園正式建立之后,其應(yīng)用層面較廣,且其面向的使用用戶范圍也較廣,包括學(xué)生、教師、外來(lái)拜訪者在內(nèi)的各類人員都可以通過(guò)該系統(tǒng)對(duì)校園做出全方面定位了解。具體來(lái)說(shuō),該系統(tǒng)可以應(yīng)用于以下幾大方面:
(1)基本的地圖顯示:使用者可以通過(guò)系統(tǒng)觀看到整體校園的地圖面貌,并且可以通過(guò)按鍵操作實(shí)現(xiàn)對(duì)地圖的任意放大、縮小、平移等操作,使用戶自己能夠極為方便地查看校園的整體平面圖與細(xì)節(jié)圖,以及三維景觀圖。
(2)測(cè)量功能:盡管網(wǎng)絡(luò)三維虛擬校園是按照一定的比例將原實(shí)景進(jìn)行縮放面描述,但是用戶在使用過(guò)程中也可以通過(guò)在圖中畫一折線或多邊形,使系統(tǒng)自動(dòng)計(jì)算其長(zhǎng)度和面積,且其數(shù)據(jù)處于一定的精確范圍之內(nèi)。
(3)地圖導(dǎo)航功能:導(dǎo)航功能是網(wǎng)絡(luò)三維虛擬校園系統(tǒng)的基本功能之一,用戶可以通過(guò)點(diǎn)擊地圖上任一圖元查看了解校園內(nèi)任意單元的屬性信息,并且可以通過(guò)路線查詢進(jìn)行地圖導(dǎo)航,通過(guò)達(dá)到觀光與探路的功能。
(4)鷹眼功能:該系統(tǒng)同時(shí)能夠?qū)崿F(xiàn)鷹眼功能,既保證客戶能夠通過(guò)系統(tǒng)操作對(duì)整體校園的實(shí)景進(jìn)行瀏覽,就好像借助老鷹的眼睛在校園上空盤旋探測(cè),對(duì)校園內(nèi)的每一處建筑物做出詳細(xì)的屬性信息了解。
5 結(jié)束語(yǔ)
短課時(shí)《計(jì)算機(jī)技術(shù)基礎(chǔ)》教學(xué)已正常展開,它對(duì)任課教師提出了較高要求,為提高教學(xué)質(zhì)量,教師要精心備課,精心設(shè)計(jì)每一個(gè)教學(xué)環(huán)節(jié),不斷督促學(xué)生學(xué)習(xí),就目前情況看,教學(xué)效果基本令人滿意。
參考文獻(xiàn):
[1]鄧睿.淺談高校計(jì)算機(jī)基礎(chǔ)教學(xué)存在問題及對(duì)策研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(20):260-261.
篇2
關(guān)鍵詞:C語(yǔ)言;計(jì)算機(jī)
一、首先要學(xué)好數(shù)學(xué)這門基礎(chǔ)課
IT 界有一句比較實(shí)在的話“數(shù)學(xué)是計(jì)算機(jī)之母”。在 C 語(yǔ)言的學(xué)習(xí)過(guò)程中,一般有大量的算法和數(shù)據(jù)結(jié)構(gòu)需要去了解,由此可見數(shù)學(xué)在計(jì)算機(jī)學(xué)習(xí)中的重要地位,同理,在 C 語(yǔ)言的學(xué)習(xí)過(guò)程中,數(shù)學(xué)思想的應(yīng)用會(huì)讓人有豁然開朗之感,一些簡(jiǎn)單的運(yùn)算問題的解決其實(shí)就是在數(shù)學(xué)領(lǐng)域的,編寫程序是為了讓計(jì)算機(jī)可以代替人操作運(yùn)算過(guò)程,從而減少人力。
二.、明確學(xué)習(xí)C語(yǔ)言的目的
我們的學(xué)習(xí)目的不是只為了學(xué)習(xí)C語(yǔ)言,而是為了能夠掌握程序設(shè)計(jì)的方法,具有程序設(shè)計(jì)的基本理念,為以后的計(jì)算機(jī)應(yīng)用打下基礎(chǔ)。在學(xué)習(xí)中很多學(xué)生認(rèn)為這門課程既難學(xué)、又看不到任何成果, 不如 Java 等語(yǔ)言很快就能編寫出有漂亮圖形界面的程序。 但C 語(yǔ)言有助于對(duì)計(jì)算機(jī)編程底層原理的理解,對(duì)調(diào)整知識(shí)結(jié)構(gòu)和能力結(jié)構(gòu),提高自己的綜合素質(zhì)都有很大幫助。
三、語(yǔ)言入門
剛開始接觸計(jì)算機(jī)知識(shí),處于一個(gè)計(jì)算機(jī)技術(shù)的啟蒙階段.在這個(gè)啟蒙階段,最重要的就是入門。當(dāng)大家都滿懷信心的去學(xué)習(xí)那些被各大高校都當(dāng)作計(jì)算機(jī)入門教材的C 語(yǔ)言的時(shí)候,發(fā)現(xiàn)太多的“不明白”,因此《C語(yǔ)言程序設(shè)計(jì)》入門課是至關(guān)重要的。因?yàn)閷W(xué)生都是初次接觸C語(yǔ)言,C 語(yǔ)言對(duì)他們來(lái)說(shuō)是神秘的,首先在學(xué)習(xí)之前要充分了解相關(guān)領(lǐng)域的知識(shí),明確學(xué)習(xí)目的及學(xué)習(xí)重要性,激發(fā)學(xué)生的學(xué)習(xí)好奇心和欲望。
四、了解C語(yǔ)言的發(fā)展歷史,使自己對(duì)C語(yǔ)言產(chǎn)生一種似曾相識(shí)的感覺
C語(yǔ)言是國(guó)際上廣泛流行的計(jì)算機(jī)語(yǔ)言,既可以用來(lái)寫系統(tǒng)軟件,也可以用來(lái)寫應(yīng)用軟件,特別對(duì)操作系統(tǒng)和系統(tǒng)實(shí)用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,C語(yǔ)言明顯地占優(yōu)勢(shì)。比如網(wǎng)絡(luò)編程語(yǔ)言PHP的絕大部分內(nèi)容與C語(yǔ)言相同,如果學(xué)過(guò)C語(yǔ)言,那么再學(xué)PHP就會(huì)非常輕松。
五、把好實(shí)踐關(guān),重視每次上機(jī)試驗(yàn)
C語(yǔ)言是一門實(shí)踐性很強(qiáng)的課程,既要掌握概念,又要?jiǎng)邮志幊獭⑸蠙C(jī)調(diào)試運(yùn)行。養(yǎng)成上機(jī)前分析題目,決定算法與數(shù)據(jù)結(jié)構(gòu),并編出程序源代碼的好習(xí)慣,這樣在上機(jī)時(shí),就會(huì)有的放矢,上機(jī)時(shí)輸入程序并完成語(yǔ)法檢查,再運(yùn)行程序,檢查運(yùn)行結(jié)果,同時(shí)詳細(xì)記錄下在程序調(diào)試過(guò)程中所遇到的問題及解決辦法。編程千萬(wàn)不可遇難而退,這個(gè)時(shí)候是決定你水平提高的關(guān)鍵,一定要堅(jiān)持到底。堅(jiān)持就能成功。上機(jī)過(guò)程中主要精力放在調(diào)式程序上。實(shí)習(xí)結(jié)束后隨堂完成實(shí)驗(yàn)報(bào)告,逐步積累調(diào)試程序的經(jīng)驗(yàn)。培養(yǎng)自己良好的編程習(xí)慣。明確一點(diǎn)“C 語(yǔ)言不是看會(huì)的,也不是聽會(huì)的,而是親自動(dòng)手實(shí)踐練會(huì)的”。
六、強(qiáng)調(diào)問題學(xué)習(xí),培養(yǎng)自己的創(chuàng)造性思維
目前許多學(xué)生普遍缺乏問題意識(shí),則學(xué)習(xí)就失去了快速前進(jìn)的動(dòng)力。每次學(xué)習(xí)都要帶著問題去學(xué),直到把問題解決了,知識(shí)也就掌握了??茖W(xué)并非始于觀察,而是始于科學(xué)問題,正是問題激發(fā)人們?nèi)ビ^察、去思考,從而啟動(dòng)了科學(xué)探索的創(chuàng)造機(jī)制激活了科學(xué)家的創(chuàng)新思路。
七、牢牢把握住C語(yǔ)言的知識(shí)要點(diǎn)
C語(yǔ)言內(nèi)容十分豐富,各知識(shí)點(diǎn)具有非常大的連貫性,常常是牽一發(fā)而動(dòng)全身,這往往使得學(xué)生在入門階段容易產(chǎn)生畏難情緒。眼高手低是每一個(gè)剛學(xué) C 語(yǔ)言的人都會(huì)出現(xiàn)的一種情況。由于 C 語(yǔ)言靈活、強(qiáng)大,初學(xué)者要全面地掌握它非常吃力,因此在學(xué)習(xí) C 語(yǔ)言的過(guò)程中,一定要熟練掌握 C 語(yǔ)言的流程控制語(yǔ)句、數(shù)組、函數(shù)、指針等基礎(chǔ)知識(shí)??梢园褜W(xué)習(xí)的重點(diǎn)放在函數(shù)的設(shè)計(jì)框架、參數(shù)設(shè)計(jì)、返回值設(shè)計(jì)等關(guān)鍵問題上。
八、學(xué)習(xí)過(guò)程中引入軟件工程的基本思想
為使自己有良好的編程思維,培養(yǎng)自己在程序設(shè)計(jì)中從軟件工程角度去系統(tǒng)分析問題的良好習(xí)慣。
總之,計(jì)算機(jī)語(yǔ)言是各高校普遍設(shè)置的一門計(jì)算機(jī)課程,也是培養(yǎng)大學(xué)生計(jì)算機(jī)能力的一門基礎(chǔ)課程,是各專業(yè)學(xué)生進(jìn)行計(jì)算機(jī)編程以及從事計(jì)算機(jī)研究的基礎(chǔ)類課程,意義十分重大。計(jì)算機(jī)語(yǔ)言的種類很多,各種語(yǔ)言的區(qū)別只是語(yǔ)法規(guī)則和具體的實(shí)現(xiàn)方式不同,好多方面都是相通的,所以對(duì)于計(jì)算機(jī)語(yǔ)言的學(xué)習(xí)關(guān)鍵在于精而不在于多。C語(yǔ)言是計(jì)算機(jī)程序設(shè)計(jì)中一種廣泛使用的基本語(yǔ)言工具,學(xué)習(xí) C語(yǔ)言是學(xué)生形成編程思維,是為將來(lái)進(jìn)行計(jì)算機(jī)軟件開發(fā)設(shè)計(jì)打下基礎(chǔ)的重要過(guò)程。
【參考文獻(xiàn)】
[1]李少華.《C語(yǔ)言程序設(shè)計(jì)》教學(xué)中的幾點(diǎn)體會(huì),長(zhǎng)江大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版).2010,(10).
篇3
關(guān)鍵詞: EWB 計(jì)算機(jī)仿真 電子技術(shù)
電子技術(shù)基礎(chǔ)是職業(yè)學(xué)校電工電子類各專業(yè)最為重要的專業(yè)基礎(chǔ)課程之一,也是一門實(shí)踐性很強(qiáng)的課程。在教學(xué)過(guò)程中,不少學(xué)生對(duì)看不見摸不著的電子現(xiàn)象的相關(guān)知識(shí)缺乏感性的認(rèn)識(shí),其中一個(gè)重要的原因在于實(shí)驗(yàn)設(shè)備的不足;另一個(gè)重要的原因在于講授理論課難以進(jìn)行同步的實(shí)驗(yàn);同時(shí),對(duì)于復(fù)雜的原理、現(xiàn)象缺少相關(guān)的多媒體輔助教學(xué)平臺(tái),用傳統(tǒng)教學(xué)方法難以講解明白;再者就是授課時(shí)間不夠充足,學(xué)生動(dòng)手機(jī)會(huì)不多。近幾年來(lái),筆者在教學(xué)中嘗試運(yùn)用EWB仿真軟件進(jìn)行輔助教學(xué),使抽象的理論直觀化、形象化,使實(shí)驗(yàn)與理論得到了有機(jī)結(jié)合,教師教得輕松,學(xué)生也學(xué)得愉快,達(dá)到了事半功倍的效果。
一、EWB簡(jiǎn)介
EWB是加拿大Interactive Image Technologies公司推出的一個(gè)專門用于電子電路仿真和設(shè)計(jì)的EDA工具軟件,是計(jì)算機(jī)仿真技術(shù)在電子技術(shù)中的應(yīng)用。EWB軟件提供了上萬(wàn)種真實(shí)精度的電子元器件模型,標(biāo)準(zhǔn)的電子元器件符號(hào)、外形和操作方法與實(shí)際電子儀器十分相似的虛擬儀器(萬(wàn)用表、函數(shù)信號(hào)發(fā)生器、示波器、數(shù)字信號(hào)發(fā)生器、邏輯分析儀等)以及穩(wěn)態(tài)分析、瞬態(tài)分析、噪聲分析、失真分析等十多種對(duì)電路進(jìn)行仿真分析的手段。它具有如下四個(gè)特點(diǎn):
1.采用直觀的圖形界面創(chuàng)建電路,可在計(jì)算機(jī)屏幕上模擬仿真實(shí)驗(yàn)室的工作臺(tái),繪制電路圖需要的元器件和電路需要的測(cè)試儀器均可直接從屏幕上選取。
2.EWB具有完整的混合模擬與數(shù)字模擬功能,可任意在系統(tǒng)中集成數(shù)字及模擬元器件。EWB能自動(dòng)進(jìn)行信號(hào)轉(zhuǎn)換。在輸出信號(hào)的觀察上,EWB具備即時(shí)顯示的功能。
3.EWB軟件帶有豐富的元器件庫(kù),可提供多種電路分析方法。
4.EWB具有虛擬的儀表設(shè)備,包含函數(shù)信號(hào)發(fā)生器、萬(wàn)用電表、示波器、邏輯分析儀等,可具體的模擬實(shí)際的測(cè)量情況。利用EWB提供的虛擬儀器可以用比在實(shí)驗(yàn)室中更靈活的方式進(jìn)行電路實(shí)驗(yàn),仿真電路的實(shí)際運(yùn)行情況,使學(xué)生熟悉常用電子儀器的測(cè)量方法。
二、EWB在電子技術(shù)課程教學(xué)中的應(yīng)用
下面以分壓式工作點(diǎn)穩(wěn)定電路為例,介紹EWB在電子技術(shù)課程中的應(yīng)用。在本例中我們主要對(duì)該電路的直流工作點(diǎn)和交流電路進(jìn)行分析。
1.繪制原理圖(如圖一所示)
2.靜態(tài)工作點(diǎn)分析
其靜態(tài)工作點(diǎn)的估算為
按圖一連接好電路,運(yùn)用“Simulate/Analysis”菜單中的“DC Operating Point”功能選項(xiàng)分析直流工作點(diǎn),結(jié)果如圖二所示,UCEQ=5.1V(節(jié)點(diǎn)2減去節(jié)點(diǎn)3的電壓),UBQ=2.9V(節(jié)點(diǎn)4的電壓)。與理論分析的數(shù)值相符。
3.交流分析
運(yùn)用“Simulate/Analysis”菜單中的“AC Analysis”功能選項(xiàng)進(jìn)行交流分析,得到如圖三所示結(jié)果,即在工作點(diǎn)穩(wěn)定電路中小信號(hào)作用下的頻率響應(yīng),包括幅頻特性和相頻特性。
除了以上兩種分析,EWB仿真系統(tǒng)還可以進(jìn)行瞬態(tài)分析、參數(shù)掃描分析、溫度分析等。
三、結(jié)語(yǔ)
總之,基于EWB的電子電路課堂教學(xué)大大豐富了電子電路課堂教學(xué)方法,拓展了教學(xué)內(nèi)容的廣度和深度,為學(xué)生創(chuàng)造了更多的動(dòng)口、動(dòng)腦、動(dòng)手的機(jī)會(huì),使學(xué)生的學(xué)習(xí)狀態(tài)由被動(dòng)變?yōu)橹鲃?dòng),學(xué)習(xí)積極性大大提高,同時(shí)它也因更貼近現(xiàn)代科技、更具有時(shí)代氣息而受到學(xué)生的歡迎。
參考文獻(xiàn):
[1]鐘文耀,段玉生,何麗靜.EWB電路設(shè)計(jì)入門與應(yīng)用.北京清華大學(xué)出版社,2002.
[2]李克慶,張俊燕.計(jì)算機(jī)輔助教學(xué)體系初探[J].中國(guó)冶金教育,2001.
[3]鄭步生,吳渭.Multisim2001電路設(shè)計(jì)及仿真入門與應(yīng)用.電子工業(yè)出版社,2002.
篇4
關(guān)鍵詞:C語(yǔ)言;建構(gòu)主義;在線評(píng)測(cè)系統(tǒng);計(jì)算機(jī)專業(yè)
1研究背景
高級(jí)程序設(shè)計(jì)語(yǔ)言是計(jì)算機(jī)專業(yè)的專業(yè)基礎(chǔ)課,在計(jì)算機(jī)教學(xué)中占有重要地位,很多學(xué)校都將C程序設(shè)計(jì)作為計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)入門課程。該課程具有較強(qiáng)的理論性和實(shí)踐性,課程的目標(biāo)是使學(xué)生學(xué)會(huì)基本程序邏輯的表達(dá),培養(yǎng)其問題求解的計(jì)算思維,使學(xué)生建立良好的編程習(xí)慣,練好程序設(shè)計(jì)的基本功,為學(xué)習(xí)后續(xù)專業(yè)課程打好基礎(chǔ)。
常規(guī)的教學(xué)情況是,教師以語(yǔ)法結(jié)構(gòu)為主線,穿插說(shuō)明語(yǔ)法問題,并具體舉例。教學(xué)形式是以教師為主體的“教授法”,單向地向?qū)W生灌輸知識(shí)。學(xué)生被動(dòng)地“囫圇吞棗”,他們普遍認(rèn)為程序設(shè)計(jì)難學(xué),教學(xué)內(nèi)容枯燥乏味,缺乏主動(dòng)探索問題的興趣,實(shí)踐動(dòng)手能力嚴(yán)重滯后,缺乏創(chuàng)新思想,考試得高分卻寫不出程序。
我們經(jīng)過(guò)觀察、總結(jié)和研究,改革了C程序設(shè)計(jì)的理論教學(xué)和實(shí)踐教學(xué)。嘗試運(yùn)用建構(gòu)主義的學(xué)習(xí)理論,以學(xué)生已有的知識(shí)結(jié)構(gòu)作為基礎(chǔ),科學(xué)組織和架構(gòu)教學(xué)內(nèi)容,以建構(gòu)主義的任務(wù)驅(qū)動(dòng)為基礎(chǔ),引入基于ACM模式的在線評(píng)測(cè)系統(tǒng),將之運(yùn)用于實(shí)踐教學(xué)。從近兩年來(lái)的教學(xué)測(cè)評(píng)反饋信息看,取得了良好的教學(xué)效果。
2在建構(gòu)主義指導(dǎo)下組織教學(xué)內(nèi)容
在皮亞杰“認(rèn)知結(jié)構(gòu)說(shuō)”基礎(chǔ)上發(fā)展起來(lái)的建構(gòu)主義認(rèn)為,學(xué)習(xí)是一個(gè)積極主動(dòng)的建構(gòu)過(guò)程。在這個(gè)過(guò)程中,知識(shí)、內(nèi)容等不能被訓(xùn)練、被吸收,而只能被建構(gòu),學(xué)習(xí)者不是被動(dòng)地接受外在信息,而是根據(jù)先前的認(rèn)知結(jié)構(gòu)主動(dòng)和有選擇地知覺外在信息,建構(gòu)當(dāng)前事物的意義。學(xué)是與一定的社會(huì)文化背景即“情境”相聯(lián)系,學(xué)習(xí)者在一定的情境,即社會(huì)性背景下,借助其他人(包括教師和學(xué)習(xí)伙伴)的幫助,利用必要的學(xué)習(xí)材料,通過(guò)意義建構(gòu)的方式而獲得知識(shí)[1-2]。在C語(yǔ)言程序設(shè)計(jì)教學(xué)中,我們對(duì)教學(xué)內(nèi)容進(jìn)行了大膽改革,用經(jīng)驗(yàn)“構(gòu)建”有趣且具有實(shí)際應(yīng)用背景的問題,引導(dǎo)學(xué)生運(yùn)用C語(yǔ)言表達(dá)自己的求解問題想法,以學(xué)生為中心,幫助學(xué)生樹立“算法”思想。
2.1淡化語(yǔ)法規(guī)則,注重算法
我們面對(duì)的情況是,C語(yǔ)言設(shè)計(jì)的概念復(fù)雜,規(guī)則繁多,而另一方面,絕大部分學(xué)生的C語(yǔ)言是零基礎(chǔ)。需要講授的知識(shí)可分為C語(yǔ)言語(yǔ)法和程序設(shè)計(jì)兩部分內(nèi)容。許多學(xué)完程序設(shè)計(jì)的學(xué)生,死記硬背下語(yǔ)法規(guī)則的條條框框,或是只能寫出幾個(gè)打印由星號(hào)組成的矩形類的“玩具”程序,而對(duì)計(jì)算機(jī)科學(xué)的基礎(chǔ)與靈魂――算法卻一無(wú)所知。他們不知道怎樣讓計(jì)算機(jī)解決具體問題,甚至不能敏感地意識(shí)到哪些問題適合用計(jì)算機(jī)處理[3],這不能不說(shuō)是程序設(shè)計(jì)課程的失敗。這繼而導(dǎo)致學(xué)生程序設(shè)計(jì)基本技能的缺失,而在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)等課程時(shí)就遇到困難或難以學(xué)精。
而在教學(xué)探索中,對(duì)于語(yǔ)言語(yǔ)法知識(shí),我們只講實(shí)際應(yīng)用中用到的核心部分,其他語(yǔ)法內(nèi)容則通過(guò)引導(dǎo)學(xué)生自學(xué)、在線答疑等方法補(bǔ)充完善。我們認(rèn)為,在語(yǔ)法上耗費(fèi)太多的課時(shí)會(huì)讓學(xué)生覺得枯燥無(wú)味,學(xué)生死記語(yǔ)法應(yīng)付了本門課程考試,但是沒有達(dá)到程序設(shè)計(jì)課程的既定教學(xué)目標(biāo)。我們把重點(diǎn)放到應(yīng)用和算法上,讓學(xué)生從應(yīng)用和算法中學(xué)習(xí)語(yǔ)法,而不是反過(guò)來(lái)。我們讓學(xué)生盡早地接觸結(jié)構(gòu)化程序設(shè)計(jì),盡快適應(yīng)計(jì)算機(jī)的“機(jī)器思維”(也稱“計(jì)算思維”)。
面對(duì)各類具體問題,快速找到計(jì)算機(jī)求解此問題的方法,并且用C語(yǔ)言表達(dá)出來(lái),對(duì)于初學(xué)者來(lái)說(shuō),是一種全新的思維方式,確實(shí)讓很多沒有接觸過(guò)程序的學(xué)生無(wú)所適從。課堂上所選用的實(shí)例必須來(lái)源于現(xiàn)實(shí)生活,與學(xué)生的日常生活經(jīng)驗(yàn)息息相關(guān)。教師的重要任務(wù)是設(shè)計(jì)合適的實(shí)例,為學(xué)生編程任務(wù)提供真實(shí)的情境,通過(guò)設(shè)置問題情境把學(xué)生引入門,讓學(xué)生應(yīng)用經(jīng)驗(yàn)和前面的知識(shí)分析問題、解決問題。學(xué)生可以獨(dú)自思考,也可以小組討論,最后使用C語(yǔ)言將算法表達(dá)成可運(yùn)行的正確程序。這樣的教學(xué)過(guò)程不再是“填鴨式”地從流程圖到寫代碼地滿堂灌,不再讓學(xué)生被動(dòng)地被教師牽著鼻子走,而是通過(guò)學(xué)生自己的主動(dòng)建構(gòu)主動(dòng)地獲取新知識(shí)。
2.2精心安排教學(xué)內(nèi)容和算法實(shí)例
教學(xué)內(nèi)容的科學(xué)組織是提高教學(xué)質(zhì)量的關(guān)鍵,我們?cè)诮M織教學(xué)內(nèi)容時(shí)強(qiáng)調(diào)理論和實(shí)踐的結(jié)合。以建構(gòu)主義為指導(dǎo),我們有選擇地組織和架構(gòu)教學(xué)內(nèi)容,合理安排教學(xué)內(nèi)容的層次結(jié)構(gòu)及算法實(shí)例。學(xué)生在以往的學(xué)習(xí)和日常生活中,必然已經(jīng)形成了許多概念,通過(guò)適當(dāng)?shù)慕忉尯屯评恚子谛纬尚碌闹R(shí)。所以,在教授過(guò)程中,教師要注意把學(xué)生現(xiàn)有的知識(shí)當(dāng)做新知識(shí)的生長(zhǎng)點(diǎn),引導(dǎo)學(xué)生從原有的知識(shí)經(jīng)驗(yàn)中生長(zhǎng)出新的知識(shí)經(jīng)驗(yàn)[2]。
因此,我們將C語(yǔ)言的課堂教學(xué)內(nèi)容按順序分成9個(gè)部分,每個(gè)部分都組織相應(yīng)的算法實(shí)例跟進(jìn),讓程序設(shè)計(jì)和算法思想齊頭并進(jìn)。具體內(nèi)容如下:
1) 第1部分:編程入門與if判斷的用法。通過(guò)main函數(shù)和輸入輸出函數(shù),給學(xué)生一個(gè)C程序簡(jiǎn)單框架的認(rèn)識(shí)。輸入輸出函數(shù)讓學(xué)生能夠體會(huì)字符界面下數(shù)據(jù)的輸入輸出,然后介紹if條件語(yǔ)句,提出相應(yīng)的算法實(shí)現(xiàn),如2個(gè)數(shù)如何比大小、如何求最大值等。
2) 第2部分:循環(huán)與數(shù)組。以前面的例子為基礎(chǔ)提出問題,即3個(gè)數(shù)求最大值,4個(gè)數(shù)求最大值……直到100個(gè)數(shù)求最大值。機(jī)器最擅長(zhǎng)做的事情就是“重復(fù)”,自然引出for循環(huán)結(jié)構(gòu)。把題目中的求最大值改成數(shù)據(jù)排序,機(jī)器的存儲(chǔ)――數(shù)組的使用自然而然就引出了。
3) 第3部分:多分支和多重循環(huán)。這一部分內(nèi)容建立在前面內(nèi)容的基礎(chǔ)上。通過(guò)使用大量實(shí)例,靈活地將順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)與一維數(shù)組等內(nèi)容融會(huì)貫通,介紹一些常用算法,比如冒泡排序、選擇排序等。在第1部分和第2部分沒有涉及到的switch、while等結(jié)構(gòu),也可以在此時(shí)引導(dǎo)學(xué)生自學(xué),同時(shí)具體運(yùn)用。
4) 第4部分:用二維數(shù)組處理批量數(shù)據(jù)。由數(shù)字照片的像素引入,介紹矩陣運(yùn)算中的轉(zhuǎn)置、水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、加法、減法、乘法等基本運(yùn)算的實(shí)現(xiàn)。
5) 第5部分:分工合作的模塊化設(shè)計(jì)――函數(shù)及遞歸。引入多個(gè)函數(shù)構(gòu)成C程序的例子。比如判斷某年至某年間有多少閏年,判斷是否閏年可以用函數(shù)實(shí)現(xiàn),再進(jìn)一步,輸入年份和月份,輸出類似Windows自帶的日歷,年、月、日和星期幾對(duì)應(yīng)的輸出等。遞歸涉及的算法有菲波拉契數(shù)列、河內(nèi)塔游戲等。
6) 第6部分:文本的處理――字符串。字符串的存儲(chǔ)與字符串處理的介紹,通過(guò)大整數(shù)的加減、密碼加密、解密等內(nèi)容結(jié)合在一起。
7) 第7部分:指針。包括指針變量、數(shù)組名、數(shù)組的動(dòng)態(tài)分配。用數(shù)組和字符串處理相關(guān)的很多算法都可以用指針實(shí)現(xiàn),同時(shí)可以比較其異同。
8) 第8部分:構(gòu)件化的基礎(chǔ)――結(jié)構(gòu)體。典型的問題有電話簿、鏈表等。
9) 第9部分:數(shù)據(jù)的持久化――文件。主要是對(duì)文本文件和二進(jìn)制文件的基本操作。
在內(nèi)容層次上的算法實(shí)例僅僅是一個(gè)簡(jiǎn)要的介紹,具體安排與課時(shí)和學(xué)生的掌握情況相關(guān),一些零散的知識(shí)點(diǎn)穿插在算法實(shí)例的講解中。課堂介紹固然重要,但教師應(yīng)引導(dǎo)學(xué)生更多地提出問題,讓學(xué)生自己課外花時(shí)間弄清楚各種語(yǔ)法知識(shí)。課堂時(shí)間總是有限的,教師應(yīng)引導(dǎo)學(xué)生利用課外時(shí)間自己看書、實(shí)踐和查資料,補(bǔ)充課堂沒有介紹的內(nèi)容和細(xì)節(jié),解決遇到的問題,提高自學(xué)能力。
在教學(xué)過(guò)程中,針對(duì)某個(gè)知識(shí)點(diǎn),教師可以采用問題驅(qū)動(dòng)法和討論法開展教學(xué),使學(xué)生建立程序設(shè)計(jì)思想。教師創(chuàng)設(shè)問題情境,起到組織者、指導(dǎo)者、幫助者和促進(jìn)者的作用,利用情境、會(huì)話和協(xié)作等學(xué)習(xí)環(huán)境要素,讓學(xué)生用自己已有的知識(shí)結(jié)構(gòu)去過(guò)濾和解釋新的C語(yǔ)言程序設(shè)計(jì)知識(shí),將其復(fù)制、吸納或改善到自己的認(rèn)知結(jié)構(gòu)中。比如,從“超級(jí)女生”節(jié)目獲得的PK經(jīng)驗(yàn)可以運(yùn)用于算法,學(xué)生學(xué)習(xí)2個(gè)數(shù)比大小、求3個(gè)數(shù)的最大值就很簡(jiǎn)單。這個(gè)過(guò)程體現(xiàn)了學(xué)生的觀察、思考和吸收過(guò)程[3]。編程的時(shí)候,if就是中文“如果”的英文單詞,把要表達(dá)的意思用英文“建構(gòu)”,把算法轉(zhuǎn)變成源代碼也并不復(fù)雜。這樣,學(xué)生的學(xué)習(xí)成為一個(gè)積極主動(dòng)的自主操作過(guò)程,學(xué)生有選擇地接受外在的信息,形成新知識(shí),大大提高了學(xué)習(xí)興趣和學(xué)習(xí)主觀性[4]。
3基于評(píng)測(cè)系統(tǒng)的C語(yǔ)言程序?qū)嵺`教學(xué)設(shè)計(jì)
C語(yǔ)言程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,只有多練習(xí),多動(dòng)手寫程序才能學(xué)好,因此實(shí)踐教學(xué)至關(guān)重要。我們將ACM程序設(shè)計(jì)競(jìng)賽中的評(píng)測(cè)系統(tǒng)引入到C程序設(shè)計(jì)實(shí)踐教學(xué)中。ACM競(jìng)賽的評(píng)測(cè)系統(tǒng)方法成熟,許多高校,如北京大學(xué)、清華大學(xué)等都開發(fā)了自己的OJ(Online Judge)系統(tǒng)。在教學(xué)實(shí)踐中,筆者采用北京大學(xué)的POJ搭建了在線評(píng)測(cè)系統(tǒng),改進(jìn)C程序設(shè)計(jì)課教學(xué)。
3.1引入評(píng)測(cè)系統(tǒng)到實(shí)踐教學(xué)的優(yōu)勢(shì)
在程序設(shè)計(jì)課程實(shí)踐教學(xué)的傳統(tǒng)方式中,教師按照實(shí)驗(yàn)教材布置相應(yīng)的上機(jī)題,提前將實(shí)驗(yàn)過(guò)程中可能遇到的問題進(jìn)行講解,對(duì)解題思路加以提示,之后學(xué)生獨(dú)自上機(jī)編程,遇到問題請(qǐng)教師分別解答。這種方式暴露出很多問題:教師不能全面掌握學(xué)生做題的數(shù)量和效果,僅僅對(duì)個(gè)別學(xué)生留有印象;學(xué)生之間交流不多,各做各的;教師不能面對(duì)面回答每一個(gè)學(xué)生提出的問題;教師之前的提示在學(xué)生尚未思考之前,只能讓學(xué)生機(jī)械記住而不能理解,實(shí)驗(yàn)中的集中講解不能適應(yīng)每個(gè)學(xué)生的不同進(jìn)度,不能達(dá)到好的效果。久而久之,會(huì)使學(xué)生在惰性和畏難情緒中喪失學(xué)習(xí)興趣,教師的重復(fù)工作量很大。
與傳統(tǒng)的教學(xué)方式相比,將評(píng)測(cè)系統(tǒng)引入到實(shí)踐教學(xué)中具有很大優(yōu)勢(shì),具體表現(xiàn)如下。
1) 評(píng)測(cè)系統(tǒng)在服務(wù)器端運(yùn)行提交的程序,將結(jié)果與標(biāo)準(zhǔn)答案進(jìn)行字符比較,通過(guò)嚴(yán)格的數(shù)據(jù)測(cè)試進(jìn)行評(píng)判,由機(jī)器來(lái)評(píng)判對(duì)錯(cuò)[5],這是人工評(píng)判遠(yuǎn)不能及的,既顯公正又對(duì)學(xué)生編程思維的嚴(yán)謹(jǐn)程度提出高要求。
2) 增強(qiáng)學(xué)生之間的討論和交流氛圍,學(xué)生之間也可以看到排名,形成一種你追我趕的學(xué)習(xí)氛圍[6]。
3) 減少了教師在實(shí)踐教學(xué)中的重復(fù)工作量。根據(jù)學(xué)生提交的次數(shù)和排名及源代碼,教師可以查看學(xué)生的整體情況,在網(wǎng)上監(jiān)督學(xué)生的作業(yè)完成情況,減輕了教師檢查任務(wù)、批改作業(yè)的負(fù)擔(dān),提高了批改的準(zhǔn)確性,可以在討論區(qū)解答存在的問題[7]。
4)“比賽”排名與算法的空間復(fù)雜度和時(shí)間復(fù)雜度相關(guān),可以提高學(xué)生對(duì)程序運(yùn)行時(shí)間空間復(fù)雜度的敏感性。
5)B/S結(jié)構(gòu)提供了開放、自主學(xué)習(xí)的實(shí)驗(yàn)環(huán)境。學(xué)生通過(guò)網(wǎng)絡(luò)可以輕松訪問,不受時(shí)間地點(diǎn)約束,無(wú)形中增加了課外上機(jī)的動(dòng)力。
3.2基于評(píng)測(cè)系統(tǒng)的實(shí)踐教學(xué)設(shè)計(jì)
實(shí)驗(yàn)教學(xué)的過(guò)程是:布置任務(wù)組織學(xué)生上機(jī)實(shí)踐輔導(dǎo)學(xué)生疑難問題實(shí)驗(yàn)結(jié)束前10分鐘簡(jiǎn)要分析本次實(shí)驗(yàn)中存在的問題根據(jù)結(jié)果分析每次實(shí)驗(yàn)的效果,調(diào)整下次實(shí)驗(yàn)任務(wù)。
每次實(shí)驗(yàn)前,我們?cè)谠u(píng)測(cè)系統(tǒng)中給出本次實(shí)驗(yàn)的題目和正確執(zhí)行的測(cè)試數(shù)據(jù),將不同難度層次的題目設(shè)計(jì)為一組實(shí)驗(yàn)任務(wù),學(xué)生上機(jī)就當(dāng)是一次“練習(xí)賽”。比賽在規(guī)定時(shí)間開始,學(xué)生要在2小時(shí)內(nèi)完成3~5題。系統(tǒng)要求每個(gè)學(xué)生使用自己的用戶名和密碼登錄,針對(duì)每一道題在本機(jī)的VC環(huán)境中調(diào)試運(yùn)行,無(wú)誤后在線提交自己的程序代碼,服務(wù)器根據(jù)運(yùn)行情況給出Accepted等結(jié)果。學(xué)生可以在幾秒鐘內(nèi)知道是對(duì)是錯(cuò),錯(cuò)在哪里[8],系統(tǒng)支持多次提交。系統(tǒng)對(duì)參加“比賽”的用戶即時(shí)地進(jìn)行排名,提交正確的任務(wù)個(gè)數(shù)越多、用時(shí)越少的學(xué)生,排名越靠前。
我們將評(píng)測(cè)系統(tǒng)引入到C程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)中,激發(fā)了學(xué)生的學(xué)習(xí)熱情和潛力。利用好評(píng)測(cè)系統(tǒng),為C程序設(shè)計(jì)教學(xué)服務(wù)的關(guān)鍵是精心設(shè)計(jì)實(shí)驗(yàn)任務(wù),在實(shí)際運(yùn)用中,我們采取了如下措施。
1) 將傳統(tǒng)的實(shí)驗(yàn)內(nèi)容改編為ACM題目[6]。改編既要保留待考察的知識(shí)點(diǎn),又要增加題目的趣味性,測(cè)試數(shù)據(jù)必須全面、準(zhǔn)確。通過(guò)具體問題描述,學(xué)生自主選擇合理的算法解題,加深對(duì)基本知識(shí)的掌握水平,真正做到學(xué)以致用。
2) 多個(gè)任務(wù)的難易要分配得當(dāng)。任務(wù)過(guò)于容易,學(xué)生得不到鍛煉,任務(wù)過(guò)難,沒有或只有少數(shù)學(xué)生能完成任務(wù),學(xué)生的自信心和興趣受到打擊。不同難度層次的實(shí)驗(yàn)任務(wù),能夠滿足不同水平層次學(xué)生的需求。
3) 任務(wù)的考察點(diǎn)要和理論課講解的算法緊密相關(guān)。讓學(xué)生在模仿的前提下變通,“復(fù)制”和“同化”知識(shí)。
4結(jié)語(yǔ)
在C語(yǔ)言程序設(shè)計(jì)課的教學(xué)改革中,我們輕語(yǔ)法規(guī)則,強(qiáng)調(diào)算法和計(jì)算思維,在建構(gòu)主義指導(dǎo)下安排教學(xué)內(nèi)容的層次結(jié)構(gòu)及算法實(shí)例,利用在線評(píng)測(cè)系統(tǒng)引導(dǎo)激勵(lì)學(xué)生動(dòng)手編程,將以教師為中心、單方面灌輸、學(xué)生被動(dòng)接受知識(shí),轉(zhuǎn)變?yōu)榧ぐl(fā)學(xué)生興趣、學(xué)生主動(dòng)獲取知識(shí),讓學(xué)生在“你追我趕的競(jìng)賽”中提高編程能力。本教學(xué)改革在湖南農(nóng)業(yè)大學(xué)信息科學(xué)技術(shù)學(xué)院、東方科技學(xué)院2009級(jí)計(jì)算機(jī)、信息工程、電子商務(wù)專業(yè)共12個(gè)班級(jí)的教學(xué)實(shí)踐中取得了很好的教學(xué)效果。
參考文獻(xiàn):
[1] 許曉東. 基于建構(gòu)主義的計(jì)算機(jī)任務(wù)驅(qū)動(dòng)式教學(xué)法[J]. 重慶工學(xué)院學(xué)報(bào),2005,19(2):178-180.
[2] 陸蓓. 建構(gòu)主義指導(dǎo)下的C語(yǔ)言程序設(shè)計(jì)教學(xué)[J]. 杭州電子科技大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2006(4):64-67.
[3] 李文新,郭煒,余華山. 程序設(shè)計(jì)導(dǎo)引及在線實(shí)踐[M]. 北京:清華大學(xué)出版社,2007:5-6.
[4] 何克抗. 建構(gòu)主義的教學(xué)模式、教學(xué)方法與教學(xué)設(shè)計(jì)[J]. 北京師范大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,1997(5):74-81.
[5] 郭嵩山,王磊,張子臻. ACM/ICPC與創(chuàng)新IT人才的培養(yǎng)[J]. 實(shí)驗(yàn)室研究與探索,2007,26(12):181-185.
[6] 武建華. 基于ACM模式的數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)改革與探索[J]. 計(jì)算機(jī)教育,2007(12):114-116.
[7] 李文新,梅宏,陳徐宗. 北京大學(xué)計(jì)算機(jī)學(xué)科的教學(xué)體系改革[J]. 中國(guó)大學(xué)教學(xué),2008(4):14-16.
[8] 汪小林,羅英偉,李文新,等. 北京大學(xué)“計(jì)算概論”課程的建設(shè)與改革[J]. 計(jì)算機(jī)教育,2009(20):45-49.
Exploration of Teaching for C Programming
XIAO Xiao, HE Xiping
(Information Science and Technology College of Hunan Agricultural University, Changsha 410128, China)
篇5
關(guān)鍵詞:C語(yǔ)言;教學(xué)
0 引言
C語(yǔ)言是國(guó)內(nèi)外廣泛使用的一種計(jì)算機(jī)語(yǔ)言,C語(yǔ)言功能豐富、表達(dá)能力強(qiáng)、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的許多特點(diǎn)。因此,C語(yǔ)言不僅是計(jì)算機(jī)專業(yè)學(xué)生的一門重要課程,也是高校中非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)計(jì)算機(jī)知識(shí)的一門重要課程。
作者的C語(yǔ)言課都是在機(jī)房里進(jìn)行的,學(xué)生可以人手一機(jī)。在C語(yǔ)言的教學(xué)過(guò)程中,精講多練,講練結(jié)合,依據(jù)學(xué)生的能力,采用以學(xué)生為主體逐步引導(dǎo)、啟發(fā)學(xué)生。即教師在課堂上起引導(dǎo)的作用,讓學(xué)生在機(jī)學(xué)習(xí),邊學(xué)邊練,不斷發(fā)現(xiàn)問題,解決問題,循序漸進(jìn),逐步提高。這種方法打破了課堂教學(xué)和實(shí)驗(yàn)教學(xué)的嚴(yán)格界線,在C語(yǔ)言的教學(xué)實(shí)踐中取得了良好的效果。
1 指針用法
指針通常指向一片存儲(chǔ)空間,而空間可采用靜態(tài)分配或動(dòng)態(tài)分配。靜態(tài)分配是指在編寫C程序時(shí)已確定了存儲(chǔ)空間。如使用全局變量,static char a[size],則編譯器為變量a在程序運(yùn)行時(shí)的數(shù)據(jù)區(qū)內(nèi)固定分配size字節(jié)的空間;如函數(shù)內(nèi)定義一個(gè)局部變量charb[size],則在執(zhí)行函數(shù)時(shí),局部變量b在棧上分配size字節(jié)的存儲(chǔ)空間,函數(shù)調(diào)用結(jié)束時(shí)將自動(dòng)釋放局部數(shù)組變量b的存儲(chǔ)空間。
動(dòng)態(tài)分配是指調(diào)用庫(kù)函數(shù)malloc(size)在堆上分配size個(gè)字節(jié)的連續(xù)空間,調(diào)用結(jié)束后返回一個(gè)指向分配好的存儲(chǔ)空間的指針,編程時(shí)必須考慮到在使用完該存儲(chǔ)空間后調(diào)用對(duì)應(yīng)的函數(shù)free( )來(lái)釋放掉。
在C編程時(shí),一定要合理使用指針,否則很容易在執(zhí)行時(shí)出現(xiàn)各種錯(cuò)誤。以下列出常見的幾個(gè)錯(cuò)誤:
(1)在C程序中定義了一個(gè)指針變量,但沒有對(duì)其進(jìn)行初始化,將該指針變量稱為“野指針”。如果此后對(duì)該指針變量所指的存儲(chǔ)空間進(jìn)行操作,程序會(huì)出現(xiàn)嚴(yán)重的錯(cuò)誤,因?yàn)?,在定義指針變量后,指針變量的值是不確定的,即指針隨機(jī)指向某個(gè)內(nèi)存地址,此時(shí)的指針?biāo)傅膬?nèi)存直接賦值操作,將該單元中原有的數(shù)據(jù)覆蓋,使該數(shù)據(jù)丟失,若指針指向的是系統(tǒng)的數(shù)據(jù)區(qū)中,會(huì)導(dǎo)致系統(tǒng)運(yùn)行的異常甚至死機(jī)。因此,C編程時(shí)要及時(shí)把指針變量賦值,使指針有正確的指向。
(2)如用語(yǔ)句p = malloc(size)來(lái)分配空間,應(yīng)對(duì)分配后的參數(shù)p進(jìn)行檢查,如p為NULL則表示分配不到存儲(chǔ)空間,此時(shí)不能對(duì)p指向的空間操作;即使為p分配了空間,也要注意對(duì)該指針操作時(shí)不能超出其空間范圍。使用完后,一定要釋放該空間,否則可能引起存儲(chǔ)空間的耗盡。
(3)棧溢出。棧是在調(diào)用一個(gè)子函數(shù)時(shí)用來(lái)保存和恢復(fù)現(xiàn)場(chǎng),以及傳遞參數(shù)和存放局部變量,但在執(zhí)行子函數(shù)時(shí),如果其中的局部變量指針出現(xiàn)使用錯(cuò)誤,則會(huì)發(fā)生棧溢出。例如在子函數(shù)中,有下列代碼:
char p[8];
strcpy(p,/Notice: This is a test pro-gram!0);
由于棧中為局部變量p只分配了8個(gè)字節(jié)空間,而strcpy()函數(shù)將覆蓋p指向的連續(xù)32個(gè)字節(jié)空間(包括字符串結(jié)束符-\ 0.),可能將棧中存放的函數(shù)返回地址等內(nèi)容重寫了,所以子函數(shù)執(zhí)行完后就無(wú)法返回到原來(lái)的函數(shù)繼續(xù)運(yùn)行了。
(4)堆溢出。堆的使用與所在運(yùn)行平臺(tái)的操作系統(tǒng)和編譯器有關(guān),堆溢出也相對(duì)復(fù)雜。如程序?yàn)椋?/p>
char *p;
p = (char*)malloc(8);
strcpy(p,/No-tice: This is a test program!0);
則執(zhí)行strcpy()時(shí)將覆蓋了緊跟在指針p指向的32個(gè)字節(jié)的內(nèi)容,引起堆溢出,程序運(yùn)行無(wú)法正確。
(5)void的用法。void在定義某個(gè)函數(shù)時(shí),表示該函數(shù)無(wú)返回值,但庫(kù)函數(shù)void malloc(size)除外,它并不表示malloc(size)無(wú)返回值[5],而表示函數(shù)的返回值可以轉(zhuǎn)換成任何類型的地址值(如char *,int *等)。void不能用來(lái)定義數(shù)值變量,但可以用void來(lái)定義指針變量,它的真實(shí)含義是可以將任何數(shù)據(jù)類型的地址賦給指針變量。
(6)區(qū)分?jǐn)?shù)組和指針變量在使用過(guò)程中的不同,指針可以通過(guò)加減數(shù)值來(lái)移動(dòng)它所指的位置,如p+=5;而數(shù)組名是不能移動(dòng)的,如char k[20]; k++;對(duì)k的操作是錯(cuò)誤的。
(7)指針移動(dòng)時(shí)挪動(dòng)的位移與指針?biāo)x的類型相關(guān),如a和b定義為:char *a;int *b;后續(xù)的語(yǔ)句:a+=10;b+=10;則表示a向后移動(dòng)了10個(gè)字節(jié),而b向后移動(dòng)了10個(gè)整型長(zhǎng)度,即40個(gè)字節(jié)。指針變量在使用時(shí)要與定義的類型相一致,char c[10];int *d;d=c;此后對(duì)d的操作很可能造成混亂。
2 課堂教學(xué)中注意培養(yǎng)良好的編程習(xí)慣
(1)入門階段。分析和演示運(yùn)行簡(jiǎn)單的C程序,和學(xué)生一起對(duì)程序進(jìn)行簡(jiǎn)單修改,再演示運(yùn)行,讓學(xué)生對(duì)C程序產(chǎn)生感性的認(rèn)識(shí),激發(fā)學(xué)生的學(xué)習(xí)興趣和熱情。這時(shí)需要注意在編寫C程序過(guò)程中的一些特定格式和語(yǔ)法要求,幫助學(xué)生養(yǎng)成良好的編程習(xí)慣。
(2)基礎(chǔ)階段。這時(shí)的學(xué)生應(yīng)該已經(jīng)學(xué)習(xí)了算法、變量、表達(dá)式、語(yǔ)句、程序結(jié)構(gòu)等C程序基礎(chǔ)知識(shí)。這一階段中,我會(huì)經(jīng)常提出一些簡(jiǎn)單的問題,放手讓學(xué)生討論,逐步深入理解問題,逐步完善流程圖,然后把流程圖翻譯成標(biāo)準(zhǔn)的C程序,并進(jìn)行試運(yùn)行和調(diào)試。
這一階段中,可以以教材為線索,擴(kuò)展介紹C語(yǔ)言的語(yǔ)法知識(shí),但不能停留在語(yǔ)法上,可以根據(jù)任務(wù)和項(xiàng)目的需要插入介紹一些系統(tǒng)函數(shù),并適時(shí)地將所學(xué)知識(shí)應(yīng)用到項(xiàng)目和任務(wù)當(dāng)中,讓學(xué)生學(xué)以致用。
(3)綜合階段。為了讓學(xué)生熟練使用語(yǔ)法知識(shí),還需要布置一些較長(zhǎng)的程序讓學(xué)生閱讀分解,嘗試修改語(yǔ)句和程序結(jié)構(gòu)。這一階段中,我會(huì)經(jīng)常提出一些相對(duì)復(fù)雜的問題,放手讓學(xué)生討論,逐步深入理解問題,逐步完善流程圖,然后把流程圖翻譯成標(biāo)準(zhǔn)的C程序,然后對(duì)流程圖和程序反復(fù)并進(jìn)行修改、運(yùn)行和調(diào)試。
這一階段中,要鼓勵(lì)學(xué)生大膽創(chuàng)新,創(chuàng)造性的運(yùn)用書上的知識(shí)。同時(shí),和學(xué)生強(qiáng)調(diào)編程的功夫在編程之外,養(yǎng)成學(xué)生良好的編程習(xí)慣,為學(xué)生以后的發(fā)展打下基礎(chǔ)。
(4)提升階段。我會(huì)根據(jù)不同層次的學(xué)生提出不同的設(shè)計(jì)要求,因材施教,盡量使每一個(gè)學(xué)生都能將所學(xué)到的程序設(shè)計(jì)方法和相關(guān)語(yǔ)法綜合應(yīng)用。同時(shí),告訴學(xué)生,要達(dá)到能用C語(yǔ)言編寫較大的應(yīng)用程序,并不是僅在一個(gè)學(xué)期的學(xué)習(xí)過(guò)程中就能完成的,在以后的實(shí)踐中,要繼續(xù)學(xué)習(xí)。
在C語(yǔ)言的教學(xué)中,采用適度靈活的教學(xué)方法,理論講授和上機(jī)實(shí)踐緊密結(jié)合,語(yǔ)法與實(shí)例緊密結(jié)合,可以激發(fā)學(xué)生的學(xué)習(xí)興趣,增強(qiáng)學(xué)生的求知欲,降低課程難度,會(huì)達(dá)到良好的教學(xué)效果。當(dāng)然,具體教學(xué)方式、方法的選擇,不同的老師可以根據(jù)實(shí)際需要而定。
參考文獻(xiàn)
[1] 范華,秦茂玲,張俊.透視C程序設(shè)計(jì)語(yǔ)言[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(6):64 -661
[2] 譚浩強(qiáng).C程序設(shè)計(jì)[M].第3版1北京:清華大學(xué)出版社,2005.
篇6
關(guān)鍵詞:計(jì)算機(jī)應(yīng)用基礎(chǔ);課程教學(xué)設(shè)計(jì)
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)03-0620-02
Analysis on Computer Application Based Course Teaching Design
CHANG Juan
(Linfen College of Shanxi Normal University, Linfen 041000,China)
Abstract: Based oncomputer application basepublic basic course analysis, it expounded the course teaching design ideas in five aspects: the nature and tasks of the curriculum, the teaching content of the arrangement, the design of course objectives, teaching media settings, teaching process and learning suggestions.
Key words: computer application base; course teaching design
《計(jì)算機(jī)應(yīng)用基礎(chǔ)》課程是全國(guó)各個(gè)大、中專院校都開設(shè)的一課計(jì)算機(jī)基礎(chǔ)課程。根據(jù)課程大綱要求,教學(xué)過(guò)程是要以學(xué)生的主動(dòng)學(xué)習(xí)為主、教師的輔導(dǎo)為輔兩者相結(jié)合的原則,實(shí)現(xiàn)由封閉教學(xué)向開放教育過(guò)渡的轉(zhuǎn)變,以教師為中心向以學(xué)生為中心的轉(zhuǎn)變,突出開放教育的特點(diǎn),利用現(xiàn)代多媒體教育手段進(jìn)行教學(xué)。學(xué)生在教師指導(dǎo)下,根據(jù)計(jì)算機(jī)應(yīng)用教學(xué)計(jì)劃規(guī)定的培養(yǎng)目標(biāo),利用學(xué)校提供的課本教材、機(jī)房設(shè)備等教學(xué)資源進(jìn)行自主學(xué)習(xí)。教師通過(guò)面授輔導(dǎo)、多媒體教學(xué)等教學(xué)手段為學(xué)生學(xué)習(xí)提供服務(wù)。
1課程的性質(zhì)和任務(wù)
《計(jì)算機(jī)應(yīng)用基礎(chǔ)》是大、中院校學(xué)生重要的公共基礎(chǔ)課程,它是為培養(yǎng)四個(gè)現(xiàn)代化建設(shè)需要的、能夠適應(yīng)未來(lái)計(jì)算機(jī)使用要求的大專層次應(yīng)用型人才服務(wù)的。
本課程是講授計(jì)算機(jī)文化知識(shí)和計(jì)算機(jī)基本使用方法的入門課程,內(nèi)容側(cè)重于計(jì)算機(jī)的基礎(chǔ)知識(shí)、基本概念和基本操作技能,并兼顧實(shí)用軟件的使用和計(jì)算機(jī)應(yīng)用領(lǐng)域的前沿知識(shí),為學(xué)生熟練使用計(jì)算機(jī)和進(jìn)一步學(xué)習(xí)計(jì)算機(jī)有關(guān)知識(shí)打下基礎(chǔ)。
通過(guò)本課程的學(xué)習(xí),學(xué)生要求掌握計(jì)算機(jī)的基本概念,學(xué)會(huì)至少一種輸入法,學(xué)會(huì)操作電腦及簡(jiǎn)單的維護(hù);熟練掌握Office套裝軟件中的Word2003、Excel2003、PowerPoint2003的使用及上網(wǎng)沖浪知識(shí)。在教學(xué)內(nèi)容的選取上打破傳統(tǒng)的教學(xué)模式,力求以就業(yè)為導(dǎo)向,項(xiàng)目任務(wù)為驅(qū)動(dòng),以職業(yè)能力為核心,將知識(shí)傳授、素質(zhì)培養(yǎng)、能力提高、課程實(shí)訓(xùn),即教、學(xué)、練、訓(xùn)融為一體化進(jìn)行教學(xué),以“必需”“夠用”“會(huì)用”的基本概念和分析方法,舍去復(fù)雜、非實(shí)用的理論分析,為學(xué)生今后的學(xué)習(xí)和就業(yè)打下基礎(chǔ)。
本課程是??聘鲗I(yè)的公共基礎(chǔ)課,分兩學(xué)期開設(shè),課內(nèi)78學(xué)時(shí)。其中:課堂講解18學(xué)時(shí),上機(jī)實(shí)習(xí)48學(xué)時(shí),定期輔導(dǎo)12學(xué)時(shí)。
2教學(xué)內(nèi)容
緊扣計(jì)算機(jī)技術(shù)的發(fā)展趨勢(shì),以傳統(tǒng)教學(xué)內(nèi)容為基礎(chǔ),重點(diǎn)介紹計(jì)算機(jī)基本知識(shí)和基礎(chǔ)操作、Windows XP操作系統(tǒng)的基本操作、Word2003、Excel2003、PowerPoint2003辦公軟件的操作、國(guó)際互聯(lián)網(wǎng)應(yīng)用能力的培養(yǎng)等。目的是培養(yǎng)學(xué)生規(guī)范、高效率、高質(zhì)量地綜合應(yīng)用辦公軟件能力,將“能力培養(yǎng)”作為課程的最終目標(biāo)。
3課程目標(biāo)設(shè)計(jì)
3.1能力目標(biāo)
1)具有計(jì)算機(jī)系統(tǒng)基本知識(shí)及使用微型計(jì)算機(jī)的初步能力;
2)具有運(yùn)用Windows操作系統(tǒng)的能力,學(xué)會(huì)管理文件和文件夾;
3)具有利用Word進(jìn)行文字處理能力;
4)具有利用Excel進(jìn)行電子表格及數(shù)據(jù)處理能力;
5)具有利用PowerPoint制作演示文稿及其處理能力;
6)具有上網(wǎng)操作能力;
7)具有使用部分常用工具軟件的能力。
3.2知識(shí)目標(biāo)
1)掌握計(jì)算機(jī)基礎(chǔ)知識(shí)及一種漢字輸入法;
2)掌握Windows XP操作系統(tǒng)的界面操作及文件和文件夾的各種管理操作;3)掌握Word文檔的文字的輸入和基本的編輯與排版、表格的建立及編輯;
4)掌握Excel工作簿的建立及編輯、公式及常用函數(shù)的使用、數(shù)據(jù)查找、排序、篩選和數(shù)據(jù)的分類匯總;5)掌握新建演示文稿的基本操作及動(dòng)畫設(shè)置;
6)掌握計(jì)算機(jī)網(wǎng)絡(luò)的基本概念和因特網(wǎng)的簡(jiǎn)單使用;7)掌握常用工具軟件的使用。
4課程教學(xué)媒體設(shè)置及內(nèi)容具體的安排
本課程內(nèi)容及教學(xué)課時(shí)安排如下:
本課程教學(xué)媒體包括文字教材、多媒體課件和模擬考試環(huán)境軟件等。
1)文字教材包括教科書《計(jì)算機(jī)應(yīng)用基礎(chǔ)》。
2)多媒體課件由代課教師自己制作。
3)模擬考試環(huán)境軟件與文字教材相配套,向?qū)W生提供,其作用一是為了便于學(xué)生隨時(shí)檢驗(yàn)自己對(duì)所學(xué)內(nèi)容的理解和掌握情況,增強(qiáng)其學(xué)習(xí)的興趣和信心;二是模擬考試的題目形式與無(wú)紙化考試的題目形式相近,為學(xué)生適應(yīng)無(wú)紙化考試打基礎(chǔ)。
5教學(xué)過(guò)程及學(xué)習(xí)建議
本課程的教學(xué)主要依靠已有的教學(xué)媒體進(jìn)行,知識(shí)性的內(nèi)容主要通過(guò)自學(xué)完成;操作技能必須通過(guò)上機(jī)實(shí)習(xí)完成;多媒體教學(xué)及模擬考試環(huán)境軟件的使用應(yīng)貫穿學(xué)習(xí)過(guò)程的始終;課堂上課將講解章節(jié)的重點(diǎn)、難點(diǎn)、要點(diǎn);定期輔導(dǎo)講解普遍存在的問題和集中答疑。
學(xué)生在學(xué)習(xí)本課程前,應(yīng)首先了解教學(xué)大綱內(nèi)容,其次了解教學(xué)媒體的功能,再制定自己的學(xué)習(xí)計(jì)劃。在學(xué)習(xí)過(guò)程中,應(yīng)根據(jù)文字教材中提供的內(nèi)容,再配合要使用方法和學(xué)習(xí)建議,采取下列步驟循序漸進(jìn)地學(xué)習(xí):
1)閱讀和預(yù)習(xí)學(xué)習(xí)內(nèi)容;
2)觀看多媒體教學(xué)課件;
3)完成思考題和作業(yè)題;
4)上機(jī)實(shí)驗(yàn);
5)集中輔導(dǎo)和答疑;
6)使用模擬考試環(huán)境軟件自測(cè)學(xué)習(xí)效果;
7)通過(guò)自測(cè)結(jié)果發(fā)現(xiàn)問題,返回上述相關(guān)的步驟解決問題。
由于本課程特別注重對(duì)學(xué)生自學(xué)能力和實(shí)際操作技能的培養(yǎng),因此,上機(jī)實(shí)驗(yàn)在本課程的教學(xué)效果中起決定性作用,否則將可能無(wú)法通過(guò)考試。
《計(jì)算機(jī)應(yīng)用基礎(chǔ)》是計(jì)算機(jī)的入門課程,在教學(xué)中存在著:內(nèi)容多、比較雜、更新快、學(xué)時(shí)緊;學(xué)生程度不一,教與學(xué)的效果不理想等問題。因此,我們?cè)诮虒W(xué)內(nèi)容、教學(xué)方法和教學(xué)手段上,必須突出職業(yè)技能培養(yǎng)、學(xué)有所為的特點(diǎn)。
參考文獻(xiàn):
[1]李偉藝,王惠蘭.開放教育《計(jì)算機(jī)應(yīng)用基礎(chǔ)》課程教學(xué)設(shè)計(jì)[J].山西廣播電視大學(xué),2009(4):17-18.
[2]柳青.計(jì)算機(jī)應(yīng)用基礎(chǔ)[M].北京:高等教育出版社,2006.
[3]馮乃光.《計(jì)算機(jī)應(yīng)用基礎(chǔ)》課程實(shí)施意見[Z].
篇7
C語(yǔ)言課程是計(jì)算機(jī)學(xué)科的一門基礎(chǔ)主干課,也是其他相關(guān)專業(yè)的必修課,是一門實(shí)踐性很強(qiáng)的課程。C語(yǔ)言的學(xué)習(xí)對(duì)于程序開發(fā)入門人員的程序設(shè)計(jì)邏輯思維能力的培養(yǎng)和訓(xùn)練有著深遠(yuǎn)的意義和影響,但是,C語(yǔ)言的學(xué)習(xí)也會(huì)成為部分程序開發(fā)人員最初的障礙,為了幫助廣大C語(yǔ)言愛好者進(jìn)行實(shí)踐能力的提高,接下來(lái)將使用實(shí)例―窗口菜單制作,結(jié)合C語(yǔ)言結(jié)構(gòu)化、模塊化程序設(shè)計(jì)的方法和實(shí)踐教學(xué)案例,進(jìn)一步闡述程序設(shè)計(jì)邏輯思維的訓(xùn)練方法與解決實(shí)際問題的技巧。
采用C語(yǔ)言實(shí)現(xiàn)窗口菜單制作,將需要解決以下四方面的問題:
一是窗口菜單具有的功能:窗口菜單的功能取決于應(yīng)用程序本身的功能。
二是窗口菜單是在那種模式下使用:窗口菜單在何種模式下使用將以應(yīng)用程序運(yùn)行的環(huán)境為依據(jù),即文本模式和圖形模式的選擇。
三是用戶采用那種輸入設(shè)備:計(jì)算機(jī)硬件組成中的常用輸入設(shè)備有鍵盤和鼠標(biāo),這也是程序開發(fā)人員在程序開發(fā)過(guò)程中結(jié)合應(yīng)用程序本向的功能和用戶的需求要著重考慮和具體實(shí)現(xiàn)的用戶接口。友好的用戶界面可以為用戶帶來(lái)較大的方便,同時(shí),也是用戶評(píng)價(jià)應(yīng)用程序性能的標(biāo)準(zhǔn)之一。
四是窗口菜單的組成:一個(gè)應(yīng)用程序總是以一個(gè)窗口的形式出現(xiàn)。在窗口中有標(biāo)題欄、菜單欄、工具欄、窗口顯示區(qū)、狀態(tài)欄等,但是在本案例中僅涉及菜單欄的設(shè)計(jì)與實(shí)現(xiàn)。
針對(duì)以上窗口菜單制作的問題將給出以下解決方案:應(yīng)用程序是用戶界面基于文本模式和圖形模式的窗口與菜單技術(shù):文本模式下鍵盤操作的窗口菜單和圖形模式下使用鼠標(biāo)操作的窗口菜單,以下案例的開發(fā)工具是Win-TC。
一、文本模式下鍵盤操作的窗口菜單
首先,繪制用戶界面的窗體和下拉菜單的邊框。使用gotoxy(x,y)將光標(biāo)定位至指定位置,通過(guò)左上角、水平直線、右上角、垂直線、左下角、右下角對(duì)應(yīng)的ASCII值218、196、179、192、217,結(jié)合格式輸出printf(“%c”,ASCII)畫出窗體和下拉菜單的邊框,注意水平線和垂直線還要與循環(huán)一起配合使用。
其次,使用結(jié)構(gòu)體建立主菜單和各個(gè)下拉菜單的菜單項(xiàng)。例如設(shè)計(jì)的主菜單有文件、編輯、幫助三個(gè)主菜單,文件主菜單的下拉菜單項(xiàng)為新建、打開、保存、另存為、退出,編輯主菜單的下拉菜單項(xiàng)為復(fù)制、剪切、粘貼、刪除,幫助主菜單的下拉菜單項(xiàng)為幫助主題、關(guān)于。根據(jù)以上窗口菜單項(xiàng),則將會(huì)設(shè)計(jì)出以下的結(jié)構(gòu)體:
struct Menu{
char mainMenuName[10];//主菜單的字名
char childMenuName[1-][10];//下拉菜單項(xiàng)名字
}menu[3];
再次,設(shè)置各個(gè)菜單項(xiàng)的文本和背景顏色。使用textcolor(bcolor)來(lái)設(shè)計(jì)菜單項(xiàng)的文本顏色,使用textbackground(bcolor)函數(shù)設(shè)置菜單項(xiàng)的背景顏色,其中之一bcolor的取值為[0,15]之間的整數(shù)。
最后,接收用戶的按鍵并響應(yīng)。對(duì)用戶選擇的菜單項(xiàng)進(jìn)行高亮顯示,在選中某菜單項(xiàng)后,再按回車鍵就可以執(zhí)行相應(yīng)的菜單命令。
1.接收用戶的按鍵:定義按鍵變量int key,通過(guò)bioskey(0)的值進(jìn)行判斷是否有按鍵按下,若有鍵被按下bioskey(1)的值為非0的,使用key=bioskey(0)進(jìn)行接收。對(duì)常用的文本模式下窗口菜單按鍵進(jìn)行宏定義,如上鍵、下鍵、左鍵、右鍵、回車鍵,具體定義如下:
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define ENTER 0x1c0d
2.響應(yīng)用戶的按鍵:將key作為響應(yīng)用戶選擇的入口,與預(yù)定義的LEFT、DOWN、RIGHT、LEFT、ENTER進(jìn)行比較,確定用戶的選擇,從而執(zhí)行不同的操作。具體實(shí)現(xiàn)如下:
key=bioskey(0);
switch(key)
{
case LEFT: //主菜單項(xiàng)的水平切換 即移到左邊選項(xiàng)
break;
case RIGHT: //主菜單項(xiàng)的水平切換 即移到右選項(xiàng)
break;
case UP: //下拉菜單項(xiàng)的上下移動(dòng) 即向上移動(dòng)
break;
case DOWN: //下拉菜單項(xiàng)的上下移動(dòng) 即向下移動(dòng)
break;
case ENTER:
break;
}
二、圖形模式下使用鼠標(biāo)操作的窗口菜單
與文本模式下的窗口菜單相比,圖形模式下的窗口菜單具有更為美觀,且可以使用鼠標(biāo)進(jìn)行方便操作的優(yōu)點(diǎn),但此處需要使用圖形模式下的字模進(jìn)行漢字的繪制顯示。
首先,圖形模式初始化。以下代碼將圖形系統(tǒng)初始化為VGA 640X480 16色工作方式:
detectgraph(&gdriver, &gmode); //自動(dòng)測(cè)試硬件
initgraph(&gdriver, &gmode, "c:\\tc"); // 根據(jù)測(cè)試結(jié)果初始化圖形
其次,圖形模式下的漢字計(jì)算。在Win-TC編輯環(huán)境中的“超級(jí)工具集”下的“點(diǎn)陣字模工具”可以幫助我們完成點(diǎn)陣字模的計(jì)算。在此,可以輸入要提取的字模,選擇字體,設(shè)置字體大小等等。
再次,繪制窗口界面、主菜單、下拉菜單項(xiàng)。
1、繪制窗口界面:使用textbackground(bcolor)設(shè)定背景顏色,使用textcolor(bcolor)設(shè)定文本顏色,使line(x1, y1, x2, y2)畫線,畫線前可以使用setcolor(bcolor)設(shè)定畫線顏色,如果需要,也可以畫矩形,并填充矩形內(nèi)部區(qū)域,具有該功能的函數(shù)是bar(int left, int top, int right, int bottom),其中l(wèi)eft,top 屏幕左上角坐標(biāo),right,bottom:屏幕右下角坐標(biāo)。
2、主菜單與下拉菜單項(xiàng)的繪制:前面已經(jīng)計(jì)算出漢字的點(diǎn)陣字模,此處,需要通過(guò)void drawmat(char *mat,int matsize,int x,int y,int color)函數(shù)調(diào)用剛剛計(jì)算好的點(diǎn)陣字模mat,設(shè)置好字體顏色color后輸出到指定的(x,y)處。
最后,獲得鼠標(biāo)坐標(biāo)并響應(yīng)。
對(duì)鼠標(biāo)信息進(jìn)行宏定義:
#define WAITING 0xff00
#define LEFTPRESS 0xff01
#define LEFTCLICK 0xff10
#define LEFTDRAG 0xff19
#define RIGHTPRESS 0xff02
#define RIGHTCLICK 0xff20
#define RIGHTDRAG 0xff2a
#define MIDDLEPRESS 0xff04
#define MIDDLECLICK 0xff40
定義畫鼠標(biāo)指針的矩陣:可以使用專業(yè)工具設(shè)計(jì)鼠標(biāo)圖形,并將由此生成的鼠標(biāo)圖形對(duì)應(yīng)矩陣保存,并在此處使用即可。
篇8
關(guān)鍵詞:嵌入式系統(tǒng);教學(xué)改革;非計(jì)算機(jī)專業(yè)
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2015)01-0226-04
嵌入式計(jì)算機(jī)技術(shù)是21世紀(jì)計(jì)算機(jī)技術(shù)兩個(gè)重要發(fā)展方向之一,嵌入式系統(tǒng)代表了“計(jì)算”發(fā)展的時(shí)代方向。根據(jù)IDC預(yù)測(cè),到2015年,全球智能系統(tǒng)的設(shè)備量將達(dá)到150億之巨。無(wú)論是在航空航天、汽車電子、消費(fèi)電子,還是工業(yè)控制、軌道交通、國(guó)防裝備等關(guān)鍵行業(yè),處處都有嵌入式系統(tǒng)的身影。嵌入式技術(shù),成為國(guó)民經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步的一項(xiàng)必不可少的重要基礎(chǔ)技術(shù)[1-3]。
因此,很多高校紛紛開展嵌入式系統(tǒng)的教學(xué)和培訓(xùn)工作。由于嵌入式技術(shù)在工控、汽車電子等領(lǐng)域的廣泛應(yīng)用,除了計(jì)算機(jī)專業(yè)開設(shè)嵌入式方向之外,電子工程、自動(dòng)化、測(cè)試技術(shù)等專業(yè)也相應(yīng)開設(shè)了嵌入式系統(tǒng)基礎(chǔ)教學(xué)。然而各教學(xué)單位的辦學(xué)理念、辦學(xué)條件、教師實(shí)力和學(xué)生水平良莠不齊,所以嵌入式系統(tǒng)教學(xué)模式也應(yīng)該因地制宜、因材施教。本文展示了對(duì)西部某財(cái)經(jīng)高校187名學(xué)生進(jìn)行的問卷調(diào)查結(jié)果,結(jié)合該校的實(shí)際情況,從學(xué)生和授課教師雙向角度考慮,探討在自動(dòng)化、電子、測(cè)控等非計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)課程的教學(xué)方法。
一、非計(jì)算機(jī)專業(yè)嵌入式系統(tǒng)開發(fā)學(xué)習(xí)現(xiàn)狀
為了清楚了解當(dāng)前地方財(cái)經(jīng)院校嵌入式系統(tǒng)教學(xué)現(xiàn)狀,我們對(duì)西部某財(cái)經(jīng)高校187名學(xué)生進(jìn)行了問卷調(diào)查,被調(diào)查學(xué)生覆蓋了自動(dòng)化、電子科學(xué)與技術(shù)、測(cè)試技術(shù)、應(yīng)用物理4個(gè)專業(yè)。調(diào)查內(nèi)容包括生源特點(diǎn)、嵌入式系統(tǒng)前導(dǎo)課程學(xué)習(xí)情況、當(dāng)前嵌入式學(xué)習(xí)狀況等。
(一)生源特點(diǎn)
調(diào)配率高、女生偏多是地方財(cái)經(jīng)院校信息學(xué)科的一大特點(diǎn)。在我們調(diào)查的187名學(xué)生中,調(diào)配生高占40.64%,女生占比為38.5%。興趣是學(xué)習(xí)的最好老師,尤其是90后的當(dāng)代大學(xué)生,無(wú)論是難度本就高的嵌入式系統(tǒng),還是其他專業(yè)課,如此高的調(diào)配率,對(duì)大學(xué)教師提出了更高的要求。在工科學(xué)習(xí)過(guò)程中,女生的動(dòng)手能力等劣勢(shì)也是不可回避的。
除此之外,由于專業(yè)差異,經(jīng)管文專業(yè)學(xué)生相比工科學(xué)生學(xué)業(yè)更輕松,興趣更廣泛,思維也更靈活。財(cái)經(jīng)特色鮮明的地方財(cái)經(jīng)院校,工科學(xué)生容易受到經(jīng)管文類學(xué)生影響。
(二)前導(dǎo)課程學(xué)習(xí)情況
嵌入式系統(tǒng)有兩個(gè)很顯著的特點(diǎn):一是軟硬件結(jié)合,嵌入式系統(tǒng)都是軟硬件協(xié)同設(shè)計(jì)的結(jié)果;二是面向應(yīng)用,嵌入式系統(tǒng)是通過(guò)嵌入到具體的產(chǎn)品中提升產(chǎn)品性能,降低產(chǎn)品成本的。嵌入式系統(tǒng)作為課程,既包括比較復(fù)雜的硬件組成與工作原理,又包括嵌入式軟件設(shè)計(jì),同時(shí)還涉及嵌入式應(yīng)用開發(fā)中的一些工程經(jīng)驗(yàn)和領(lǐng)域經(jīng)驗(yàn)。其先行課程有:C語(yǔ)言程序設(shè)計(jì)、模擬電路、數(shù)字電路、計(jì)算機(jī)組成原理、操作系統(tǒng)等。
在187名被調(diào)查者中,C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)非常薄弱。學(xué)完之后還不知道什么是C語(yǔ)言的占10%,大一學(xué)的時(shí)候懂一點(diǎn)點(diǎn),大三早就忘記了的達(dá)到57.8%;竟然有超過(guò)一半的人不知道程序從哪個(gè)地方開始執(zhí)行。知道函數(shù)指針用法的學(xué)生僅僅占13.9%;能讀得懂結(jié)構(gòu)體也只有15%。C語(yǔ)言在嵌入式驅(qū)動(dòng)程序開發(fā)和應(yīng)用程序開發(fā)中都占據(jù)重要地位,如此糟糕的學(xué)習(xí)情況為嵌入式教學(xué)提出了很大挑戰(zhàn)。
在筆者的調(diào)查中,還考察了其他前導(dǎo)課程學(xué)習(xí)情況,學(xué)習(xí)過(guò)操作系統(tǒng)的占29.5%;45%的同學(xué)學(xué)習(xí)過(guò)計(jì)算機(jī)組成原理;學(xué)習(xí)過(guò)微處理器結(jié)構(gòu)的學(xué)生占38%。
(三)嵌入式Linux開發(fā)基礎(chǔ)學(xué)習(xí)情況
單片機(jī)作為自動(dòng)化、電子科學(xué)與技術(shù)、測(cè)試技術(shù)三個(gè)專業(yè)的基礎(chǔ)課,本質(zhì)上同屬于嵌入式系統(tǒng),因此我們同時(shí)考察了單片機(jī)和嵌入式linux開發(fā)基礎(chǔ)兩門課程的學(xué)習(xí)情況。
如圖1所示,認(rèn)為嵌入式linux開發(fā)基礎(chǔ)很難,幾乎學(xué)不懂的占15.3%;難,但努力了還是能夠?qū)W懂的占58.7%;難度一般,和其他專業(yè)課差不多的占23.5%;只有2.6%的同學(xué)認(rèn)為嵌入式linux開發(fā)基礎(chǔ)比較容易學(xué)。在單片機(jī)的學(xué)習(xí)過(guò)程中,認(rèn)為很難,幾乎學(xué)不懂的占29.8%;難,但努力了還是能夠?qū)W懂的占51.0%;難度一般,和其他專業(yè)課差不多的占17%;只有2.2%的同學(xué)認(rèn)為單片機(jī)比較容易學(xué)。
從圖1我們可以看出,同嵌入式linux開發(fā)基礎(chǔ)相比,單片機(jī)的學(xué)習(xí)情況更差。這與嵌入式linux開發(fā)基礎(chǔ)授課內(nèi)容密切相關(guān),在被調(diào)查的三個(gè)專業(yè)中,嵌入式linux開發(fā)基礎(chǔ)授課內(nèi)容主要有:ARM處理器概述,linux系統(tǒng)最基本的操作,linux環(huán)境下簡(jiǎn)單的C語(yǔ)言程序編寫、編譯、調(diào)試工具,基本的linux應(yīng)用程序開發(fā)接口函數(shù)、字符設(shè)備驅(qū)動(dòng)程序開發(fā),嵌入式開發(fā)平臺(tái)的構(gòu)建。即便如此,仍然有74%的人覺得嵌入式linux開發(fā)基礎(chǔ)很難。從單片機(jī)的學(xué)習(xí)情況也可以看出,一旦涉及到硬件設(shè)計(jì),學(xué)習(xí)情況將更加糟糕。
(四)課時(shí)安排不能滿足
當(dāng)前很多高校都采取了學(xué)分制教育模式。學(xué)分制的優(yōu)點(diǎn)自然很多,比如更加靈活、機(jī)動(dòng)和高效等等,但是學(xué)分制也造成了大課時(shí)量課程的銳減。在這種情況下,嵌入式系統(tǒng)理論課程通常只有32課時(shí),實(shí)驗(yàn)課時(shí)通常只有16個(gè)課時(shí),然而,嵌入式系統(tǒng)涉及的知識(shí)面非常廣泛,需要講解和實(shí)踐的內(nèi)容較多。這樣,就形成了龐大的課程內(nèi)容和偏少的課時(shí)量之間的矛盾。就嵌入式Linux開發(fā)基礎(chǔ)教學(xué)課時(shí)期望,在筆者的調(diào)查中,38%的學(xué)生希望理論課和實(shí)驗(yàn)課總課時(shí)達(dá)到64學(xué)時(shí),32%的學(xué)生選擇了56課時(shí)。
二、教學(xué)目標(biāo)和方向定位
在第一節(jié)中,我們從對(duì)學(xué)生特點(diǎn)、嵌入式先導(dǎo)課學(xué)習(xí)情況等進(jìn)行了調(diào)查分析。正如第一節(jié)所言,無(wú)論是生源特點(diǎn)還是學(xué)習(xí)態(tài)度,財(cái)經(jīng)院校的工科生都有其鮮明特點(diǎn),就非計(jì)算機(jī)專業(yè)開課情況來(lái)看,嵌入式系統(tǒng)開發(fā)先行課要么是學(xué)習(xí)基礎(chǔ)很不扎實(shí),要么是一些先導(dǎo)課沒有學(xué)習(xí)。然而在嵌入式系統(tǒng)開發(fā)教學(xué)中,非計(jì)算機(jī)專業(yè)與計(jì)算機(jī)專業(yè)教學(xué)并沒有明顯區(qū)分,教學(xué)定位很模糊。
在實(shí)際嵌入式工程開發(fā)中,一個(gè)嵌入式開發(fā)項(xiàng)目常常由硬件設(shè)計(jì)工程師、系統(tǒng)開發(fā)工程師、驅(qū)動(dòng)程序開發(fā)工程師、應(yīng)用程序開發(fā)工程師共同協(xié)作完成。無(wú)論是硬件設(shè)計(jì)、操作系統(tǒng)管理及內(nèi)核裁剪,還是驅(qū)動(dòng)程序開發(fā),都足夠單獨(dú)開設(shè)一門課程,應(yīng)用程序開發(fā)涉及內(nèi)容更多?,F(xiàn)行教學(xué)中,在32~42個(gè)學(xué)時(shí)內(nèi),教授的內(nèi)容幾乎涵蓋了嵌入式系統(tǒng)開發(fā)的各個(gè)知識(shí)點(diǎn)。這種教學(xué)方式讓學(xué)生難以接受,尤其是對(duì)調(diào)配生源,其興趣還沒激發(fā),就被一棍子打倒,基本是到了最后老師在講臺(tái)上費(fèi)心講解,學(xué)生在下面呼呼大睡。在我們的調(diào)查中,《嵌入式Linux開發(fā)基礎(chǔ)》學(xué)習(xí)困難的主要原因調(diào)查顯示:73%的同學(xué)選擇了計(jì)算機(jī)軟硬件知識(shí)儲(chǔ)備不夠,對(duì)計(jì)算機(jī)硬件不了解,對(duì)計(jì)算機(jī)編程語(yǔ)言不熟悉,對(duì)計(jì)算機(jī)操作系統(tǒng)不熟悉;15%的同學(xué)選擇了知識(shí)點(diǎn)太多,一下接受不了;8%的同學(xué)選擇了沒有興趣;只有4%的同學(xué)認(rèn)為能力不足。在“你是否有興趣繼續(xù)深入學(xué)習(xí)嵌入式”調(diào)查中,73%的同學(xué)選擇了如果以后工作需要,會(huì)繼續(xù)學(xué)習(xí);12%的同學(xué)選擇沒有興趣,以后也不會(huì)再學(xué)習(xí)了,只有15%的同學(xué)有興趣,會(huì)繼續(xù)深入學(xué)習(xí)。
著名嵌入式培訓(xùn)學(xué)校成都國(guó)嵌的嵌入式學(xué)習(xí)路線設(shè)計(jì)如下:嵌入式處理器與裸機(jī)程序開發(fā)Linux系統(tǒng)管理Linux應(yīng)用程序開發(fā)Linux內(nèi)核開發(fā)基礎(chǔ)嵌入式Linux環(huán)境搭建Linux驅(qū)動(dòng)程序開發(fā)深入學(xué)習(xí)Linux內(nèi)核[3]。針對(duì)改路線,成都國(guó)嵌培訓(xùn)共計(jì)設(shè)計(jì)了十門課程班。在有限的32~42學(xué)時(shí)內(nèi),要想完成如此多的教學(xué)內(nèi)容,明顯不可能,借鑒先進(jìn)培訓(xùn)公司的經(jīng)驗(yàn),考慮到調(diào)配生源多、女生多的實(shí)際情況,綜合上述調(diào)查分析,筆者認(rèn)為,其指導(dǎo)思想應(yīng)建立在“有趣,有用,建立學(xué)生自信”基礎(chǔ)之上,將學(xué)校有限學(xué)時(shí)的嵌入式系統(tǒng)教學(xué)定位于“嵌入式系統(tǒng)體驗(yàn)入門”。
針對(duì)嵌入式教學(xué)目標(biāo),我們對(duì)剛剛學(xué)習(xí)過(guò)《嵌入式Linux開發(fā)基礎(chǔ)》的187名同學(xué)進(jìn)行了問卷調(diào)查。結(jié)合學(xué)生意愿和實(shí)際情況,其教學(xué)目標(biāo)優(yōu)先考慮為:通過(guò)本課程的學(xué)習(xí),使學(xué)生對(duì)嵌入式系統(tǒng)的基本結(jié)構(gòu)、嵌入式系統(tǒng)設(shè)計(jì)所涉及的內(nèi)容有一個(gè)較全面的認(rèn)識(shí),掌握進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)的基本理論和方法,為今后從事嵌入式系統(tǒng)的研究和開發(fā)打下良好的基礎(chǔ);次之,熟悉ARM微處理器的結(jié)構(gòu)和特點(diǎn),基本掌握基于ARM微處理器裸機(jī)程序設(shè)計(jì),掌握基于嵌入式Linux操作系統(tǒng)應(yīng)用程序設(shè)計(jì)的基本方法,了解設(shè)備驅(qū)動(dòng)開發(fā)基本方法。
三、授課內(nèi)容與順序設(shè)置
在上一節(jié)中,我們基于“有趣,有用,建立學(xué)生自信”的指導(dǎo)思想,綜合考慮了生源特點(diǎn)以及前導(dǎo)課學(xué)習(xí)情況,將有限學(xué)時(shí)的非計(jì)算機(jī)專業(yè)學(xué)嵌入式系統(tǒng)教學(xué)定位于“嵌入式系統(tǒng)體驗(yàn)入門”。在本節(jié)中我們基于上述定位,探討教學(xué)內(nèi)容設(shè)置。
當(dāng)前非計(jì)算機(jī)專業(yè)嵌入式教學(xué)內(nèi)容存在“大而全”的弊病,幾乎覆蓋了嵌入式系統(tǒng)所有知識(shí)點(diǎn)。面對(duì)一群連C語(yǔ)言基礎(chǔ)都不具備的同學(xué),老師在講臺(tái)上高談驅(qū)動(dòng)程序開發(fā)和多進(jìn)程多線程,學(xué)生能夠理解嗎?!此情此景,如同雞同鴨講,對(duì)牛彈琴。是否該補(bǔ)上一到兩次C語(yǔ)言編程課?筆者的調(diào)查結(jié)果中,支持補(bǔ)上C語(yǔ)言課程的達(dá)到68%。C語(yǔ)言是嵌入式開發(fā)的基礎(chǔ),因此,我們認(rèn)為,對(duì)非計(jì)算機(jī)專業(yè)學(xué)生,要根據(jù)實(shí)際情況考慮補(bǔ)上3個(gè)學(xué)時(shí)左右的C語(yǔ)言課程。
信息類專業(yè),在地方財(cái)經(jīng)院校,很難說(shuō)得上是主流王牌專業(yè),“二本,非主流”標(biāo)簽,讓這些專業(yè)學(xué)生信心存在先天不足,學(xué)習(xí)難度較大的嵌入式系統(tǒng),很容易打擊學(xué)生的信心,在授課內(nèi)容和順序以上,一定要保護(hù)好學(xué)生的自信心。因此,我們主張?jiān)谡n程學(xué)習(xí)初始階段,以激發(fā)學(xué)生興趣為主,知其然未必一定要知其所以然。在對(duì)嵌入式系統(tǒng)簡(jiǎn)單概述之后,基于開發(fā)板進(jìn)行快樂體驗(yàn),如裸機(jī)程序體驗(yàn),以及操作系統(tǒng)安裝體驗(yàn)。此過(guò)程,學(xué)生未必要讀懂程序,只是基于寫好的程序,在老師指導(dǎo)下,一步一步完成操作,實(shí)現(xiàn)基本的GPIO控制,直觀上體驗(yàn)嵌入式系統(tǒng)。當(dāng)前,開設(shè)了嵌入式課程的院校,基本都配置了基于ARM的嵌入式實(shí)驗(yàn)箱,這也為開展體驗(yàn)式教學(xué)提供了很好的平臺(tái)。
計(jì)算機(jī)巨頭ARM公司最近推出一個(gè)快速嵌入式系統(tǒng)原形設(shè)計(jì)平臺(tái)――mbed[4],無(wú)論是專業(yè)人員還是初學(xué)者,使用積木式構(gòu)件,可以快速設(shè)計(jì)出嵌入式系統(tǒng)。可以在3個(gè)學(xué)時(shí)之內(nèi)完成經(jīng)典的GPIO控制實(shí)驗(yàn)體驗(yàn)。mbed簡(jiǎn)單易學(xué),是初學(xué)者快樂體驗(yàn)嵌入式系統(tǒng)的好平臺(tái)。
直觀體驗(yàn)嵌入式教學(xué)之后,開展對(duì)嵌入式處理器與裸機(jī)程序開發(fā)的深度學(xué)習(xí)。裸機(jī)程序控制案例很多,可以選取幾個(gè)經(jīng)典的案例,如GPIO輸入輸出控制、UMART通信控制、步進(jìn)電機(jī)直流電機(jī)控制,基于這些案例,對(duì)處理器等硬件平臺(tái)有著更深入的認(rèn)識(shí)。自動(dòng)化、電子、測(cè)控等專業(yè),在學(xué)習(xí)嵌入式系統(tǒng)開發(fā)之前,都開設(shè)了單片機(jī)教學(xué),開設(shè)上述裸機(jī)程序教學(xué),既有利于鞏固單片機(jī)學(xué)習(xí),也有利于過(guò)渡到更高級(jí)的嵌入式學(xué)習(xí)。
在實(shí)際應(yīng)用的嵌入式系統(tǒng)中,很多是需要操作系統(tǒng)的,如智能手機(jī)等消費(fèi)電子領(lǐng)域、汽車電子等。當(dāng)前嵌入式操作系統(tǒng)應(yīng)用最多最廣的非嵌入式Linux莫屬。熟悉Linux操作系統(tǒng)管理是非常必要的?;谇度胧絃inux系統(tǒng),有很多嵌入式應(yīng)用程序開發(fā),因此在嵌入式體驗(yàn)入門班,有必要奠定基本的嵌入式Linux應(yīng)用程序開發(fā)基礎(chǔ)。
表1對(duì)上述學(xué)習(xí)內(nèi)容學(xué)習(xí)順序和學(xué)習(xí)時(shí)間進(jìn)行更詳細(xì)配置。要完成上述內(nèi)容,需要48學(xué)時(shí)。在非計(jì)算機(jī)專業(yè),嵌入式系統(tǒng)學(xué)習(xí)時(shí)間一般在48學(xué)時(shí)左右,要完成嵌入式系統(tǒng)開發(fā)高級(jí)主題如驅(qū)動(dòng)程序開發(fā)、多進(jìn)程多線程編程,不但學(xué)習(xí)時(shí)間不能滿足,由于這些學(xué)習(xí)主題難度較大,很容易打擊學(xué)生信心,因此,我們主張只對(duì)這些主題基本原理和基本實(shí)現(xiàn)作簡(jiǎn)單概述,留待有興趣深入學(xué)習(xí)的同學(xué)后續(xù)學(xué)習(xí)。
四、授課模式
(一)理論和實(shí)踐合二為一
現(xiàn)在的大學(xué)本科教育已由精英教育轉(zhuǎn)變成為大眾教育,特別是對(duì)于地方財(cái)經(jīng)院校這類二本院校的學(xué)生,他們普遍興趣廣泛、思維靈活,但卻不太習(xí)慣理論學(xué)習(xí)和思考,缺乏恒心和耐力,容易知難而退。對(duì)于這些學(xué)生,如果采用傳統(tǒng)的強(qiáng)調(diào)理論化、知識(shí)化的傳授方法,理論和實(shí)驗(yàn)分開教學(xué)模式來(lái)講授嵌入式系統(tǒng)課程,學(xué)生無(wú)法直接感受到嵌入式系統(tǒng)課程的魅力,無(wú)法感受到所學(xué)知識(shí)在實(shí)際工作中的地位和作用,因而不能融入到課堂學(xué)習(xí)中去,體現(xiàn)在課堂上就是老師自說(shuō)自話,學(xué)生我行我事。最后一個(gè)學(xué)期下來(lái),大部分學(xué)生感到一無(wú)所獲,產(chǎn)生嚴(yán)重的挫敗感。從上節(jié)課程內(nèi)容設(shè)置來(lái)看,適合老師一邊動(dòng)手示范,學(xué)生一邊學(xué)習(xí),學(xué)生一邊做一邊學(xué),在做中學(xué)。在我們的調(diào)查中,81%的同學(xué)認(rèn)為理論與實(shí)驗(yàn)課合二為一,效果會(huì)更好。現(xiàn)實(shí)中的實(shí)驗(yàn)條件也足夠支撐理論和實(shí)踐合二為一教學(xué)模式。一個(gè)教學(xué)班一般一個(gè)星期開設(shè)嵌入式課程5個(gè)學(xué)時(shí),一個(gè)擁有40臺(tái)實(shí)驗(yàn)箱的嵌入式系統(tǒng)實(shí)驗(yàn)室,一天可以支撐兩個(gè)班級(jí)教學(xué),一個(gè)星期可以容納10個(gè)班級(jí)學(xué)習(xí),我校每學(xué)年總計(jì)有8~10個(gè)班級(jí)開設(shè)嵌入式系統(tǒng)教學(xué),即便是同一學(xué)期同時(shí)開設(shè)這些課程,也能夠支撐將理論和實(shí)驗(yàn)合二為一的教學(xué)模式。
(二)案例驅(qū)動(dòng)
以案例為基礎(chǔ)的教學(xué)法,根據(jù)課堂教學(xué)目標(biāo)和教學(xué)內(nèi)容的需要,通過(guò)設(shè)置具體教學(xué)案例,引導(dǎo)學(xué)生參與分析、討論、實(shí)踐等,讓學(xué)生在具體的問題情景中積極思考、主動(dòng)探索,培養(yǎng)學(xué)生分析問題和解決問題的綜合能力,這被稱之為案例驅(qū)動(dòng)模式[1]。調(diào)查結(jié)果顯示,77%的學(xué)生認(rèn)為,案例驅(qū)動(dòng)嵌入式系統(tǒng)教學(xué)可行,且有利于嵌入式系統(tǒng)工程能力的培養(yǎng)。為了解決嵌入式系統(tǒng)教學(xué)中存在的問題,其中一個(gè)很重要的做法就是在現(xiàn)有教材的基礎(chǔ)上,適量引入活潑生動(dòng)的教學(xué)案例和相關(guān)的工程應(yīng)用。通過(guò)這些教學(xué)案例,提高學(xué)生的學(xué)習(xí)興趣,讓他們主動(dòng)參與到學(xué)習(xí)過(guò)程中;化解課程的教學(xué)難點(diǎn),減少學(xué)生學(xué)習(xí)課程時(shí)的挫折感;強(qiáng)調(diào)所學(xué)知識(shí)的工程應(yīng)用,培養(yǎng)學(xué)生的實(shí)踐動(dòng)手能力和創(chuàng)新能力;貫通課程的知識(shí)點(diǎn),建立嵌入式系統(tǒng)整體概念,培養(yǎng)綜合運(yùn)用所學(xué)知識(shí)的能力。
(三)充分利用云服務(wù)降低嵌入式學(xué)習(xí)的復(fù)雜性
嵌入式教學(xué)中一個(gè)難點(diǎn)就是需要安裝配置的軟件比較多,如Linux操作系統(tǒng)安裝,虛擬機(jī)配置,嵌入式程序開發(fā)環(huán)境的安裝與配置,嵌入式程序燒寫軟件。對(duì)初學(xué)者來(lái)說(shuō),如此多的軟件安裝和配置,一時(shí)很難掌握,很容易讓學(xué)生產(chǎn)生挫敗感,進(jìn)而放棄對(duì)嵌入式系統(tǒng)開發(fā)的學(xué)習(xí)。
ARM公司最近推出的mbed快速嵌入式系統(tǒng)原形設(shè)計(jì)平臺(tái)[4],可有效幫助學(xué)生解決此問題。該平臺(tái)只需一塊mbed開發(fā)板,一臺(tái)可以上因特網(wǎng)的計(jì)算機(jī),用戶只需用C或者C++,充分利用mbed庫(kù)函數(shù),快速開發(fā)出嵌入式程序,然后通過(guò)遠(yuǎn)程已經(jīng)配置好的交叉編譯環(huán)境進(jìn)行編譯,然后下載到目標(biāo)板上。mbed既是一塊開發(fā)板,也可以當(dāng)作一個(gè)U盤,下載程序非常簡(jiǎn)單。初學(xué)者可以很快上手體驗(yàn)到嵌入式系統(tǒng)的魅力。
在操作系統(tǒng)學(xué)習(xí)方面,無(wú)需在本地機(jī)上安裝操作系統(tǒng),已有很好的基于云計(jì)算平臺(tái)提供linux操作系統(tǒng)學(xué)習(xí)平臺(tái),Nitrous.IO[5]就是一個(gè)非常不錯(cuò)的平臺(tái),學(xué)生只需要登錄其平臺(tái),注冊(cè)一帳號(hào),就可以使用其系統(tǒng)。
五、結(jié)語(yǔ)
嵌入式人才的需求量大,嵌入式技術(shù)正快速發(fā)展,地方財(cái)經(jīng)院校非計(jì)算機(jī)專業(yè)應(yīng)根據(jù)自身特點(diǎn)和定位靈活調(diào)整嵌人式系統(tǒng)的教學(xué)內(nèi)容,發(fā)揮自身優(yōu)勢(shì),培養(yǎng)出社會(huì)需求的嵌入式技術(shù)應(yīng)用人才。嵌入式系統(tǒng)課程的教學(xué)改革是一項(xiàng)長(zhǎng)期而系統(tǒng)的工程,要逐步改善教學(xué)條件,提高教師素質(zhì),改進(jìn)教學(xué)方法,不斷探索與實(shí)踐,提高學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的應(yīng)用能力、創(chuàng)新能力,造就學(xué)生的就業(yè)優(yōu)勢(shì)。
參考文獻(xiàn):
[1]李文生,鄧春健,呂D,案例驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革探索[J].計(jì)算機(jī)教育,2011,(2).
[2]王小妮,嵌入式軟件設(shè)計(jì)課程研究與探索[J].中國(guó)電力教育,2014,(8).
[3]國(guó)嵌.嵌入式體驗(yàn)入門班培訓(xùn)教材[BD/OL].(2440版). [2011-03-07].
http:///jiaocai_view.asp?id=330.
篇9
[關(guān)鍵詞]線性代數(shù);CAI;教學(xué)改革
[DOI]10.13939/ki.zgsc.2016.31.244
1選題背景
線性代數(shù)作為一門重要的工科專業(yè)必修數(shù)學(xué)課程,是多門后續(xù)課程的基礎(chǔ)課,在培養(yǎng)大學(xué)生的計(jì)算能力、抽象思維能力和邏輯推導(dǎo)能力等方面發(fā)揮著重要的作用。隨著科技的迅速發(fā)展,僅研究單個(gè)變量之間的關(guān)系已不能滿足解決實(shí)際問題的需要,還需進(jìn)一步研究多個(gè)變量之間的關(guān)系,然而涉及多個(gè)變量關(guān)系的各種實(shí)際問題大多可以線性化,伴隨計(jì)算機(jī)技術(shù)的發(fā)展,線性化問題可以通過(guò)線性代數(shù)這一工具解決。因此,今天線性代數(shù)已經(jīng)在圖像處理、計(jì)算機(jī)輔助設(shè)計(jì)、經(jīng)濟(jì)學(xué)等領(lǐng)域中起著重要的理論基礎(chǔ)作用。然而從一般高校線性代數(shù)教學(xué)實(shí)際來(lái)看,從教學(xué)內(nèi)容和方法上都注重理論體系完整,強(qiáng)調(diào)線性代數(shù)的基本定義、定理、性質(zhì)及其證明,反而對(duì)線性代數(shù)的應(yīng)用不夠重視。因此,有必要探索新的教學(xué)模式,引導(dǎo)學(xué)生認(rèn)識(shí)到線性代數(shù)在工程中的應(yīng)用性,逐步提高學(xué)生的線性代數(shù)應(yīng)用能力和計(jì)算能力,進(jìn)而提高學(xué)生的就業(yè)能力和創(chuàng)業(yè)能力。
目前,線性代數(shù)的教學(xué)模式改革已被很多國(guó)家所關(guān)注。美國(guó)大學(xué)數(shù)學(xué)教育從1990年就開始了一次大的改革,成立了線性代數(shù)課程研究組(Linear Algebra Curriculum Study Group,LACSG)。1992年美國(guó)科學(xué)基金會(huì)又資助了一個(gè)ATLAST(Augment the Teaching of Linear Algebra using Software Tools)計(jì)劃,即用軟件工具(MATLAB)增強(qiáng)線性代數(shù)教學(xué),強(qiáng)調(diào)了計(jì)算機(jī)對(duì)線性代數(shù)的重要性。到今天,國(guó)外所有線性代數(shù)教材都用了數(shù)學(xué)軟件,并且充實(shí)了大量的應(yīng)用實(shí)例,但國(guó)產(chǎn)的幾乎所有教材卻還都是20年前的老面孔。
在我國(guó),線性代數(shù)課中不談?dòng)?jì)算機(jī)、教線性代數(shù)的老師幾乎不使用計(jì)算機(jī),已經(jīng)成為我國(guó)線性代數(shù)教育界與發(fā)達(dá)國(guó)家的明顯差距。于是我國(guó)的線性代數(shù)課程出現(xiàn)了這樣一種奇怪的狀況――理論抽象愈來(lái)愈深,而很少應(yīng)用于實(shí)際計(jì)算,它成了一門學(xué)生感到抽象、枯燥的課程。由于缺乏感性的認(rèn)識(shí)和實(shí)際應(yīng)用的推動(dòng),后續(xù)課程又往往怕麻煩而避開矩陣方程,教出來(lái)的學(xué)生當(dāng)然是理論上害怕矩陣、實(shí)踐中不會(huì)用矩陣算題的。因此,線性代數(shù)應(yīng)用能力的培養(yǎng)必然是線性代數(shù)課程體系改革的重點(diǎn)內(nèi)容,是教育改革的必然趨勢(shì)。
2實(shí)踐教學(xué)改革工作
2.1分析需求,確定任務(wù)
要保證高的教學(xué)水平,必須研究課程內(nèi)容該如何滿足專業(yè)課的需要。我們?cè)谶M(jìn)行這項(xiàng)工作時(shí),以量大面廣的機(jī)械、電子、計(jì)算機(jī)專業(yè)為對(duì)象,通過(guò)分析其后續(xù)課程在矩陣建模和計(jì)算方面的需求,以確定線性代數(shù)課程的任務(wù)。我們找到了這幾個(gè)專業(yè)大學(xué)三年級(jí)前能用到線性方程的十多門課程:高等數(shù)學(xué)、化學(xué)、電路、理論力學(xué)、材料力學(xué)、數(shù)字信號(hào)處理、計(jì)算方法、物理、傳熱學(xué)、計(jì)算機(jī)圖形學(xué)、信號(hào)與系統(tǒng)、機(jī)械振動(dòng)等。但在實(shí)際教材及教學(xué)過(guò)程中,這些課程基本上都不會(huì)用矩陣進(jìn)行計(jì)算,原因就在于目前線性代數(shù)所教的內(nèi)容與后續(xù)課程的需求脫節(jié)。
根據(jù)以上分析,教改中我們將課程的實(shí)踐目標(biāo)定位為:學(xué)完線性代數(shù)課程以后,學(xué)生應(yīng)該會(huì)做不低于6 階的復(fù)數(shù)矩陣運(yùn)算,會(huì)解6元以上的代數(shù)方程組,會(huì)解6階三元以上的超定方程組,這是我們?yōu)榫€性代數(shù)制訂的課程要求。怎樣在不增加太多學(xué)時(shí)的前提下達(dá)到這個(gè)要求,唯一的方法就是引入計(jì)算機(jī)和軟件工具。
2.2教學(xué)資源的準(zhǔn)備
因現(xiàn)有線性代數(shù)任課教師的計(jì)算機(jī)水平參差不齊,所以我們先后為教改小組的教師們配發(fā)了《線性代數(shù)實(shí)踐及MATLAB入門》、《工程線性代數(shù)(MATLAB版)》等教材,并利用暑假時(shí)間對(duì)教師進(jìn)行培訓(xùn),只有先提高了教師的計(jì)算機(jī)水平,能夠熟練運(yùn)用軟件工具解決各類線性代數(shù)問題,才能進(jìn)一步提高學(xué)生建模應(yīng)用和解題計(jì)算的能力。學(xué)生方面,我們分別選取2013級(jí)、2014級(jí)計(jì)算機(jī)專業(yè)、2015級(jí)電氣工程自動(dòng)化專業(yè)作為實(shí)驗(yàn)班進(jìn)行教學(xué)改革實(shí)踐。
2.3課堂教學(xué)改革實(shí)踐
在教學(xué)過(guò)程中主要采用的策略是:在重視線性代數(shù)基本理論掌握的同時(shí),在教學(xué)過(guò)程中專門安排一定課時(shí)講解Matlab工具的使用,側(cè)重Matlab計(jì)算思維方式的訓(xùn)練,讓傳統(tǒng)教學(xué)與科學(xué)工程計(jì)算相互融合。采取的主要措施如下:
2.3.1確定目標(biāo),依次教學(xué)
由于線性代數(shù)是大一第二學(xué)期開設(shè),新生對(duì)計(jì)算機(jī)工程計(jì)算的思維并不具備,因此在上第一節(jié)課時(shí)就具體介紹線性代數(shù)教學(xué)的主要任務(wù)及需要具備的工具條件,并在課程教學(xué)中,根據(jù)課程內(nèi)容進(jìn)度,基本每章都安排2學(xué)時(shí)講解相關(guān) Matlab 工具的具體使用并上機(jī)操作。
2.3.2注重理論銜接,強(qiáng)化應(yīng)用思維
由于面對(duì)新生,在回憶高中教學(xué)內(nèi)容基礎(chǔ)上,依次引進(jìn)行列式與矩陣內(nèi)容,分析高中階段的解法,現(xiàn)在課程的解決方法及 Matlab 的工程解法,在對(duì)比學(xué)習(xí)中縮短各階段學(xué)習(xí)的思維跳躍。
2.3.3強(qiáng)化理論基礎(chǔ),突出應(yīng)用培訓(xùn)
理論是解決問題的基礎(chǔ),沒有堅(jiān)實(shí)的理論基礎(chǔ),在實(shí)用中是無(wú)法實(shí)現(xiàn)突破的,因此在線性代數(shù)教學(xué)中仔細(xì)分析相應(yīng)定義、定理及具體示例的推導(dǎo)過(guò)程,但弱化理論證明,如求矩陣的逆運(yùn)算和秩比較復(fù)雜,而在 Matlab 中,矩陣的逆運(yùn)算只需用函數(shù)“inv”來(lái)實(shí)現(xiàn),矩陣的秩只需用函數(shù)“rank”就可實(shí)現(xiàn),讓復(fù)雜煩瑣的任務(wù)交給計(jì)算機(jī)處理,大大簡(jiǎn)化了線性代數(shù)的計(jì)算過(guò)程的復(fù)雜度。因此在課堂訓(xùn)練中,對(duì)于同一題目,大多由兩組同學(xué)進(jìn)行解答,一組在黑板上用傳統(tǒng)方法進(jìn)行演算,另一組在講臺(tái)上用電腦通過(guò)投影儀利用Matlab工具進(jìn)行解答,然后老師再分析這兩種方案的各自特點(diǎn)。
2.3.4拓展思維,積極創(chuàng)新
學(xué)習(xí)基礎(chǔ)理論的目的是為解決具體應(yīng)用,因此在講授線性代數(shù)過(guò)程中,也不忘記拓展學(xué)生思維,因?yàn)镸atlab除了能解決矩陣問題,還有更多應(yīng)用,如圖像處理、數(shù)據(jù)分類與聚集仿真、小波分析與模式識(shí)別等算法的解決,這些都可以通過(guò)程序設(shè)計(jì)解決。
2.4課后教學(xué)改革實(shí)踐
在注重提高學(xué)生應(yīng)用能力和計(jì)算能力的同時(shí),也不能忽視對(duì)基本理論的掌握,為此,我們引入了北京信息工程學(xué)院課題組開發(fā)的線性代數(shù)課程的CAI軟件:《線性代數(shù)練習(xí)題庫(kù)管理系統(tǒng)》(下文簡(jiǎn)稱LAMES)。該系統(tǒng)以學(xué)生通過(guò)計(jì)算機(jī)自己進(jìn)行課下練習(xí)為核心,系統(tǒng)為用戶提供了1200多道6種類型三種不同難度的練習(xí)題,覆蓋面較廣,對(duì)每道題都提供了多級(jí)幫助、參考解答和答案,系統(tǒng)還對(duì)教師提供課件編輯、打印試卷及對(duì)學(xué)生練習(xí)結(jié)果進(jìn)行評(píng)價(jià)和統(tǒng)計(jì)的輔助教學(xué)功能。它為學(xué)生提供了一個(gè)良好的練習(xí)環(huán)境,給教學(xué)提供了一個(gè)得力的助手。
LAMES系統(tǒng)由練習(xí)子系統(tǒng)、編輯子系統(tǒng)、統(tǒng)計(jì)子系統(tǒng)及打印子系統(tǒng)四個(gè)模塊組成。在練習(xí)子系統(tǒng)中用戶可以根據(jù)需要選擇章、類型、難度、題量、每題得分,并可隨機(jī)給出一份練習(xí)題;在編輯子系統(tǒng)中用戶可以方便地對(duì)題庫(kù)和試卷進(jìn)行管理;統(tǒng)計(jì)子系統(tǒng)主要用于統(tǒng)計(jì)成績(jī)、題庫(kù)信息、成績(jī)排序;打印子系統(tǒng)可根據(jù)用戶需求組合和打印試卷。
將CAI軟件引入教學(xué)改革實(shí)踐具有以下優(yōu)點(diǎn):
第一,實(shí)現(xiàn)大面積因材施教,線性代數(shù)CAI軟件可以對(duì)每個(gè)學(xué)生的學(xué)習(xí)策略作出及時(shí)判斷和反應(yīng),并可對(duì)不同程度的學(xué)生給出具體幫助。使學(xué)生真正成為教學(xué)主體,教學(xué)不再是被動(dòng)的灌輸。線性代數(shù)CAI軟件提供良好的學(xué)習(xí)和練習(xí)環(huán)境,讓學(xué)生自己主動(dòng)練習(xí),從而調(diào)動(dòng)了他們的積極性和主動(dòng)性,提高了學(xué)習(xí)效率。
第二,線性代數(shù)CAI軟件可以減輕教師的重復(fù)性勞動(dòng)(復(fù)習(xí)性輔導(dǎo)、上習(xí)題課、批改作業(yè)等),從而使教師把更多的精力用于更有創(chuàng)造性的活動(dòng)中。
3應(yīng)用與評(píng)價(jià)
此次教學(xué)改革實(shí)踐起始于2011年,實(shí)踐對(duì)象為2013級(jí)、2014級(jí)計(jì)算機(jī)專業(yè)、2015級(jí)電氣工程自動(dòng)化專業(yè)學(xué)生。對(duì)各年級(jí)實(shí)驗(yàn)班學(xué)生的問卷調(diào)查結(jié)果顯示:通過(guò)改革后的教學(xué)模式,76.14%的學(xué)生激發(fā)了學(xué)習(xí)線性代數(shù)的興趣;63.64%的學(xué)生認(rèn)為提高了個(gè)人計(jì)算能力;75%的學(xué)生認(rèn)為提高了個(gè)人自主學(xué)習(xí)能力。
而從近幾年學(xué)生課程考試成績(jī)、校教學(xué)督導(dǎo)組課堂及教學(xué)檢查情況通報(bào)、教務(wù)處期中教學(xué)檢查通報(bào)、學(xué)生對(duì)教學(xué)的反饋意見、后繼課程的評(píng)價(jià)可以看到,通過(guò)教學(xué)環(huán)節(jié)的優(yōu)化、課程資源的建設(shè)及教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段的改革,線性代數(shù)課的教學(xué)效果有了非常大的提高,受到了各級(jí)領(lǐng)導(dǎo)及全校師生的一致認(rèn)可。
4拓展空間及發(fā)展前景
在線性代數(shù)中教會(huì)了學(xué)生用軟件工具解題,后續(xù)其他課程中就有了進(jìn)行推廣的基礎(chǔ)。當(dāng)然后續(xù)課程的老師也要再學(xué)習(xí),其教程也要進(jìn)行改造。所以提高大學(xué)生數(shù)學(xué)應(yīng)用能力和科學(xué)計(jì)算能力是一項(xiàng)很大的系統(tǒng)工程,需要領(lǐng)導(dǎo)機(jī)關(guān)和廣大教師長(zhǎng)期的、持之以恒的努力,而線性代數(shù)課程的改革則是其中關(guān)鍵的、必不可少的第一步。
參考文獻(xiàn):
[1]陳懷琛,龔杰民.線性代數(shù)實(shí)踐及MATLAB入門[M].北京:電子工業(yè)出版社,2005.
[2]陳懷琛,高淑萍,楊威.工程線性代數(shù)(MATLAB版)[M].北京:電子工業(yè)出版社,2007.
[3]張穎.MATLAB在線性代數(shù)教學(xué)中的若干應(yīng)用[J].數(shù)學(xué)學(xué)習(xí)與研究,2016(9).
篇10
C++語(yǔ)言是在C語(yǔ)言基礎(chǔ)上發(fā)展而來(lái)的一門面向?qū)ο蟮母呒?jí)語(yǔ)言。教無(wú)定法,教學(xué)有法。對(duì)于計(jì)算機(jī)專業(yè)大學(xué)生的C++程序設(shè)計(jì)語(yǔ)言教學(xué)方法,必須結(jié)合當(dāng)前大學(xué)生基礎(chǔ)和實(shí)際情況,進(jìn)行教學(xué)方法改革和教學(xué)模式創(chuàng)新,提高教學(xué)質(zhì)量和效果,使得計(jì)算機(jī)專業(yè)大學(xué)生不但能夠掌握面向?qū)ο蟮睦碚撝R(shí),而且具有一定的可視化編程與調(diào)試能力,實(shí)現(xiàn)理論與實(shí)踐相結(jié)合,達(dá)到工程應(yīng)用型的實(shí)用人才水平。如何在有限的學(xué)時(shí)內(nèi)使得大學(xué)生能夠找到科學(xué)的創(chuàng)新學(xué)習(xí)方法[4],盡快掌握C++語(yǔ)言基本理論和具備編程能力,是每位任課教師都需要面臨的難題。
二、教學(xué)模式創(chuàng)新
為了培養(yǎng)面向工程應(yīng)用的C++程序設(shè)計(jì)人才,在知識(shí)、能力、應(yīng)用、創(chuàng)新等各方面全面培養(yǎng)大學(xué)生,本文提出“雙主互動(dòng)為綱、兩個(gè)創(chuàng)新、兩個(gè)學(xué)習(xí)、兩個(gè)支持、四個(gè)課堂”的教學(xué)模式,使得學(xué)生能夠達(dá)到掌握理論知識(shí)和具備編程能力的工程應(yīng)用水平。教學(xué)模式創(chuàng)新的基本框架如圖1所示。
本課題組的教學(xué)模式采用雙主互動(dòng)教學(xué)為綱,即基于師生互動(dòng)的教師主導(dǎo)學(xué)習(xí)和學(xué)生自主學(xué)習(xí)。兩個(gè)創(chuàng)新是指對(duì)教學(xué)內(nèi)容和教學(xué)方法分別進(jìn)行創(chuàng)新。教學(xué)內(nèi)容創(chuàng)新是指教師對(duì)教學(xué)內(nèi)容進(jìn)行梳理分解,突出重點(diǎn),并及時(shí)將新內(nèi)容、新科研成果、新概念、新技術(shù)等內(nèi)容補(bǔ)充進(jìn)來(lái),改善課程知識(shí)結(jié)構(gòu),以適應(yīng)社會(huì)對(duì)計(jì)算機(jī)編程人才的需求。教學(xué)方法創(chuàng)新是指采用互動(dòng)式、全方位的教學(xué)方法,進(jìn)行理論與實(shí)踐相結(jié)合、教學(xué)與科研相結(jié)合、課內(nèi)與課外相結(jié)合。兩個(gè)學(xué)習(xí)是指將學(xué)生分成多個(gè)小組進(jìn)行討論學(xué)習(xí)、對(duì)C++的開發(fā)環(huán)境進(jìn)行學(xué)習(xí),使得學(xué)生面向?qū)W以致用的培養(yǎng)環(huán)境。兩個(gè)支持是指教師要采用各種手段和方法對(duì)學(xué)生的學(xué)習(xí)進(jìn)行指導(dǎo)支持,包括面授支持、電話支持、e-mail和QQ等網(wǎng)絡(luò)支持。四個(gè)課堂是指理論教學(xué)課堂、上機(jī)實(shí)踐課堂、課程設(shè)計(jì)課堂和其它課余時(shí)間的課堂。
三、采用自然語(yǔ)言啟發(fā)式教學(xué)方法,提高學(xué)生理解能力
C++語(yǔ)言是一門計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。C++語(yǔ)言教材從前到后系統(tǒng)性特別強(qiáng),前后章節(jié)之間環(huán)環(huán)相扣,聯(lián)系緊密。由于面向?qū)ο蟮暮芏嘈碌母拍畋容^抽象,如果教師在教學(xué)中僅僅把教材上的語(yǔ)法知識(shí)照本宣科地講給學(xué)生聽,會(huì)導(dǎo)致下面大部分學(xué)生聽不懂,學(xué)生會(huì)很容易感到枯燥乏味和厭倦疲勞,從而產(chǎn)生排斥和厭學(xué)情緒。這種抵抗情緒一旦從開始就產(chǎn)生,則將影響后續(xù)整個(gè)學(xué)期的教學(xué)效果。由于從頭到尾都聽不懂,老師在課堂上提出的問題學(xué)生也無(wú)法進(jìn)行互動(dòng),這種灌輸式的教學(xué)方法效果非常差。而教師要根據(jù)課堂實(shí)際情況,采用互動(dòng)式教學(xué)方法,培養(yǎng)學(xué)生的主動(dòng)學(xué)習(xí)能力,才能得到良好的教學(xué)效果。
1.第一次課程教學(xué)中,明確C++語(yǔ)言課程的重要性
目前C++語(yǔ)言是大多數(shù)電子、信息、計(jì)算機(jī)相關(guān)專業(yè)的非常重要的程序設(shè)計(jì)課程,也是這些大學(xué)生后續(xù)專業(yè)課學(xué)習(xí)、畢業(yè)設(shè)計(jì)、以后上研究生或參加工作進(jìn)行計(jì)算機(jī)軟件和IT開發(fā)的主要編程語(yǔ)言,廣泛應(yīng)用于軟件設(shè)計(jì)和開發(fā)中。要讓大學(xué)生有危機(jī)意識(shí),在大學(xué)生就業(yè)如此嚴(yán)峻的情況下,學(xué)好C++語(yǔ)言,能夠提高大學(xué)生以后在就業(yè)競(jìng)爭(zhēng)中的籌碼。
2.講課過(guò)程中,對(duì)C++語(yǔ)言中的很多概念,結(jié)合自然語(yǔ)言進(jìn)行講解
C++語(yǔ)言作為一門計(jì)算機(jī)語(yǔ)言,它和人類的自然語(yǔ)言相比,既有區(qū)別,又有聯(lián)系。在講解一些關(guān)鍵概念時(shí),采用一些淺顯的自然語(yǔ)言的例子,提高學(xué)生的理解能力。本文作者在講述一些關(guān)鍵概念時(shí),將這些概念和自然語(yǔ)言結(jié)合進(jìn)行循序漸進(jìn)啟發(fā)式講解,激發(fā)學(xué)生的學(xué)習(xí)興趣,起到了非常好的效果。下面舉幾個(gè)例子。
(1)引用是C++語(yǔ)言中第一個(gè)新的概念。引用類似于自然語(yǔ)言中的別名或者綽號(hào),是正名的別名,沒有正名就沒有別名。例如唐太宗就是李世民的引用。李世民是正名,唐太宗是別名。正名和別名屬于一個(gè)變量,共用同一片內(nèi)存空間。引用主要用作函數(shù)的參數(shù)傳遞,形實(shí)結(jié)合后不會(huì)產(chǎn)生臨時(shí)的變量,節(jié)省了內(nèi)存空間
(2)類和對(duì)象是C++語(yǔ)言區(qū)別于C語(yǔ)言中普通數(shù)據(jù)類型和變量的概念。類是具有相同屬性和行為的一組對(duì)象的集合,它為屬于這個(gè)類的所有對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和行為兩個(gè)主要部分。類和對(duì)象的關(guān)系就像模具和鑄件的關(guān)系一樣,類就相當(dāng)于模具,對(duì)象就相當(dāng)于鑄件。一個(gè)模具可以生產(chǎn)出成千上萬(wàn)個(gè)鑄件。
(3)友元是C++語(yǔ)言中另一個(gè)新的概念。在數(shù)據(jù)共享與保護(hù)中,友元類似于自然語(yǔ)言中的朋友,但是友元和自然語(yǔ)言中的朋友既有聯(lián)系又有區(qū)別。人類的朋友關(guān)系通常是雙向的、可以傳遞的,但是C++中的友元關(guān)系是單向的、不能傳遞的。
3.引導(dǎo)學(xué)生合理安排課程的學(xué)習(xí)時(shí)間,培養(yǎng)學(xué)生的學(xué)習(xí)興趣
教師可以把學(xué)生分成若干個(gè)小組并布置一些編程作業(yè),培養(yǎng)他們的團(tuán)隊(duì)協(xié)作意識(shí),并共享小組編程成果,使得他們對(duì)自己編制的程序能夠運(yùn)行和產(chǎn)生正確的結(jié)果具有自豪感,提高學(xué)生的學(xué)習(xí)興趣。由每一個(gè)小組各自給全班同學(xué)講授和演示自己的算法、編程思路、運(yùn)行結(jié)果,既能夠鍛煉學(xué)生的編程與演講能力,又能夠在課堂中產(chǎn)生良好的互動(dòng)。
4.講課過(guò)程中盡量做到幽默風(fēng)趣,靈活運(yùn)用教學(xué)手段
教師在上課時(shí),要做到風(fēng)趣幽默、聲音洪亮、帶人真誠(chéng)、平易近人、知識(shí)淵博、通俗易懂,才能產(chǎn)生良好的教學(xué)效果。教師要靈活運(yùn)用多種教學(xué)手段,盡量采用多媒體教學(xué),在PPT幻燈片中多做一些動(dòng)畫效果,或者以Flas演示程序的動(dòng)態(tài)運(yùn)行過(guò)程。教師在C++語(yǔ)言教學(xué)過(guò)程中要根據(jù)課堂中學(xué)生的反應(yīng),隨機(jī)應(yīng)變,結(jié)合我國(guó)傳統(tǒng)文化與最新國(guó)內(nèi)外時(shí)事,讓學(xué)生潛移默化地學(xué)習(xí)一些難以理解的語(yǔ)法,則能達(dá)到事半功倍的效果。
四、對(duì)一些難以區(qū)分的概念采用表格形式進(jìn)行對(duì)比和總結(jié)
C++語(yǔ)言是在C語(yǔ)言基礎(chǔ)上發(fā)展起來(lái)的面向?qū)ο蟮母呒?jí)語(yǔ)言,全面兼容C,但是又增加了很多新的較為復(fù)雜的語(yǔ)法知識(shí)點(diǎn)。對(duì)于一些學(xué)生難以理解和掌握的語(yǔ)法知識(shí)點(diǎn),如果教師不幫助學(xué)生及時(shí)進(jìn)行總結(jié)和舉一反三,按照大學(xué)生初學(xué)的水平很難真正達(dá)到掌握和編程應(yīng)用的水平。因此,教師可以在講完某些知識(shí)點(diǎn)后采用表格的形式進(jìn)行對(duì)比和總結(jié)。例如,C++中引用和指針的區(qū)別總結(jié)表,普通指針、指向常量的指針和常指針三種指針?biāo)赶虻膬?nèi)容和指針本身能否改變對(duì)比總結(jié)表,對(duì)基類中具有不同訪問屬性的成員經(jīng)過(guò)不同方式繼承后在派生類中的訪問權(quán)限的比較和總結(jié)表,運(yùn)算符重載時(shí)重載為類的成員函數(shù)和友元函數(shù)、前置、后置自增、自減運(yùn)算符參數(shù)個(gè)數(shù)總結(jié)表。
五、熟悉Visual C++編程環(huán)境,具備圖形界面編程能力
目前,Visual C++ 6.0是比較經(jīng)典的開發(fā)環(huán)境。即使掌握了C++基礎(chǔ)知識(shí),仍然難以高效掌握使用Visual C++的編譯器。為了培養(yǎng)實(shí)用型軟件開發(fā)人才,教師還應(yīng)該進(jìn)行Visual C++編譯器的入門教學(xué),培養(yǎng)學(xué)生掌握如下知識(shí):
1.能夠使用Visual C++開發(fā)環(huán)境進(jìn)行界面設(shè)計(jì);
2.能夠創(chuàng)建簡(jiǎn)單的基于MFC的應(yīng)用程序;
3.能夠使用類、函數(shù)和消息映射機(jī)制;
4.能夠利用開發(fā)環(huán)境有效創(chuàng)建對(duì)話框、按鈕和菜單等資源。
當(dāng)然,對(duì)于Visual C++的學(xué)習(xí),一本好的教材也至關(guān)重要,現(xiàn)在的書店和圖書館各種Visual C++的學(xué)習(xí)教材五花八門,不泛互相抄襲、錯(cuò)誤百出、誤人子弟的教材。如何從這些書籍的海洋中找到合適的入門教材,對(duì)于作為初學(xué)者的大學(xué)生來(lái)說(shuō)有點(diǎn)難為他們。本文作者也買過(guò)不少Visual C++學(xué)習(xí)的書籍,其中不少書就沒有任何學(xué)習(xí)價(jià)值,既浪費(fèi)錢,又浪費(fèi)時(shí)間。作為教師,有責(zé)任和義務(wù)為學(xué)生挑選一本優(yōu)秀的、很容易入門的教材。本文作者和周圍很多從事Visual C++語(yǔ)言開發(fā)的朋友們都認(rèn)為Jon Bates主編的《實(shí)用Visual C++ 6.0教程》是一本非常不錯(cuò)的教材。本人在每個(gè)學(xué)期給學(xué)生教學(xué)時(shí),都會(huì)將這本教材的電子版發(fā)給同學(xué)們,而且從他們的反饋來(lái)說(shuō),效果確實(shí)不錯(cuò)。
六、理論與實(shí)踐相結(jié)合,提高程序編程與調(diào)試能力
理論必須與實(shí)踐相結(jié)合,才能得到驗(yàn)證,否則只是紙上談兵。作為一門計(jì)算機(jī)語(yǔ)言,C++程序設(shè)計(jì)的實(shí)踐性操作特點(diǎn)決定了上機(jī)實(shí)踐是課程學(xué)習(xí)中的重要環(huán)節(jié)。授之以魚,不如授之以漁。幫助學(xué)生編程序或調(diào)試程序,不如教會(huì)學(xué)生編程序或調(diào)試程序。因此,在教學(xué)中,教師可以從如下幾個(gè)方面進(jìn)行考慮:
1.上課時(shí)教師提前給同學(xué)們將上機(jī)編譯器環(huán)境、各種單步調(diào)試、斷點(diǎn)調(diào)試的方法傳授給學(xué)生,并布置好上機(jī)操作的題目,這樣學(xué)生在上機(jī)前就會(huì)有充分的準(zhǔn)備,做到有的放矢。
2.針對(duì)性地給學(xué)生布置一些具有趣味性的程序設(shè)計(jì)題目,讓學(xué)生通過(guò)查資料、上網(wǎng)和請(qǐng)教老師等多種方式編程調(diào)試,培養(yǎng)學(xué)生解決問題的能力,讓學(xué)生感到有成就感,提高學(xué)生的學(xué)習(xí)興趣。
3.對(duì)學(xué)生的上機(jī)存在的問題進(jìn)行總結(jié),對(duì)于一些普遍存在的問題要在課堂上統(tǒng)一進(jìn)行講解。并且也要對(duì)對(duì)自己的教學(xué)方法和教學(xué)模式進(jìn)行實(shí)時(shí)總結(jié)和改進(jìn),形成閉環(huán)。
按照本文作者研究的教學(xué)方法,經(jīng)過(guò)一個(gè)學(xué)期的理論教學(xué)與上機(jī)實(shí)踐學(xué)習(xí),在學(xué)期期末考試前的一個(gè)月對(duì)2010級(jí)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)1班全班52個(gè)學(xué)生劃分為13個(gè)小組布置了課程設(shè)計(jì)項(xiàng)目。每4人一個(gè)小組,由每個(gè)小組自己推選出1個(gè)組長(zhǎng)、1個(gè)副組長(zhǎng)和組員。組長(zhǎng)負(fù)責(zé)課程設(shè)計(jì)項(xiàng)目的總體實(shí)施和分工,副組長(zhǎng)協(xié)助,組員配合。課程設(shè)計(jì)的考核是每個(gè)小組交一份打印課程設(shè)計(jì)報(bào)告,包括項(xiàng)目題目、小組成員、程序設(shè)計(jì)結(jié)構(gòu)、流程圖、源程序、實(shí)驗(yàn)運(yùn)行結(jié)果。每個(gè)小組推舉一名學(xué)生在講臺(tái)上進(jìn)行10分鐘的PPT演講,老師和學(xué)生進(jìn)行5分鐘左右的提問。考核成績(jī)是由老師根據(jù)課程設(shè)計(jì)報(bào)告、演講PPT內(nèi)容、回答問題效果等項(xiàng)目進(jìn)行打分。經(jīng)過(guò)一個(gè)學(xué)期的C++理論學(xué)習(xí)和一個(gè)月的課程設(shè)計(jì),全部小組都按時(shí)遞交了課程設(shè)計(jì)報(bào)告和進(jìn)行了匯報(bào)演講,其中不少學(xué)生講的非常精彩,這對(duì)于他們也是一種不可多得的實(shí)戰(zhàn)鍛煉。學(xué)生普遍反映通過(guò)理論與實(shí)踐結(jié)合的學(xué)習(xí)開闊了視野,提高了工程應(yīng)用能力,培養(yǎng)了團(tuán)隊(duì)協(xié)作能力,增強(qiáng)了學(xué)習(xí)信心,達(dá)到了前所未有的良好效果。
七、結(jié)論
本文作者根據(jù)多年來(lái)的教學(xué)體會(huì),提出將滿堂灌式的教學(xué)方法轉(zhuǎn)變?yōu)橐詫W(xué)生為主體、以活躍式課堂為形式、以課程實(shí)際相結(jié)合的多模式創(chuàng)新教學(xué)方法,真正實(shí)現(xiàn)教師為主導(dǎo)、學(xué)生為主體的互動(dòng)式高效教學(xué)創(chuàng)新模式。
參考文獻(xiàn):
[1]鄭莉. C++語(yǔ)言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2010.
[2]錢能. C++程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2009.
[3]譚浩強(qiáng). C++面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2006.
[4]王衛(wèi)軍.教師信息化教學(xué)能力發(fā)展策略研究述[J].電化教育研究,2012, 229(5):103-109.
熱門標(biāo)簽
計(jì)算機(jī)畢業(yè)論文 計(jì)算機(jī)論文 計(jì)算機(jī)技術(shù)論文 計(jì)算機(jī)教育論文 計(jì)算機(jī)專業(yè)論文 計(jì)算機(jī)專業(yè)畢業(yè)論文 計(jì)算機(jī)教學(xué)論文 計(jì)算機(jī)基礎(chǔ)論文 計(jì)算機(jī)應(yīng)用論文 計(jì)算化學(xué)論文 心理培訓(xùn) 人文科學(xué)概論
相關(guān)文章
2高職院校計(jì)算機(jī)專業(yè)人才培養(yǎng)探析
4中職計(jì)算機(jī)教學(xué)應(yīng)用策略