国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

從學習者的視角看計算機專業(yè)《C語言程序設計》課程教學改革

2015-11-15 03:32:39盧炳旭
職教論壇 2015年20期
關鍵詞:計算機專業(yè)程序設計實驗課

□盧炳旭

從學習者的視角看計算機專業(yè)《C語言程序設計》課程教學改革

□盧炳旭

《C語言程序設計》是計算機學科體系中的基礎核心課程之一。文章從教學主體的學習者角度出發(fā),感受到高?!禖語言程序設計》教學過程中存在的一些問題,通過對《C語言程序設計》課程教學進行學習者反思,提出學生學習興趣引發(fā)、編程思維培養(yǎng)、前后知識關聯、案例驅動教學、改革考核方法等方面的教學改革見解,以使計算機專業(yè)課程教學更加符合大學生學習的特點與規(guī)律。初步的試驗證明,作為高年級學生輔導培訓低年級學生所采用一些教與學的方法提高了學生的學習興趣,獲得良好的教學效果。

學習者;計算機專業(yè);C語言程序設計;教學改革

《C語言程序設計》課程是計算機專業(yè)學生接觸的第一門基礎性程序設計課,以實際動手編程技能為手段,以培養(yǎng)學生設計能力為主旨,有助于形成學生分析問題和解決實際問題的能力,并為學生后續(xù)學習數據結構、面向對象程序設計、操作系統等專業(yè)課程奠定必備的基礎。因此,能否熟練掌握并運用C語言,是衡量一名計算機專業(yè)學生專業(yè)水平的基本標準。教學的根本目的是為了促進學生的學習發(fā)展,一般的教學法研究主要側重教的方面,多從教師的角度和理解看待課程與教學改革。本文試圖從一個學習者也可以說是一個初學者的層面和角度,結合學習和助學《C語言程序設計》中的困惑、感悟及其體會,結合為低年級學生輔導培訓C語言程序設計的一些感性經驗,從兩個維度思考有關大學課程與教學改革的問題,試圖提出更加切合大學生學習的實際有效的學習方法和教學方式,希望能為高校課程與教學改革吹進一縷新風。

一、《C語言程序設計》課程教學過程中存在的問題

筆者在大一下學期開始學習計算機科學技術專業(yè)《C語言程序設計》課程,而且全程旁聽了網絡工程專業(yè)同樣的課程,并通過調查在校往屆學生的學習情況,發(fā)現《C語言程序設計》課程的教學內容和教學模式存在一些共性的問題。

(一)課程內容拘泥于與工程實踐脫節(jié)的教材

計算機專業(yè)的日常教學中理論課所占比例較大,而理論課教師往往依據教學大綱指定的配套教材進行講授,實驗課的編程題目多數是驗證課本上的例程或者理論課教材后的作業(yè)。通過調研計算機專業(yè)教師使用教材情況,發(fā)現目前計算機專業(yè)理論課使用的教材以傳授理論知識為主,雖然每個知識點后給出了相應的實例,但是這些案例比較孤立或抽象,缺乏與工程實踐的聯系。長此以往,學生一方面覺得日常練習的例程枯燥無味,找不到激發(fā)其學習興趣的落腳地和理由;另一方面,覺得即使刻板地掌握了某些語法的使用方法,也并不知道如何將這些語法知識應用于工程實踐,使自己具備一定的解決問題能力。由于學生所學知識及其方法與工程實踐沒有有機地結合起來,學以致用的工程意識缺乏日積月累的養(yǎng)成土壤,學習的興趣和動力不知不覺地消失在盲目與盲從之中。

(二)理論課程內容課堂吸收率不高

C語言是一門面向過程的程序設計語言,語法雖然不是很復雜,但是學生在最初接受理論知識時,往往由于練習量不足而難以融會貫通,很難將各個部分的知識點連貫起來綜合運用。例如:if語句和while語句之間的相互嵌套,以及while語句和for語句中循環(huán)條件如何選擇,都是理論課難以直接傳授的。相對抽象的函數、指針和結構體等知識點,又會使學生不知從何下手,而C語言的前后知識點相關性較強,學生很可能因為一個知識點沒有掌握而導致知識鏈斷裂,從而降低課程整體的學習質量。實際的情況是,一旦一個階段的學習進度跟不上,學生往往會對單調的編程語言的學習產生排斥心理,直接影響后續(xù)課程的學習。

(三)實驗課程的重要性往往被忽略

