摘要:本文介紹了“項目式教學”法在計算機語言教學中的應用,并以C語言程序課程教學為例,分析如何進行項目式教學。教學結(jié)果表明,“項目式教學”法在計算機語言課程中具有很好的教學效果。
關(guān)鍵詞:項目式教學 計算機語言
中圖分類號:G642文獻標識碼:A文章編號:1009-3044(2008)17-21ppp-0c
The Study of Project Teaching in the Computer Language for Higher Training College
YOU Xiao-rong
(Department of Info. and Tech., Changzhou Textile Garment Institute,Changzhou 213164, China)
Abstract: This paper introduces the way of "project teaching" in the application of computer language teaching, and takes the C language teaching as an example, and analyzes how to carry on the project teaching. The result indicated that the way of project teaching has the very good teaching effect in the computer language curriculum.
Key words: Project teaching; Computer language
1 引言
隨著我國改革開放的進一步深入以及經(jīng)濟的快速發(fā)展,培養(yǎng)具有素質(zhì)高、能直接工作在技術(shù)、研發(fā)和服務等第一線的應用型、技能型高級人才是高職教育的新課題。隨著我國經(jīng)濟的騰飛和IT技術(shù)的快速發(fā)展,許多教學模式以及部分知識結(jié)構(gòu)已經(jīng)不能滿足現(xiàn)在社會人才培養(yǎng)需求,導致了高職學生在就業(yè)的時候出現(xiàn)了“學過的不能直接上手,沒有學過的更加無從入手”的困境。對于學習計算機專業(yè)的學生而言,計算機程序設(shè)計對于他們來說又是重中之重。所以,為了培養(yǎng)學生良好的就業(yè)技能,提高學生的崗位適應能力的角度出發(fā),以職業(yè)需求為目標,本文著重介紹“項目式教學”法在計算機語言教學中的應用。
“項目式教學”法的原理是:學生的學習活動與大的任務或問題相結(jié)合,以探索問題來引導和維持學生的學習興趣和動機;創(chuàng)建真實的教學環(huán)境,讓學生帶著真實的任務去學習。在這個過程中,學生擁有學習的主動權(quán),教師不斷地挑戰(zhàn)和激勵學生前進,從而使學生真正掌握所學內(nèi)容,并通過此任務舉一反三,得到更好的學習效果[1]。
2 計算機語言的項目式教學
由于計算機程序種類很多,這里就主要以C語言程序設(shè)計為例。下面從以下幾個方面來介紹計算機語言的項目式教
學。
2.1 各種計算機語言應用領(lǐng)域
在計算機語言教學過程中,經(jīng)常有學生存在這樣的疑問,比如現(xiàn)在都在流行.net,為什么我們還要學習C語言,.net不是更加的實用么。在講解計算機語言分類的時候,又有的學生問,既然用高級語言編寫程序比低級語言簡單,為什么還要學低級語言。為了回答學生的這些問題,我們應該首先介紹這門計算機語言在整個IT領(lǐng)域所處的地位或者應用范圍。
比如說匯編語言一般用于直接和硬件打交道的地方,如編寫驅(qū)動程序等;此外,匯編語言還用于家電的控制器編程。再比如C語言,包括黑色家電(如大屏幕電視機)、路由器、交換機等產(chǎn)品,這些產(chǎn)品的開發(fā)大都涉及到C語言編程,但如界面、Web等方面的產(chǎn)品開發(fā)就用的非常少。
2.2 計算機語言的開發(fā)環(huán)境
在C語言教學過程中,許多學校仍然以Turbo C作為編譯環(huán)境。當學生走出學校走向工作崗位的時候發(fā)現(xiàn),雖然自己過了國家二級,但是在企業(yè)卻發(fā)現(xiàn)沒有一個使用Turbo C作為C語言編譯環(huán)境的,而且企業(yè)里的程序代碼大多很長,如何去看程序都成問題,更不要說開發(fā)。這時候,許多企業(yè)和學生都會說,怎么學校教的內(nèi)容一點實用性都沒有。所以說,老師有必要對學生詳細的講述這門計算機語言當前流行的編譯及開發(fā)環(huán)境。此外,軟件行業(yè)流傳著一句話,那就是“程序是調(diào)出來的不是看出來的”。如果學生對編譯環(huán)境都不熟悉,那么談如何精通一門計算機語言是無從談起的。
下面以C語言為例,除了Turbo C以外,企業(yè)非常流行的編譯器包括:Windows環(huán)境下有微軟公司的Visual C++、.NET,Linux/Unix環(huán)境下有Gcc編譯器。這些軟件的一個顯著特點是調(diào)試功能非常的強,項目管理方便,所以這些軟件在企業(yè)得到廣泛的應用。對于學生而言,他們學會的不僅僅是一種編譯調(diào)試工具,而是編寫軟件所必須的調(diào)試技能。
2.3 項目式教學的實施
下面以C語言程序設(shè)計課程為例,介紹如何實施計算機語言的項目式教學。
2.3.1 提煉課程內(nèi)容
C語言程序設(shè)計這門課的內(nèi)容主要包括:常量與變量;本數(shù)據(jù)類型;表達式與運算符;程序的基本結(jié)構(gòu);輸人輸出;IF語句;swith語句;while語句;for語句;數(shù)組;常用算法;函數(shù);指針;結(jié)構(gòu)體;共用體。
2.3.2 項目選取
項目的選取對于項目式教學的成功與否取到?jīng)Q定性的作用,因此,老師必須精心設(shè)計項目。設(shè)計原則包括:
1) 項目源程序代碼量適中,幾千行即可。目前,開源項目在Internet上廣為流程,為我們選擇項目提供非常大的幫助。我們不能選擇太大的項目,如LINUX操作系統(tǒng)的源代碼。這里,本人選擇Libmpeg2開源項目,項目網(wǎng)址為http:// libmpeg2.sourceforge.net/。
2) 項目源程序包含盡量多的知識點。我們不必去尋找具有上述15個知識點的項目,但要求盡可能的多。對于沒有的,老師可以自己根據(jù)需要編寫代碼并加入到源程序中。
3) 項目源程序可讀性強。對于選擇或者自己編寫的項目源程序要清晰,可讀性強。
4) 項目源程序編寫要規(guī)范。源程序的編寫要復合軟件開發(fā)通常的規(guī)范,這對學生以后養(yǎng)成良好的編寫代碼的習慣具有很大的幫助。
2.3.3 項目教學組織
1) 介紹項目。該項目功能主要完成MPEG1/MPEG2中ES、PS及TS流的解碼、顯示功能。其中ES流指的是經(jīng)過壓縮但未和其它數(shù)據(jù)格式進行集成的數(shù)據(jù)流,如視頻ES流指的就是經(jīng)過壓縮的視頻數(shù)據(jù)流,但不包含音頻流;PS流指的是節(jié)目流,VCD中的DAT文件及DVD中的VOB文件都屬于節(jié)目流;TS流主要用于有線電視、衛(wèi)星等實時視頻節(jié)目的傳輸。
2) 分析項目。讓同學們熟悉整個項目源代碼的內(nèi)容及結(jié)構(gòu),了解整個項目的開發(fā)過程。很多同學在就業(yè)時經(jīng)常遇到這樣的困境,碰到幾百萬行的源代碼時無從入手。這里推薦一款非常實用的源代碼查看工具Source Insight,這款軟件廣泛的應用于各大公司,可用于源程序的查看、分析,功能非常強大。
3) 學會使用幫助。同學們在學習C語言的時候經(jīng)常遇到很多函數(shù),有些函數(shù)他們不知道是什么含義,更不知道如何去用它。例如strcat等函數(shù),有些課本講的不是很詳細,這時候怎么辦呢?其實,在實際項目開發(fā)過程中,遇到不會用或者不熟悉的函數(shù),大多數(shù)軟件工程師就會使用微軟公司的MSDN或者Linux操作系統(tǒng)下面的man工具。例如:strcat函數(shù)在MSDN解釋如下:
strcat函數(shù)Required Header
char *strcat(char *strDestination, const char *strSource);
Example:
……
char string[80];
strcpy( string, "Hello world from " );
strcat( string, "strcpy " );
strcat( string, "and " );
strcat( string, "strcat!" );
printf( "String = %s ", string );}
Output: String = Hello world from strcpy and strcat!
有上述如此詳細的函數(shù)介紹,相信同學們對函數(shù)的掌握肯定易如反掌。因此,讓同學們掌握并習慣使用幫助工具是非常有必要的。
4) 調(diào)試項目。同學們在編完代碼之后,有些編譯通不過,有些編譯通過了但卻得不到正確的結(jié)果。對于編譯通不過的情況,那主要是語法出錯了,例如有些變量未聲明就使用,對于這種情況,一般看錯在哪一行就知道如何改正了。而對于編譯通過了但結(jié)果不正確的情況卻在實際的開發(fā)過程中經(jīng)常遇到,這時候就需要學會編譯器的調(diào)試工具,比如設(shè)置斷點、單步調(diào)試等。通過這一環(huán)節(jié),可以很好的提高學生的軟件調(diào)試能力。
5) 講解知識點。對于上述提到的C語言課程中的15個知識點,老師們首先可以在該項目中逐個找到相對應的知識點,對于找不到的,老師可以自己去修改源代碼,將相應的知識點添加到項目中去;然后結(jié)合項目來講解各個知識點,讓同學們掌握。通過實際的項目環(huán)境,使得同學們可以在項目中學習知識,然后又可以將學到的知識點應用到項目中去檢驗。具體每個知識點安排多少時間可根據(jù)每個學校課時量多少來定,最好采取“集中連續(xù)式”的教學方法,這樣可以防止前學后忘的現(xiàn)象發(fā)生。
6) 布置小項目。在課堂以外的時間,可以布置一些作業(yè),如添加一些新的功能或者改進項目,讓同學們自己動手解決問題。當然,如果時間允許的話,老師可以布置一些小的項目,三四個人一組,去完成一個小項目的開發(fā)。
7) 項目總結(jié)。在課程講解完之后,要求學生完成項目總結(jié),其目的是讓同學們學會如何編寫軟件開發(fā)的文檔。
3 結(jié)束語
通過本次教學改革,我們體會到以下優(yōu)點:項目式教學能極大的激發(fā)學生的興趣,使學生更容易掌握計算機語言;同學們參與到項目中,可以較好的培養(yǎng)學生的主動參與意識,提高學生終身學習的能力;讓同學們學會調(diào)試、尋求幫助等方法,可以培養(yǎng)學生善于發(fā)現(xiàn)問題、解決問題和綜合運用知識的能力; 通過實際項目的開發(fā),可以培養(yǎng)學生的創(chuàng)新意識,提高學生的動手能力;“項目式”教學可以給學生的一個寬松的學習環(huán)境,有利于培養(yǎng)學生的創(chuàng)新意識,建立濃厚的師生感情。
通過一年的實踐證明,項目式教學方法在計算機語言課程中的應用,可以取得良好的教學效果,對提高學生將來就業(yè)的適應能力具有很大的幫助。
參考文獻:
[1] 易海勝. 項目式教學法在《C語言程序設(shè)計》課程中的實踐[J]. 武漢科技學院學報, 2006, (9):92-94.
[2] 楊旭東. 項目式教學在程序設(shè)計課程中的應用[J]. 科技信息(學術(shù)版), 2006, (9):150-151.
[3] 文平耿. 對高職計算機教學模式的探索與思考[J]. 電腦知識與技術(shù)(學術(shù)交流), 2007, (7):291-292.
[4] 全國高職高專校長聯(lián)席會. 教學相長[M]. 北京:高等教育出版社, 2004.
作者簡介:游小榮(1981-),男,江西臨川人,工學碩士,教師,研究方向為:網(wǎng)絡視頻傳輸與多媒體技術(shù)。