前言:想要寫出一篇引人入勝的文章?我們特意為您整理了工程教育專業(yè)的程序設計課程改革范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:分析計算機科學與技術(shù)專業(yè)本科面向?qū)ο蟪绦蛟O計(C++)課程的教學實際,基于“以學生為中心,以產(chǎn)出為導向”的教育理念,結(jié)合工程教育專業(yè)認證的培養(yǎng)目標和畢業(yè)要求,介紹課程教學改革過程,從重構(gòu)課程體系、優(yōu)化課程教學內(nèi)容、改進課堂教學方法、加強實踐教學方面提出具體實施措施。
關(guān)鍵詞:畢業(yè)要求;復雜工程問題;課程體系;實踐環(huán)節(jié)
1課程教學中存在的主要問題
目前,高校計算機專業(yè)的面向?qū)ο?a href="http://m.saumg.com/lunwen/gcjylw/125460.html" target="_blank">程序設計課程的教學中存在著諸多問題,主要體現(xiàn)在以下幾個方面。(1)教學內(nèi)容上C++面向?qū)ο蟪绦蛟O計的前導課程是C語言程序設計,兩門課程的教學內(nèi)容沒有有效地進行銜接。導致有些學生由于C語言基礎較差,特別是對函數(shù)、指針、結(jié)構(gòu)體等內(nèi)容理解不夠清晰透徹,而對C++的學習造成了一些障礙。另外,學生在學習C++時,容易受C語言面向過程編程模式的影響,很難轉(zhuǎn)變到用面向?qū)ο蟮木幊棠J饺ソ鉀Q問題。面向?qū)ο蟮幕靖拍钍恰胺庋b”和“類”,需要學生能夠針對實際生活中的各類對象,對其特征進行數(shù)據(jù)抽象和功能抽象,而學生的思維停留在面向過程的程序設計思維方式上,無法很好地理解類的抽象、對象和類的關(guān)系等。(2)傳統(tǒng)的教學方法不利于學生學習掌握相關(guān)知識。傳統(tǒng)的教學方法是以語法為核心,教材設計的例題多半也是為了鞏固相關(guān)的語法,很少有實際應用相關(guān)的例子,不利于學生運用面向?qū)ο蟮乃季S方式理解和解決問題。(3)課程實驗效果較差。實驗內(nèi)容的設計針對性和實用性不強,實驗以驗證型實驗為主,不能有效地激發(fā)學生的興趣和創(chuàng)新意識。
2基于工程教育專業(yè)認證的課程改革實施
2.1重構(gòu)課程體系
面向?qū)ο蟪绦蛟O計課程改革的第一步,就是根據(jù)工程教育專業(yè)認證要求下新的培養(yǎng)目標優(yōu)化課程體系,調(diào)整各門課程的教學內(nèi)容。課程組將原有的程序設計基礎能力培養(yǎng)相關(guān)的課程整合為計算機科學與編程導論、面向?qū)ο蟮某绦蛟O計、數(shù)據(jù)結(jié)構(gòu)3門課程,這3門課程在內(nèi)容上緊密銜接。計算機科學與編程導論的課程內(nèi)容側(cè)重計算機科學與編程方面的專業(yè)基礎知識,并且能夠應用C語言編寫程序,具有基本的編寫和調(diào)試程序的能力,同時掌握結(jié)構(gòu)化程序設計的方法,養(yǎng)成良好的編程習慣,初步具備應用高級語言設計程序以解決實際問題的能力。計算機科學與編程導論以順序表的實現(xiàn)作為課程內(nèi)容的綜合性小結(jié)。面向?qū)ο蟮某绦蛟O計側(cè)重“面向?qū)ο蟆钡幕靖拍詈退季S方式,以及面向?qū)ο蟪绦蛟O計的開發(fā)方法和技術(shù),語言采用C++。在具體教學內(nèi)容上以順序表的C語言實現(xiàn)為基礎,引入抽象、類的封裝、數(shù)據(jù)屬性、成員函數(shù)等概念,重新對順序表進行封裝,實現(xiàn)一個順序表類。由于學生對順序表的基本功能在上一門課程中已經(jīng)熟悉并實現(xiàn),所以在這門課程中只需側(cè)重于面向?qū)ο笙嚓P(guān)的概念和實現(xiàn)即可。然后引導學生思考順序表在實際應用中的局限性,從而引入動態(tài)數(shù)組、模板、繼承與多態(tài)等內(nèi)容,并以鏈表類模板及基于該模板的棧、隊列的實現(xiàn)作為課程內(nèi)容的綜合性小結(jié)。數(shù)據(jù)結(jié)構(gòu)在面向?qū)ο蟪绦蛟O計課程教學的基礎上,再進一步介紹樹、圖等結(jié)構(gòu)的實現(xiàn),并能夠針對實際問題選擇合適的數(shù)據(jù)結(jié)構(gòu),設計出結(jié)構(gòu)清晰、正確易讀、復雜性較優(yōu)的算法。這樣,在3門課程學完后,學生就能夠運用面向?qū)ο蟪绦蛟O計的方法以及數(shù)據(jù)結(jié)構(gòu)和算法知識求解實際中的工程應用問題。在此基礎上,通過相關(guān)領(lǐng)域的專業(yè)課學習,能夠?qū)⑾嚓P(guān)知識用于解決計算機領(lǐng)域的復雜工程問題,從而達到本專業(yè)制定的畢業(yè)要求。
2.2優(yōu)化教學內(nèi)容
課程教學內(nèi)容是課程教學大綱的主體部分,而課程教學大綱又是指導課程教學的綱領(lǐng)性文件。根據(jù)工程教育專業(yè)認證的要求,課程教學大綱明確指出課程教學目標要對專業(yè)認證中哪些畢業(yè)要求項提供支撐。因此,按照學院制定的專業(yè)認證畢業(yè)要求,面向?qū)ο蟪绦蛟O計課程的課程組結(jié)合本專業(yè)教學實際對各章節(jié)知識點的重要程度進行了多次討論,將對各項畢業(yè)要求的支撐細分到每一章節(jié),同時給出每一章節(jié)知識點的掌握程度和相應的教學手段,進一步明確課堂教學內(nèi)容和教學要求。以湖北工業(yè)大學為例,面向?qū)ο蟪绦蛟O計課程支撐的畢業(yè)要求有4個:①具備扎實的計算機工程基礎知識,了解通過計算機解決復雜工程問題的基本方法并遵循復雜系統(tǒng)開發(fā)的工程化基本要求;②能夠根據(jù)給出的實際工程案例提出問題及分析問題;③在充分理解計算機軟硬件及系統(tǒng)的基礎上,能夠設計針對計算機領(lǐng)域復雜工程問題的解決方案,設計或開發(fā)滿足特定需求和約束條件的軟硬件系統(tǒng)模塊或算法流程,并能夠進行模塊和系統(tǒng)級優(yōu)化;④能夠在計算機領(lǐng)域復雜工程問題的預測、建模、模擬或解決過程中,開發(fā)、選擇與使用恰當?shù)募夹g(shù)、軟硬件及系統(tǒng)資源、現(xiàn)代工程研發(fā)工具,提高解決復雜工程問題的能力和效率。
2.3改進教學方法
課堂教學不再以教師為中心,針對不同的教學內(nèi)容可以采用不同的教學方法,如案例式、問題驅(qū)動式等。例如,在講解面向?qū)ο笞罨A的概念“類的封裝”時,以日常生活中的各種時鐘對象為案例[1],讓學生思考各種不同外觀的時鐘具有哪些共同的、必需的數(shù)據(jù),以及需要完成哪些基本的功能。當學生歸納出基本的數(shù)據(jù)和功能后,讓學生體會類的封裝的實質(zhì),然后結(jié)合C++的語法講解類的具體實現(xiàn)。當時鐘類實現(xiàn)后,可以在應用程序中創(chuàng)建該類的一個對象,然后像日常生活中的時鐘一樣顯示具體的時間信息。通過這個案例教學,學生可以結(jié)合實際生活中最常見的例子體會抽象、封裝、類、對象、實例化等面向?qū)ο蟪绦蛟O計的基本概念。然而,在課堂中,案例教學并不適用于所有的教學內(nèi)容。有些教學內(nèi)容,如果案例較小,學生會認為案例不實用,因而沒有興趣思考和完成。如果案例過大,涉及的知識和技術(shù)過多,教學內(nèi)容的重點就不突出。這種情況可以考慮問題驅(qū)動式教學方式。具體實施時,學生按照老師預先給出的學習的內(nèi)容以及相關(guān)的參考書籍和網(wǎng)絡學習資源進行自主學習[2]。在學習過程中如果遇到困難,建議首先采用網(wǎng)上搜索和同學之間相互討論交流來解決問題。如果還有無法解決的問題,可以通過QQ等方式與教師討論交流,教師在解決個別問題的同時也可以掌握學生的難點問題,在課堂教學時即可有針對性地突出重點難點。采用這種教學方式,學生通過課前的知識學習和討論,在課堂上就能夠更好地帶著重點和難點聽講,并能夠跟隨老師的節(jié)奏互動和提出問題,而在解決問題過程中與同學和老師的討論交流,可以讓學生體驗自主學習的樂趣,更能激發(fā)不同學生個體的學習興趣和成就感,充分發(fā)揮學習的主動性,同時還可以培養(yǎng)交流能力和表達能力。
2.4加強實踐教學環(huán)節(jié)
按照工程教育專業(yè)認證的要求,實踐教學的目的不僅僅是驗證已知的理論,訓練基本實驗技能,更重要的是要培養(yǎng)學生具有實踐動手能力,以及根據(jù)所學知識解決復雜工程問題的能力。目前面向?qū)ο蟪绦蛟O計課程的實踐教學環(huán)節(jié)仍采用兩種方式:上機實驗和課程設計。但是實踐內(nèi)容已進行了改革,在不同層次上培養(yǎng)學生解決問題的能力。上機實驗分成驗證型和設計型實驗。驗證型實驗強調(diào)學生編寫測試程序、調(diào)試程序的能力。在此基礎上完成設計型實驗,該類型的實驗以實際項目基礎部分的實現(xiàn)作為實驗內(nèi)容。最后,將設計型的實驗項目擴展成課程設計,實踐內(nèi)容的復雜性和綜合性逐步遞增,不斷提高學生分析問題和解決問題的能力。仍以“繼承與多態(tài)”章節(jié)對應的實驗為例,驗證型實驗要求學生測試教材上的雇員“Employee”類的例子[3],并給出不同的數(shù)據(jù)完成調(diào)試,理解繼承與多態(tài)的基本概念和實現(xiàn)。設計型實驗的題目則是參考這個例子,實現(xiàn)一個人員基類,包括屬性姓名、性別、年齡,再由該基類派生出教師類和學生類,教師類增加工號、職稱和工資,學生類增加學號、年級、專業(yè)和入學成績。要求完成應用程序,利用vector存放一組“人員”類指針,并根據(jù)人員類型的不同顯示不同的內(nèi)容,如教師除了顯示姓名、性別和年齡外,還要顯示工號、職稱和工資,學生則除了顯示姓名、性別和年齡外,還要顯示年級、專業(yè)和入學成績。以此實驗的完成為基礎,學生可以將其擴展成一個人員管理信息系統(tǒng),并作為課程設計的內(nèi)容。為了彌補實驗教學學時的不足,進一步調(diào)動學生學習的主動性,培養(yǎng)學生獨立思考、團結(jié)合作和創(chuàng)新的能力,本課程也開設了課程設計。通過課程設計可以使學生加深理解所學的面向?qū)ο蟪绦蛟O計的相關(guān)知識,并培養(yǎng)學生解決復雜工程問題的能力。針對不同學生的興趣,課程設計的題目分成三大類:管理信息系統(tǒng)類、應用類和游戲類[4]。
3結(jié)語
面向?qū)ο蟪绦蛟O計在計算機科學與技術(shù)專業(yè)的教學中非常重要,近3年進行的教學改革,將案例教學、問題驅(qū)動式教學方法付諸實施,同時擴展了課程設計選題所涉及的應用領(lǐng)域。這些措施有利于學生理解和掌握面向?qū)ο蟮木幊趟枷耄灿欣谔岣邔W生解決復雜工程問題的能力。以課程目標達成度為例,2017級計算機科學與技術(shù)專業(yè)學生面向?qū)ο蟪绦蛟O計課程的成績,相對2016級的學生而言,對應4個畢業(yè)要求的課程目標的指標點達成度平均提升0.1。
參考文獻:
[1]蒂芬•普拉達.C++PrimerPlus中文版[M].6版.張海龍,袁國忠,譯.北京:人民郵電出版社,2012.
[2]王開麗.基于學習結(jié)果(OBE)的工程教育模式在Java面向?qū)ο蟪绦蛟O計教學中的應用[J].電腦知識與技術(shù),2018,14(13):93-94.
[3]王立柱.C/C++與數(shù)據(jù)結(jié)構(gòu)[M].4版.北京:清華大學出版社,2016.
[4]付百文.強化案例教學的程序設計類課程體系改革[J].計算機教育,2015(16):40-43
作者:林姍 江南 劉偉 單位:湖北工業(yè)大學