公務(wù)員期刊網(wǎng) 論文中心 正文

C語(yǔ)言實(shí)驗(yàn)教學(xué)改革思路

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了C語(yǔ)言實(shí)驗(yàn)教學(xué)改革思路范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

C語(yǔ)言實(shí)驗(yàn)教學(xué)改革思路

摘要:針對(duì)C語(yǔ)言實(shí)踐教學(xué)中存在的問(wèn)題,提出將軟件工程思想引入C語(yǔ)言課程設(shè)計(jì)的教學(xué)改革中。以項(xiàng)目任務(wù)為主線,按照軟件工程方法分組、分階段地實(shí)施課程設(shè)計(jì)。實(shí)踐教學(xué)過(guò)程中強(qiáng)化學(xué)生的計(jì)算思維訓(xùn)練,采用實(shí)踐任務(wù)表驅(qū)動(dòng)和階段性驗(yàn)收方式培養(yǎng)學(xué)生自主學(xué)習(xí)能力,從而提高C語(yǔ)言程序設(shè)計(jì)實(shí)踐課程的教學(xué)質(zhì)量。

關(guān)鍵詞:C語(yǔ)言課程設(shè)計(jì);實(shí)踐教學(xué);軟件工程思想;計(jì)算思維

目前,計(jì)算機(jī)技術(shù)的快速發(fā)展、普及和應(yīng)用極大程度地推動(dòng)了計(jì)算機(jī)教育的發(fā)展。C語(yǔ)言程序設(shè)計(jì)作為計(jì)算機(jī)基礎(chǔ)教育中的一門(mén)重要課程,已經(jīng)成為全國(guó)高等院校工科各專(zhuān)業(yè)學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)的一門(mén)基礎(chǔ)課程,提高其教育質(zhì)量對(duì)培養(yǎng)學(xué)生的編程思想和編程技能至關(guān)重要。C語(yǔ)言是程序設(shè)計(jì)的啟蒙性語(yǔ)言,也是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、JAVA語(yǔ)言程序設(shè)計(jì)和軟件工程等計(jì)算機(jī)類(lèi)其他重要課程的前趨課程。作為一種抽象的且實(shí)踐性很強(qiáng)的語(yǔ)言,它具有數(shù)據(jù)類(lèi)型繁多、語(yǔ)法結(jié)構(gòu)復(fù)雜等特點(diǎn),這些特點(diǎn)給教學(xué)帶來(lái)一定的難度,上機(jī)操作實(shí)踐成了鞏固和熟練掌握課堂知識(shí)的一個(gè)必不可缺的環(huán)節(jié)。實(shí)踐教學(xué)效果的好壞直接決定著學(xué)生對(duì)C語(yǔ)言學(xué)習(xí)的效果,以及能否調(diào)動(dòng)學(xué)生對(duì)程序語(yǔ)言學(xué)習(xí)的能動(dòng)性。因此加強(qiáng)C語(yǔ)言實(shí)踐教學(xué)環(huán)節(jié),可以為后續(xù)的其他計(jì)算機(jī)類(lèi)課程的學(xué)習(xí)奠定良好的基礎(chǔ),而且,從長(zhǎng)遠(yuǎn)來(lái)看,也符合社會(huì)對(duì)高素質(zhì)工程應(yīng)用型軟件人才培養(yǎng)要求。

1實(shí)驗(yàn)教學(xué)中存在的問(wèn)題

