陳 芳 王 旭
(電子科技大學成都學院,四川 成都 611731)
《C 語言程序設計》是通信、電子信息、電氣等專業的基礎課程,對于非計算機專業的學生而言,本課程的教學目標是培養學生掌握程序設計的方法、具備程序測試、調試能力,為后續的《單片機》等課程的學習打下堅實的基礎,培養學生運用計算機解決專業領域實際問題的能力。以往《C 語言程序設計》課程是課堂理論教學,疏忽了對學生應用能力和工程能力的培養,主要側重于講述基本概念和語法。《C 語言程序設計》課程教學改革以CDIO 工程教育理念為指導,對獨立院校非計算機專業學生的課程教育提出了新的要求和挑戰,把《C 語言程序設計》課程重點放到培養學生應用能力上。
CDIO 工程教育理念中C 代表構思(Conceive)、D 代表設計(Design)、I 代表執行(Implement)、O 代表運作(Operate)。CDIO 表述一種工程教育模式,從產品研發到產品運行的過程中,讓學生把理論知識和實踐動手兩者有效銜接在一起。其中構思,以工程實踐為目的,首先讓學生掌握基礎專業知識,用以確定以后的發展方向;設計,以解決某一具體的問題為目的,通過產品設計、規劃、研發,然后得以實現;執行,該環節實施一體化的課程實踐教學,主要考驗學生應用掌握的理論知識來進行實踐操作;運作,學生必須了解產品應用的各個環節,同時能為市場提供服務[1-3]。CDIO 工程教育理念,注重培養學生基礎知識學習能力、個人能力、團隊協作能力、工程系統能力。
我系電子信息、電氣、機械專業,《C 語言程序設計》在大一上學期開展,集中在教室進行理論教育。我院為培養學生良好的學習習慣,對于大一新生不允許帶電腦到學校,杜絕沉迷游戲荒廢基礎課學習的情況。但是,造成學生無法在課后練習C 語言編碼,區分各種語法的差別,驗證代碼正確性,C 語言學習效果不理想。進入大二學習《單片機》課程時,由于先修課程基礎不牢固,用C 語言進行編程困難。先修課程沒有為后續課程起到很好的輔助作用。通過對往屆學生的調查,學生反映了《C 語言程序設計》教學的問題。教學過程中過于注重語法細節,強調語法知識,為配合知識點的講解,引入的案例都是以輔助講解語法規則為目的,學生學習起來既覺得抽象又覺得無法引起興趣。學生覺得難以接受,學習缺乏動力,導致課堂氣氛沉悶,學生缺少學習興趣,造成學習效果不理想,更不可能真正理解程序設計的精華所在。《C語言程序設計》課程沿用傳統的教學模式,易疏忽于對學生程序設計能力、程序代碼編寫能力以及團隊共同合作能力的培養。如果不注重積累工程經驗,學生不具備工程能力與動手能力,造成所學與實際所需相脫節。《C 語言程序設計》改革當務之急是如何借鑒先進的教育理念和方法,改變師生之間角色,讓學生成為課堂的主角,教師成為課堂的觀眾,從而激發學生主動學習積極性。
根據CDIO 工程教學理念,以培養學生動手能力、團隊協作能力、工程能力為目的。在大一上學期和下學期分別開設C 語言程序設計和C 程序實訓課程。《C 語言程序設計》課程教學中注重“抓大放小”。“放小”,不拘泥于語法要素的細枝末節,避免學生在學習時容易產生厭學;“抓大”,側重循環、數組、指針、自定義函數等知識點的講解,讓學生掌握并熟練應用這些知識點。對于非計算機專業學生,在算法上不做過高要求,只要求會靈活應用現成算法解決問題。因此在教學過程中注重基礎知識的講授,通過引入具有代表性的案例,讓學生仿照這些案例的思想來解決類似的問題,讓學生從學習過程中獲得成就感,激發學生的學習興趣。后續的C 程序實訓課程,通過單項目實訓和綜合項目實訓的方式,加強學生動手編制較大規模程序的能力。培養學生團隊合作意識,訓練學生工程動手能力,積累工程經驗和編程經驗,奠定堅實的基礎,無論是后續的專業課程學習還是將來的工作,學生都將顯現較好的分析問題和解決問題的能力。
3.2.1 “做中學”
“做中學”是CDIO 的核心思想之一,該思想的主要目的是激發大家的學習興趣。為較好獲得“做中學”的效果,把學生學習地點從教室轉換到實驗室機房,讓學生邊學習邊實踐。在《C 語言程序設計》教學中使用課堂案例和實驗案例,二者功能不同。課堂案例主要用于教師課堂講授,讓學生模仿編程進行驗證;實驗案例主要用于小項目編程調試。實驗案例是讓學生獨立編寫程序、調試程序,并敘述編程思路。程序設計的結果有助于增強學生的成就感,激發學生程序設計的熱情。
3.2.2 開展項目教學,培養學生團隊協作能力
CDIO 另一個核心思想是“基于項目的教學”。“項目教學法”,主要通過實現一個完整的項目,讓學生明白,項目任務如何分配,如何協作完成,明白個人力量和團隊的力量。這一教學活動目的是把理論知識學習與實踐動手教學有效結合在一起,最大程度挖掘學生的創造能力,讓具備學生分析并解決實際問題的能力。在C 語言程序設計和C程序綜合實訓課程的教學過程中實施“項目教學”的理念,我們把項目教學分為小項目教學和綜合項目教學。在C 語言程序設計教學中實施小項目教學。所謂小項目教學就是教師把一個具體的管理系統拆分為幾個模塊,讓學生針對這些模塊展開討論和設計,然后整合這些功能模塊,最后老師按照完成情況給予學生。通過小項目將教學,讓學生懂得如何編寫和調試程序。在C 程序綜合設計教學中實施綜合項目教學。在綜合項目教學中,老師提供若干個項目題目以供小組選擇。學生由2-3 人組成一個項目小組,各自明確分工,小組完成程序設計、代碼編寫、代碼調試、歸納形成小論文和制作PPT 參加答辯,最后由老師根據各個環節完成情況給出成績。通過小項目教學和綜合項目教學,不僅培養了學生動手實踐調試能力,而且逐步培養學生項目設計與實現能力,項目結題時的表述、演示能力。希望通過這種學習方式,使學生有更多的主動學習的機會。
3.2.3 借助網絡學堂,培養自主學習
利用學院網絡學堂平臺,發布教學案例,便于學生在課堂驗證程序,掌握語法知識;同時,每節課學生往網絡學堂上傳課堂練習程序,便于老師督促學生在課堂認真學習。由于課堂時間有限,另外在網絡學堂布置實驗案例,讓學生在課后完成,并提交到網絡學堂便于老師檢查。把學生編寫得較好的程序,公布在網絡學堂,不僅是對學習較好同學的肯定,更是對其他同學的激勵,激發他們學習《C 語言程序設計》的信心和決心。借助網絡學堂的討論區,老師和學生、學生和學生可以在網上開展問題討論,學習不再局限于有限的課堂時間。
CDIO 教育模式是理論聯系實際,激發學生創造能力,培養學生用發散型思維來思考問題并且解決問題,是一種卓有成效的教學方法。我們在《C 語言程序設計》理論教學和程序綜合實訓中引入CDIO 教學思想,通過案例和項目教學,讓學生在“做中學,學中做”;通過項目教學,整個教學充滿挑戰,進一步提強學生的學習主動性,培養學生解決實際問題的能力,具有了一定程度的項目開發、調試能力。
[1]劉新增.CDIO——顛覆性的工程教育模式改革[J].中國遠程教育,2008(14):64-67.
[2]劉榮佩,史慶南,陳揚建.CDIO 工程教育模式[J].中國冶金教育,2011(5):9-11.
[3]周立章.基于CDIO 工程教學模式的C++程序設計教學改革探索[J].大眾科技,2011(10):208-210.