張朝陽 薛均曉
隨著計算機的日益普及和互聯(lián)網(wǎng)的飛速發(fā)展,以信息產(chǎn)業(yè)發(fā)展水平為主要特征的綜合國力競爭日趨激烈,軟件產(chǎn)業(yè)作為信息產(chǎn)業(yè)的核心和國民經(jīng)濟信息化的基礎(chǔ),越來越受到世界各國的高度重視。軟件技術(shù)已成為信息社會的運行平臺和實施載體,軟件技術(shù)應(yīng)用的全面延伸對用于信息處理的軟件技術(shù)的發(fā)展提出了更高要求,同時促進了軟件技術(shù)和軟件行業(yè)的飛速發(fā)展,軟件技術(shù)已經(jīng)成為人們公認的當(dāng)今發(fā)展最為迅速的技術(shù)之一。
《C語言程序設(shè)計》是軟件工程專業(yè)的核心基礎(chǔ)課程,其教學(xué)效果的好壞,對整個專業(yè)教學(xué)計劃能否順利完成和專業(yè)培養(yǎng)目標(biāo)能否實現(xiàn)有著重要的作用。本文針對軟件工程專業(yè)的特點,從培養(yǎng)工程應(yīng)用型人才的實際需求入手,結(jié)合筆者自身的教學(xué)實踐,對《C語言程序設(shè)計》課程教學(xué)中的問題進行了分析,從課程教學(xué)設(shè)計與課程實踐教學(xué)方面提出軟件工程專業(yè)《C語言程序設(shè)計》課程教學(xué)的一系列改進措施。
一、課程教學(xué)現(xiàn)狀
筆者結(jié)合多年的教學(xué)實踐,并通過調(diào)查在校往屆學(xué)生的學(xué)習(xí)情況發(fā)現(xiàn),《C語言程序設(shè)計》課程教學(xué)存在一些問題。
(一)教材內(nèi)容與實踐脫節(jié)
教師教授理論課時,大多依據(jù)教學(xué)大綱指定的配套教材進行講授,實驗課的編程題目多數(shù)是驗證課本上的例程或者理論課教材后的作業(yè)。目前,軟件工程專業(yè)理論課使用的教材大多以傳授基礎(chǔ)理論知識為主,雖然一些知識點后給出了相應(yīng)的實例,但是這些案例比較孤立,缺乏與工程實踐的聯(lián)系,導(dǎo)致學(xué)生覺得日常練習(xí)的例程枯燥無味,而且不知道如何將基礎(chǔ)理論知識應(yīng)用于工程實踐,使自己具備一定的解決問題能力。由于學(xué)生所學(xué)知識及其方法與工程實踐沒有有機結(jié)合起來,學(xué)以致用的工程意識缺乏日積月累的養(yǎng)成土壤,學(xué)習(xí)的興趣和動力不知不覺地消失在盲目與盲從之中。
(二)課程考試與實際應(yīng)用相關(guān)性差
《C語言程序設(shè)計》是計算機專業(yè)學(xué)生學(xué)習(xí)各類專業(yè)課程的重要工具性課程,主要培養(yǎng)學(xué)生的工程實踐能力。通過調(diào)查發(fā)現(xiàn),目前該課程考核仍然以閉卷筆試的形式為主,考試內(nèi)容主要為基礎(chǔ)知識點。這樣,學(xué)生在面對課程考核時,出于應(yīng)對考試的需要,知識點背一背、記一記,復(fù)習(xí)課程和政治課、歷史課類似。課程考試方式和內(nèi)容與實際應(yīng)用較差的相關(guān)性導(dǎo)致學(xué)生學(xué)習(xí)動力不足。
二、課程教學(xué)設(shè)計
事實上,盡管學(xué)習(xí)動機不盡相同,學(xué)生層次有差異,但絕大多數(shù)學(xué)生能夠認識到自己的需要,希望通過學(xué)習(xí)提高自己的能力。結(jié)合學(xué)生特點,筆者認為“做中學(xué)”和“基于項目教與學(xué)”能夠較好地提高《C語言程序設(shè)計》課程教學(xué)質(zhì)量。
(一)“做中學(xué)”統(tǒng)一知與行
“做中學(xué)”是比從“聽中學(xué)”更好的學(xué)習(xí)方法,符合人類對客觀事物規(guī)律的認識,能夠把書本上的知識與工作生活聯(lián)系起來,充分結(jié)合了學(xué)與做。因此,在設(shè)計組織教學(xué)活動時應(yīng)注重實踐活動的設(shè)計,把教學(xué)活動與工作生活實際相結(jié)合,鼓勵學(xué)生在實際活動中學(xué)習(xí),并將實踐中獲得的知識與技能有效運用于解決學(xué)習(xí)、生活和今后工作中的實際問題,即在實踐中學(xué)習(xí),在學(xué)習(xí)中實踐。
(二)“做中學(xué)”最有效的方法就是進行基于項目的學(xué)習(xí)
一個完整的項目是從分析開始,經(jīng)歷構(gòu)思、設(shè)計、實現(xiàn)和運作的一個完整過程,在學(xué)習(xí)學(xué)科知識的同時能夠提高個人產(chǎn)品過程的認知能力和系統(tǒng)建造的能力。在課程的設(shè)計過程中,始終強調(diào)以項目為導(dǎo)向,以任務(wù)為驅(qū)動,以一個具體項目為依托來學(xué)習(xí)相關(guān)的內(nèi)容,在具體實施中分級設(shè)置項目,先易后難、循序漸進地將相關(guān)的知識點融入項目的任務(wù)之中,通過完成任務(wù)掌握相應(yīng)的知識點,提高相關(guān)技能和操作的應(yīng)用能力。在此過程中,學(xué)生不斷進行實踐、總結(jié)、反思,將瑣碎的知識點串聯(lián)起來,逐步培養(yǎng)學(xué)生的綜合能力。
三、課程教學(xué)實施
(一)多方面積極引導(dǎo),激發(fā)學(xué)生學(xué)習(xí)興趣
學(xué)生在學(xué)習(xí)《C語言程序設(shè)計》設(shè)計之前,可能通過新生入學(xué)教育或從高年級學(xué)生中知道這是一門專業(yè)必修課程而興致勃勃,但到真正學(xué)習(xí)時,如果一直都是面對一堆單調(diào)而且枯煤無味的語法知識,則容易使學(xué)生產(chǎn)生厭學(xué)心理從而逐漸失去學(xué)習(xí)的興趣。因此,要改進教學(xué)方法。首先,通過展示學(xué)校近幾年來在各種比賽中獲得的好成績,讓學(xué)生觀看比賽的圖片,讓學(xué)生知道只要努力,在各種競賽中都可以占有一席之地,這樣學(xué)生就有可達到的奮斗目標(biāo)從而消除他們的畏難情緒,激發(fā)學(xué)生的學(xué)習(xí)興趣。
其次,在課堂講授時盡可能找一些趣味性較強的例子講解,除布置基本的訓(xùn)練學(xué)生掌握語法或者算法的題目外,設(shè)計1—2個有趣味性的游戲程序設(shè)計,如在選擇結(jié)構(gòu)編程練習(xí)中簡易計算器的開發(fā),在循環(huán)結(jié)構(gòu)編程練習(xí)中加入猜數(shù)字游戲設(shè)計,在一維數(shù)組編程練習(xí)中加入猜牌術(shù)游戲等,這些游戲程序設(shè)計的開發(fā)有一定的難度,鼓勵學(xué)生結(jié)成興趣小組,互幫互助共同完成,在此過程中,學(xué)生的學(xué)習(xí)自主性和團隊協(xié)作精神都得到大幅提高。
(二)精心設(shè)計實驗教學(xué)
要根據(jù)《C語言程序設(shè)計》實驗的教學(xué)大綱制定實驗計劃,精心設(shè)計每一次實驗內(nèi)容,要綜合考慮學(xué)生編程能力上的差異,不要把題目設(shè)計得太深或者太簡單,可以設(shè)計必做題和選做題,對基礎(chǔ)較差的學(xué)生,最低要完成必做題;對能力較強的學(xué)生,在完成必做題的基礎(chǔ)上,鼓勵他們?nèi)ネ瓿蛇x做題。同時,在實驗的編排上,注意驗證性、設(shè)計性和綜合性實驗的比例,對驗證性實驗進行精選,即使是驗證性實驗,也不要簡單驗證程序的運行結(jié)果,而是首先要求學(xué)生閱讀程序,寫出運行結(jié)果或程序?qū)崿F(xiàn)的功能,然后再上機運行,同時可以設(shè)計一些問題讓學(xué)生思考并對程序進行進一步修改,然后再分析運行結(jié)果。減少驗證性實驗項目,增加設(shè)計性和綜合性實驗項目,由淺入深、由易到難,加強學(xué)生動手能力、分析問題和解決問題能力的培養(yǎng),最終提高學(xué)生的編程能力。
(三)靈活運用多種教學(xué)手段
在做題過程中,教師的主要任務(wù)是及時發(fā)現(xiàn)問題,回答學(xué)生的疑難問題。但是,在實驗練習(xí)的過程中,學(xué)生主要依靠自己討論或者上網(wǎng)尋求思路來解決問題。這是一個值得鼓勵的好現(xiàn)象,能夠充分體現(xiàn)學(xué)生獨立自主學(xué)習(xí)的能力,在課堂教學(xué)中應(yīng)當(dāng)鼓勵學(xué)生互相討論,互相交換思想共同解決問題。但是,在教學(xué)中教師的作用體現(xiàn)不夠充分,不愿意尋求幫助的學(xué)生會因為一道題目沒有解決而無法正常進行實驗練習(xí),教師的作用應(yīng)該是在學(xué)生自主解決問題的同時,能夠及時提供幫助,盡量統(tǒng)一實驗進度。在上機指導(dǎo)學(xué)生實驗時,要以問題為中心,廣泛采用啟發(fā)式、參與式和討論式等教學(xué)手段,要打破學(xué)生對教師的依賴性,讓學(xué)生自己去思考如何編程,如果較難的題目允許學(xué)生討論,鼓勵學(xué)生去查閱相關(guān)資料,也可以適當(dāng)給學(xué)生一些提示,但一定不要給學(xué)生源代碼,重點給出解題的思路與建議性方法,給學(xué)生留下足夠的獨立思考和設(shè)計的空間,使學(xué)生在實驗過程中親自體會并掌握程序設(shè)計思想,提高實驗的教學(xué)效果。
(四)利用網(wǎng)絡(luò)教學(xué)平臺讓學(xué)生主動學(xué)習(xí)
充分利用校園網(wǎng)內(nèi)建立的《C語言程序設(shè)計》網(wǎng)絡(luò)教學(xué)平臺,在該平臺上共享本課程部分教學(xué)視頻、相關(guān)課件、經(jīng)典算法資料、ACM大賽歷年題目,可以讓學(xué)生通過此網(wǎng)絡(luò)教學(xué)平臺更加自主地選擇性學(xué)習(xí),更重要的是利用此平臺與學(xué)生進行互動交流,在答疑區(qū)對學(xué)生提出的問題,老師與學(xué)生都可以及時解答,同時其他學(xué)生也可以分享交流過程,隨時再提出新問題,更好地激發(fā)學(xué)生的學(xué)習(xí)興趣,增強教師與學(xué)生、學(xué)生與學(xué)生之間的互動。通過多種教學(xué)方式的結(jié)合,不僅加深了學(xué)生對所講知識點的理解,而且激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高了學(xué)生學(xué)習(xí)的自覺性,同時通過互動交流式學(xué)習(xí)增強了學(xué)生的自信心。
參考文獻:
[1]張紅軍.C語言程序設(shè)計教學(xué)改革初探[J],信息與電腦,2015 (9):140-142.
[2]劉紅霞,張永恒.CDIO工程教育模式下的C程序設(shè)計教學(xué)改革研究[J],榆林學(xué)院學(xué)報,2015 (4):83-86.
[3]李文錦,游戲化學(xué)習(xí)在C語言程序設(shè)計的應(yīng)用與實踐[J],新課程研究,2015 (7):76-77.
[4]董永權(quán).C語言程序設(shè)計實驗教學(xué)中的問題及改革措施[J],科技視界,2011(26).