前言:想要寫出一篇引人入勝的文章?我們特意為您整理了C語言程序設(shè)計教學(xué)改革探析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:針對《C語言程序設(shè)計》課程教學(xué)現(xiàn)狀和存在問題,以過程化管理模式進(jìn)行教學(xué)改革,設(shè)計過程化教學(xué)目標(biāo)、教學(xué)方法、考核方案等,以促進(jìn)學(xué)生平時主動學(xué)習(xí),提升學(xué)生編程能力及課程教學(xué)效果。
關(guān)鍵詞:C語言程序設(shè)計;過程化管理;教學(xué)改革;編程思維
作為工科學(xué)生程序設(shè)計類課程的基礎(chǔ),《C語言程序設(shè)計》的教學(xué)目的是培養(yǎng)學(xué)生初步求解復(fù)雜問題的計算思維能力、算法設(shè)計能力、編程及測試能力等[1]。其教學(xué)效果受到廣大計算機(jī)教育工作者的普遍重視。多年來,許多學(xué)者對該課程的教學(xué)方法進(jìn)行探索,積累了許多寶貴經(jīng)驗,取得較好的教學(xué)效果。郭銀章等在教學(xué)實踐中,引入項目任務(wù)驅(qū)動的教學(xué)方法[1];周俊等結(jié)合軍隊院校中該課程存在著問題,提出了相應(yīng)解決策略[2];唐曉等利用基于小班化教學(xué)模式對該課程教學(xué)方式進(jìn)行了改革探索[3];謝麗霞利用基于問題的教學(xué)模式和交互式教學(xué)方法的混合式學(xué)習(xí),取得一定的效果[4];汪紅兵等以計算思維為導(dǎo)向,設(shè)計了該課程的教學(xué)內(nèi)容、教學(xué)方式與考核方案等[5];陳昕等在教學(xué)方法和考核等方面采用了過程化管理策略,激發(fā)學(xué)生編程興趣[6]。近年來,過程化管理模式成為許多高校教學(xué)改革的重點[7-8],其旨在督促學(xué)生利用平時進(jìn)行過程學(xué)習(xí),培養(yǎng)自主學(xué)習(xí)能力,激發(fā)學(xué)習(xí)積極性。本文闡述了福州大學(xué)至誠學(xué)院《C語言程序設(shè)計》的課程現(xiàn)狀,分析教學(xué)過程中存在的問題,并結(jié)合筆者多年從事該課程的教學(xué)經(jīng)驗,提出基于過程化管理的若干教學(xué)改革措施,希望能以此為契機(jī),提高該課程的教學(xué)效果,培養(yǎng)學(xué)生良好的程序和算法設(shè)計思維,為后續(xù)編程課程打下良好基礎(chǔ)。
一、課程現(xiàn)狀
《C語言程序設(shè)計》課程內(nèi)容主要包含數(shù)據(jù)類型和表達(dá)式、程序控制結(jié)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu))、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體和文件等。由于該課程是數(shù)據(jù)結(jié)構(gòu)與算法以及其他編程類課程的先導(dǎo)課程,因此,對后續(xù)的面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計等課程有著十分重要的作用?,F(xiàn)階段,《C語言程序設(shè)計》開課時間是大一下學(xué)期,課程學(xué)時為64節(jié),其中理論講解和上機(jī)實踐各為32學(xué)時,期末的考核采用無紙化形式。然而,該課程一直存在著教學(xué)方法與考核方法較為單一的問題。課程考核結(jié)果一般由平時成績、期中成績和期末成績構(gòu)成,且期末成績比重偏大。這種傳統(tǒng)的教學(xué)和考核方法會使學(xué)生誤認(rèn)為該課程是理論課程,而忽略該課程在項目編程能力培養(yǎng)方面的重要性。
二、存在問題
由于學(xué)院屬于獨(dú)立學(xué)院,學(xué)生的學(xué)習(xí)能力相對于母體學(xué)校學(xué)生有較大差距,基礎(chǔ)一般較為薄弱,不少學(xué)生在學(xué)習(xí)該課程時普遍感覺較為吃力,難以編寫稍微復(fù)雜點的程序。筆者長期從事C語言課程教學(xué)工作,基于多年來的教學(xué)經(jīng)驗,認(rèn)為該課程在教學(xué)中存在以下幾個問題。
(一)課程理論知識點較多
《C語言程序設(shè)計》是一門理論性和實踐性都較強(qiáng)的課程,特別是理論知識點較多。例如,在數(shù)據(jù)類型和表達(dá)式中,整數(shù)相除得整數(shù),求余兩邊必須是整數(shù)類型等,會讓學(xué)生難以記?。ㄒ驗榕c數(shù)學(xué)中的表達(dá)式不一致),導(dǎo)致編寫相應(yīng)程序容易出錯;在數(shù)組與指針、指針與函數(shù)以及指針和結(jié)構(gòu)體相結(jié)合情況下,學(xué)生普遍感到理論性過強(qiáng),難以理解和掌握,無法編寫相應(yīng)程序等。同時,現(xiàn)有的教學(xué)模式下,基本上是先課堂講解理論知識,再進(jìn)行上機(jī)驗證,兩次課的間隔一般是2~3天。因此,常常出現(xiàn)課堂理論知識講解中,學(xué)生容易理解,但是到上機(jī)驗證時,卻無法將理論知識應(yīng)用于實際編程的現(xiàn)象。
(二)課程教學(xué)手段較為陳舊
當(dāng)前教學(xué)基本都是采用課堂講授理論知識,同時結(jié)合上機(jī)實踐驗證等方式。然而,由于該課程具有較多的理論知識,大多數(shù)教師通常都是以“滿堂灌”的形式講解理論知識點,這種方式會使得學(xué)生產(chǎn)生疲勞的感覺,課堂聽課效果較差。另外,在上機(jī)實踐課中,教師往往會根據(jù)課堂理論知識點設(shè)計相應(yīng)題目,且在驗證之前對題目進(jìn)行詳細(xì)講解,學(xué)生往往按照教師的解題思路進(jìn)行編程,缺乏應(yīng)有的獨(dú)立思考與創(chuàng)造能力,無法體現(xiàn)出算法的多樣性與優(yōu)越性。
(三)課程考核方案過于單一
該門課程期末考試多采用閉卷形式,考核的重點也偏向理論知識,有關(guān)編程題也是采取手寫形式來完成答題?,F(xiàn)階段,學(xué)生平時習(xí)慣在計算機(jī)上編寫程序,其能及時進(jìn)行調(diào)試與修改,更好地發(fā)現(xiàn)錯誤。但在閉卷考試中,學(xué)生采用手寫形式進(jìn)行編程,存在著較多的語法錯誤,導(dǎo)致失分較為嚴(yán)重。
(四)學(xué)生學(xué)習(xí)主動性不足
由于學(xué)生的學(xué)習(xí)態(tài)度較差,在學(xué)習(xí)中,僅限于完成教師布置的代碼編寫,有些學(xué)生為了應(yīng)付而抄襲作業(yè);不少學(xué)生沒有課后進(jìn)行復(fù)習(xí)及課前預(yù)習(xí)的習(xí)慣,也很少有學(xué)生能主動學(xué)習(xí),對學(xué)習(xí)過程缺乏監(jiān)督與管理。
(五)編寫程序代碼量過少
現(xiàn)階段,大多數(shù)學(xué)生只是為了完成教師布置的作業(yè)或者是為了驗證課堂理論知識而編寫程序,一個學(xué)期的程序代碼量基本上在2000行以內(nèi)。開設(shè)這門課程,目的是為后續(xù)數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計以及其他面向?qū)ο蟪绦蛟O(shè)計等提供基本編程基礎(chǔ),但這樣的程序代碼編寫量顯然不足以培養(yǎng)編程能力。
三、基于過程化管理的教學(xué)改革探索
鑒于上述教學(xué)過程中存在的若干問題,根據(jù)學(xué)院計算機(jī)專業(yè)學(xué)生的實際情況,我們課題組引入了課程過程化管理教學(xué)改革方案—以課程教學(xué)目標(biāo)為出發(fā)點,從提高課程教學(xué)質(zhì)量出發(fā),設(shè)計多樣化的過程化管理教學(xué)方法,通過項目實踐著力提高學(xué)生編程能力,以過程化考核方案對學(xué)生課程學(xué)習(xí)效果、項目實踐能力等進(jìn)行綜合評價。
(一)過程化教學(xué)目標(biāo)
教學(xué)目標(biāo)是指教學(xué)活動實施的方向和預(yù)期達(dá)成的結(jié)果,是一切教學(xué)活動的出發(fā)點和最終歸宿[8]?!禖語言程序設(shè)計》的教學(xué)目標(biāo)是使學(xué)生能熟練利用C語言編制結(jié)構(gòu)良好程序及分析程序,掌握程序設(shè)計的技巧和方法,以及程序的調(diào)試和測試方法,為后續(xù)學(xué)習(xí)打下堅實基礎(chǔ)。在教學(xué)過程中,針對目前普遍存在的學(xué)生學(xué)習(xí)積極性不高、主動性不強(qiáng),缺乏對學(xué)生平時學(xué)習(xí)過程的監(jiān)督,同時對學(xué)生編程能力的培養(yǎng)與鍛煉目標(biāo)不明確等問題,我們利用過程化管理思想,明確課程教學(xué)目標(biāo)。
1.注重對學(xué)生學(xué)習(xí)過程的管控
為了能讓學(xué)生積極、主動學(xué)習(xí)該課程,我們依托相關(guān)無紙化考試軟件平臺,利用該平臺各章節(jié)大量的練習(xí)題,合理布置相應(yīng)練習(xí),要求學(xué)生在相應(yīng)的時間內(nèi)提交作業(yè),并對學(xué)習(xí)成績給予評價。同時,為了避免學(xué)生作業(yè)抄襲現(xiàn)象,利用平臺的題庫,給每個學(xué)生分配不同題目。
2.注重培養(yǎng)學(xué)生編程能力和項目實踐經(jīng)驗
該課程對計算機(jī)專業(yè)學(xué)生而言是一門十分重要的程序設(shè)計課程,需要學(xué)生在學(xué)習(xí)過程中,通過海量編寫程序,不斷提高編程水平。為了培養(yǎng)學(xué)生分析問題和解決問題的能力,對學(xué)生的綜合應(yīng)用理論知識進(jìn)行化強(qiáng),設(shè)置綜合實踐項目,提高學(xué)生項目實戰(zhàn)經(jīng)驗。
(二)過程化教學(xué)方法
教學(xué)方法是指教師和學(xué)生為了實現(xiàn)共同的教學(xué)目標(biāo),完成共同的教學(xué)任務(wù),在教學(xué)過程中應(yīng)用的各種方式和手段。過程化教學(xué)方法注重學(xué)生平時過程學(xué)習(xí)的促進(jìn)和管控,目的是讓學(xué)生能利用平時有效時間進(jìn)行學(xué)習(xí)。在這個過程中,教師是組織者和促進(jìn)者,而學(xué)生是學(xué)習(xí)的主體。針對教學(xué)過程中存在的問題,在教學(xué)過程中,設(shè)計了如下教學(xué)方法。
1.以網(wǎng)絡(luò)慕課為資源,加強(qiáng)學(xué)生平時學(xué)習(xí)
考慮到傳統(tǒng)教學(xué)手段過于單一,我們結(jié)合現(xiàn)有豐富的網(wǎng)絡(luò)慕課資源,展開多樣性教學(xué),加強(qiáng)學(xué)生平時學(xué)習(xí)過程管理。由于網(wǎng)絡(luò)慕課資源都有時間限制,需要學(xué)生按時主動學(xué)習(xí),避免錯過相應(yīng)章節(jié)講解過程。同時,為了驗證學(xué)生學(xué)習(xí)情況,我們在課堂教學(xué)過程中結(jié)合翻轉(zhuǎn)課堂模式進(jìn)行有針對性的提問與討論,對重點知識進(jìn)行補(bǔ)充和擴(kuò)展。
2.以程序案例為導(dǎo)向,提升學(xué)生理論知識
以往的課程教學(xué)方式是先理論講解,后程序驗證。理論知識的枯燥無味,往往導(dǎo)致學(xué)生聽課注意力不集中。為了讓學(xué)生更好地理解教材中的理論知識,我們以程序案例為導(dǎo)向,結(jié)合程序來講解理論知識,使學(xué)生能體驗理論知識是如何應(yīng)用于編程過程,吸引學(xué)生聽課的注意力。例如,在介紹循環(huán)理論知識時,先從數(shù)的累加或累乘編程開始,逐步講解while、do-while和for語句的語法知識。
3.以項目實踐為驅(qū)動,增加學(xué)生編程代碼量
通過以項目實踐為驅(qū)動,增加學(xué)生編程代碼量,激發(fā)學(xué)生學(xué)習(xí)熱情,提升學(xué)生分析問題和解決問題能力。同時,以小組為單位來完成相應(yīng)編程項目,能夠培養(yǎng)學(xué)生的團(tuán)隊合作精神。例如,在完成數(shù)組、函數(shù)理論知識學(xué)習(xí)后,布置一個“學(xué)生成績統(tǒng)計系統(tǒng)”作業(yè),具體要求是:輸入學(xué)生成績,顯示學(xué)生成績、統(tǒng)計總分、平均分等,需要有登陸驗證模塊;在完成指針、結(jié)構(gòu)體理論知識學(xué)習(xí)后,安排學(xué)生構(gòu)建一個綜合的“學(xué)生信息管理系統(tǒng)”,要求具有:登陸模塊、增加學(xué)生信息、修改學(xué)生信息、刪除學(xué)生記錄以及瀏覽學(xué)生信息等模塊。
(三)過程化考核方案
考核的主要目的是對學(xué)生學(xué)習(xí)效果進(jìn)行檢驗,考查學(xué)生利用所學(xué)理論知識解決實際問題的能力。過程化考核方案是過程化教學(xué)改革的重要方式,注重對學(xué)生過程學(xué)習(xí)效果的考核,弱化期末考試成績。為了減少學(xué)生在考試中手寫代碼的錯誤,期末考試采用無紙化考試。具體的過程化考核方案如表1所示。采用過程化考核,有利于教師及時發(fā)現(xiàn)教學(xué)過程中存在的各種問題,及時調(diào)整教學(xué)方法,合理安排課程教學(xué)內(nèi)容。
四、結(jié)語
過程化教學(xué)強(qiáng)調(diào)以學(xué)生過程學(xué)習(xí)為主,通過過程學(xué)習(xí)激發(fā)學(xué)習(xí)興趣,促進(jìn)學(xué)生學(xué)習(xí)的積極性和主動性。文章描述了計算機(jī)專業(yè)《C語言程序設(shè)計》課程現(xiàn)狀,以及在教學(xué)過程中存在的若干問題,結(jié)合過程化教學(xué)模式,設(shè)計過程化教學(xué)目標(biāo)、教學(xué)方法及考核方案。希望以此教學(xué)改革為契機(jī),培養(yǎng)學(xué)生自主學(xué)習(xí)和分析問題、解決問題能力,提高學(xué)生項目編程水平,提升該課程的教學(xué)效果,為后續(xù)計算機(jī)課程學(xué)習(xí)打下良好基礎(chǔ)。
參考文獻(xiàn):
[1]郭銀章,王麗芳.基于項目任務(wù)驅(qū)動的C語言程序設(shè)計課程教學(xué)改革與實踐[J].計算機(jī)教育,2017(2):41-44.
[2]周俊,董天平,李衛(wèi)東,等.軍隊院校《C語言程序設(shè)計》教學(xué)策略研究[J].計算機(jī)工程與科學(xué),2016,38(s1):38-42.
[3]唐曉,陳新,胡亞慧,等.基于小班化的C語言課程教學(xué)模式研究[J].計算機(jī)工程與科學(xué),2016,38(1):93-96.
[4]謝麗霞.基于混合式學(xué)習(xí)的《C語言程序設(shè)計》課程教學(xué)研究[J].教育教學(xué)論壇,2017(20):169-172.
[5]汪紅兵,姚琳,武航星,等.C語言程序設(shè)計課程中的計算思維探析[J].中國大學(xué)教學(xué),2014(9):59-62.
[6]陳昕,王興芬,焦健,等.注重編程能力培養(yǎng)的C語言過程化考核教學(xué)改革[J].實驗技術(shù)與管理,2016,33(9):155-158.
[7]朱征宇,王茜,楊廣超,等.一種基于全過程化管理的討論式教學(xué)模式[J].計算機(jī)教育,2013(3):80-84.
[8]范曉蕓,敖詩文,魏亞平.應(yīng)用型本科“財務(wù)管理”課程過程化教學(xué)模式研究[J].東南大學(xué)學(xué)報:哲學(xué)社會科學(xué)版,2016(s2):163-164;176.
作者:陰愛英 馬云鶯 單位:福州大學(xué)至誠學(xué)院