《C語言程序設計》課程的理論教學與實驗教學是兩個相互依存、相互促進的教學體系。實驗教學相對于理論教學更具直觀性、趣味性和創(chuàng)造性,可以讓學生在實驗中真正地理解理論知識[1]。但目前高校通行的做法是,普遍把這兩部分課程內容分開教學。理論課上,老師一板一眼、從理論到理論地講述理論知識,學生貌似聽懂卻并不清楚如何實現。而實驗課通常與理論課是相分離的,并不在同一天授課,學生又比較缺乏及時復習的意識,上機操作時理論知識已經遺忘的所剩無幾,實驗課的寶貴時間利用率偏低。從一名學習者的經驗看,初學C語言時,很多知識點需要經過一定量的實際操作才能逐漸掌握,不少學生不重視實驗課,實驗課作業(yè)通過檢索網絡編程資料蒙混過關,實際的編程能力得不到有效鍛煉,到了期末再根據老師的題目范圍突擊背誦程序,這種知識化的編程學習,其基本功自然不會扎實。

(四)考試內容重點與實際應用相關性較小

《C語言程序設計》是計算機專業(yè)學生學習各類專業(yè)課程的重要工具性課程,通過C語言編寫的結構體可以塑造復雜的數據結構,并且結構體也是使學生理解面向過程編程思想的重要知識點。通過檢索部分高?!禖語言程序設計》課程考試大綱,并調研部分高校實際考試情況,發(fā)現其考試重點是C語言的結構、數據類型及其運算、基本語句、數組、函數、指針等知識點,由于課時安排不足,結構體、文件等知識點位于教材最后章節(jié),不作為考試重點。這樣,學生在復習C語言考試時,出于功利性考慮,重點考什么就復習什么。而且,復習時的感覺像是面對一門特殊的數字邏輯課,而非程序設計課;此外,由于缺乏拓展結構體的使用方法和在實際問題中的應用,在學習其他專業(yè)課程的初期,會發(fā)現遇到很多困難。

二、對《C語言程序設計》課程教學改革的實踐

筆者在自己學習的同時,作為學習社團輔導員,連續(xù)兩年對計算機專業(yè)本科低年級學生進行了《C語言程序設計》輔導培訓,這種“兵教兵”的演練,增強了自己對初學者的認識,并像教師一樣對在教學過程中存在的問題進行了一定思考,結合自身學習與學教的體會,嘗試尋求適合計算機專業(yè)學生學習《C語言程序設計》課程的教與學的方法。

(一)巧用應用導言,點燃學生的學習興趣

《C語言程序設計》課程是計算機專業(yè)學生真正窺視該專業(yè)門徑的專業(yè)基礎課程。在接觸的初始階段,不能急于讓學生了解基本語法或者是快速入門,而是首先通過介紹計算機編程發(fā)展歷史、創(chuàng)建C語言貝爾實驗室、講授游戲編程實例等話題,逐步揭開了編程在初學者心中的神秘面紗,使其將C語言看做一門構建宏偉數字世界精巧的技藝,從內心愛上計算機編程,進而樹立學會計算機專業(yè)課程的信心。

例如,電子游戲被稱為“第九藝術”,而電子游戲本身就是由編程語言編寫的程序。在介紹課程教學大綱時,以講解“貪吃蛇游戲”編程實例為切入點(如圖1所示),融匯貫穿了C語言課程的各個知識點,并且告訴同學們,通過學習該課程,在期末每個人都可以獨立完成簡單游戲的開發(fā)。這樣,大家的學習興趣從第一節(jié)課開始就被點燃了,這也印證了愛因斯坦說過的“興趣才是最好的老師”那句著名的論斷。

圖1 貪吃蛇小游戲DOS界面

(二)講練交織并行,培養(yǎng)良好的編程習慣

初學C語言編程時,在變量名稱定義、全角半角符號使用、大括號匹配等方面經常出現錯誤。因此,在輔導教學過程中,根據自己學習體會將編程規(guī)范和編程技巧講解作為重點,通過邊講邊練、邊練邊講雙向互動,養(yǎng)成學習者把理論與實踐緊密結合起來良好的編程習慣,為程序的維護、更新、可移植,以及提高程序設計質量,降低程序維護成本打下牢固的基礎。比如,每行只寫一條語句,通過分層縮進寫法體現編程語句的層次結構,使得程序結構更加分明;在不同程序區(qū)域塊之前寫好注釋,以便說明程序功能;在程序出現邏輯問題時,多使用編譯器自帶的調試功能,設置斷點進行單步調試;在不同的編程環(huán)境中熟練使用快捷鍵;等等。