C語(yǔ)言程序設(shè)計(jì)課程的教學(xué)指導(dǎo)思想應(yīng)是以應(yīng)用為目的,重點(diǎn)培養(yǎng)學(xué)生分析和解決問(wèn)題的能力,提高學(xué)生的動(dòng)手能力。根據(jù)幾年來(lái)在本學(xué)院網(wǎng)絡(luò)工程專(zhuān)業(yè)開(kāi)展C語(yǔ)言教學(xué)效果來(lái)看,現(xiàn)有的實(shí)踐教學(xué)尚存在一些薄弱點(diǎn),主要表現(xiàn)在以下方面。⑴注重單一的語(yǔ)法練習(xí)。語(yǔ)法練習(xí)的案例為訓(xùn)練學(xué)生熟練掌握某個(gè)或某幾個(gè)語(yǔ)法點(diǎn)而設(shè)計(jì),其程序簡(jiǎn)單,代碼量少,通常僅有一個(gè)main函數(shù),學(xué)生常通過(guò)死記硬背的方式去記憶語(yǔ)法點(diǎn)和語(yǔ)法規(guī)則,極易失去學(xué)習(xí)興趣,并且,少量的幾行代碼不能同時(shí)覆蓋多個(gè)知識(shí)點(diǎn),這會(huì)導(dǎo)致學(xué)生不能把各知識(shí)點(diǎn)有機(jī)地結(jié)合起來(lái)融會(huì)貫通。⑵驗(yàn)證性實(shí)驗(yàn)較多。驗(yàn)證性實(shí)驗(yàn)是一種鞏固知識(shí)的再現(xiàn)式教學(xué)模式,過(guò)多的這類(lèi)實(shí)驗(yàn)使得不少學(xué)生養(yǎng)成程序運(yùn)行時(shí)一出現(xiàn)預(yù)期答案就終止實(shí)驗(yàn)的習(xí)慣,不利于培養(yǎng)學(xué)生的程序測(cè)試意識(shí),致使其分析錯(cuò)誤和調(diào)試能力差。⑶缺乏計(jì)算思維的培養(yǎng)訓(xùn)練。計(jì)算思維的培養(yǎng)應(yīng)該是計(jì)算機(jī)基礎(chǔ)教學(xué)方面的一項(xiàng)核心任務(wù)[1],但由于近年來(lái)網(wǎng)絡(luò)工程專(zhuān)業(yè)常以通過(guò)全國(guó)計(jì)算機(jī)等級(jí)考試為目標(biāo),等級(jí)考試的擬題形式直接導(dǎo)致了學(xué)生對(duì)編程的認(rèn)識(shí)局限于代碼的填空、寫(xiě)出程序運(yùn)行結(jié)果等諸如此類(lèi)的形式,而對(duì)算法缺少整體上的認(rèn)識(shí),更談不上從多角度、多方位嘗試用不同的方案、不同的算法來(lái)實(shí)現(xiàn)程序功能。⑷評(píng)價(jià)方式單一。傳統(tǒng)的實(shí)驗(yàn)教學(xué)采用隨機(jī)指導(dǎo)方式,在學(xué)生提出問(wèn)題的情況下進(jìn)行解答指導(dǎo),評(píng)價(jià)僅以最后的實(shí)驗(yàn)作業(yè)為依據(jù),評(píng)價(jià)方式過(guò)于單一,學(xué)生中易出現(xiàn)抄襲現(xiàn)象,不能反映教學(xué)效果。

2教學(xué)改革措施

針對(duì)實(shí)踐教學(xué)環(huán)節(jié)的薄弱點(diǎn),我們?cè)趥鹘y(tǒng)理論課結(jié)合實(shí)驗(yàn)課模式的基礎(chǔ)上,進(jìn)一步開(kāi)設(shè)C語(yǔ)言課程設(shè)計(jì)這一綜合性設(shè)計(jì)實(shí)驗(yàn)課程,承上啟下的實(shí)現(xiàn)教學(xué)銜接。

2.1教學(xué)內(nèi)容改革

