前言:想要寫出一篇引人入勝的文章?我們特意為您整理了程序設(shè)計項目任務(wù)驅(qū)動法教學(xué)改革探究范文,希望能給你帶來靈感和參考,敬請閱讀。

摘要:面向?qū)ο?a href="http://www.shengbairui.com/lunwen/cxsj/146500.html" target="_blank">程序設(shè)計是一門理論和實踐相結(jié)合的課程,而且實踐在整個教學(xué)過程中起著極其重要的作用。本文針對教學(xué)中實踐與理論脫節(jié)的現(xiàn)象,提出了項目任務(wù)驅(qū)動教學(xué)法在面向?qū)ο蟪绦蛟O(shè)計課程中的應(yīng)用,將理論與實踐教學(xué)相結(jié)合,提高學(xué)生的編程能力、實踐能力和團隊合作能力,達(dá)到教學(xué)相長的目標(biāo)。
關(guān)鍵詞:項目任務(wù)驅(qū)動教學(xué)法;編程能力;實踐能力;團隊合作
1引言
面向?qū)ο蟪绦蛟O(shè)計是我校電子信息科學(xué)與技術(shù)專業(yè)的一門專業(yè)選修課,具有很強的實踐性,旨在C語言和數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上進(jìn)一步增強培養(yǎng)學(xué)生的編程能力,為今后深入學(xué)習(xí)JAVA等高級編程語言并向軟件方向發(fā)展奠定堅實的基礎(chǔ)。受傳統(tǒng)教學(xué)方法的影響,在面向?qū)ο蟪绦蛟O(shè)計教學(xué)的過程中,很多教師往往采用的還是教師為主體的講授法、演示法等教學(xué)方法,教學(xué)效果并不理想。學(xué)生只能簡單地處理和例題相似的題目,面對實際問題或者稍微復(fù)雜一些的程序則不知該如何下手,最終造成所學(xué)內(nèi)容與實踐完全脫節(jié),甚至對編寫程序產(chǎn)生厭倦情緒,達(dá)不到應(yīng)有的學(xué)習(xí)效果。如何提高學(xué)生的編程水平和運用能力是面向?qū)ο蟪绦蛟O(shè)計任課教師一直追求的目標(biāo)。
2教學(xué)中面臨的問題
面向?qū)ο蟪绦蛟O(shè)計通常是以C++作為編程語言,在教學(xué)方法、教學(xué)手段上已經(jīng)進(jìn)行了很多改進(jìn),并取得了一定的效果。然而仍然面臨著一些問題[1]:(1)C語言是面向過程的程序設(shè)計語言,C++雖然是在C語言的基礎(chǔ)上產(chǎn)生的,但是很多語法形式、設(shè)計思想與之發(fā)生了巨大改變,部分學(xué)生無法適應(yīng)這種變化。同時,教學(xué)內(nèi)容的抽象性、知識點多樣化以及邏輯結(jié)構(gòu)的復(fù)雜性使得學(xué)生難以將數(shù)據(jù)結(jié)構(gòu)的思想運用到程序編寫中,無法具備獨立編程或修改代碼的能力;(2)C++程序設(shè)計是一門具有很強實踐性的課程,傳統(tǒng)的講授法以講授程序設(shè)計的概念、原理、語法為主,學(xué)生只能被動地接收甚至單純地死記硬背;上機實驗課上也是教師布置題目,學(xué)生仿照書本上例題機械地敲代碼,碰到編譯、鏈接中出現(xiàn)的問題通常不知道如何解決;(3)案例式教學(xué)是程序設(shè)計課程中經(jīng)常采用的教學(xué)方法,其目的是通過案例的講解和分析使學(xué)生更深刻地理解編程語言的語法和使用。但在實際的操作中,教師往往選擇課本上簡單易懂的案例,與實際項目相差甚遠(yuǎn),學(xué)生無法將其運用到實踐中去;(4)學(xué)生在研討式教學(xué)中由于自身的局限性,無法深刻理解題目的內(nèi)在含義,往往只是對研討內(nèi)容進(jìn)行表面論述,流于形式,達(dá)不到設(shè)計要求。
3項目任務(wù)驅(qū)動教學(xué)在面向?qū)ο蟪绦蛟O(shè)計課程中的應(yīng)用
項目任務(wù)驅(qū)動法以培養(yǎng)學(xué)生的應(yīng)用能力和創(chuàng)新能力為出發(fā)點,融合“啟發(fā)式”的教學(xué)理念,開發(fā)學(xué)生獨立思考、自主探索的能力,讓學(xué)生能夠積極地進(jìn)行有意義的學(xué)習(xí),體現(xiàn)學(xué)生在課堂教學(xué)中的主體地位,從而實現(xiàn)掌握知識和鍛煉思維兩種能力的的培養(yǎng)[2-4]。在項目任務(wù)驅(qū)動教學(xué)中學(xué)生是主體,在老師的幫助下通過自主學(xué)習(xí)或分工協(xié)作共同完成項目;教師是輔助者,為學(xué)生提供項目所需要的知識,在實施項目中引導(dǎo)啟發(fā)學(xué)生,為學(xué)生提供技術(shù)支持和幫助。項目任務(wù)驅(qū)動教學(xué)法不僅能夠充分發(fā)揮學(xué)生的主觀能動性和創(chuàng)新性,還能構(gòu)建良好的溝通意識和團隊協(xié)作能力,達(dá)到真正的學(xué)以致用[5]。項目任務(wù)驅(qū)動教學(xué)法在面向?qū)ο蟪绦蛟O(shè)計中的具體實施方案如下:
(1)準(zhǔn)備工作每班約有50名的學(xué)生,教師準(zhǔn)備10~15個左右貼近學(xué)生日常生活、難度適中、幾乎涵蓋課程中所有知識點并具有開發(fā)價值的項目提供給學(xué)生自由選擇。為了讓學(xué)生初步認(rèn)識該課程的體系結(jié)構(gòu)及意義,同時對每個項目具有基本的認(rèn)識,教師在第一節(jié)課時就以教案的形式向所有學(xué)生講解每個項目包含的功能模塊,并演示項目完成后的效果[6]。然后,教師引導(dǎo)學(xué)生選擇項目,自愿組成項目組,每組3~5人,確定小組長,組長根據(jù)每位組員的意愿和特長進(jìn)行分工,每人負(fù)責(zé)項目的不同模塊,并規(guī)定每周召開組會,共同研究、交流、探討項目的進(jìn)展情況和實施過程中遇到的問題[7]。通過這種分組合作,一方面提高了軟件開發(fā)的效率和質(zhì)量,另一方面還能夠激發(fā)學(xué)生的團結(jié)協(xié)作精神,同時不同小組之間的相互比較也能促進(jìn)學(xué)生產(chǎn)生濃厚的學(xué)習(xí)氛圍,形成良性競爭。
(2)課堂環(huán)節(jié)課堂上教師要將每個項目的模塊劃分和功能展現(xiàn)給學(xué)生,引導(dǎo)學(xué)生獨立分析并討論實現(xiàn)這些功能所需的知識點。教師要根據(jù)學(xué)生的分析反饋詳細(xì)講解項目實現(xiàn)過程可能遇到的未學(xué)過的知識點以及與功能模塊之間的關(guān)系,并演示利用新的知識點實現(xiàn)該模塊的最終效果。演示中要屏蔽實現(xiàn)代碼,將其留給學(xué)生自行完成。在學(xué)生自己操作的過程中,教師還要隨時關(guān)注學(xué)生的表現(xiàn),及時解答設(shè)計和編程中出現(xiàn)的問題。對于普遍存在的問題要讓所有同學(xué)停下來統(tǒng)一講解,避免學(xué)生走彎路。每節(jié)課的最后半個小時每組組長要指定發(fā)言人闡述本節(jié)課每個組員的完成情況,相似項目或者模塊的同學(xué)可以共同探討不同實現(xiàn)代碼的優(yōu)劣,開闊編程思路,取長補短。教師要對學(xué)生的發(fā)言和討論進(jìn)行總結(jié),特別是對學(xué)生所編代碼中的創(chuàng)新點進(jìn)行表揚[8]。通過一段時間的相互討論和學(xué)習(xí),學(xué)生的分析問題、解決問題以及分工協(xié)作能力明顯提高。
(3)課后作業(yè)為了鞏固課堂學(xué)習(xí)的效果,每次課后教師要根據(jù)本節(jié)課上項目模塊所用到的知識點給學(xué)生布置一個與該知識點匹配且難度相似的作業(yè),并要求學(xué)生獨立,完成后將分析過程以文檔的形式連同代碼交給老師。老師批改之后不僅要給出成績,還要對作業(yè)完成情況做反饋,以此激發(fā)學(xué)生的學(xué)習(xí)熱情,促使學(xué)生產(chǎn)生強烈的學(xué)習(xí)興趣。
(4)期末考核課程結(jié)束前,教師通過大作業(yè)的形式進(jìn)行期末考核,期末考核項目的難度與上課所選項目類似,功能的強弱可由學(xué)生根據(jù)自己的能力設(shè)定。在學(xué)生獨立完成項目過程中,要將項目的需求分析、總體設(shè)計、詳細(xì)設(shè)計、代碼編寫、調(diào)試等以文檔的形式記錄下來,形成考核報告上交。需求分析包括系統(tǒng)設(shè)計的目的與意義、系統(tǒng)功能需求以及輸入輸出的要求;總體設(shè)計包括系統(tǒng)功能分析、系統(tǒng)功能模塊劃分與設(shè)計;系統(tǒng)詳細(xì)設(shè)計包括E-R圖和類層次圖等;代碼編寫進(jìn)行各功能模塊的實現(xiàn);系統(tǒng)調(diào)試用來找出主要問題、編譯語法錯誤并修改。在文檔末尾,還需要學(xué)生結(jié)合編程體會對整個開發(fā)過程進(jìn)行總結(jié)。通過期末考核,使學(xué)生了解并親自體驗項目開發(fā)成功的全過程,不僅能夠全面檢驗面向?qū)ο蟪绦蛟O(shè)計課程的學(xué)習(xí)成果,還能讓學(xué)生真正體會軟件編程的目的和意義,為將來從事軟件開發(fā)類工作奠定基礎(chǔ)。
4小結(jié)
將項目任務(wù)驅(qū)動教學(xué)方法引入面向?qū)ο蟪绦蛟O(shè)計的教學(xué)中,使該課程不再只是紙上談兵,而是真槍實彈的實踐教學(xué)。項目任務(wù)驅(qū)動法以學(xué)生為主體,旨在培養(yǎng)學(xué)生獨立思考、認(rèn)真分析、努力實踐、積極協(xié)作、懂得反思的能力。教師是課程學(xué)習(xí)的策劃者和陪練,幫助學(xué)生獲得專業(yè)技能和提高動手能力。學(xué)生從中不僅學(xué)到了專業(yè)的編程知識,而且學(xué)會了面對實際問題如何進(jìn)行分析和解決。同時培養(yǎng)了學(xué)生的主觀能動性和團隊合作意識,對于提高學(xué)生的編程素養(yǎng)和實際動手能力,實現(xiàn)教、學(xué)、練三者有機結(jié)合起到了至關(guān)重要的作用。
參考文獻(xiàn):
[1]張程,古平,劉慧君.競賽項目驅(qū)動的軟件工程課程教學(xué)改革探索[J].計算機教育,2018(8):22-24.
[2]高俊.淺析計算機軟件教學(xué)中項目導(dǎo)向與任務(wù)驅(qū)動教學(xué)模式的應(yīng)用[J].科技風(fēng),2018(36):100-100.
[3]凌湘春.微課下的項目驅(qū)動的協(xié)作式學(xué)習(xí)促進(jìn)跨文化交際能力[J].教育教學(xué)論壇,2018(40):194-196.
[4]王輝.將項目驅(qū)動教學(xué)法應(yīng)用于數(shù)據(jù)庫教學(xué)的探索[J].職業(yè),2018(28):60-61.
[5]盛波.項目教學(xué)法在C語言教學(xué)改革實踐中的探索[J].科技風(fēng),2010(8):26-26.
[6]羅平,朱珍,朱揚清.基于項目驅(qū)動的《數(shù)據(jù)庫程序設(shè)計》課程教學(xué)改革研究[J].軟件導(dǎo)刊,2015,14(11):186-188.
[7]姚慶玲.“項目教學(xué)法”在計算機語言程序設(shè)計課程教學(xué)中的實踐與探索[J].安徽冶金科技職業(yè)學(xué)院學(xué)報,2009(1):69-72.
[8]趙夫群.“項目教學(xué)法”在計算機課程教學(xué)中的應(yīng)用[J].產(chǎn)業(yè)與科技論壇,2015,1(20):206-207.
作者:李丹 吉紫娟 羅春婭 王懷興 單位:湖北第二師范學(xué)院