關于授課形式,體現“一體化”的教學思想,強調理論和實驗密切結合,盡可能把課程教學安排在計算機機房進行。在講清編程知識點的基礎上,重點結合工程實例演練編程技巧和方法,接著要求同學們一起實際操作,也即在 “做中學”,并使用VC++進行驗證,使得同學們能夠通過有效實驗,驗證所學知識,得到運行結果,并發(fā)現存在的不足和問題。這種“講練交叉并行、當堂即學即知”的教與學的方式,大大提高了老師教學的有效性,也鞏固了學生學習的效果。

(三)注意環(huán)環(huán)相扣,關聯前后知識

C語言作為學習編程者的入門級語言,語法具有一定的抽象性,初學者難免會因為復習不及時而導致前期知識點的遺忘,待到日后的知識應用更是一頭霧水。其實,復習是最好的學習,有序是最好的方法,運用是最好的鞏固。

首先,在學習新知識前,回顧以往知識點。比如,“循環(huán)結構”與“分支結構”知識點有著千絲萬縷的聯系,在講循環(huán)結構時,對于相同的例程使用分支結構重新寫一次,使同學們不僅掌握循環(huán)結構與分支結構的異同點,而且在學習新知識的同時,對舊知識得到了復習和鞏固[2]。

接著,在學習新知識點的過程中,注意由淺入深,用所學知識誘導新的編程思路,同時要結合編程實例懂得活學活用。比如,指針是C語言中特殊的數據類型,同學們在開始接觸指針時,可能會對其能夠直接指向變量存儲位置的特性感到很不解。因此,本人在講解變量知識時,就把變量在計算機內存中的存儲方式,通過形象化的圖示和語言解釋相結合的方式展現出來(如圖2所示),這樣,既可以使同學們了解變量在內存中的存儲方式,也可以由變量地址這個概念對指針內保存的內容有初步認識[3]。在介紹字符數組時,使用scanf(“%s”)語句對字符數組賦值,數組名前不需要添加取地址符“&”。這時,向同學們解釋“由于數組名是整個數組的數組指針,所以不要進行取地址”;然后,再次把指針和地址這兩個概念重復解釋給同學們。這樣,使同學們在今后學習時,可以和前面的知識點呼應起來產生共鳴,達到溫故知新、豁然開朗的效果。

圖2 變量與地址的對應關系

(四)提升實驗教學的效度,采用案例驅動教學

實驗課不僅是驗證理論課所學知識的重要過程,更應注重學生獨立開發(fā)C語言程序能力的培養(yǎng),采用案例驅動教學法有利于充實實驗課教學的內涵。受到第一節(jié)課展示電子游戲的啟發(fā),在輔導培訓中將同學們分為若干個小組,每組在學期期末都要以貪吃蛇游戲中包含的編程技術為基礎,開發(fā)出自己組的小游戲或者應用程序。

具體過程是:把貪吃蛇游戲的源程序進行分解,每當講解完一個章節(jié)后,就把對應這個章節(jié)知識點的源程序作為實驗課最后的項目啟發(fā)給同學們,使同學們在整個學期中,逐漸加深對游戲源程序的理解。在學習過程中,大家的學習熱情很高,一個可以趣味演示的程序比單純地驗證例程更能激發(fā)同學們嘗試編程的欲望。學習結束時,大家通過對整個案例的分析和理解,把全書知識點關聯在一起,形成屬于自己掌握的知識結構。這種從簡單到復雜、從局部到整體的開發(fā)程序能力,像滾雪球一樣越滾越大,也為其將來開發(fā)大型程序奠定了基礎。

(五)注重能力鍛煉,改革考核方式

為了避免期末時臨陣磨槍、應付考試,考核重點和方法要有所改變,把考核編程知識向考核編程能力轉變,考核方式上也從個體考核向個體與小組相結合考核轉變,培養(yǎng)學生的團隊意識和協作精神。