社會(huì)的發(fā)展需要?jiǎng)?chuàng)新能力佳、實(shí)踐能力強(qiáng)的復(fù)合應(yīng)用型人才,因此,C語(yǔ)言課程設(shè)計(jì)的內(nèi)容改革首先在選題上就要符合以應(yīng)用為導(dǎo)向這一教學(xué)目標(biāo),而不能局限于通過(guò)計(jì)算機(jī)等級(jí)考試。在開(kāi)展教學(xué)過(guò)程中,進(jìn)一步融入軟件工程思想,強(qiáng)化計(jì)算思維訓(xùn)練。選題上,以一個(gè)小而完整的軟件開(kāi)發(fā)項(xiàng)目貫穿整個(gè)課程教學(xué)過(guò)程,克服驗(yàn)證性實(shí)驗(yàn)存在的與實(shí)際應(yīng)用脫節(jié)問(wèn)題。C語(yǔ)言作為程序設(shè)計(jì)的入門(mén)語(yǔ)言,考慮到學(xué)生尚不熟悉軟件開(kāi)發(fā)的流程,項(xiàng)目選擇以貼近生活的信息管理系統(tǒng)為主,例如電話簿管理、宿舍管理等。這類(lèi)系統(tǒng)開(kāi)發(fā)項(xiàng)目能覆蓋多個(gè)知識(shí)點(diǎn),尤其是覆蓋數(shù)組、鏈表、指針、結(jié)構(gòu)體等重點(diǎn)內(nèi)容,也具有一定的可擴(kuò)展性,可以引導(dǎo)學(xué)生逐漸從簡(jiǎn)單功能實(shí)現(xiàn)向較難的功能實(shí)現(xiàn)過(guò)渡。例如信息管理系統(tǒng)的基本功能點(diǎn)是對(duì)信息的錄入和讀取,在此基礎(chǔ)上根據(jù)學(xué)生的能力和完成進(jìn)度,可以逐漸添加一些功能點(diǎn),如各種查詢(xún)、排序,或進(jìn)一步加入文件處理以保存信息。這樣就形成了知識(shí)鏈條,由淺入深地?cái)U(kuò)充并覆蓋到教材中各個(gè)重要的知識(shí)點(diǎn)。一個(gè)小而完整的項(xiàng)目具備一定規(guī)模的代碼,C語(yǔ)言又是一種理想的結(jié)構(gòu)化語(yǔ)言,在這種結(jié)構(gòu)化程序開(kāi)發(fā)的教學(xué)過(guò)程中,需要提前向?qū)W生滲透軟件工程思想,潛移默化地熏陶學(xué)生養(yǎng)成良好的軟件開(kāi)發(fā)習(xí)慣。內(nèi)容上,引入模塊化設(shè)計(jì)思想,模塊代表一個(gè)小的完整的功能點(diǎn),用增量方式逐個(gè)實(shí)現(xiàn),介紹相對(duì)容易理解的瀑布模型,針對(duì)每個(gè)需求獲取分析、系統(tǒng)設(shè)計(jì)、開(kāi)發(fā)、測(cè)試等幾個(gè)階段布置具體任務(wù),讓學(xué)生提前接觸軟件開(kāi)發(fā)過(guò)程,糾正學(xué)生在沒(méi)有分析清楚需求就急于寫(xiě)代碼的習(xí)慣,而測(cè)試時(shí)適當(dāng)引入一些簡(jiǎn)單的黑盒測(cè)試方法,例如邊界值法等,避免學(xué)生測(cè)試的隨意性。C語(yǔ)言涵蓋了語(yǔ)言和方法兩方面的內(nèi)容,方法指算法設(shè)計(jì)和使用計(jì)算機(jī)語(yǔ)言描述算法的過(guò)程[2]。算法可以說(shuō)是程序的靈魂,而從學(xué)生的反饋來(lái)看,計(jì)算思維的訓(xùn)練尚存在很大不足。計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念去求解問(wèn)題、設(shè)計(jì)系統(tǒng)和理解人類(lèi)行為的能力,在2006年被提出并明確定義以來(lái)[3],逐漸成為計(jì)算機(jī)教育的新要求,在2010年首屆“九校聯(lián)盟計(jì)算機(jī)基礎(chǔ)課程研討會(huì)”上提出把培養(yǎng)學(xué)生的“計(jì)算思維”能力作為計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)[4]。算法的學(xué)習(xí)是一個(gè)不斷積累的過(guò)程,需要將計(jì)算思維的培養(yǎng)貫穿始終。以數(shù)據(jù)排序?yàn)槔梢宰寣W(xué)生對(duì)不同的數(shù)據(jù)結(jié)構(gòu)(數(shù)組或鏈表)、不同算法的選擇進(jìn)行優(yōu)劣分析,增加數(shù)據(jù)量或運(yùn)行次數(shù)進(jìn)行測(cè)試,讓他們對(duì)計(jì)算復(fù)雜度有直觀的了解,激發(fā)起學(xué)習(xí)興趣。

2.2教學(xué)方式改革

