公務員期刊網 論文中心 正文

工程教育專業(yè)的程序設計課程改革

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了工程教育專業(yè)的程序設計課程改革范文,希望能給你帶來靈感和參考,敬請閱讀。

工程教育專業(yè)的程序設計課程改革

摘要:分析計算機科學與技術專業(yè)本科面向對象程序設計(C++)課程的教學實際,基于“以學生為中心,以產出為導向”的教育理念,結合工程教育專業(yè)認證的培養(yǎng)目標和畢業(yè)要求,介紹課程教學改革過程,從重構課程體系、優(yōu)化課程教學內容、改進課堂教學方法、加強實踐教學方面提出具體實施措施。

關鍵詞:畢業(yè)要求;復雜工程問題;課程體系;實踐環(huán)節(jié)

1課程教學中存在的主要問題

目前,高校計算機專業(yè)的面向對象程序設計課程的教學中存在著諸多問題,主要體現(xiàn)在以下幾個方面。(1)教學內容上C++面向對象程序設計的前導課程是C語言程序設計,兩門課程的教學內容沒有有效地進行銜接。導致有些學生由于C語言基礎較差,特別是對函數、指針、結構體等內容理解不夠清晰透徹,而對C++的學習造成了一些障礙。另外,學生在學習C++時,容易受C語言面向過程編程模式的影響,很難轉變到用面向對象的編程模式去解決問題。面向對象的基本概念是“封裝”和“類”,需要學生能夠針對實際生活中的各類對象,對其特征進行數據抽象和功能抽象,而學生的思維停留在面向過程的程序設計思維方式上,無法很好地理解類的抽象、對象和類的關系等。(2)傳統(tǒng)的教學方法不利于學生學習掌握相關知識。傳統(tǒng)的教學方法是以語法為核心,教材設計的例題多半也是為了鞏固相關的語法,很少有實際應用相關的例子,不利于學生運用面向對象的思維方式理解和解決問題。(3)課程實驗效果較差。實驗內容的設計針對性和實用性不強,實驗以驗證型實驗為主,不能有效地激發(fā)學生的興趣和創(chuàng)新意識。

2基于工程教育專業(yè)認證的課程改革實施

2.1重構課程體系

面向對象程序設計課程改革的第一步,就是根據工程教育專業(yè)認證要求下新的培養(yǎng)目標優(yōu)化課程體系,調整各門課程的教學內容。課程組將原有的程序設計基礎能力培養(yǎng)相關的課程整合為計算機科學與編程導論、面向對象的程序設計、數據結構3門課程,這3門課程在內容上緊密銜接。計算機科學與編程導論的課程內容側重計算機科學與編程方面的專業(yè)基礎知識,并且能夠應用C語言編寫程序,具有基本的編寫和調試程序的能力,同時掌握結構化程序設計的方法,養(yǎng)成良好的編程習慣,初步具備應用高級語言設計程序以解決實際問題的能力。計算機科學與編程導論以順序表的實現(xiàn)作為課程內容的綜合性小結。面向對象的程序設計側重“面向對象”的基本概念和思維方式,以及面向對象程序設計的開發(fā)方法和技術,語言采用C++。在具體教學內容上以順序表的C語言實現(xiàn)為基礎,引入抽象、類的封裝、數據屬性、成員函數等概念,重新對順序表進行封裝,實現(xiàn)一個順序表類。由于學生對順序表的基本功能在上一門課程中已經熟悉并實現(xiàn),所以在這門課程中只需側重于面向對象相關的概念和實現(xiàn)即可。然后引導學生思考順序表在實際應用中的局限性,從而引入動態(tài)數組、模板、繼承與多態(tài)等內容,并以鏈表類模板及基于該模板的棧、隊列的實現(xiàn)作為課程內容的綜合性小結。數據結構在面向對象程序設計課程教學的基礎上,再進一步介紹樹、圖等結構的實現(xiàn),并能夠針對實際問題選擇合適的數據結構,設計出結構清晰、正確易讀、復雜性較優(yōu)的算法。這樣,在3門課程學完后,學生就能夠運用面向對象程序設計的方法以及數據結構和算法知識求解實際中的工程應用問題。在此基礎上,通過相關領域的專業(yè)課學習,能夠將相關知識用于解決計算機領域的復雜工程問題,從而達到本專業(yè)制定的畢業(yè)要求。

2.2優(yōu)化教學內容

課程教學內容是課程教學大綱的主體部分,而課程教學大綱又是指導課程教學的綱領性文件。根據工程教育專業(yè)認證的要求,課程教學大綱明確指出課程教學目標要對專業(yè)認證中哪些畢業(yè)要求項提供支撐。因此,按照學院制定的專業(yè)認證畢業(yè)要求,面向對象程序設計課程的課程組結合本專業(yè)教學實際對各章節(jié)知識點的重要程度進行了多次討論,將對各項畢業(yè)要求的支撐細分到每一章節(jié),同時給出每一章節(jié)知識點的掌握程度和相應的教學手段,進一步明確課堂教學內容和教學要求。以湖北工業(yè)大學為例,面向對象程序設計課程支撐的畢業(yè)要求有4個:①具備扎實的計算機工程基礎知識,了解通過計算機解決復雜工程問題的基本方法并遵循復雜系統(tǒng)開發(fā)的工程化基本要求;②能夠根據給出的實際工程案例提出問題及分析問題;③在充分理解計算機軟硬件及系統(tǒng)的基礎上,能夠設計針對計算機領域復雜工程問題的解決方案,設計或開發(fā)滿足特定需求和約束條件的軟硬件系統(tǒng)模塊或算法流程,并能夠進行模塊和系統(tǒng)級優(yōu)化;④能夠在計算機領域復雜工程問題的預測、建模、模擬或解決過程中,開發(fā)、選擇與使用恰當的技術、軟硬件及系統(tǒng)資源、現(xiàn)代工程研發(fā)工具,提高解決復雜工程問題的能力和效率。

