李龍淼
(海南工商職業(yè)學(xué)院信息工程系,海南海口 570203)
《C語言程序設(shè)計》教學(xué)改革實踐與探索
李龍淼
(海南工商職業(yè)學(xué)院信息工程系,海南???570203)
《C語言程序設(shè)計》是目前各高校信息工程類專業(yè)普遍開設(shè)的一門課程,它具有內(nèi)容多、理論與實踐結(jié)合緊密的特點,是一門難教且難學(xué)的基礎(chǔ)課程。通過教學(xué)現(xiàn)狀和學(xué)情分析,從教學(xué)模式、教學(xué)方法、教學(xué)手段等方面進行了改革實踐,在教學(xué)實施過程中收到了良好效果,為C語言教學(xué)改革提供了有益經(jīng)驗。
C語言;教學(xué)改革;教學(xué)模式;教學(xué)手段
《C語言程序設(shè)計》課程是目前各高校信息工程類專業(yè)普遍開設(shè)的一門課程,是學(xué)生進校后接觸的第一門程序設(shè)計編程課。該課程的特點是概念抽象復(fù)雜,語句多、規(guī)則多,運行容易出錯,是教師感到難教、學(xué)生感到難學(xué)的一門課程。
(一)入門難 C語言是一種結(jié)構(gòu)化語言,有9種控制語句、34個運算符,數(shù)據(jù)類型多樣;C語言中的指針、數(shù)組、地址傳遞、參數(shù)值傳遞、變量作用域等概念,既抽象又繁雜,不易理解,初學(xué)者尤其是剛剛進入大學(xué)的高職學(xué)生,學(xué)起來感到費勁,因此產(chǎn)生不同程度的畏難情緒。
(二)學(xué)生學(xué)習(xí)興趣不大《C語言程序設(shè)計》這門課,概念抽象,語法繁多,又要動手編程,還要上機調(diào)試運行;學(xué)習(xí)方式和思維方式須有較大改變,如果采用以往“老師講、學(xué)生聽”的教學(xué)方法,學(xué)生普遍感到難學(xué),不知道學(xué)習(xí)方法,更沒有學(xué)習(xí)興趣,因此相當(dāng)一部分學(xué)生放棄了這門課的學(xué)習(xí)。
(三)注重理論知識學(xué)習(xí) 不適合高職高專教學(xué)。以往《C語言程序設(shè)計》教學(xué)注重傳授陳述性知識,按照“提出概念-解釋概念-舉例說明”模式進行教學(xué),這是一種側(cè)重理論知識的學(xué)習(xí)方法,不適合高職高專教學(xué);高職高專的學(xué)生也不善于學(xué)習(xí)抽象理論,致使《C語言程序設(shè)計》課程結(jié)束時,學(xué)生僅了解幾個C語言語句,并不具備用C語言編寫程序和設(shè)計程序的能力。
綜上,《C語言程序設(shè)計》課程改革勢在必行。近年來我們對這門課程的教學(xué)不斷進行改革,做了一些工作。
(一)明確課程改革目標(biāo),制定課程改革方案。
在調(diào)查研究基礎(chǔ)上,經(jīng)過分析論證,并學(xué)習(xí)其他高校相關(guān)課程改革經(jīng)驗,總結(jié)以往教改成果,我們首先明確課程改革目標(biāo),制定了可行的課程改革方案。
《C語言程序設(shè)計》課程要求學(xué)生掌握結(jié)構(gòu)化程序設(shè)計方法和步驟,具有閱讀和編寫一般應(yīng)用程序能力,具有完成上機調(diào)試、運行程序能力,為Windows環(huán)境下各種軟件的開發(fā)使用奠定基礎(chǔ)。為此,必須按照建構(gòu)主義教學(xué)理念,以學(xué)生為主體、教師為導(dǎo)向,利用現(xiàn)代化教學(xué)手段,改革《C語言程序設(shè)計》課程教學(xué)模式;同時以就業(yè)為導(dǎo)向,以職業(yè)培訓(xùn)為標(biāo)準(zhǔn),制定合理的教學(xué)大綱和教學(xué)計劃,形成一套科學(xué)的課程教學(xué)體系。近年來在教學(xué)模式、教學(xué)方法、教學(xué)手段等方面的改革,使C語言課程教學(xué)效果顯著提高。
(二)教學(xué)模式和方法的改革
1.教學(xué)模式改革以程序設(shè)計為主線,編程案例為驅(qū)動
高職高專培養(yǎng)的是高素質(zhì)技能型專門人才,注重應(yīng)用方法和操作技能培養(yǎng),側(cè)重于應(yīng)用學(xué)習(xí)。高職學(xué)生學(xué)習(xí)過程遵循從實際到理論,從具體到一般,邊做邊學(xué),把抽象理論融入到實踐中加以理解,更符合高職學(xué)生“從特殊到一般”的認(rèn)知規(guī)律。因此在C語言教學(xué)中,我們貫穿了以程序設(shè)計為主線,編程案例為驅(qū)動,“教、學(xué)、做”一體化教學(xué)模式。我們選用了高職高專計算機任務(wù)驅(qū)動模式教材《C語言程序設(shè)計實用教程》(清華大學(xué)出版社出版)。本書以案例驅(qū)動為核心、程序設(shè)計為主線、技能培養(yǎng)為目標(biāo),圍繞開發(fā)案例項目對用到的知識點進行講解。全書以完成“學(xué)生成績管理系統(tǒng)”為主線,設(shè)立了8個案例項目,具體包括:學(xué)生成績總分與平均分計算、輸入學(xué)生成績轉(zhuǎn)化為等級、學(xué)生成績分組匯總、多個學(xué)生成績的排序、根據(jù)條件進行成績匯總、用指針優(yōu)化學(xué)生成績排名、學(xué)生成績單制作、學(xué)生成績文件管理。
這8個案例項目按照先易后難、先單一后全面原則,把C語言所包含的知識點融入到程序設(shè)計中,把枯燥的概念融入到實際案例項目中,以案例項目帶動知識點學(xué)習(xí)。每次課堂教學(xué)都以編程案例為驅(qū)動。首先提出問題,教師重點進行案例分析,講解編寫程序的思想和方法,確定編寫程序方案;然后引導(dǎo)學(xué)生討論學(xué)習(xí),并按照方案具體編寫程序;最后指導(dǎo)學(xué)生上機調(diào)試、正確運行程序,上機調(diào)試中出現(xiàn)的問題,由教師統(tǒng)一進行講解。進行案例分析時,教師不需要告訴學(xué)生答案,只講解要點和解決問題的方法,讓學(xué)生去討論制定具體編程,并在計算機上實施與驗證。教師每一次授課的案例項目教學(xué)內(nèi)容、編程實例、教學(xué)方法都要經(jīng)過精心設(shè)計、認(rèn)真分析和研討,力爭推理明確清晰,概念準(zhǔn)確,重點突出,難點分散,有助于學(xué)生對知識的消化理解,并能啟發(fā)學(xué)生思維。這就是“教、學(xué)、做”一體化教學(xué)。
在以程序設(shè)計為主線,編程案例為驅(qū)動的主導(dǎo)思想下,我們編寫了C語言案例教學(xué)大綱和實驗指導(dǎo)書、C語言案例教學(xué)多媒體電子課件和教案,將教學(xué)方式由以教師為中心轉(zhuǎn)變?yōu)橐詫W(xué)生為中心,實行講課與課堂討論及學(xué)生自學(xué)思考相結(jié)合的雙向教學(xué),注重師生間互動,引導(dǎo)學(xué)生積極思考,激發(fā)學(xué)生學(xué)習(xí)積極性和主動性。
在案例教學(xué)中,案例往往包含幾個任務(wù)。例如,案例一要求錄入學(xué)生成績和計算成績平均分與總分。案例中把它分成兩個任務(wù),任務(wù)1是學(xué)生成績的輸入和輸出;任務(wù)2是總分及平均分計算。在任務(wù)中融入相關(guān)知識點,學(xué)生通過具體編程,加深對概念的理解、對語句的運用,在對各知識點融會貫通基礎(chǔ)上,掌握編寫程序和上機調(diào)試能力。課程初期,往往進行案例小程序編程練習(xí),重在了解數(shù)據(jù)類型、語句和程序結(jié)構(gòu)。這些小程序又為今后編寫大案例的綜合程序做準(zhǔn)備。在進行數(shù)組、函數(shù)、指針、編譯預(yù)處理教學(xué),進行綜合實訓(xùn)項目編程設(shè)計時,只需把前面小案例的程序鏈接起來進行綜合調(diào)測即可完成大案例編程任務(wù)。
案例教學(xué)法注重對學(xué)生程序設(shè)計思想和方法的培養(yǎng),注重對學(xué)生將實際問題轉(zhuǎn)化為C語言程序能力的訓(xùn)練。例如循環(huán)語句是C語言教學(xué)中的重點,把這一知識點設(shè)計為一個具體案例項目中的任務(wù):1+2+3….+100=?提出任務(wù)后,教師引導(dǎo)學(xué)生一步步用循環(huán)語句解決問題,編出程序;再近一步討論數(shù)學(xué)家高斯是怎樣解決這一個問題,而計算機這個“大腦”又是如何用“C語言”寫出“循環(huán)語句”去解決問題的,從中體會計算機編程的思想和思路,找出今后編寫程序的過程;最后得出編寫程序的過程是:用計算機的大腦分析問題,找出解決問題的步驟,寫出流程圖,再翻譯成C語言程序,編寫出程序。經(jīng)過多次編程項目實際練習(xí),逐步培養(yǎng)學(xué)生程序設(shè)計思想和方法。當(dāng)遇到一個實際編程項目后,學(xué)生首先在頭腦中形成相應(yīng)的程序結(jié)構(gòu);在明確了程序的基本框架后,具體的編程語句就容易解決了。
2.注重程序設(shè)計實踐能力的培養(yǎng)
C語言功能強大,應(yīng)用廣泛,實踐性極強。因此,C語言教學(xué)需要特別重視實驗實踐教學(xué)環(huán)節(jié)。作為編程的入門課程,要求學(xué)生具備編寫一般簡單程序、正確上機運行程序和閱讀簡單程序的能力。為使學(xué)生具備實際編程能力和熟練的上機操作技能,我們根據(jù)教育部指示精神,改革實驗教學(xué)內(nèi)容,加強實踐教學(xué)環(huán)節(jié),增加實驗、實踐、實訓(xùn)時間和內(nèi)容,減少演示性、驗證性實驗,增加設(shè)計性綜合性實驗。同時把實驗教學(xué)分成課堂實驗、綜合實訓(xùn)和課程設(shè)計三類。課堂實驗與課堂講授同時進行,每次課堂教學(xué)后都安排集中上機練習(xí),使學(xué)生理解、當(dāng)場消化本次課堂教學(xué)內(nèi)容;綜合實訓(xùn)是每上完一章理論課,隨之有相配套的上機綜合實訓(xùn),是本章內(nèi)容或多個知識點的綜合應(yīng)用,學(xué)生需要提交實訓(xùn)報告;課程設(shè)計在本課程結(jié)束后進行,學(xué)生要針對具體適用項目進行編程,學(xué)會利用C語言解決一般應(yīng)用問題。
在課堂教學(xué)中,首先以講清概念、強化應(yīng)用為重點,理論教學(xué)以應(yīng)用為目的,因此每次課都采取了1:1時間分配的理論教學(xué)與實踐練習(xí),做到學(xué)、思、練相結(jié)合,通過項目或任務(wù)實踐,增強學(xué)生編程能力。在實踐中我們的指導(dǎo)思想是,讓學(xué)生在練習(xí)中學(xué)習(xí),多練習(xí)、多實踐,即使暫時沒有理解概念,也能夠做出練習(xí)。先讓學(xué)生會做,然后讓學(xué)生學(xué)懂,即使學(xué)生不懂,也要完成練習(xí)或作業(yè)。各知識點讓學(xué)生在練習(xí)中理解,在實踐中掌握。因此我們重點強調(diào)上機實踐這一教學(xué)環(huán)節(jié),如果課堂上機練習(xí)時間不充裕,課下一定要保證上機操作時間。
在課堂實驗初始階段,教師帶領(lǐng)學(xué)生進行操作,邊操作邊講解,并注意對基礎(chǔ)薄弱的學(xué)生給予輔導(dǎo),不能落下一個學(xué)生。在其后的典型案例和綜合案例學(xué)習(xí)時,教師講解分析要點之后,組織學(xué)生討論練習(xí),三人一組,在討論中解決具體問題,其中一個學(xué)生寫程序,一個寫出算法實現(xiàn)代碼,另一個在計算機上敲出代碼并且試運行,三人共同協(xié)商完成任務(wù)。學(xué)生在相互協(xié)商、相互討論中,既培養(yǎng)了團隊精神,也提高了解決問題能力。
在動手能力方面,除了在進行基本技能培訓(xùn)的時候嚴(yán)格要求學(xué)生外,還要切實為學(xué)生進行一些程序設(shè)計技能講解,即給出一些典型程序設(shè)計例子進行分析,學(xué)生接觸C語言實際編程例子多了,也就逐步理解程序設(shè)計的思想和方法,學(xué)會利用程序設(shè)計語言解決一般應(yīng)用問題,實際動手能力就得到了提高。還要盡可能為學(xué)生提供多一些上機機會,比如開放實驗室,讓學(xué)生有更多上機動手時間。教師有科研課題盡量讓學(xué)生參與,使學(xué)生有一些真實體會。還可以實行導(dǎo)師制,針對學(xué)生不同情況,加以專門輔導(dǎo),切實解決學(xué)生程序設(shè)計中存在問題。
在綜合實訓(xùn)和課程設(shè)計中,本著以就業(yè)為導(dǎo)向,以職業(yè)為載體全面發(fā)展的教學(xué)思想,緊密結(jié)合就業(yè)方向、職業(yè)要求精心制定實訓(xùn)內(nèi)容和課程設(shè)計題目,強化實踐應(yīng)用能力訓(xùn)練,使職業(yè)訓(xùn)導(dǎo)和實踐教學(xué)相結(jié)合,注重能力培養(yǎng)。一般在綜合實訓(xùn)和課程設(shè)計之后,學(xué)生的編程能力和實際操作能力都有所提高,適應(yīng)了培養(yǎng)社會需要全面發(fā)展高素質(zhì)人才的需要。
3.更新教育教學(xué)理念,投入感情,培養(yǎng)學(xué)生興趣
我們的學(xué)生雖然不喜歡、不善于抽象理論學(xué)習(xí),但他們活躍,接受新事物快,動手能力強。而教學(xué)過程不僅是知識和技能傳授過程,更是情感溝通過程。因此教師要關(guān)愛學(xué)生,通過教學(xué)活動溝通師生情感和心靈,實現(xiàn)真正的“教”與“學(xué)”互動。上課時,教師可以精心設(shè)計一些問題讓學(xué)生回答或者討論,對表現(xiàn)積極的,在其他學(xué)生面前加以表揚,并給予平時成績加分等獎勵,提升他們的學(xué)習(xí)熱情和興趣。對學(xué)習(xí)上暫時落后的學(xué)生,可指出他們需要改進的地方,并幫助他們找出解決問題的方法,樹立其學(xué)習(xí)信心。
(三)教學(xué)手段的改革
在教學(xué)手段上,除了采用多媒體課堂教學(xué)和機房實訓(xùn)結(jié)合、多媒體教學(xué)課件和板書設(shè)計結(jié)合的方式外,最主要是構(gòu)建C語言網(wǎng)絡(luò)教學(xué)平臺,借助因特網(wǎng)發(fā)揮信息現(xiàn)代化強大優(yōu)勢,使其成為C語言輔助教學(xué)有力工具。
從教育學(xué)角度出發(fā),教學(xué)過程就是一個信息傳遞過程。而網(wǎng)絡(luò)平臺教育方式將單向的Shannon-Weaver模式改變?yōu)殡p向的Osgood-Schramm模式,因而在近年教學(xué)改革中得到了極大倡導(dǎo)和施行。C語言網(wǎng)絡(luò)教學(xué)平臺充分利用網(wǎng)絡(luò)平臺的開放性、共享性和協(xié)作性等特點和優(yōu)勢,對《程序設(shè)計基礎(chǔ)》課程重新進行規(guī)劃和組織,為學(xué)生創(chuàng)造一個集知識和趣味于一體的、包括個別化學(xué)習(xí)環(huán)境和協(xié)作式學(xué)習(xí)環(huán)境的開放性網(wǎng)絡(luò)教學(xué)平臺。
《程序設(shè)計基礎(chǔ)》課程網(wǎng)絡(luò)教學(xué)平臺構(gòu)建主要包括了三個方面:1.利用多媒體手段系統(tǒng)演示、分析、講解教學(xué)內(nèi)容;2.與課程學(xué)習(xí)直接有關(guān)的練習(xí)題、答疑系統(tǒng)、課程學(xué)習(xí)討論系統(tǒng)等;3.具有初步的、較豐富的題庫內(nèi)容,用于學(xué)生學(xué)后練習(xí)、自測和自我評價。整個平臺系統(tǒng)既包括了教學(xué)支持平臺的架構(gòu)設(shè)計,也包括了教學(xué)內(nèi)容設(shè)計。
建成的《C語言程序設(shè)計》課程網(wǎng)絡(luò)教學(xué)平臺,內(nèi)容豐富,頁面生動活潑,操作方便,能吸引學(xué)生。網(wǎng)絡(luò)教學(xué)平臺內(nèi)容有課程簡介、教學(xué)大綱、教學(xué)課件、電子教案、實驗指導(dǎo)書、實驗報告、課程作業(yè)及答案、章節(jié)自測、趣味C語言程序、C語言程序解決現(xiàn)實生活實例、全國計算機等級考試二級題目及上機典型題目、模擬考試等。
學(xué)生在網(wǎng)絡(luò)教學(xué)平臺上可以構(gòu)建個別化學(xué)習(xí)環(huán)境,利用圖像、動畫和視頻等多媒體手段,將在課堂中側(cè)重于邏輯講解的知識體系從新的角度加以呈現(xiàn)。這樣的講解方式有助于加強學(xué)生對課堂講授內(nèi)容的理解,亦有利于提升學(xué)生對所學(xué)知識的興趣。此外,個別化學(xué)習(xí)環(huán)境還體現(xiàn)在提供自我評價體系,方便學(xué)生隨時隨地了解自己的學(xué)習(xí)狀態(tài),清晰認(rèn)識自己知識體系中的欠缺,更有針對性地調(diào)節(jié)個人學(xué)習(xí)方案,間接促進學(xué)習(xí)效率的提高和自我知識水平的提升。
在網(wǎng)絡(luò)教學(xué)平臺上還可以構(gòu)建協(xié)作式學(xué)習(xí)環(huán)境,主要構(gòu)建學(xué)生和教師、學(xué)生與學(xué)生之間的交流渠道,以便參與者之間進行交流、協(xié)作和討論。這樣的方式不僅提升學(xué)生學(xué)習(xí)主動性和能動性,更能潛移默化優(yōu)化學(xué)生個人習(xí)慣,提升其與他人溝通、合作的能力。協(xié)作式學(xué)習(xí)環(huán)境的創(chuàng)建可利用多種技術(shù)加以實現(xiàn),如電子郵件、公告板、討論區(qū)、網(wǎng)上傳呼等;學(xué)生可提交作業(yè)、提出問題并參與討論。教師通過網(wǎng)絡(luò)平臺可上傳各類教學(xué)資源、批改作業(yè)、網(wǎng)上答疑等。
網(wǎng)絡(luò)學(xué)習(xí)需要教師參與指導(dǎo),需要制度措施的保證?!禖語言程序設(shè)計》課程要求學(xué)生每次課后到網(wǎng)絡(luò)教學(xué)平臺上復(fù)習(xí)課程內(nèi)容,熟悉課堂練習(xí),并完成作業(yè)。教師在規(guī)定輔導(dǎo)答疑時間,檢查督促學(xué)生在網(wǎng)絡(luò)平臺學(xué)習(xí),并給予指導(dǎo)幫助。網(wǎng)絡(luò)內(nèi)容豐富多彩,學(xué)生上網(wǎng)經(jīng)常是打游戲看電影QQ聊天,怎樣讓學(xué)生進入網(wǎng)絡(luò)平臺學(xué)習(xí),需要一定的制度保證。為提高學(xué)生學(xué)習(xí)C語言積極性,培養(yǎng)學(xué)習(xí)習(xí)慣,引導(dǎo)其喜歡學(xué)習(xí)、學(xué)會學(xué)習(xí),本課程規(guī)定課后學(xué)生必須在網(wǎng)絡(luò)平臺上復(fù)習(xí),完成并提交作業(yè),多次不交作業(yè)會影響課程成績。從授課教師和學(xué)生的反饋意見可以看出,《C語言程序設(shè)計》課程網(wǎng)絡(luò)教學(xué)平臺的使用已取得預(yù)期教學(xué)效果。尤其教學(xué)平臺界面良好的設(shè)計、靈活的演示、高效的互動這些特點都受到了學(xué)生的歡迎、認(rèn)同與肯定。
[1]譚浩強.C程序設(shè)計[M].北京:清華大學(xué)出版社,2005.
[2]周雅靜.C語言程序設(shè)計實用教程[M].北京:清華大學(xué)出版社,2009.
[3]蔣然.高職院校C語言程序設(shè)計教學(xué)改革探討[J].福建電腦,2010(10).
[4]馬新.C語言程序設(shè)計課程教學(xué)方法與手段的改革與實踐[J].高校講壇,2010(33).
Exploration on the Teaching Reform and Practice of C Fundamentals of Programming
LI Long-miao
(Department of Information Engineering,Hainan Technology and Business College,Haikou 570203,China)
C Fundamentals of Programming is one of the basic courses of Information Engineering Major for all colleges.The teaching requires a combination of theory study and computer operation.Our reform on its teaching modes,methods and techniques has resulted in good effect.This paper is a summarization of our reform practice which we hope that will be useful for reference.
C language;Transformation of education;Teaching mode;Teaching means
TP312.1-4;G642
A
1009-9743(2012)02-0138-05
2012-04-19
李龍淼(1946-),女,漢族,北京市人。海南工商職業(yè)技術(shù)學(xué)院信息工程系副教授。主要研究方向:程控交換技術(shù)。
(責(zé)任編輯:張玉秀)