C語(yǔ)言課程設(shè)計(jì)以項(xiàng)目任務(wù)為主線安排教學(xué)步驟,借鑒翻轉(zhuǎn)課堂教學(xué)模式,分為課內(nèi)實(shí)驗(yàn)和課外兩個(gè)階段學(xué)習(xí),分組合作,采用階段性驗(yàn)收方式,以實(shí)踐任務(wù)表為驅(qū)動(dòng),促進(jìn)和提高學(xué)生自主學(xué)習(xí)的能力。自主學(xué)習(xí)是一種學(xué)習(xí)者在總體教學(xué)目標(biāo)的宏觀調(diào)控下,在教師的指導(dǎo)下根據(jù)自身?xiàng)l件和需要制定并完成具體學(xué)習(xí)目標(biāo)的學(xué)習(xí)模式[5],是我們C語(yǔ)言課程設(shè)計(jì)的一個(gè)重要的教學(xué)目標(biāo),翻轉(zhuǎn)課堂思想可以有效地幫助實(shí)現(xiàn)這一目標(biāo)。翻轉(zhuǎn)課堂作為一種新型教學(xué)模式,近年來(lái)得到了越來(lái)越多的教師的關(guān)注。它是以學(xué)生為中心,課后學(xué)習(xí),課堂上集中精力完成練習(xí)以及和教師同學(xué)交流[6]。借鑒于此,C語(yǔ)言課程設(shè)計(jì)的課外學(xué)習(xí)階段安排查找或觀看跟實(shí)踐任務(wù)表中問(wèn)題相關(guān)的資料和視頻,課內(nèi)則集中時(shí)間進(jìn)行實(shí)驗(yàn)。課堂實(shí)驗(yàn)采用項(xiàng)目分組方式,每組至少3人,并推選一位組長(zhǎng)負(fù)責(zé)組內(nèi)協(xié)調(diào)和階段匯報(bào),要求每個(gè)項(xiàng)目組按照軟件工程方法進(jìn)行需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試。需求分析階段可以實(shí)行角色扮演方式,將組內(nèi)部分人員放在用戶(hù)的位置上,采用面對(duì)面訪談方式進(jìn)行需求獲取。在總體設(shè)計(jì)階段,要求根據(jù)自頂向下、逐步求精的模塊化設(shè)計(jì)思想,拆解為若干個(gè)功能單一、相對(duì)獨(dú)立的子模塊,根據(jù)每位學(xué)生對(duì)現(xiàn)有知識(shí)的掌握程度及編程水平進(jìn)行任務(wù)分配,尤其要引導(dǎo)學(xué)生注意模塊間數(shù)據(jù)的傳遞和接口設(shè)計(jì)問(wèn)題,減少使用全局變量,提高程序可維護(hù)性。詳細(xì)設(shè)計(jì)階段則要求學(xué)生多方位思考程序的實(shí)現(xiàn)途徑,對(duì)于稍微復(fù)雜點(diǎn)的必須先給出詳細(xì)的算法流程圖或偽代碼,然后進(jìn)行編碼,將其映射為編程語(yǔ)句,以促進(jìn)計(jì)算思維的培養(yǎng)。編碼和測(cè)試沒(méi)有明確的界限劃分,要求學(xué)生邊編碼邊進(jìn)行單元測(cè)試,這個(gè)過(guò)程中要求學(xué)生學(xué)會(huì)看編譯出錯(cuò)信息,掌握調(diào)試技術(shù),例如VC斷點(diǎn)調(diào)試、單步跟蹤等技巧,觀察內(nèi)存變量值的變化等。這樣一方面可以糾正學(xué)生原先那種與書(shū)上源代碼校對(duì)來(lái)查找錯(cuò)誤的方式,另一方面可以提升對(duì)知識(shí)點(diǎn)的理解,尤其是通過(guò)在調(diào)試窗口觀察程序的動(dòng)態(tài)運(yùn)行過(guò)程來(lái)深入理解指針和鏈表問(wèn)題。編碼階段完成部分測(cè)試后,還需要將各模塊功能集成到系統(tǒng)中進(jìn)行測(cè)試,該過(guò)程中,向?qū)W生引入簡(jiǎn)單的等價(jià)類(lèi)劃分和邊界值測(cè)試等方法,避免學(xué)生測(cè)試隨機(jī)性和重復(fù)性。信息時(shí)代的教學(xué)模式應(yīng)以啟發(fā)學(xué)生探究為主,教師則是學(xué)習(xí)的指導(dǎo)者和幫助者,引導(dǎo)學(xué)生思考存在什么問(wèn)題,可以用什么方式解決,而不是直接說(shuō)明怎么解決。學(xué)生是學(xué)習(xí)的主體,為激發(fā)學(xué)生自主學(xué)習(xí)的熱情,C語(yǔ)言課程是設(shè)計(jì)采用實(shí)踐任務(wù)表驅(qū)動(dòng)和階段性的驗(yàn)收方式,引導(dǎo)學(xué)生課外學(xué)習(xí)按照自主的節(jié)奏一步一步有序?qū)W習(xí)。學(xué)生經(jīng)過(guò)課堂實(shí)驗(yàn),梳理歸納出實(shí)踐任務(wù)單,任務(wù)單包含課堂碰到的一些編程問(wèn)題,以及教師給學(xué)生留下啟發(fā)式的思考題。階段性驗(yàn)收以小組進(jìn)行,以小組為單位匯報(bào)進(jìn)度或發(fā)表意見(jiàn),與教師進(jìn)行面對(duì)面交流,測(cè)評(píng)實(shí)驗(yàn)問(wèn)題解決方案。這樣鼓勵(lì)學(xué)生在課后有針對(duì)性的自主發(fā)現(xiàn)和解決問(wèn)題,課后去查找資料,獨(dú)立思考,從而實(shí)現(xiàn)從“做中學(xué)”到“學(xué)中思”的過(guò)渡。課程設(shè)計(jì)結(jié)束后,采用答辯方式進(jìn)行考核,分為小組考核和個(gè)人考核,每組用15分鐘左右進(jìn)行項(xiàng)目演示、功能介紹和總評(píng),個(gè)人考核則以過(guò)程性考核為主,依據(jù)其所實(shí)現(xiàn)功能點(diǎn)的數(shù)量、在項(xiàng)目合作中發(fā)揮的作用,對(duì)調(diào)試操作的熟練程度等多個(gè)方面的指標(biāo)進(jìn)行。這樣就做到考核方式多樣化,而不單純以實(shí)現(xiàn)結(jié)果來(lái)衡量,從而能在全方面督促學(xué)生進(jìn)步,也加強(qiáng)了學(xué)生良好的團(tuán)隊(duì)意識(shí)和合作精神的培養(yǎng)。