對理論知識的考核。理論知識是繼續(xù)學習的基礎,隨著學習的深入會顯得日益重要,具有扎實的理論功底才能達到舉一反三的應用效果。理論知識的考核不能降低要求,但考核應注重不同知識點綜合貫通,而不是簡單的概念記憶或似曾相識案例的復現。因此,編寫程序解決綜合性問題和根據程序描述程序運行結果是理論考察的重點。由于編寫程序的非唯一性,考核題目要鼓勵拓展學生的創(chuàng)新思維,在程序填空題方面,一道題目可以使用不同的編程思想寫出2-3種編碼方法,只有充分理解不同的編程思路,才能正確地進行程序填空。這樣,既可以達到以考促學的目的,也可以拓寬同學們編寫程序的思路,使考核成為學習過程的延伸。

對實驗能力的考核。取消最后的上機考試,最終的考核成績由平時實驗成績和期末實驗成績組成。其中,平時實驗成績?yōu)橥瑢W們每節(jié)實驗課編程內容的驗收成績;期末實驗以分組形式進行團體考核。關于期末綜合實驗,以簡單的人機互動C語言編程技術為基礎,每個小組按照項目要求制定每個組員分工協作的工作方案,由老師審查后啟動實驗,完成后以小組形式進行演示和匯報,并且通過編寫實驗報告梳理在實驗中學習到的知識點,以課程設計的方式作為學生期末試驗成績。這樣,既能鍛煉學生應用編程語言的能力,做到學以致用,又能培養(yǎng)學生團隊意識和研究能力,把考核由一種過關的消極觀念轉變?yōu)閷W完成習任務的正確軌道上來,使考核機制成為促進學習的有效手段[4]。

在學習和調研中發(fā)現,高年級學生輔導培訓低年級學生這種“小先生制”,學學相長,在計算機專業(yè)方面非常有效,在這樣的“學群”或“學團”中學習的學生表現出爭取優(yōu)秀的優(yōu)勢和相對突出的成績。由于學生之間沒有明顯的層次感,有利于營造出一種積極的學習心態(tài),也許還有一個重要的因素是,唯有學生更懂得學生,所以更容易產生興趣共鳴而形成學習共同體,特別是對于一些具體的學習難點更容易獲得幫助互動,少走彎路或形成集體攻關力。這些顯性的或隱性的學習行為,對學生更自覺地學習,建立問題導向學習思維模式,以及運用所學知識解決實際問題都會產生積極的影響。

[1]劉芳,等.《C語言程序設計》教學存在的問題及改進[J].教育理論與實踐,2012(36).

[2]胡迎春.《C語言程序設計》課程教學新法[J].廣西民族學院學報(哲學社會科學版),2003(S1):221-222.

[3]葉幼林.對計算機C語言教學的探討與研究[J].中南民族大學學報 (人文社會科學版),2004(S1):189-190.

[4]米磊,等.“面向學生”的C語言教學方法研究與實踐[J].計算機工程與科學,2014(S1):5-9.

責任編輯 時紅兵

盧炳旭(1993-),男,天津人,南京農業(yè)大學計算機系本科生,研究方向為計算機科學與技術。

G712

A

1001-7518(2015)20-0076-04

猜你喜歡
計算機專業(yè)程序設計實驗課
“以賽促學,以賽促教”促進計算機專業(yè)教學理念創(chuàng)新與實踐研究
河北農機(2020年10期)2020-12-14 03:13:40
基于Visual Studio Code的C語言程序設計實踐教學探索
計算機教育(2020年5期)2020-07-24 08:52:56
從細節(jié)入手,談PLC程序設計技巧
電子制作(2019年9期)2019-05-30 09:42:04
高職高專院校C語言程序設計教學改革探索
“自由”的實驗課
上實驗課
職業(yè)高中計算機專業(yè)教學改革淺析
PLC梯形圖程序設計技巧及應用
創(chuàng)新策略在高中生物實驗課中的應用
散文百家(2014年11期)2014-08-21 07:17:12
非計算機專業(yè)C語言教學探討
河南科技(2014年23期)2014-02-27 14:19:16
白银市| 阿克苏市| 慈溪市| 武功县| 南安市| 鹰潭市| 象山县| 沁源县| 大英县| 汕尾市| 碌曲县| 汽车| 曲松县| 资中县| 疏附县| 霞浦县| 清徐县| 松溪县| 汉寿县| 资中县| 德江县| 耿马| 固阳县| 阿拉善右旗| 冷水江市| 共和县| 拉孜县| 凤翔县| 禄丰县| 紫金县| 阿拉善左旗| 桦川县| 措勤县| 左权县| 宜阳县| 神池县| 崇左市| 黄陵县| 柯坪县| 遵化市| 启东市|