前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇c語言課程范文,相信會(huì)為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
高等職業(yè)教育的目標(biāo)及側(cè)重點(diǎn)不同于普通高等教育,其培養(yǎng)的學(xué)生在畢業(yè)后應(yīng)能直接上崗,具有熟練的實(shí)踐操作技能。教育部《關(guān)于以就業(yè)為導(dǎo)向深化高等職業(yè)教育改革的若干意見》中指出,高職教育應(yīng)“堅(jiān)持培養(yǎng)面向生產(chǎn)、建設(shè)、管理、服務(wù)第一線需要的‘下得去、留得住、用得上’,實(shí)踐能力強(qiáng)、具有良好職業(yè)道德的高技能人才”。
因此,加強(qiáng)實(shí)踐性課程教學(xué),對保證人才培養(yǎng)質(zhì)量顯得尤為重要。我院為貫徹《關(guān)于全面提高高等職業(yè)教育教學(xué)質(zhì)量的若干意見》(教高[2006]16號文件)精神,針對區(qū)域經(jīng)濟(jì)發(fā)展的要求,靈活調(diào)整和設(shè)置專業(yè)課程,以就業(yè)為導(dǎo)向,加快專業(yè)課程對應(yīng)的課程設(shè)計(jì)改革。目前,我院按照由淺入深、不斷深化的教學(xué)規(guī)律,構(gòu)建了實(shí)踐教學(xué)三層次四環(huán)節(jié)的實(shí)踐課程體系(圖1)。實(shí)踐教學(xué)三層次包括基本技能、專業(yè)拓展、綜合創(chuàng)新,四環(huán)節(jié)包括實(shí)驗(yàn)、實(shí)習(xí)實(shí)訓(xùn)、設(shè)計(jì)和課外實(shí)踐。“C語言課程設(shè)計(jì)”是我院信息類專業(yè)的必修專業(yè)基礎(chǔ)課程設(shè)計(jì),在“C語言程序設(shè)計(jì)”課程教學(xué)結(jié)束后的下一學(xué)期進(jìn)行,歷時(shí)2周,40學(xué)時(shí)。課程開設(shè)的目的在于培養(yǎng)學(xué)生分析問題和解決問題的能力,為學(xué)生提供一個(gè)動(dòng)手、動(dòng)腦、獨(dú)立實(shí)踐的機(jī)會(huì)。
2項(xiàng)目教學(xué)法的簡單介紹
2.1項(xiàng)目教學(xué)法“項(xiàng)目教學(xué)法”是基于建構(gòu)主義教學(xué)理論的一種教和學(xué)的模式。著名的瑞士心理學(xué)家皮亞杰認(rèn)為,知識不是通過教師傳授得到的,而是學(xué)生在一定的情境下,借助他人的幫助,利用必要的學(xué)習(xí)資料,通過意義建構(gòu)的方式而獲得的。美國項(xiàng)目管理專家約翰·賓認(rèn)為:“項(xiàng)目是要在一定時(shí)間里,在預(yù)算規(guī)定范圍內(nèi)需達(dá)到預(yù)定質(zhì)量水平的一項(xiàng)一次性任務(wù)?!?/p>
“項(xiàng)目教學(xué)法”是通過實(shí)施一個(gè)完整的項(xiàng)目而進(jìn)行的教學(xué)活動(dòng),旨在把學(xué)生融入有意義的任務(wù)完成的過程中,讓學(xué)生積極地學(xué)習(xí),自主地進(jìn)行知識的建構(gòu),在課堂教學(xué)中把理論與實(shí)踐教學(xué)有機(jī)地結(jié)合起來,充分發(fā)掘?qū)W生的創(chuàng)造潛能,提高學(xué)生解決實(shí)際問題的綜合能力。因此,在教學(xué)活動(dòng)中,教師將需要解決的問題或需要完成的任務(wù)以項(xiàng)目的形式交給學(xué)生,在教師的指導(dǎo)下,以小組工作方式,由學(xué)生自己按照實(shí)際工作的完整程序,共同制定計(jì)劃,共同或分工完成整個(gè)項(xiàng)目。
在項(xiàng)目教學(xué)中,學(xué)習(xí)過程成為一個(gè)人人參與的創(chuàng)造實(shí)踐活動(dòng),注重的不是最終的結(jié)果,而是完成項(xiàng)目的過程。在高等職業(yè)技術(shù)教育中,項(xiàng)目是指以生產(chǎn)或制作一樣具體的、具有實(shí)際應(yīng)用價(jià)值的產(chǎn)品的工作任務(wù)。在技術(shù)領(lǐng)域,很多小產(chǎn)品或一些復(fù)雜產(chǎn)品的模型都可以作為項(xiàng)目,如:在信息類專業(yè),可以開展微機(jī)組裝、網(wǎng)站建設(shè)、信息管理系統(tǒng)開發(fā)、局域網(wǎng)構(gòu)建、單片機(jī)制作、多媒體課件制作等項(xiàng)目;在電子類專業(yè),可以開展報(bào)警器、LED、門鈴、家電組裝等項(xiàng)目;在商業(yè)、財(cái)會(huì)和服務(wù)行業(yè),所有具有整體特性并有可見成果的工作也都可以作為項(xiàng)目,如商品展示、產(chǎn)品廣告設(shè)計(jì)、營銷策劃等。
2.2項(xiàng)目教學(xué)法的基本特征項(xiàng)目教學(xué)法與傳統(tǒng)的教學(xué)法相比,有很大的區(qū)別,主要表現(xiàn)在改變了傳統(tǒng)的3個(gè)中心:以教師為中心轉(zhuǎn)變?yōu)橐詫W(xué)生為中心;以課本為中心轉(zhuǎn)變?yōu)橐浴绊?xiàng)目”為中心;以課堂為中心轉(zhuǎn)變?yōu)橐詫?shí)際經(jīng)驗(yàn)為中心。項(xiàng)目教學(xué)法具有以下特點(diǎn):(1)實(shí)踐性。項(xiàng)目“源”于企業(yè),項(xiàng)目的主題與真實(shí)世界密切聯(lián)系,由淺入深,選擇的項(xiàng)目具有典型性、實(shí)用性。(2)自主性。提供學(xué)生根據(jù)自己的興趣選擇內(nèi)容和展示形式的決策機(jī)會(huì),讓學(xué)生能夠自主地進(jìn)行學(xué)習(xí),從而有效地促進(jìn)學(xué)生創(chuàng)造能力的發(fā)展。(3)發(fā)展性。長期項(xiàng)目與階段項(xiàng)目相結(jié)合,構(gòu)成了實(shí)現(xiàn)教學(xué)目標(biāo)的認(rèn)知過程。(4)評價(jià)特殊性。項(xiàng)目型教學(xué)的評價(jià)注重學(xué)生在項(xiàng)目活動(dòng)中能力發(fā)展的過程,測評內(nèi)容包括學(xué)生參與活動(dòng)各環(huán)節(jié)的表現(xiàn)及作業(yè)質(zhì)量,避免了傳統(tǒng)的一張?jiān)嚲矶ǔ煽兊谋锥?。測評可以采用自評、小組評、教師綜合評等方法。教師只有明確并抓住項(xiàng)目化教學(xué)特點(diǎn),才能更好地完成教學(xué)目標(biāo)。
3項(xiàng)目教學(xué)法在“C語言課程設(shè)計(jì)”中的實(shí)施
3.1教學(xué)內(nèi)容為了更好地開展課程設(shè)計(jì)教學(xué),經(jīng)過多次實(shí)踐和摸索,總結(jié)出學(xué)生在具體實(shí)施項(xiàng)目中一般存在2個(gè)方面的知識不足:第一,在教學(xué)內(nèi)容上,由于前導(dǎo)課程在教學(xué)上受學(xué)時(shí)影響,很多教師對指針、結(jié)構(gòu)體、共用體和文件基本操作的知識介紹不甚完善、系統(tǒng),更難談上輔以實(shí)例加以消化。對此,針對學(xué)生在這些知識點(diǎn)上的掌握程度,利用4~6個(gè)學(xué)時(shí),實(shí)施區(qū)別式的、輔導(dǎo)性的、實(shí)例化教學(xué)。第二,學(xué)生對項(xiàng)目管理知識知之甚少,針對此情況,采用2個(gè)階段實(shí)施有別于常規(guī)教學(xué)的補(bǔ)課行動(dòng)。第1階段為項(xiàng)目準(zhǔn)備階段,利用2~4個(gè)學(xué)時(shí),安排曾經(jīng)做過項(xiàng)目且做得比較好的學(xué)生,現(xiàn)身介紹項(xiàng)目的準(zhǔn)備工作(包括如何選題、如何查找資料、如何復(fù)習(xí)C語言知識)、項(xiàng)目實(shí)施過程要完成的工作(包括如何做市場調(diào)查、如何做需求規(guī)格分析說明書、如何做概要設(shè)計(jì)說明書、如何做詳細(xì)設(shè)計(jì)說明書、如何選擇使用代碼編碼器代碼編寫注意事項(xiàng))、項(xiàng)目驗(yàn)收及作業(yè)提交的工作(包括程序測試事項(xiàng)、如何寫課程設(shè)計(jì)報(bào)告)等。在學(xué)生介紹中,教師穿插講解,輔以點(diǎn)評。第2階段為項(xiàng)目實(shí)施階段,教師應(yīng)針對學(xué)生發(fā)生的問題,及時(shí)給予指導(dǎo),直到學(xué)生弄懂為止。
3.2教學(xué)要求切實(shí)保證教學(xué)質(zhì)量和教學(xué)效果,本著“學(xué)以致用”的原則,要求學(xué)生做到以下3點(diǎn):第一要做到“學(xué)有三備”,即:在項(xiàng)目實(shí)施前做好知識儲(chǔ)備,在項(xiàng)目實(shí)施中做好安全防備,項(xiàng)目結(jié)束時(shí)做好被評準(zhǔn)備。第二要寫好“三書一報(bào)告”?!叭龝奔疵總€(gè)項(xiàng)目組要做需求規(guī)格說明書、概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書,“一報(bào)告”即人人都要做課程設(shè)計(jì)報(bào)告。第三要做“四自”參與者?!耙蛔浴奔醋月?要求學(xué)生自覺履行學(xué)生守則和項(xiàng)目實(shí)施有關(guān)規(guī)則,不遲到、不早退、不缺席,實(shí)施點(diǎn)名制度,若無特殊原因,有5次曠課者自愿以重修論處;“二自”即自尊,要求學(xué)生尊重知識、尊重學(xué)習(xí)規(guī)律、尊重項(xiàng)目組成員、尊重教師、尊重自己;“三自”即自信,要求學(xué)生相信自己能夠按時(shí)、按量、按質(zhì)完成工作內(nèi)容,遇到困難時(shí),沉著、冷靜,理性地尋找問題解決的辦法;“四自”即自強(qiáng),要求學(xué)生不滿足自己已有的成績和以往與課題項(xiàng)目組共同取得的成績,用創(chuàng)新和超越的思想,做出比以前哪怕是前進(jìn)一小步的事情。同時(shí)也要求教師做好相應(yīng)的工作,如做好項(xiàng)目整體規(guī)劃、精心準(zhǔn)備、努力激發(fā)學(xué)生參與行為、為人師表、表揚(yáng)為主、批評為輔、多分析、精點(diǎn)評等。
3.3項(xiàng)目實(shí)施進(jìn)程項(xiàng)目教學(xué)法是一種生動(dòng)、靈活、多樣化的教學(xué)方法。在項(xiàng)目實(shí)施過程中,既不能生搬硬套地利用一個(gè)時(shí)間標(biāo)準(zhǔn),又不能影響項(xiàng)目實(shí)施的整體進(jìn)程,因此對時(shí)間的靈活處理是非常關(guān)鍵的,也是值得商榷的。
[關(guān)鍵詞]C程序語言 分層教學(xué) 任務(wù)驅(qū)動(dòng)
[中圖分類號] G423.07 [文獻(xiàn)標(biāo)識碼] A [文章編號] 2095-3437(2013)22-0081-02
一、課程教學(xué)現(xiàn)狀分析
C語言程序設(shè)計(jì)是高校計(jì)算機(jī)專業(yè)的核心基礎(chǔ)課程,很多學(xué)校都開了C語言公選課,將其作為學(xué)生學(xué)習(xí)程序設(shè)計(jì)的一個(gè)入門。學(xué)習(xí)C語言需要掌握的抽象概念和語法規(guī)則較多,同時(shí)又需要通過實(shí)踐培養(yǎng)編程實(shí)用技巧。由于計(jì)算機(jī)專業(yè)必修課程(例如C++,數(shù)據(jù)結(jié)構(gòu)等)都需要具備一定的C語言基礎(chǔ),所以對C語言的掌握程度直接影響著后續(xù)課程的教學(xué)效果。[1,2]長期以來C語言程序設(shè)計(jì)課程的教學(xué)改革一直都在許多高校中探索和實(shí)踐,提出了項(xiàng)目教學(xué)法、[3]案例教學(xué)法、[4]自主學(xué)習(xí)模式[5]的教學(xué)理念。但在實(shí)際的C語言課程教學(xué)中,諸多因素導(dǎo)致教學(xué)效果不理想,具體有以下幾方面:
首先,學(xué)生程序設(shè)計(jì)基礎(chǔ)參差不齊。一部分學(xué)生以前沒有接觸過程序,有些學(xué)生對學(xué)習(xí)程序不感興趣,有些學(xué)生沿用看書加背誦學(xué)習(xí)方法,他們感到枯燥厭煩,跟不上教學(xué)進(jìn)度;還有一部分學(xué)生上課時(shí)積極主動(dòng),對編程產(chǎn)生較大興趣,不但能夠完全掌握老師講的課程內(nèi)容,而且能夠積極查閱課外程序資料,教師講授的課堂內(nèi)容不能夠滿足這部分學(xué)生。傳統(tǒng)的教學(xué)方式造成教師在教學(xué)無法兼顧這兩類學(xué)生。學(xué)期結(jié)束后,第一類學(xué)生普遍感到程序設(shè)計(jì)課程晦澀難懂,不會(huì)應(yīng)用,無從下手,因此失去了學(xué)習(xí)熱情。
其次,傳統(tǒng)教學(xué)模式影響教學(xué)效果。在傳統(tǒng)的教學(xué)中,教師往往以課程的理論知識點(diǎn)為主線組織教學(xué),依照從講解概念起,接著講解語法語句,最后舉例加以細(xì)化。部分教師缺乏對該門課程的整體性把握,在教學(xué)上過多注重語法結(jié)構(gòu)的知識,沒有把學(xué)生放在主體的位置上,師生間的互動(dòng)很少。甚至有些教材內(nèi)容的結(jié)構(gòu)安排缺乏合理性,語法部分編寫過于繁瑣,學(xué)生接受的是枯燥無味的理論規(guī)則,導(dǎo)致學(xué)習(xí)沒有積極性,難以調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性。教學(xué)觀念、教學(xué)手段和方法以及考核形式等都比較陳舊,不能適應(yīng)新形勢下的教學(xué)需求,學(xué)生學(xué)習(xí)效率非常低,無法將所學(xué)知識運(yùn)用到實(shí)際中。
最后,實(shí)踐環(huán)節(jié)薄弱。上機(jī)實(shí)踐是學(xué)習(xí)編程語言的重要組成部分。實(shí)際授課中,重視課堂教學(xué)而輕視上機(jī)實(shí)踐,理論課上既要講基本的語法知識又要講編程方法,占用了過多的課堂時(shí)間。實(shí)驗(yàn)課上進(jìn)行基本的驗(yàn)證性實(shí)驗(yàn),學(xué)生機(jī)械式的運(yùn)行程序,無法真正學(xué)會(huì)如何編寫和調(diào)試程序,使得理論教學(xué)和實(shí)踐教學(xué)脫節(jié)。通常情況下,C語言程序設(shè)計(jì)目前的考核方式主要以筆試為主,主要考查語法和基本的邏輯推導(dǎo)能力,無法進(jìn)行學(xué)生動(dòng)手實(shí)踐能力的考查,從而造成了大部分學(xué)生即使理論知識掌握較好,卻不會(huì)上機(jī)編程。
二、C課程教學(xué)方法改革探索
(一)采用分層教學(xué)模式
首先,對象分層。新生入學(xué)后,系部首先通過問卷的形式對新生的計(jì)算機(jī)基礎(chǔ)技能、學(xué)習(xí)計(jì)算機(jī)的興趣以及課內(nèi)外學(xué)習(xí)方式等情況進(jìn)行了調(diào)查,并進(jìn)行了計(jì)算機(jī)水平摸底測試。根據(jù)學(xué)生的實(shí)際測試水平,打破以班為集體的傳統(tǒng)教學(xué)模式,將他們分為不同的層次分別授課。將程序設(shè)計(jì)興趣較強(qiáng)、數(shù)學(xué)邏輯基礎(chǔ)較好、有一定編程基礎(chǔ)并且測試成績較好的學(xué)生編入A層;將測試成績較差并且沒有編程基礎(chǔ)的學(xué)生編入C層;其余多數(shù)學(xué)生編入B層。教師依據(jù)各層學(xué)生進(jìn)行因材施教,即針對學(xué)習(xí)者不同的學(xué)習(xí)能力、態(tài)度等個(gè)體差異施行不同的教學(xué)模式,實(shí)際上是使三層學(xué)生各有側(cè)重、共同提高的一種教學(xué)方法。
其次,教學(xué)分層。分層授課是分層教學(xué)成功實(shí)施的關(guān)鍵,學(xué)生是教學(xué)活動(dòng)中學(xué)習(xí)的主體,教師需要對所教層次學(xué)生的編程水平有準(zhǔn)確的認(rèn)識,才能真正激發(fā)其學(xué)習(xí)激情,培養(yǎng)其學(xué)習(xí)能力,促進(jìn)課堂教學(xué)質(zhì)量的提高。A層學(xué)生一般理解力較強(qiáng),學(xué)習(xí)具有主動(dòng)性,教師可以引導(dǎo)他們除了掌握教材知識點(diǎn)外,推薦課外參考書,盡快參與軟件開發(fā)項(xiàng)目或興趣小組。B層的學(xué)生通常情況下能夠掌握基本的語法規(guī)則及編程方法,但是對編程缺乏總體思路,就需要教師及時(shí)將學(xué)生學(xué)過的知識加以復(fù)結(jié),在掌握教學(xué)大綱要求的知識點(diǎn)外可通過綜合實(shí)訓(xùn)練習(xí)進(jìn)行編程水平提升。對C層就要通過精心設(shè)計(jì)教學(xué)內(nèi)容、耐心的作業(yè)輔導(dǎo)、適時(shí)的課后交流激發(fā)他們的學(xué)習(xí)興趣和信心。分層教學(xué)從各層學(xué)生的實(shí)際出發(fā),“因人制宜”,關(guān)注各層次學(xué)生在學(xué)習(xí)方法上的差異,給予學(xué)生不同級別的指導(dǎo),刺激學(xué)生向高層次目標(biāo)努力,從而大面積地提高教學(xué)質(zhì)量。此外,在實(shí)施過程中也要注意保護(hù)學(xué)生的自尊心,以淡化各層間的人為界線,避免分層帶來的負(fù)效應(yīng)。
最后,分層評價(jià)。分層評價(jià)是針對各類學(xué)生的學(xué)習(xí)水平,建立一套完善科學(xué)的評價(jià)體系激發(fā)學(xué)生學(xué)習(xí)興趣、優(yōu)化學(xué)習(xí)方法、樹立學(xué)生的自信心,促使各成其才。對A、B、C 三層的學(xué)生不同的目標(biāo)要求體現(xiàn)在評價(jià)體系中。對平時(shí)成績的考核對應(yīng)不同層次,A層同學(xué)分組考核,分工協(xié)作完成預(yù)設(shè)項(xiàng)目,根據(jù)小組中的表現(xiàn)進(jìn)行組員互評和老師評價(jià)相結(jié)合的方式。B層和C層的同學(xué)則通過上機(jī)實(shí)操進(jìn)行編程水平的測試。期終試卷可在同一份試卷上進(jìn)行分層,分別對應(yīng)于不同層次。試卷分成基礎(chǔ)和提高兩部分?;A(chǔ)部分主要考核學(xué)生是否達(dá)到基本教學(xué)大綱要求,這部分是三個(gè)層次學(xué)生共同的必答卷,對于三個(gè)層次的學(xué)生同分但不同值,成績作為課程的考核分。例如編程題標(biāo)注10分,則如果A層學(xué)生做對考核分加10,B層和C層學(xué)生做對加15。第二部分為提高卷,也是A層學(xué)生的必答卷,B、C層學(xué)生的選答卷,成績作為課程的考核分。分層考核的目的是使各層次的學(xué)生經(jīng)過努力都能獲得較高的分?jǐn)?shù),獲得成功的體驗(yàn),激發(fā)學(xué)生的求知欲。
(二)基于實(shí)踐導(dǎo)向的任務(wù)驅(qū)動(dòng)教學(xué)
以實(shí)踐為導(dǎo)向在教學(xué)活動(dòng)中要求,以專業(yè)能力要求為依據(jù),將“教、學(xué)、練”一體化的教學(xué)模式融入教學(xué)課程設(shè)計(jì)中。根據(jù)行業(yè)需要的知識、技能確定課程內(nèi)容的選取與安排,課程設(shè)計(jì)是采用真實(shí)項(xiàng)目貫穿教學(xué)全程,項(xiàng)目按照內(nèi)容分成若干模塊,實(shí)現(xiàn)將化整為零進(jìn)行學(xué)習(xí)。
任務(wù)驅(qū)動(dòng)下分組學(xué)習(xí)討論是一種非常有效的方式。讓學(xué)生發(fā)揮主動(dòng)性自由分組,依據(jù)編程能力水平給每組指派一名組長,上課時(shí)以組為單位,分析、討論項(xiàng)目任務(wù),具體包括需要收集資料、項(xiàng)目進(jìn)度以及具體的工作任務(wù)。小組長主要負(fù)責(zé)小組內(nèi)任務(wù)分配、協(xié)調(diào)組內(nèi)成員等工作,老師輪流在每個(gè)小組旁聽學(xué)生的討論并接受學(xué)生的咨詢。
教師所指定的任務(wù)主要包括兩類內(nèi)容:一類是課本課后習(xí)題,并對完成任務(wù)所必需的知識點(diǎn)進(jìn)行必要的說明;另一類是具有實(shí)用性的項(xiàng)目任務(wù)實(shí)例,讓學(xué)生更直觀地理解所學(xué)知識應(yīng)該如何與實(shí)踐相聯(lián)系。第二類任務(wù)需要教師進(jìn)行設(shè)計(jì),盡可能具有綜合性、可分割性,適合小組討論解決及協(xié)作完成。
制定合理的考核標(biāo)準(zhǔn)來綜合衡量學(xué)生的學(xué)習(xí)狀況是激發(fā)學(xué)生進(jìn)行協(xié)作學(xué)習(xí)的動(dòng)力。當(dāng)學(xué)生完成任務(wù)后,先在小組成員之間進(jìn)行任務(wù)完成情況評論。最后由老師對每組學(xué)生的任務(wù)完成情況進(jìn)行總結(jié)講評,對其中的不足進(jìn)行點(diǎn)評,對比較好的做法給予鼓勵(lì),并據(jù)此對每個(gè)學(xué)生計(jì)算平時(shí)成績,將小組整體得分與組內(nèi)個(gè)人得分進(jìn)行綜合。課程采用綜合測試考評方式,突破單一的閉卷考試方式,將平時(shí)作業(yè)、課堂討論成績、與期末考試相結(jié)合。
三、結(jié)束語
C語言是一門實(shí)踐性很強(qiáng)、熱門的高級編程語言。根據(jù)目前的教學(xué)現(xiàn)狀,分析和總結(jié)教與學(xué)的不足,通過分層模式教學(xué)改革和以實(shí)踐為導(dǎo)向的任務(wù)驅(qū)動(dòng)教學(xué)探索,不斷地提高課程的教學(xué)效率,使課程更具科學(xué)性,把學(xué)生的主動(dòng)性充分地調(diào)動(dòng)起來,讓學(xué)生在學(xué)習(xí)中嘗到樂趣。
[ 參 考 文 獻(xiàn) ]
[1] 楊理云.“C 語言程序設(shè)計(jì)”教學(xué)方法探索[J].中國成人教育,2007,(5).
[2] 丁群,文明瑤.項(xiàng)目教學(xué)法在C語言教學(xué)中的應(yīng)用[J].電腦知識與技術(shù): 學(xué)術(shù)交流,2012,8(3).
[3] 陳洪超.項(xiàng)目教學(xué)法在“C語言程序設(shè)計(jì)”課程中的應(yīng)用[J].重慶電力高等??茖W(xué)校學(xué)報(bào),2012,17(3).
在這個(gè)星期里,我們專業(yè)的學(xué)生在專業(yè)老師的帶領(lǐng)下進(jìn)行了c語言程序?qū)嵺`學(xué)習(xí)。在這之前,我們已經(jīng)對c語言這門課程學(xué)習(xí)了一個(gè)學(xué)期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對里面的好多東西還是很陌生,的在運(yùn)用起來的時(shí)候還是感到很棘手,畢竟,萬事開頭難嘛。
由于時(shí)間的關(guān)系,我們的這次實(shí)踐課程老師并沒有給我們詳細(xì)的介紹,只是給我們簡單的介紹了幾個(gè)比較重要的實(shí)際操作。包括了程序模塊處理.簡單界面程序.高級界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時(shí)間操作。
上機(jī)實(shí)驗(yàn)是學(xué)習(xí)程序設(shè)計(jì)語言必不可少的實(shí)踐環(huán)節(jié),特別是c語言靈活、簡潔,更需要通過編程的實(shí)踐來真正掌握它。對于程序設(shè)計(jì)語言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語法規(guī)定、掌握程序設(shè)計(jì)方法、提高程序開發(fā)能力,這些都必須通過充分的實(shí)際上機(jī)操作才能完成。
學(xué)習(xí)c程序設(shè)計(jì)語言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時(shí)的上機(jī)時(shí)間。因?yàn)閷W(xué)時(shí)所限,課程不能安排過多的統(tǒng)一上機(jī)實(shí)驗(yàn),所以希望學(xué)生有效地利用課程上機(jī)實(shí)驗(yàn)的機(jī)會(huì),盡快掌握用c語言開發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個(gè)良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進(jìn)度,安排了12次上機(jī)實(shí)驗(yàn)。課程上機(jī)實(shí)驗(yàn)的目的,不僅僅是驗(yàn)證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機(jī)實(shí)驗(yàn)的目的可以概括為如下幾個(gè)方面:
1.加深對課堂講授內(nèi)容的理解
課堂上要講授許多關(guān)于c語言的語法規(guī)則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個(gè)工具解決實(shí)際問題,又必須掌握它。通過多次上機(jī)練習(xí),對于語法知識有了感性的認(rèn)識,加深對它的理解,在理解的基礎(chǔ)上就會(huì)自然而然地掌握c語言的語法規(guī)定。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機(jī)實(shí)踐中會(huì)發(fā)現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計(jì),缺乏程序設(shè)計(jì)的實(shí)踐所致。
學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識編寫c語言程序,解決實(shí)際問題。即把c語言作為工具,描述解決實(shí)際問題的步驟,由計(jì)算機(jī)幫助我們解題。只有通過上機(jī)才能檢驗(yàn)自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。
通過上機(jī)實(shí)驗(yàn)來驗(yàn)證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時(shí)的心態(tài)。但是在程序設(shè)計(jì)領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯(cuò)誤的想法。因?yàn)樵谶@種思想支配下,可能你會(huì)想辦法去"掩蓋"程序中的錯(cuò)誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機(jī)調(diào)試運(yùn)行時(shí),可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。
2.熟悉程序開發(fā)環(huán)境、學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的操作方法
一個(gè)c語言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境下才能進(jìn)行。所謂"環(huán)境"就是所用的計(jì)算機(jī)系統(tǒng)硬件、軟件條件,只有學(xué)會(huì)使用這些環(huán)境,才能進(jìn)行程序開發(fā)工作。通過上機(jī)實(shí)驗(yàn),熟練地掌握c語言開發(fā)環(huán)境,為以后真正編寫計(jì)算機(jī)程序解決實(shí)際問題打下基礎(chǔ)。同時(shí),在今后遇到其它開發(fā)環(huán)境時(shí)就會(huì)觸類旁通,很快掌握新系統(tǒng)的使用。
3.學(xué)習(xí)上機(jī)調(diào)試程序
【關(guān)鍵詞】授課設(shè)計(jì);講課比賽;C語言
0 引言
隨著我國高等教育的發(fā)展,高校中的青年教師逐漸成為了講臺(tái)的中堅(jiān)力量,站穩(wěn)講臺(tái)是他們的首要任務(wù)。講課比賽是學(xué)校對青年教師進(jìn)行激勵(lì)和教師自我激勵(lì)[1]的常規(guī)而有效的方法,對促進(jìn)本科教學(xué)設(shè)計(jì)、知識組織和課堂管理的交流起到了積極的作用[2-3]。西安科技大學(xué)兩年一度的青年教師講課比賽也成為全校非常重要的教學(xué)交流活動(dòng)。C語言作為集匯編語言和高級語言的優(yōu)點(diǎn)于一身的程序設(shè)計(jì)語言,既可用來開發(fā)底層的嵌入式、系統(tǒng)開發(fā),也可用來開發(fā)上層的應(yīng)用程序開發(fā),是高等院校講授程序設(shè)計(jì)課程的首選語言。作為理工科專業(yè)的公共基礎(chǔ)課,其講授效果會(huì)持續(xù)影響學(xué)生后續(xù)課程的學(xué)習(xí)和編程應(yīng)用。C語言是一門結(jié)構(gòu)化的程序設(shè)計(jì)語言,由順序、選擇分支、循環(huán)三種基本結(jié)構(gòu)組成,任意復(fù)雜的程序都可分解為三種基本結(jié)構(gòu)。其中,循環(huán)結(jié)構(gòu)是最復(fù)雜的一種結(jié)構(gòu),所以該部分內(nèi)容的授課設(shè)計(jì)至關(guān)重要。因此,這里選擇C語言課程中的循環(huán)結(jié)構(gòu)作為講課比賽的內(nèi)容,精心設(shè)計(jì)了緊湊而飽滿的授課內(nèi)容。
1 授課方法分析
目前,對C語言課程教學(xué)的研究越來越多,文獻(xiàn)[4]針對學(xué)生的計(jì)算機(jī)基礎(chǔ)知識不同和傳統(tǒng)教學(xué)模式的不足,進(jìn)行了分層教學(xué)模式的探討,首先對學(xué)生水平進(jìn)行摸底分層,然后有針對性的進(jìn)行分層教學(xué);文獻(xiàn)[5,6]認(rèn)為應(yīng)加強(qiáng)課程設(shè)置、教材體系和實(shí)踐教學(xué)建設(shè),建立突出實(shí)踐能力、創(chuàng)新能力、信息能力的考核機(jī)制。對于C語言循環(huán)結(jié)構(gòu)部分的教學(xué)設(shè)計(jì),也出現(xiàn)了很多有意義的研究,文獻(xiàn)[7]針對計(jì)算機(jī)專業(yè)第一門程序語言的教學(xué)要求,采用循序漸進(jìn)的方法,逐步啟發(fā)學(xué)生,通過分解程序執(zhí)行過程,逐步展示運(yùn)行結(jié)果,使學(xué)生更清晰的認(rèn)識循環(huán)結(jié)構(gòu);文獻(xiàn)[8]針對C語言公共課授課對象,通過分析學(xué)生學(xué)習(xí)該部分內(nèi)容的心理規(guī)律,探討了一種適合公共課的“雙主體教學(xué)模式”,較好地解決了程序設(shè)計(jì)本身抽象、枯燥、難懂等問題。
通過以上分析,本門課程的授課對象是非計(jì)算機(jī)專業(yè)的學(xué)生,作為他們學(xué)習(xí)的第一門計(jì)算機(jī)語言,要采用公共課的授課方法。循環(huán)結(jié)構(gòu)部分的內(nèi)容語法講解太過抽象與枯燥,容易使學(xué)生產(chǎn)生抵觸與畏懼的心里。因此,在授課過程中會(huì)采用理論與時(shí)間相結(jié)合的引導(dǎo)、啟發(fā)式教學(xué)方法,以原理為主線、案例為引導(dǎo),重點(diǎn)突出、難點(diǎn)分散。結(jié)合傳統(tǒng)板書和多媒體教學(xué)的雙重優(yōu)勢,語法講解板書圖文并茂,并結(jié)合程序案例進(jìn)行多媒體演示,以加深學(xué)生對語法的理解和應(yīng)用,提高他們的學(xué)習(xí)興趣。針對講課比賽時(shí)間有限的特點(diǎn),講解內(nèi)容力求難度適中且信息量飽滿。
2 循環(huán)結(jié)構(gòu)授課設(shè)計(jì)
2.1 板書設(shè)計(jì)
板書不求面面俱到,要重點(diǎn)突出。具體板書設(shè)計(jì)如圖1所示,板書文字只有授課的框架標(biāo)題和關(guān)鍵字,中間四分之三的版面是三種循環(huán)結(jié)構(gòu)的介紹,語法格式結(jié)合流程圖和案例程序,這樣可以對教學(xué)重點(diǎn)進(jìn)行對比展示,達(dá)到直觀的教學(xué)效果。
2.2 授課進(jìn)程
授課進(jìn)程主要分為四個(gè)遞進(jìn)步驟:
(1)首先,復(fù)習(xí)C語言三種基本程序結(jié)構(gòu)中的順序和選擇分支結(jié)構(gòu)的特點(diǎn),由連續(xù)自然數(shù)求和、迭代求根等問題,引出反復(fù)執(zhí)行同一段程序特點(diǎn)的循環(huán)結(jié)構(gòu);
(2)然后,結(jié)合程序流程圖,對while/do-while兩種當(dāng)型循環(huán)結(jié)構(gòu)語法和執(zhí)行流程進(jìn)行板書講解,并結(jié)合同樣一個(gè)程序案例對比二者應(yīng)用語法的不同,然后進(jìn)行上機(jī)VC程序演示;
(3)通過分析兩種當(dāng)型結(jié)構(gòu)中循環(huán)控制變量i的作用,結(jié)合程序流程圖,對for型循環(huán)結(jié)構(gòu)語法和執(zhí)行流程進(jìn)行板書講解,并結(jié)合同樣一個(gè)程序案例對比應(yīng)用,然后進(jìn)行上機(jī)VC程序演示;
(4)最后,對三種循環(huán)結(jié)構(gòu)進(jìn)行總結(jié)比較,分析各自適用的情形,布置課后上機(jī)練習(xí)作業(yè)。
4 結(jié)語
本文以講課比賽為目的,結(jié)合非計(jì)算機(jī)專業(yè)學(xué)生(下轉(zhuǎn)第56頁)(上接第41頁)的特點(diǎn),對C語言課程中循環(huán)結(jié)構(gòu)內(nèi)容的教學(xué)進(jìn)行具體設(shè)計(jì),包括授課方法分析、板書和授課進(jìn)程設(shè)計(jì),對該課程教學(xué)具有一定的指導(dǎo)意義。通過使用該授課設(shè)計(jì)參加西安科技大學(xué)青年教師講課比賽,得到了評委教師的認(rèn)可,取得了優(yōu)異的成績。
【參考文獻(xiàn)】
[1]嚴(yán)芳,余仰濤.高校青年教師講課比賽中的主要問題及對策研究[J].學(xué)校黨建與思想教育,2013,444:76-79.
[2]熊志勇.講課比賽對提升青年教師教學(xué)能力的作用[J].重慶科技學(xué)院學(xué)報(bào):社會(huì)科學(xué)版,2011,3:170-172.
[3]范建玲.講課比賽評價(jià)指標(biāo)體系的研制與實(shí)施[J].廣西教育,2014,1:21-28.
[4]景泉.C語言程序設(shè)計(jì)課程改革分析與探索[J].價(jià)值工程,2014,15:282-283.
[5]楊健,徐東,劉海見,祁薇.C語言課程教學(xué)改革[J].科教文匯,2014,6(上):79-83.
[6]劉淑英,張順利.C語言課程的教學(xué)改革與實(shí)踐[J].吉林教育,2014,11:3-3.
[7]孫華,于炯,田生偉,錢育蓉.《C語言程序設(shè)計(jì)》中循環(huán)結(jié)構(gòu)的教學(xué)方法探討[J]. 科技教育創(chuàng)新,2012,8:238-238.
[8]徐東,祁薇,劉海見.《C語言循環(huán)結(jié)構(gòu)》課程教學(xué)設(shè)計(jì)研究[J].軟件導(dǎo)刊,2014, 13(6):154-156.
隨著信息技術(shù)日新月異的發(fā)展,社會(huì)需求越來越多的CS專業(yè)畢業(yè)的學(xué)生。Internet已經(jīng)滲透到人們?nèi)粘5墓ぷ?、學(xué)習(xí)和生活當(dāng)中,一年級CS專業(yè)的學(xué)生與上世紀(jì)90年代相比也發(fā)生了很大的變化。在我們學(xué)校,2001年到2003年計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)生入學(xué)平均成績在全校幾十個(gè)專業(yè)位居第一;然而,10年之后的2011年,已經(jīng)降至第28名。PC機(jī)和Internet的普及和十年前相比不可同日而語。這些新的變化迫使任課老師必須采用新的方法以應(yīng)對入門程序語言課程教學(xué)的新需求變化。
本文其它部分組織如下:在第二節(jié)分析了教學(xué)過程中存在的問題之后,將在第三節(jié)提出一些方法來解決這些新出現(xiàn)的問題,最后第四節(jié)進(jìn)行小結(jié)。
一問題分析
在過去幾年的教學(xué)中,我們發(fā)現(xiàn),把這門課程安排在一個(gè)學(xué)期內(nèi)完成學(xué)習(xí),很多學(xué)生感覺吃力,在后續(xù)課程學(xué)習(xí)過程中會(huì)表現(xiàn)出遇到實(shí)際問題編程能力較弱。甚至有少數(shù)一些學(xué)生不知該如何下手寫一個(gè)新的程序。本節(jié)我們從教和學(xué)兩個(gè)方面挖掘分析其中存在的問題。
1對計(jì)算機(jī)科學(xué)缺乏興趣
C語言安排在一年級,很多學(xué)生在入學(xué)前對這個(gè)專業(yè)認(rèn)識很膚淺??梢哉f入學(xué)前,幾乎所有學(xué)生對今后的計(jì)算機(jī)職業(yè)生涯規(guī)劃都一無所知。換言之,只有相當(dāng)少數(shù)的學(xué)生對CS專業(yè)有他們自己的愛好興趣,曾經(jīng)學(xué)習(xí)過編程,他們對專業(yè)或程序的興趣可使得以后的學(xué)習(xí)是自我驅(qū)動(dòng)式的。然而,總有一些學(xué)生在C語言課程的初始階段是毫無興趣可言。據(jù)我們經(jīng)驗(yàn)來看,很大程度上,課程結(jié)束時(shí)考試成績差進(jìn)一步導(dǎo)致他們對后續(xù)專業(yè)課程學(xué)習(xí)缺乏信心。興趣才是最好的老師。任課老師應(yīng)該從課程一開始就激發(fā)學(xué)生的興趣,才能在后續(xù)教學(xué)過程中使學(xué)生的潛能得以發(fā)揮。
2缺乏編程的調(diào)試能力
編程新手經(jīng)??嘤谌绾蜗駭D牙膏似的寫程序開始的代碼段,而且,在好不容易寫出程序后,不知道如何找出隱藏在其中的錯(cuò)誤和漏洞,不知道如何分析程序找出錯(cuò)誤。特別是對于成績較差的學(xué)生,即使寫很簡單的程序,他們也看不出程序到底是錯(cuò)在哪里或者為什么得出不正確的結(jié)果,不知從哪里開始排查和定位錯(cuò)誤。這樣的情況在我們每一屆每個(gè)班的教學(xué)中都會(huì)遇到。實(shí)際上,即使是熟練的程序員,調(diào)試程序的能力都是必不可少的,特別是在開發(fā)復(fù)雜軟件程序的時(shí)候。
3優(yōu)秀生和差生之間的差距問題
在我們計(jì)算機(jī)學(xué)院,招生人數(shù)從2001年的359人翻一番到2011年的790人。學(xué)生來源于從大城市到農(nóng)村等不同地區(qū)。在第一次課時(shí),我們都會(huì)做過簡單調(diào)查,發(fā)現(xiàn)只有少數(shù)一些學(xué)生在高中學(xué)習(xí)過程序設(shè)計(jì),一般學(xué)習(xí)BASIC或PASCAL語言,有的學(xué)生曾經(jīng)參加過國家奧林匹克信息學(xué)競賽(NOI)等相關(guān)課外活動(dòng);大多數(shù)學(xué)生并沒有學(xué)習(xí)過程序設(shè)計(jì)。在一年級第二學(xué)期,將會(huì)有優(yōu)秀的學(xué)生能在ACM廣東省賽區(qū)比賽中獲得獎(jiǎng)勵(lì)。再看成績較差的學(xué)生,在第一次上機(jī)課時(shí),他們連鍵盤的布局都不知道,不知如何開機(jī)關(guān)機(jī)和基本的操作,因?yàn)橐郧皬奈词褂眠^PC機(jī)。這樣,優(yōu)秀生和較差生的差距比十年前擴(kuò)大了。如果我們教學(xué)過程較多顧及后者,前者將不能充分利用好課堂時(shí)間發(fā)揮他們的潛力。這就會(huì)任課老師帶來新的挑戰(zhàn)。
二改革教學(xué)方法
1在課堂教學(xué)中提高學(xué)生對計(jì)算機(jī)科學(xué)的興趣
通過和本課程相關(guān)的故事,讓學(xué)生了解計(jì)算機(jī)科學(xué)技術(shù)發(fā)展史的同時(shí),激發(fā)他們對計(jì)算機(jī)技術(shù)的熱愛和對科學(xué)執(zhí)著追求及探索精神,逐漸培養(yǎng)興趣。例如,在第一課時(shí),在講C語言歷史時(shí)將介紹C語言之父丹尼斯?里奇(Dennis Ritchie)的故事,他雖然不是像比爾?蓋茨那樣為大眾所知,但他和肯?湯普遜(Ken Thompson)對C語言和UNIX操作系統(tǒng)做出了杰出貢獻(xiàn)。在C語言和這兩位著名計(jì)算機(jī)科學(xué)家互相交織的歷史故事當(dāng)中,學(xué)生將體會(huì)到什么是科學(xué)精神,什么是對計(jì)算機(jī)科學(xué)的貢獻(xiàn)和創(chuàng)新。當(dāng)然,在課程的后續(xù)教學(xué)過程中仍然會(huì)花幾分鐘加入一些相關(guān)故事活躍課堂氣氛。學(xué)生樂于在課堂中聽到這些一般不為人知的故事,潛移默化地增加了興趣。
另外一個(gè)途徑是介紹和C語言關(guān)聯(lián)密切的應(yīng)用實(shí)例。雖然C語言被用于開發(fā)操作系統(tǒng)和嵌入式系統(tǒng),但是,這些應(yīng)用不易于新手所理解。所以,在講到相關(guān)知識時(shí),我們選擇一些簡短的應(yīng)用程序演示其運(yùn)行甚至瀏覽一下源代碼,有些有趣的應(yīng)用就作為實(shí)驗(yàn)課的任務(wù),讓學(xué)生完成編程。曾做過2個(gè)班級對同一個(gè)實(shí)驗(yàn)內(nèi)容的比較,一個(gè)班級要求編程完成的是與實(shí)際應(yīng)用需求相關(guān)的任務(wù),另外一個(gè)班級要求完成的是等價(jià)的數(shù)學(xué)問題,實(shí)踐表明:前者能激發(fā)學(xué)生解決問題的求知欲望,提高學(xué)習(xí)興趣,并且更多的學(xué)生進(jìn)行熱烈的討論和進(jìn)一步思考,效果較好。
2運(yùn)用可視化工具促進(jìn)學(xué)生對程序的理解
可視化工具是促進(jìn)學(xué)生直觀理解程序運(yùn)行過程一個(gè)重要的有效的方法。我們采用了吳偉民教授開發(fā)的名為Anyview的一套軟件[2],從2009級的部分班級開始試用,2010級所有學(xué)生使用。從2010年開始正式建設(shè)題庫,到目前為止已經(jīng)達(dá)300題(共9章教學(xué)內(nèi)容的習(xí)題)。它由web服務(wù)器端和客戶端兩部分組成。服務(wù)器端存儲(chǔ)了實(shí)驗(yàn)任務(wù)的題目數(shù)據(jù)庫和學(xué)生寫的源程序文件,包括正確完成的程序以及未完成或有錯(cuò)誤的源程序。客戶端安裝能夠通過校園網(wǎng)或Internet連接服務(wù)器的 PC機(jī)上,學(xué)生用來編寫程序。
使用Anyview與原來教學(xué)相比有較好效果。Anyview打破了課堂實(shí)驗(yàn)教學(xué)的時(shí)間限制,學(xué)生在宿舍或者其它地方能連接通過Internet的PC機(jī)上用它編程。Anyview有助于初學(xué)者理解、調(diào)試程序??梢詾椴煌慕虒W(xué)層次的學(xué)生設(shè)立不同作業(yè)表,使學(xué)生編寫程序的題目不同。例如,曾經(jīng)根據(jù)重修班級學(xué)生的學(xué)習(xí)情況,專門設(shè)置1個(gè)題庫,讓學(xué)生重點(diǎn)練習(xí)薄弱環(huán)節(jié)。布置的上機(jī)題目分必做和選做,因材施教,使不同層次學(xué)生都能得到提高。
課堂教學(xué)用Anyview演示程序的運(yùn)行。程序能在其中編輯、運(yùn)行和調(diào)試??梢允钩绦蛞徊揭徊降倪\(yùn)行過程或設(shè)置斷點(diǎn),學(xué)生就能觀察運(yùn)行過程中所有變量值的變化情況。對一年級的新手來說,它操作很簡單,結(jié)果直觀可見,有助于學(xué)生理解for語句、while語句等控制流程語句的執(zhí)行過程。在實(shí)驗(yàn)課上,我們鼓勵(lì)學(xué)生使用多種IDE開發(fā)工具(Integrated Development Environment)配合Anyview一起學(xué)習(xí)。
從老師的角度來說,我們能夠通過教師端程序詳細(xì)地實(shí)時(shí)地了解每個(gè)學(xué)生編寫程序的進(jìn)度。有助于老師督促較差學(xué)生,可以通過教師端軟件看到哪些學(xué)生完成情況差,實(shí)時(shí)掌握學(xué)生學(xué)習(xí)情況;反饋到課堂教學(xué)有的放矢。并且可以知道優(yōu)秀學(xué)生學(xué)習(xí)水平如何,有哪些學(xué)生的自學(xué)能力較強(qiáng),有的學(xué)生可以在開課2個(gè)月內(nèi)完成整個(gè)課程的題目,在2009級之前通過作業(yè)或提問往往不能發(fā)現(xiàn)所有優(yōu)秀生。隨著題庫建設(shè)完善,我們將進(jìn)一步用Anyview進(jìn)行實(shí)驗(yàn)課限時(shí)測驗(yàn),讓不同班級的任課老師自主設(shè)置每個(gè)班級的題庫作業(yè)表。
3從一開始就強(qiáng)調(diào)學(xué)習(xí)調(diào)試
調(diào)試是用于發(fā)現(xiàn)或減少程序中錯(cuò)誤缺陷的分析過程。在課程教學(xué)中使用了3種工具。下表對它們的優(yōu)缺點(diǎn)做了比較小結(jié)。
新手容易掌握Anyview的使用,而且他們可能對操作Windows上的軟件工具不熟悉,所以在課程開始的前幾周,我們教學(xué)生使用Anyview。新手往往很難學(xué)會(huì)TC的環(huán)境配置,我們在教學(xué)實(shí)踐中發(fā)現(xiàn)較差的學(xué)生在課程接近結(jié)束時(shí)都對配置感到迷惑。VC還是受到編程相對熟練的學(xué)生的歡迎,他們可以用VC寫一些自己感興趣的稍大的程序,甚至完成包括窗口圖形界面程序的編寫。
在第1次實(shí)驗(yàn)課上,我們就告訴學(xué)生如何用工具查看變量的值。在后面的教學(xué)中,要求學(xué)生掌握如下調(diào)試技術(shù),告訴他們什么時(shí)候選擇其中之一來進(jìn)行調(diào)試[3]。經(jīng)驗(yàn)表明,學(xué)生越早學(xué)習(xí)使用調(diào)試技術(shù),將能更好地提高調(diào)試程序的能力。
(1)單步執(zhí)行。每步執(zhí)行一條語句,選擇一些變量加入觀察窗口。(2)跳越函數(shù)執(zhí)行。這將在講函數(shù)這一章時(shí)講。學(xué)生可觀察一些變量的值在執(zhí)行完函數(shù)后的變化。(3)在指定語句處設(shè)置斷點(diǎn)。(4)在程序中的某些語句后加入打印語句,以便在程序運(yùn)行后觀察某些變量在運(yùn)行過程的中間結(jié)果。方法3和方法4將在講完循環(huán)控制語句后學(xué)習(xí)。
4改為2個(gè)學(xué)期學(xué)習(xí)該課,改革課程考核方式
為了切實(shí)提高大多數(shù)學(xué)生的基本編程能力,充分發(fā)揮優(yōu)秀生的潛力[4,5],我們進(jìn)行了兩項(xiàng)改革。在2009級之前,本課程在一年級的第1或第2學(xué)期開課,在一個(gè)學(xué)期內(nèi)完成教學(xué),理論課堂教學(xué)與實(shí)驗(yàn)課教學(xué)分別占56和16課時(shí);學(xué)生普遍感覺時(shí)間很緊,沒有足夠的時(shí)間在機(jī)器上編寫代碼實(shí)踐。而在2010級開始,我們改革教學(xué)安排,分成2個(gè)學(xué)期完成該課教學(xué),第1學(xué)期理論與實(shí)驗(yàn)分別占32和24課時(shí),第2學(xué)期分別占24和16課時(shí)。這樣的調(diào)整安排使學(xué)生有更多的實(shí)驗(yàn)課時(shí)間花在編寫代碼實(shí)踐上面,以用促學(xué)。
另外,從2011級開始我們在第2個(gè)學(xué)期根據(jù)學(xué)生在第1個(gè)學(xué)期的學(xué)習(xí)綜合評價(jià)進(jìn)一步把學(xué)生分成2個(gè)教學(xué)班組,大概25%較優(yōu)秀的學(xué)生安排在A組班級,其余安排在B組班級。在第2學(xué)期A組學(xué)生要求完成1個(gè)較大的程序設(shè)計(jì)任務(wù),或稱為課程設(shè)計(jì)任務(wù),包括編寫代碼和編寫相應(yīng)的文檔。對B組學(xué)生重點(diǎn)強(qiáng)調(diào)基本編程方法的教學(xué)。當(dāng)然在Anyview系統(tǒng)中我們布置給他們的編程任務(wù)也有所區(qū)別。實(shí)踐表明,由于這種因材施教,A組學(xué)生的能力提高更快能夠挑戰(zhàn)難度更大的任務(wù),而又使相對較差的B組學(xué)生獲得了更多基本的編程訓(xùn)練并為以后學(xué)習(xí)建立了更強(qiáng)的自信心。
老師能用Anyview查詢查看到每個(gè)學(xué)生寫的每個(gè)程序并評分。當(dāng)然給程序評分并不是一件容易完成的工作[6],需要有更好的算法。下圖是2012年秋季的一個(gè)班級共46人的Anyview綜合評定成績排名與期末考試筆試成績排名的差值,其中x軸表示學(xué)生序號1~46,y軸表示這2個(gè)排名的差值。數(shù)據(jù)為(Anyview排名,期末考試排名):(46,46),(13,6),(6,4),(23,22),(19,23),(10,27),(13,2),(11,28),(31,32),(29,40),(41,20),(4,7),(36,37),(33,39), (32,18), (1,9), (2,11), (45,31), (8,26), (23,33), (35,38), (9,1),(13,24), (5,12), (18,35), (42,25), (20,15), (28,43), (22,16), (43,36),(20,30),(23,10),(17,3),(12,34),(27,41),(34,19),(44,42),(7,14),(29,13),(3,5),(16,8),(38,17),(26,44),(39,45),(37,21),(40,29)。這說明,很多學(xué)生平時(shí)實(shí)際編程能力與筆試表現(xiàn)有出入,所以最后課程的成績評定中期末考試占一定的比例,還必須考慮平時(shí)實(shí)際編程能力表現(xiàn)。
總之,C語言是一門在本科一年級開設(shè)的基礎(chǔ)課程。我們進(jìn)行的教學(xué)改革實(shí)踐表明培養(yǎng)學(xué)生對本專業(yè)課程的興趣是很重要的,本文分析了如何解決學(xué)生調(diào)試能力差的問題,介紹了用一個(gè)可視化工具作為調(diào)試器和新生有效學(xué)習(xí)助手的經(jīng)驗(yàn)。如何對不同學(xué)生進(jìn)行個(gè)性化教學(xué)是一個(gè)挑戰(zhàn)性任務(wù),我們改革了教學(xué)學(xué)時(shí)安排和進(jìn)行了分組教學(xué),使得優(yōu)秀生和較差生都能得到盡可能大的進(jìn)步。
參考文獻(xiàn)
[1]吳偉民.試論軟件基礎(chǔ)課程程序設(shè)計(jì)環(huán)境的可視化[J].廣東工業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版, 2007(B06): 156-157.
[2]Pengfei Yu, Lijun Yang, Programming Skills Training in Programming Language Courses[C].2010 International Conference on Educational and Information Technology, V3: 14-16.
[3]Andreas Zendler, Christian Spannagel, and Dieter Klaudt. Marrying Content and Process in Computer Science Education[J].IEEE Transactions on Education, 2011(8): 387-397.
[4]Raymond Lister and John Leaney, First Year Program ming: Let All the Flowers Bloom[C]. 2003 Proceedings of the fifth Australasian conference on computing education, Volume 20: 221-230.