3結(jié)束語(yǔ)

本文探討了網(wǎng)絡(luò)工程專(zhuān)業(yè)教學(xué)改革的具體措施,在本院實(shí)踐表明,實(shí)際項(xiàng)目的開(kāi)發(fā)能很大程度上提高學(xué)生的學(xué)習(xí)興趣,加深知識(shí)點(diǎn)的理解,分組分階段的項(xiàng)目開(kāi)發(fā)方式培養(yǎng)了學(xué)生的團(tuán)隊(duì)協(xié)作能力,增強(qiáng)了學(xué)生的軟件工程意識(shí),而通過(guò)任務(wù)驅(qū)動(dòng)的課外學(xué)習(xí)方式,學(xué)生的學(xué)習(xí)自主性和解決問(wèn)題能力都有了較大的提高。為了能夠滿足社會(huì)對(duì)應(yīng)用技術(shù)型人才的深層次需求,我們還需要在今后的實(shí)踐教學(xué)中繼續(xù)探索新的改革方案,以期達(dá)到更好的實(shí)踐效果。

參考文獻(xiàn)(References):

[1]何欽銘,陸漢權(quán),馮博琴.計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)是計(jì)算思維能力的培養(yǎng)—《九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》解讀[J].中國(guó)大學(xué)教學(xué),2010.9:5-9

[2]杜恒.C語(yǔ)言程序設(shè)計(jì)(理實(shí)一體化教程)[M].機(jī)械工業(yè)出版社,2011.

[3]JeannetteM.Wing.ComputationalThinking[J].Communi-cationsoftheACM,2006.49(3):33-35

[4]九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明[J].中國(guó)大學(xué)教學(xué),2010.9:4,9

[5]謝飔羽.自主學(xué)習(xí)及大學(xué)生自主學(xué)習(xí)能力培養(yǎng)[J].中小企業(yè)管理與科技,2009.3:122

[6]張金磊,王穎,張寶輝.翻轉(zhuǎn)課堂教學(xué)模式研究[J].遠(yuǎn)程教育雜志,2012.4:46-51

作者:樓軼超 單位:浙江工商大學(xué)信息與電子工程學(xué)院