摘要目前,為了適應迅速發展的軟件產業對編程人才的大量需求,高職院校在人才培養方面越來越重視計算機類課程教學的改革。本文以“綜合儲蓄業務平臺”為例,對項目驅動法在C語言課程教學中的應用進行了探討。
關鍵詞項目驅動 程序設計 平臺 模塊
中圖分類號:G426文獻標識碼:A
軟件產業是二十一世紀的朝陽產業,發展迅速,是推動世界經濟增長和社會發展的重要推動力。軟件人才是產生這種推動力的主要源泉,軟件職業教育人才輸出的質量與數量將對軟件產業的發展影響重大。為適應社會對人才的需求,高職院校在人才培養方面越來越注重技術的應用,以及教學與實踐的結合,在計算機專業的教學中,設立了C語言和Java 語言等主干程序設計課程,而在非計算機專業的教學中也逐步設立了VB、C 語言等程序設計課程。并通過此類課程的學習,使學生初步掌握程序設計的基本方法,具備獨立開發簡單應用程序的能力。
然而,傳統教學模式大都以教師知識講授為中心,尤其是計算機語言類的課程,教師沉悶枯燥的理論教學充斥著整堂課,教學內容存在嚴重的時間滯后性、實踐脫離性、主體被動性。在整個計算機教學過程中,學生始終處于被動地位,學生往往是聽懂,但無法實際操作出來,導致學生的學習主動性和積極性受到壓抑,同時也不利于學生創新思維的開發,不利于素質教育創造性人才的培養。
項目驅動法的引入,在很大程度上解決了這個問題。以C語言程序設計課程為例,如果在教學過程中引入實例,以具體的項目為驅動,把語法知識和基本概念放到實實在在的項目中去講述,則可以避免這些問題,好的實例可以起到事半功倍的效果。如此,可以充分調動學生的學習積極性,讓學生把理論與實踐做到完美的結合與對接,訓練學生編寫程序的熟練度和規范性,增加學生實際軟件項目開發經驗,逐漸的,學生的綜合分析和解決實際問題的能力也會有所提高,以達到高職院校培養人才的目標。另外,根據項目的難易程度,可以把教學過程分為不同的階段,并針對不同階段的教學特點,引入不同難度的項目。下面以“儲蓄綜合業務平臺”項目為例,探討一下項目驅動法在C語言課程教學中的應用。
1 需求分析
(1)系統需求簡介:儲蓄業務越來越走進人們的日常生活,銀行儲蓄信息化勢在必行。在此背景下,我們要開發一套精簡的銀行儲蓄柜臺的“儲蓄綜合業務平臺”,包括最常用的功能:開戶、銷戶、存款、取款、查詢等功能。
(2)角色分類:本軟件的最終用戶是操作員。
(3)模塊劃分:根據用戶的角色及其功能需求,劃分為七個組成部分。
(4)功能簡介:主要針對每個模塊的功能進行簡要說明,每個功能主要包含以下幾部分:模塊名稱,功能要求,業務流程,輸入輸出數據說明等。
(5)其它需求:需要學生到實際儲蓄柜臺進行實地調研,補充一下需求,然后仿照開戶銷戶的操作,使用流程圖和數據表來描述新調研來的需求。
在需求分析中,我們要引入問題,使學生明白即將要做什么,馬上要做的工作在實際生活中能夠解決什么問題,使學生帶著任務走進課堂。通過一個典型的、有針對性的例子,把相關的基本概念、解題方法和思路傳授給學生,同時讓學生課余到生活中去進行實地調研,切身體會,結合實際情況,令學生形成深刻、形象、牢固的記憶,對啟發思維、激勵興趣、提高學習效率起到重要作用。
2 系統設計
(1)系統總體設計:根據儲蓄系統的功能需求特點,畫出系統結構示意圖。對各功能模塊進行分類簡述,并作出主要模塊的調用關系圖。
(2)主要應用技術:該系統中,儲戶信息使用結構體數組進行存儲。在此,需要對學生進行相關知識的講解。
(3)數據結構設計:該儲蓄系統是一個簡化的系統,所以不使用數據庫系統,用結構體數組來存儲用戶信息,程序員主要對結構體數據進行操作,然后調用通用函數把該數組寫入磁盤或從磁盤中讀取。
(4)功能模塊設計:模塊分析、設計和代碼實現是程序開發的核心所在,因此程序的模塊設計在系統開發過程中占有非常重要的地位。在此對儲蓄綜合業務平臺的功能模塊進行具體分析和設計。
(5)其它:對照需求和設計,讓學生體會每一個需求是怎么設計的,同時對讀密碼、金額、賬號等部分進行優化設計。
在系統設計中,圍繞項目設計,對學生進行關鍵知識點的講解。學生如果只是被動接受教師在課堂上灌輸的信息,就不能起到良好的教學效果。 必須給學生一定的壓力使其產生學習動力。而項目進行到這個時候,因為學生是為了解決實際問題的有目的的學習相關知識,有實際的目標,所以教與學的效率就會提高不少。同時,我們可以在課程設計過程中引入協作學習,將班級學生分成由3到5人組成的多個小組。分組時根據學生對知識的掌握及學習能力合理分配,由教師選定組長,讓已有一定基礎的學生和基礎相對薄弱的學生搭配,相互促進學習,再由組長領導小組成員相互協作,共同完成任務。為加強學生對知識的理解,并對C語言程序設計有更深入的認識。要求提交設計報告,并在項目結束階段以小組為單位參加討論并做深刻總結。討論時教師從不同方面提出問題,檢驗學生在課程設計過程中的所做的工作和學到的知識,并鼓勵學生自己提出問題,自己解決問題。另外,C語言程序設計本身是編程語言的課程,所以必須強調編程能力的強化訓練。要想提高學生程序設計開發能力,在項目中保證學生的代碼編寫量是很重要的方法之一。
3 系統實現
(1)核心功能部分:首先分析系統的技術要點――數據文件記錄結構體和文本文檔的操作,在此部分,主要學習C語言結構體類型的定義,定義結構體類型變量的方法,結構體類型變量的引用,學習使用C語言typedef定義類型,使用C語言文件操作庫函數實現基于流式文件的讀寫操作等。
(2)整體功能實現:實現項目的主體部分:主函數,開戶模塊,銷戶模塊,存款模塊,取款模塊,查詢模塊等。
(3)軟件測試:通過對儲蓄綜合業務平臺系統的測試完善該系統。
(4)其它:參考已實現的代碼部分完成未實現的代碼部分,在存款模塊中增加存款金額不能為“0”和負數的判斷代碼。
在項目的主體――系統實現中,我們要完成所有相關主體知識點的學習,然后引領學生逐個實現系統的各個模塊,此過程的關鍵在于要留給學生充足的操作時間,讓學生大膽去嘗試,通過小組討論學習集思廣益、開拓思路。教師可以進行點評,講解各小組共同存在的重難點,通過大量應用實例加深學生的理解,達到啟發學生的目的,引導他們在操作中體會、感受和領悟,發現問題,解決問題。最后引導學生通過小組討論等方式實現可追加的功能,對項目內容加以延伸,同時增加學生的團隊合作能力和團隊精神,增強學生的自信心,培養他們敢于探索、勇于開拓的進取精神和主動獲取知識的自學能力。
項目驅動法教學中,教師通過大量的講解和實際訓練,注重的不是最終的結果,而是完成項目的過程,學習過程成為一個人人參與的創造實踐活動。另外,在此過程中,教師不僅完成了知識的傳授任務,也對自身知識體系進行了更新,對提升教師自身素質起到很大的促進作用。
項目驅動的教學模式充分體現以項目為主線,以學生為主體自主學習,教師加以引導,以完成一個項目作為動力來組織教學。使學生熟悉軟件的開發過程,增加對各種軟件開發團隊模型的理解與認識,掌握編程思想,掌握軟件開發中各種工具的配置與管理;在核心競爭能力方面,通過多種訓練手段和拓展活動,培養學習良好的職業習慣,實現學生在校即成為真正優秀的職業人。通過小組討論學習,而培養了學生的合作精神和創新意識,有效的促進學生綜合能力的發展,以實現與就業崗位需求的直接接軌。
參考文獻
[1]李麗麗,李耀.項目驅動法在實驗室實踐教學中的應用[J].電腦知識與技術,2009.10.
[2]楊盛泉,劉白林.簡談C程序設計課程的任務驅動教學方法[J].計算機教育,2010.3.
[3]張峰.計算機專業課教學中案例驅動教學模式的實踐[J].榆林學院學報,2010.3.
[4]郭亮,劉杰.任務驅動模式的計算機教學研究[J].貴陽學院學報,2009.9.