童端
摘 要:隨著微課、翻轉課堂等本科教學改革的不斷深入和人才培養(yǎng)目標的不斷提高,傳統(tǒng)的課程教學弊端日益顯著。通過分析傳統(tǒng)實踐教學存在的問題,融入CDIO教育理念,提出新型教學模式下的幾種提高學生實踐能力的方法,探索通過引入創(chuàng)新性和個性化的教學模式,提高學生自己動手解決實際問題的能力。
關鍵詞:程序設計基礎;課程改革;CDIO教育理念;多元化考核
中圖分類號:G4 文獻標識碼:Adoi:10.19311/j.cnki.1672-3198.2019.28.073
1 前言
《程序設計基礎》是一門重要的計算機公共基礎課程,教學內容包括了程序設計語言語法基礎和結構化程序設計思想,不僅需要學生掌握語法規(guī)則,更要學會用程序解決實際問題的思維方法。如何在有限的課時內讓學生系統(tǒng)的掌握該課程的基本原理進而提高學生解決問題的能力,是這門課程一個主要目標和挑戰(zhàn)。為了讓學生對程序設計產生興趣并能主動運用所學知識去解決實際問題,本文探討了通過融入CDIO教育理念的實踐課程改革方法。
2 傳統(tǒng)課程模式存在的問題探索
2.1 被動填鴨式的理論教學的弊端
《程序設計基礎》課程要求學生的動手能力較強。傳統(tǒng)的課堂根據(jù)課本內容從C語言的語法、語句書寫、模塊化程序設計思想著手,教給學生編寫一些簡單程序來解決一些常見的數(shù)學或物理問題。根據(jù)學生的反饋情況,這種教學模式會使得課堂氛圍比較沉悶,教師為了完成教學大綱的任務,急于填鴨式灌輸,導致互動太少。大部分學生雖然能掌握課程的語法知識,但并不能靈活運用。
2.2 與企業(yè)實際需求脫節(jié)的實驗課程教學
傳統(tǒng)的實驗內容基本上是教材實例或實驗指導書中的題目,沒有來源于實際市場,這就導致上機實驗內容與企業(yè)實際需求相脫節(jié)的情況比較突出,學生按部就班的做實驗,缺乏主動思考的能力和創(chuàng)新性。而且實驗的形式也比較單一,實驗內容相對枯燥。當實驗程序出了語法語義問題時,學生容易被動的對照原始程序進行檢查,而不是主動思考的本身。部分學生雖然知道程序調試的常用方法,但是他們不愿意主動使用工具去查找出錯原因,導致同樣的錯誤會在不同的程序里出現(xiàn),學生不會去歸納總結。所以學生解決問題的能力普遍較弱,學習的積極性和主動性都很欠缺。
因此,如何通過融入CDIO教育理念來加強學生的自主學習能力、創(chuàng)新性思維能力和主動式應用能力的培養(yǎng)成為提高教學質量的關鍵問題。本文通過創(chuàng)新性思維模式和啟發(fā)式實踐教學改革來解決這些問題,從而取得比傳統(tǒng)教學方法更好的教學效果。
3 融入CDIO教育理念的創(chuàng)新性實踐教學探索
3.1 CDIO教育理念解析
CDIO工程教育理念,是由麻省理工學院等四所大學組成的跨國研究機構,經過四年的探索研究而創(chuàng)立的。CDIO代表的是Conceive(構思)、Design(設計)、Implement(實現(xiàn))和Operate(運作)這四者的整合,主要思想是讓學生能主動的參與到實踐課程的學習,并研究探索課程之間的聯(lián)系。因此,CDIO是“做中學”原則和“基于項目的教育和學習”的集中體現(xiàn)。
3.2 建立以真實項目和算法為中心的程序設計思維模式
為了讓學生不要形成單一的思維定式,在實際教學中,以企業(yè)項目為主線和目標,精心設置一系列與之相關的子問題和小算法引導學生去思考。讓學生自由討論如何建立知識點之間的聯(lián)系,把學過的知識點或算法整合成某一個大項目,比較不同解題思路的優(yōu)劣,從而拓寬學生的思維,讓他們主動去發(fā)現(xiàn)問題、思考問題,設計解決方案并最終解決問題。
真實項目來自企業(yè),或是學生感興趣的游戲,比如:簡易計算器、電子萬年歷等。實驗過程中,把大的項目細化成一個個學生學過的語法知識點或小算法,比如簡易計算器主要用到switch…case語句和若干函數(shù)調用;萬年歷程序則要用到閏年的算法和循環(huán)程序設計思想等。
算法是程序設計的關鍵,一個好的算法能達到事半功倍的學習實踐效果。在課堂討論中,適時引導學生討論算法的特點和改進方法,開發(fā)學生的創(chuàng)新性思維。在實踐改革中,讓每一個學生團隊自己劃分子問題,約定好模塊接口,遵循“構思->設計->實現(xiàn)->完善”的思維方式進行分析,忽略程序設計語言自身的細節(jié)問題,著重培養(yǎng)學生的主動構思和自主設計程序的思維模式。其中,成熟算法的熟練掌握和靈活運用,有助于增強學生的學習信心,提高解題效率。比如常用的閏年的算法、素數(shù)的算法、進制數(shù)之間的轉換算法的熟練掌握,有助于學生解決實際的萬年歷程序或貪吃蛇游戲里面的細節(jié)問題。
3.3 啟發(fā)式教學和引導式實驗相結合的實驗教學方法
在實驗教學過程中,采取以任務驅動為主的啟發(fā)式和引導式的實踐方法,加強綜合性實驗和創(chuàng)新性實驗的比例??紤]到學生的個性化培養(yǎng),循序漸進的推進基礎性實驗、設計性實驗、綜合性實驗和企業(yè)項目這四個層次的實踐環(huán)節(jié),讓學生在潛移默化中接受CDIO教育理念中的培養(yǎng)學生構思、設計、實施和運行這四方面能力的要求。初期先從基礎實驗內容開始,但它必須是某個真實項目中的一個子問題,比如閏年的算法等,幫助部分學生克服編程的心理障礙。隨后逐步加大實驗難度,讓學生自己寫算法,在老師和團隊的幫助下合力完成復雜程序代碼的書寫和調試。大部分學生完成一個項目的具體實施過程如下:
第一步:把算法轉化為C語言程序。在這個階段,絕大部分學生會因為基本的語法錯誤導致程序不能運行,通過進一步掌握語法知識和簡單的程序調試方法,讓學生自己檢查和發(fā)現(xiàn)簡單的問題,進而積累編程經驗。
第二步:檢查語義錯誤。實驗教學中經常出現(xiàn)的一個典型問題是:程序運行得不到正確的結果。因此,這個階段的重點是引導學生學會使用系統(tǒng)自帶的調試工具,比如Debug工具,或單步跟蹤每條語句的方法,了解程序執(zhí)行過程,體會關鍵變量值的變化過程對項目的影響,初值的設計對多次循環(huán)結果的影響等,進一步理解程序執(zhí)行的步驟,從而深刻領會課程中的基本概念和基本原理。
第三步:教師適時引導學生找到錯誤所在的位置及原因,這個過程有時可能會直接推翻前面的流程思路,但是學生很快能想出新的解決辦法并進行嘗試。
通過這三步的鍛煉和啟發(fā),大多數(shù)學生都能踴躍提出自己的看法,有時還能引起熱烈的討論,學生的學習主動性和自主解決問題的能力有很大程度的提高。
3.4 多元化的課程考核方式和團隊精神
課程改革中的考核方式采取以“上機實驗+期中機考+期末閉卷筆試”為主,“項目設計及答辯+期末閉卷筆試”為輔的方式,讓教師站在IT企業(yè)或用人單位的角度去設置問題,引導學生逐步分析和自主學習,必要的時候進行團隊合作,使其具備工程人員必備的素質和能力。
在實際教學過程中,根據(jù)項目的難易程度,讓學生自由組合成一個小團隊,兩到三人為一組。團隊負責人分配好每個學生的學習和實踐任務,約定好函數(shù)接口等細節(jié)問題,小組成員各自設計完成自己的模塊。相同項目組的成員之間可以進行溝通,協(xié)力完成共同的學習任務。這既是CDIO教育理念中對團隊精神的要求,還能讓學生提前適應團隊協(xié)作,為以后的工程學習和實際工作提供良好而扎實的工程基礎。
4 結束語
《程序設計基礎》是一門實踐性很強的課程,如何在有限的課時內讓學生系統(tǒng)地掌握課程精髓并靈活應用,是該課程改革面臨的一個主要挑戰(zhàn)。為此,本文在CDIO工程教育模式的指導下進行了創(chuàng)新性課程實踐改革探索,提出了以真實項目和算法為中心的程序設計思維模式,拓寬學生的創(chuàng)新思維,進而提高學生主動學習并解決問題的能力。通過嘗試多元化的考核方式,解決了學生個體差異性的問題,注重團隊合作精神。在實驗過程中,采取循序漸進、逐層推進的方式,提高學生的學習興趣和解決實際問題的能力。本文提出的教學改革與嘗試有利于實現(xiàn)程序設計類課程的系統(tǒng)化教學,讓學生真正成為學習的主體。
參考文獻
[1]曾曉輝,文展,付琳.CDIO教學模式在編程類課程中的改革與評價探索[J].當代教育理論與實踐,2016,(8):123-125.
[2]劉丹.基于CDIO的教學模式在“數(shù)據(jù)結構”課程中的研究與應用[J].工業(yè)和信息化教育,2013,(5):29-32.