2.3改進教學方法

課堂教學不再以教師為中心,針對不同的教學內容可以采用不同的教學方法,如案例式、問題驅動式等。例如,在講解面向對象最基礎的概念“類的封裝”時,以日常生活中的各種時鐘對象為案例[1],讓學生思考各種不同外觀的時鐘具有哪些共同的、必需的數據,以及需要完成哪些基本的功能。當學生歸納出基本的數據和功能后,讓學生體會類的封裝的實質,然后結合C++的語法講解類的具體實現(xiàn)。當時鐘類實現(xiàn)后,可以在應用程序中創(chuàng)建該類的一個對象,然后像日常生活中的時鐘一樣顯示具體的時間信息。通過這個案例教學,學生可以結合實際生活中最常見的例子體會抽象、封裝、類、對象、實例化等面向對象程序設計的基本概念。然而,在課堂中,案例教學并不適用于所有的教學內容。有些教學內容,如果案例較小,學生會認為案例不實用,因而沒有興趣思考和完成。如果案例過大,涉及的知識和技術過多,教學內容的重點就不突出。這種情況可以考慮問題驅動式教學方式。具體實施時,學生按照老師預先給出的學習的內容以及相關的參考書籍和網絡學習資源進行自主學習[2]。在學習過程中如果遇到困難,建議首先采用網上搜索和同學之間相互討論交流來解決問題。如果還有無法解決的問題,可以通過QQ等方式與教師討論交流,教師在解決個別問題的同時也可以掌握學生的難點問題,在課堂教學時即可有針對性地突出重點難點。采用這種教學方式,學生通過課前的知識學習和討論,在課堂上就能夠更好地帶著重點和難點聽講,并能夠跟隨老師的節(jié)奏互動和提出問題,而在解決問題過程中與同學和老師的討論交流,可以讓學生體驗自主學習的樂趣,更能激發(fā)不同學生個體的學習興趣和成就感,充分發(fā)揮學習的主動性,同時還可以培養(yǎng)交流能力和表達能力。

2.4加強實踐教學環(huán)節(jié)

按照工程教育專業(yè)認證的要求,實踐教學的目的不僅僅是驗證已知的理論,訓練基本實驗技能,更重要的是要培養(yǎng)學生具有實踐動手能力,以及根據所學知識解決復雜工程問題的能力。目前面向對象程序設計課程的實踐教學環(huán)節(jié)仍采用兩種方式:上機實驗和課程設計。但是實踐內容已進行了改革,在不同層次上培養(yǎng)學生解決問題的能力。上機實驗分成驗證型和設計型實驗。驗證型實驗強調學生編寫測試程序、調試程序的能力。在此基礎上完成設計型實驗,該類型的實驗以實際項目基礎部分的實現(xiàn)作為實驗內容。最后,將設計型的實驗項目擴展成課程設計,實踐內容的復雜性和綜合性逐步遞增,不斷提高學生分析問題和解決問題的能力。仍以“繼承與多態(tài)”章節(jié)對應的實驗為例,驗證型實驗要求學生測試教材上的雇員“Employee”類的例子[3],并給出不同的數據完成調試,理解繼承與多態(tài)的基本概念和實現(xiàn)。設計型實驗的題目則是參考這個例子,實現(xiàn)一個人員基類,包括屬性姓名、性別、年齡,再由該基類派生出教師類和學生類,教師類增加工號、職稱和工資,學生類增加學號、年級、專業(yè)和入學成績。要求完成應用程序,利用vector存放一組“人員”類指針,并根據人員類型的不同顯示不同的內容,如教師除了顯示姓名、性別和年齡外,還要顯示工號、職稱和工資,學生則除了顯示姓名、性別和年齡外,還要顯示年級、專業(yè)和入學成績。以此實驗的完成為基礎,學生可以將其擴展成一個人員管理信息系統(tǒng),并作為課程設計的內容。為了彌補實驗教學學時的不足,進一步調動學生學習的主動性,培養(yǎng)學生獨立思考、團結合作和創(chuàng)新的能力,本課程也開設了課程設計。通過課程設計可以使學生加深理解所學的面向對象程序設計的相關知識,并培養(yǎng)學生解決復雜工程問題的能力。針對不同學生的興趣,課程設計的題目分成三大類:管理信息系統(tǒng)類、應用類和游戲類[4]。

3結語

面向對象程序設計在計算機科學與技術專業(yè)的教學中非常重要,近3年進行的教學改革,將案例教學、問題驅動式教學方法付諸實施,同時擴展了課程設計選題所涉及的應用領域。這些措施有利于學生理解和掌握面向對象的編程思想,也有利于提高學生解決復雜工程問題的能力。以課程目標達成度為例,2017級計算機科學與技術專業(yè)學生面向對象程序設計課程的成績,相對2016級的學生而言,對應4個畢業(yè)要求的課程目標的指標點達成度平均提升0.1。

參考文獻:

[1]蒂芬•普拉達.C++PrimerPlus中文版[M].6版.張海龍,袁國忠,譯.北京:人民郵電出版社,2012.

[2]王開麗.基于學習結果(OBE)的工程教育模式在Java面向對象程序設計教學中的應用[J].電腦知識與技術,2018,14(13):93-94.

[3]王立柱.C/C++與數據結構[M].4版.北京:清華大學出版社,2016.

[4]付百文.強化案例教學的程序設計類課程體系改革[J].計算機教育,2015(16):40-43

作者:林姍 江南 劉偉 單位:湖北工業(yè)大學