談引入軟件工程思想的C語言案例教學法
[摘 要]針對目前C語言課程教學中廣泛存在的學生綜合應用能力不高的問題,文章提出在C語言案例教學中引入軟件工程思想,以幫助學生培養(yǎng)良好的編程習慣,提高軟件研發(fā)能力,并結合學生信息管理系統(tǒng)進行了教學示范。
[關鍵詞]C語言 案例教學法 軟件工程 軟件分析
C語言是目前使用最廣泛的高級程序設計語言之一。C語言表達能力強、使用方便靈活,目標程序執(zhí)行效率高、可移植性好,既可用于編寫系統(tǒng)軟件,也可用于編寫應用軟件。因此很多高校把C語言作為計算機程序設計的入門語言。但是由于C語言開課時問早(常常在第一學期或第二學期),此時學生多數只是使用過諸如辦公自動化等軟件,對程序設計語言接觸不多,對軟件開發(fā)了解甚少,在學習C語言時困難重重,尤其是對于循環(huán)、數組、函數、指針和結構體等知識點較難理解。為此我們進行了一些探索嘗試,也取得了些許經驗。
1.C語言課程教學現狀
目前,C語言課程的學時主要是60~8O學時,由于學時有限,C語言課程側重語法的教學,教材中的例題是針對個別知識點的,主要以數學問題為主,源代碼較短,致使學生在學習C語言的過程中很難遇到超過100行的源程序。而與C語言相關的后續(xù)課程,如數據結構、操作系統(tǒng)和編譯原理等,其算法的難度遠遠超過C語言教學中例題的難度,跨度過大,學生較難接受。
針對上述問題,我們認識到,為了加深學生對C語法的理解,同時有利于后續(xù)課程銜接,應該在C語言教學中增加學生的代碼量,而系統(tǒng)地使用案例教學法就可以達到此目的。本文接下來就討論如何系統(tǒng)的使用案例教學法,同時將軟件工程思想引入,從學生一開始接觸編程語言就培養(yǎng)其良好的軟件開發(fā)能力。
2.引入軟件工程思想的C語言案例教學法
2.1案例教學法
案例教學法于19世紀末出現在美國,2O世紀3O年代由美國哈佛商學院倡導,廣泛應用于商業(yè)教育中,當時是采取一種很獨特的案例形式的教學,這些案例都是來自于商業(yè)管理的真實情境或事件,透過此種方式,有助于培養(yǎng)和發(fā)展學生主動參與課堂討論,實施之后,頗具績效。
20世紀7O年代后,迅速在普通教育領域受到重視并開始普及。目前已有很多教師將案例教學法應用于C語言程序設計課程的教學,常采用兩種形式:一種是在每章教學結束后引入案例,另一種情況是在整門課程教學結束后引入案例。
第一種在每章教學結束后引入案例,這實際上并不是真正意義上的案例,只是在各章節(jié)語法教學環(huán)節(jié)針對相應知識點所設計的例題而已,通常以簡單算法為主,其目的是幫助學生對C語言語法的掌握。此時如果再結合設陷法,對該語法可能存在的問題,有針對地設計一些小錯誤,讓學生去改錯、調試。這樣的練習,勢必會加深學生對C語法的理解,同時學生調試程序的能力也在不斷地提高,對C語言的學習興趣也在點滴中增強。但是這樣的實例對于C語言的綜合應用能力的培養(yǎng)是遠遠不夠的,而且還不利于銜接后續(xù)課程,如:數據結構、操作系統(tǒng)和編譯原理等專業(yè)課程的學習是對C語言各知識點的綜合應用,要求學生不但要熟練掌握C語言語法,同時還要具備一定的編程能力,光憑各章節(jié)的幾個例題是無法達到的。
第二種在整門課程教學結束后引入案例,確實可以讓學生體會到軟件開發(fā)的過程和樂趣,同時也是對C語言各語法的綜合應用,這才是本文要討論的案例,它的實現具有一定的應用價值,代碼量達到一定規(guī)模,有利于培養(yǎng)學生軟件開發(fā)能力。但是結合以往教學經驗發(fā)現,這樣引入案例并沒有達到所預期的效果,由于之前知識點的遺忘,很多學生在課程結束面對案例時還是無從下手。我們認為應該系統(tǒng)地使用案例,即選取一個案例使其貫穿C語言教學始終,在每一階段的教學中都有一個相對比較完整的程序呈現在學生面前,前一階段成果是下一階段工作的基礎,下一階段工作是前一階段工作的改進或完善。這樣已學知識點會被反復使用,從而既鞏固對已學知識點的掌握,又是自身軟件開發(fā)能力的不斷提高。
2.2軟件工程思想
在20世紀60年代為解決“軟件危機”問題軟件工程課程迅速發(fā)展起來,它是一門建立在系統(tǒng)化、規(guī)范化、數量化等工程原則和方法上的,關于軟件開發(fā)各階段的定義、任務和作用的工程學科。它包括兩方面內容:軟件開發(fā)技術和軟件項且管理。軟件開發(fā)技術包括軟件開發(fā)方法學、軟件工具和軟件工程環(huán)境;軟件項目管理則包括軟件度量、項目估算、進度控制、人員組織、配置管理和項目計劃等。
經典的軟件工程思想將軟件開發(fā)分為3個階段:軟件定義、軟件開發(fā)和軟件維護。軟件定義可進一步劃分為問題定義、可行性分析和需求分析。在這一階段,通過對應用問題及其環(huán)境的理解與分析,建立系統(tǒng)模型,將用戶的需求精確化、完全化。軟件開發(fā)階段可進而劃分為:總體設計、詳細設計、編碼和測試。總體設計階段的主要任務是如何得到一個能夠實現用戶需求的理想的系統(tǒng)結構,詳細設計的任務是進行系統(tǒng)所需要的數據結構設計或者數據庫的物理設計以及模塊邏輯開發(fā)。編碼即軟件系統(tǒng)的實現階段,在現代的軟件工程中,編碼階段所占的比重正在逐漸地縮小。軟件測試是軟件工程過程的一個重要階段,其主要任務是對軟件分析、設計和編碼各階段的產品進行檢查,保證軟件開發(fā)產品的正確性、完全性和一致性,檢測并修正軟件中出現的錯誤。軟件維護是在軟件產品交付給用戶之后進行的修改工作,維護工作的好壞直接影響到用戶的滿意程度,關系到開發(fā)者的信譽。
2.3引入軟件工程思想的C語言案例教學法
軟件工程思想在軟件開發(fā)過程中的重要性不言而喻,但是在高校計算機專業(yè)課程設置中軟件工程課程可能在第6~7學期開設,此時學生對于軟件開發(fā)已有所體驗,也已形成一些軟件開發(fā)的想法和習慣,這些想法和習慣也許并不利用軟件開發(fā),光憑一門課程的學習想要改變可能太晚了。因此我們認為軟件工程思想應該是貫穿計算機相關課程教學的,從學生接觸編程語言開始,教師就應該不斷的引導學生,讓其在不斷接觸過程中潛移默化,從而具備優(yōu)秀的軟件開發(fā)能力和素質。
本文將軟件工程思想引人C語言的案例教學法,在進行案例教學的同時結合軟件工程思想以幫助學生更好地建立軟件開發(fā)的思想,也容易與后續(xù)課程銜接。這里涉及兩個問題:1)案例的選取;2)案例的引入和教學。
那么案例如何來選取呢?我們建議要符合以下幾個條件:1)案例背景不能太復雜,應該是學生容易理解的,2)案例規(guī)模適中,要能全面表現C語言各要素,但是系統(tǒng)不能過于龐大,應該適合教學。管理系統(tǒng)是不錯的選擇,如學生信息管理、圖書管理等,這里我們選擇的案例是學生信息管理系統(tǒng)。
有關案例的引入和教學,我們認為案例可以在講授C語言概述之后引入,為了培養(yǎng)學生的學習興趣,提高其參與感,在引入案例之后,系統(tǒng)功能的確定應該是教師與學生共同完成的。接下來跟隨教學的進程,確定所需變量及變量類型,實現系統(tǒng)功能。該系統(tǒng)的實現貫穿C語言教學的始終,而且要求在不同教學階段,該系統(tǒng)都是可以運行的,而不是把所有代碼留到課程的最后。同時建議在每一階段完成一定的文檔說明,這是很多學生甚至教師都不給予重視的。下面通過一個教學示范來說明結合軟件工程思想的C語言案例教學法。
3.教學示范
本文以學生信息管理系統(tǒng)為例介紹前述案例教學法在C語言教學中的應用。學生信息管理系統(tǒng),要求實現如下功能:學生信息的輸入輸出、插入、刪除、查詢、成績的排序和統(tǒng)計等。C語言的教學通常按如下內容及順序進行:C語言概述一數據類型、運算符與表達式→順序程序設計→選擇結構程序設計 →循環(huán)控制→數組→函數→預處理命令→指針→結構體與共用體→文件。
學生信息管理系統(tǒng)實現的各階段任務與C語言教學內容及軟件工程思想階段的對應關系。其中C語言概述和數據類型、運算符與表達式部分的教學后,很難完成具有實質性的編程工作,作為軟件定義、分析階段,先確定功能,由于本系統(tǒng)與學生密切相關,功能最好教師不要指定,而是與學生一起討論得出,接著分析各數據含義確定變量類型。從順序程序設計到文件的教學作為軟件開發(fā)階段,順序程序沒計部分的教學,打印完成一個菜單;選擇結構程序設計部分的教學,實現上述菜單的功能選擇;循環(huán)結構的教學則實現菜單的循環(huán)選擇;數組部分實現大多數功能,此時具備一定代碼規(guī)模,可以適時引出模塊化思想;接下來函數部分將按功能設計函數,至此一個相對比較完整的學生信息管理系統(tǒng)應該已完成。后續(xù)部分教學歸屬于維護階段,前述系統(tǒng)代碼量較大,可以在預處理命令部分將程序文件分出多個文件,指針部分可以擴充其他功能或重寫函數部分得到的系統(tǒng)并對比,結構體與共用體部分的教學將學生信息改為結構體類型后重新實現前述系統(tǒng),最后文件部分將學生信息存人文件。
4.結束語
本文對C語言程序設計的教學方法進行探討,將軟件工程思想結合案例教學法引入C語言的教學中,從學生接觸編程語言開始就培養(yǎng)軟件工程思想,有助于學生從整體上體會軟件開發(fā)的全過程。
【談引入軟件工程思想的C語言案例教學法】相關文章:
談項目教學法在高職英語教學中的實施案例12-02
談初中政治教學生活化的案例教學法11-17
初中思想品德課運用案例教學法淺析論文11-18
談案例教學法在中職專業(yè)課教學中應注意的問題03-27
談“異步教學法”的運用01-17
案例教學法在地理教學中的實踐12-04
案例教學法在法學教學中的應用12-03
- 相關推薦