摘要:程序設(shè)計(jì)思維能力是計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)學(xué)生最重要的專(zhuān)業(yè)能力之一,程序設(shè)計(jì)課程教學(xué)的重要任務(wù)之一是培養(yǎng)學(xué)生的程序設(shè)計(jì)思維能力。本文分析了高級(jí)語(yǔ)言程序設(shè)計(jì)課程的現(xiàn)狀,提出基于任務(wù)驅(qū)動(dòng),以提高學(xué)生程序設(shè)計(jì)能力為目的的課程體系改革與實(shí)踐,從課程教學(xué)內(nèi)容、教學(xué)方式、教學(xué)手段和考核方式等方面進(jìn)行了教學(xué)探討。
關(guān)鍵詞:程序設(shè)計(jì)課程;教學(xué)改革;程序設(shè)計(jì)能力
1 研究背景
程序設(shè)計(jì)能力是計(jì)算機(jī)及其相關(guān)專(zhuān)業(yè)學(xué)生最重要的專(zhuān)業(yè)能力之一,它是評(píng)價(jià)本專(zhuān)業(yè)本科生培養(yǎng)質(zhì)量的首要指標(biāo)。高級(jí)語(yǔ)言程序設(shè)計(jì)是計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的第一門(mén)專(zhuān)業(yè)基礎(chǔ)課程。通過(guò)該門(mén)課程的學(xué)習(xí),學(xué)生應(yīng)該掌握正確的、規(guī)范的編程方法;掌握通過(guò)編程解決問(wèn)題的方法和思路;加深對(duì)計(jì)算機(jī)基本概念的理解,訓(xùn)練邏輯思維能力,培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng)。因此,該門(mén)課程的教學(xué)質(zhì)量直接決定了學(xué)生程序設(shè)計(jì)能力的高低,對(duì)學(xué)生專(zhuān)業(yè)素養(yǎng)的形成具有重要的影響作用。
在高級(jí)語(yǔ)言程序設(shè)計(jì)課程的教學(xué)過(guò)程中常常會(huì)出現(xiàn)這樣的矛盾沖突:教師抱怨課時(shí)少,課本上的內(nèi)容不能講細(xì)講全,學(xué)生底子薄,難以深入理解課程的要義和精華;而學(xué)生則抱怨課程概念比較復(fù)雜,規(guī)則繁多,枯燥乏味,難以學(xué)習(xí),難以實(shí)際運(yùn)用,因而缺少學(xué)習(xí)的興趣和動(dòng)力,更談不上自主學(xué)習(xí)。
在多年的教學(xué)實(shí)踐中我們感到,老師在課堂教學(xué)中過(guò)于注重語(yǔ)句、語(yǔ)法和一些細(xì)節(jié)的講解,考核(特別是標(biāo)準(zhǔn)化考試)也是偏重于語(yǔ)法,課程基本上是以高級(jí)語(yǔ)言自身的體系脈絡(luò)展開(kāi)的;在常用的“講授語(yǔ)法規(guī)則,給出例題,再加解釋”簡(jiǎn)單三步式的教學(xué)中,學(xué)生花了很大精力學(xué)習(xí)語(yǔ)法,但還是不知如何編寫(xiě)一個(gè)正規(guī)的程序,不知道怎樣通過(guò)編程去解決問(wèn)題,忽視了程序設(shè)計(jì)思想的學(xué)習(xí)。分析問(wèn)題、解決問(wèn)題的能力不高,很大程度上影響了學(xué)生專(zhuān)業(yè)技能的培養(yǎng)。為此,我們對(duì)課程的教學(xué)現(xiàn)狀作了調(diào)查和分析研究,主要狀況如下[1]:
1) 目標(biāo)定位不明確。學(xué)習(xí)編程語(yǔ)言還是學(xué)習(xí)程序設(shè)計(jì)方法?教授編程知識(shí)還是培養(yǎng)用編程知識(shí)解決實(shí)際問(wèn)題的能力?程序設(shè)計(jì)類(lèi)課程目標(biāo)定位不明確,沒(méi)有建立課程目標(biāo)體系,專(zhuān)業(yè)基礎(chǔ)課的作用不明顯。
2) 對(duì)專(zhuān)業(yè)能力的培養(yǎng)重視不夠。課程教學(xué)中太過(guò)強(qiáng)調(diào)程序語(yǔ)言本身的要素,以知識(shí)點(diǎn)為目標(biāo),忽視了對(duì)知識(shí)綜合運(yùn)用和實(shí)踐能力的培養(yǎng)。
3) 對(duì)課程的實(shí)踐性重視不夠,實(shí)際知識(shí)運(yùn)用的訓(xùn)練較少。實(shí)踐教學(xué)不夠系統(tǒng)和完善,實(shí)踐項(xiàng)目的設(shè)計(jì)沒(méi)有充分考慮能力目標(biāo)的培養(yǎng)而過(guò)多關(guān)注程序語(yǔ)言本身的特性。
4) 練習(xí)和考試。多采用書(shū)面或驗(yàn)證性實(shí)驗(yàn)的形式,以標(biāo)準(zhǔn)化習(xí)題和簡(jiǎn)單的編程題為主,缺少對(duì)知識(shí)靈活運(yùn)用的練習(xí)題,缺少專(zhuān)業(yè)性編程基礎(chǔ)的練習(xí)題,缺少對(duì)程序?qū)嶋H運(yùn)行的檢查,從某種意義上引導(dǎo)學(xué)生只關(guān)注基本概念和語(yǔ)言要素,忽視了對(duì)程序設(shè)計(jì)能力的鍛煉和培養(yǎng)。
5) 從教學(xué)效果上來(lái)看,學(xué)生基本程序設(shè)計(jì)能力差,遇到程序設(shè)計(jì)問(wèn)題不知如何下手,缺乏完整系統(tǒng)的程序設(shè)計(jì)方法,工作效率低;缺乏專(zhuān)業(yè)程序設(shè)計(jì)的能力和意識(shí),代碼質(zhì)量意識(shí)弱,代碼質(zhì)量差,缺乏中等規(guī)模以上的程序設(shè)計(jì)能力。
2課程體系改革
2.1教學(xué)內(nèi)容的改革
經(jīng)過(guò)分析,我們認(rèn)為在高級(jí)語(yǔ)言程序設(shè)計(jì)課程中一些更為重要的內(nèi)容沒(méi)有教給學(xué)生(或強(qiáng)調(diào)得不夠),那就是程序設(shè)計(jì)的方法和編程解決問(wèn)題的思路。為此,我們對(duì)程序設(shè)計(jì)課程進(jìn)行改革,在教學(xué)內(nèi)容的設(shè)計(jì)以及教學(xué)過(guò)程的各環(huán)節(jié)設(shè)計(jì)中,弱化學(xué)生對(duì)編程知識(shí)和語(yǔ)言本身的關(guān)注,突出對(duì)知識(shí)的運(yùn)用,使學(xué)生能從更高的角度認(rèn)識(shí)學(xué)習(xí)目的,并在第一門(mén)程序設(shè)計(jì)課程中引入軟件工程的思想,指導(dǎo)學(xué)生編寫(xiě)規(guī)范的程序。改革后的教學(xué)內(nèi)容如表1所示。
2.2教學(xué)方法的改進(jìn)
在教學(xué)中,努力貫穿程序設(shè)計(jì)語(yǔ)言的語(yǔ)法服務(wù)于任務(wù)求解和程序?qū)崿F(xiàn)的思想。以知識(shí)點(diǎn)為主線,采用問(wèn)題驅(qū)動(dòng)方式,通過(guò)實(shí)例來(lái)講授程序設(shè)計(jì)的概念和方法。重點(diǎn)放在編程構(gòu)思上,試圖貫穿以程序編寫(xiě)帶動(dòng)語(yǔ)法教學(xué)的模式,引導(dǎo)學(xué)生掌握計(jì)算機(jī)語(yǔ)言的核心編程方法,提高應(yīng)用能力,做到計(jì)算機(jī)語(yǔ)言知識(shí)和應(yīng)用開(kāi)發(fā)能力的融會(huì)貫通。
任務(wù)驅(qū)動(dòng)是指由教師根據(jù)教學(xué)內(nèi)容,以任務(wù)為核心組織每一堂課的教學(xué),將學(xué)生自主學(xué)習(xí)和探究過(guò)程置于一個(gè)特定的情境中。通過(guò)交流,引導(dǎo)學(xué)生發(fā)現(xiàn)問(wèn)題、解決問(wèn)題、反思學(xué)習(xí),充分發(fā)揮學(xué)生的主動(dòng)性和積極性。在教學(xué)中,我們把原來(lái)“講授語(yǔ)法知識(shí)→講解算法思路→學(xué)生理解算法思路→用該種算法解決實(shí)際問(wèn)題”的課程授課體系,改革為“提出問(wèn)題→分析問(wèn)題解決的思路和方法(算法分析)→解決問(wèn)題(編寫(xiě)程序)→語(yǔ)法小結(jié)→程序測(cè)試、結(jié)果分析→用該方法解決實(shí)際問(wèn)題”。在專(zhuān)業(yè)學(xué)生的第一門(mén)專(zhuān)業(yè)基礎(chǔ)課程中引入軟件測(cè)試的介紹,使學(xué)生一開(kāi)始就建立一個(gè)正確的軟件測(cè)試觀點(diǎn),對(duì)提高學(xué)生的程序調(diào)試能力有很大幫助。
我們學(xué)院高級(jí)語(yǔ)言程序設(shè)計(jì)課程是以C語(yǔ)言作為教學(xué)語(yǔ)言。下面以“選擇結(jié)構(gòu)程序設(shè)計(jì)”單元為例,說(shuō)明課堂教學(xué)組織結(jié)構(gòu)。
1) 選擇結(jié)構(gòu)程序設(shè)計(jì)教學(xué)案例。
任務(wù)一:計(jì)算一元二次方程的根。
任務(wù)二:從鍵盤(pán)輸入你和你朋友的年齡,判斷誰(shuí)的年齡最大,輸出最大者的年齡。
算法1:用不帶else子句的if語(yǔ)句編程
算法2:用帶有else子句的if語(yǔ)句編程
算法3:用條件表達(dá)式實(shí)現(xiàn)
任務(wù)三:給出由身高與體重計(jì)算的“體指數(shù)”,判斷某人是否屬于肥胖。
算法1:用不帶else子句的if語(yǔ)句編程
算法2:用在if子句中嵌入if語(yǔ)句的形式編程
算法3:用在else子句中嵌入if語(yǔ)句的形式編程
任務(wù)四:根據(jù)輸入的百分制成績(jī),轉(zhuǎn)換成相應(yīng)的五分制成績(jī)并打印輸出。
算法1:用嵌套的if語(yǔ)句編程
算法2:用switch語(yǔ)句編程
任務(wù)五:編程設(shè)計(jì)一個(gè)簡(jiǎn)單的計(jì)算器,要求根據(jù)用戶(hù)輸入的表達(dá)式計(jì)算,指定的運(yùn)算符為加(+)、減(-)、乘(*)、除(/)。
2) 語(yǔ)法小結(jié)——if-then; if-then-else; switch。
3) 程序測(cè)試——白盒測(cè)試法。
4) 編程練習(xí)。
在課堂教學(xué)組織中要做到選擇任務(wù)典型,能夠代表一些基本的算法,并能留下深刻印象;隨著問(wèn)題算法由淺入深地介紹,語(yǔ)法知識(shí)逐步展開(kāi);將程序測(cè)試引入,不僅需要設(shè)計(jì)合理的測(cè)試數(shù)據(jù),還需要設(shè)計(jì)不合理的測(cè)試數(shù)據(jù),讓學(xué)生建立正確的程序測(cè)試觀點(diǎn)。
2.3教學(xué)手段的變化
在教學(xué)手段上,積極采用多媒體教學(xué),但不局限于多媒體教學(xué)。我們發(fā)現(xiàn),并不是所有的教學(xué)內(nèi)容都適合采用多媒體教學(xué),多媒體技術(shù)不恰當(dāng)?shù)氖褂脮?huì)分散學(xué)生注意力,不利于培養(yǎng)學(xué)生的邏輯思維。在高級(jí)語(yǔ)言程序設(shè)計(jì)課程的教學(xué)過(guò)程中,我們將傳統(tǒng)教學(xué)與多媒體教學(xué)進(jìn)行了有機(jī)的結(jié)合。將一些概念、語(yǔ)句的格式說(shuō)明、案例代碼制作成課件,在課堂上展示,加大信息量的投入。大部分例題和習(xí)題直接在C編譯環(huán)境下講授,但部分案例的分析和程序的編寫(xiě)過(guò)程,則采用傳統(tǒng)的黑板板書(shū)教學(xué)方式,隨著老師的講解和板書(shū),將問(wèn)題層層剖析、層層深入,能有效帶動(dòng)學(xué)生的積極思維,增強(qiáng)師生互動(dòng)。
建立網(wǎng)絡(luò)輔助教學(xué)平臺(tái)可以有效地利用教學(xué)資源,擴(kuò)大學(xué)生的知識(shí)面,增強(qiáng)師生互動(dòng)。該網(wǎng)站收集了完整的網(wǎng)絡(luò)課程資料,包括教學(xué)大綱、教學(xué)錄像、網(wǎng)絡(luò)教學(xué)課件、實(shí)驗(yàn)指導(dǎo)、在線測(cè)試、下載中心、在線答疑等欄目,為學(xué)生自主學(xué)習(xí)提供了豐富的資源。
2.4課程考核方式的改變
衡量高級(jí)語(yǔ)言程序設(shè)計(jì)課程學(xué)習(xí)的好壞,不是看學(xué)生“知不知道”,而是“會(huì)不會(huì)干”。所以,建立一個(gè)服務(wù)于課程目標(biāo)的學(xué)生成績(jī)?cè)u(píng)定方法是一項(xiàng)非常重要的工作。我們要求成績(jī)?cè)u(píng)定應(yīng)具有激勵(lì)、反饋、導(dǎo)向三大功能,達(dá)到“以考促學(xué)”的目的。因此,在評(píng)定內(nèi)容上不僅僅是基本理論、基本知識(shí)的掌握,更要重視對(duì)學(xué)生學(xué)習(xí)過(guò)程的考核,重視實(shí)踐和動(dòng)手能力的考核,側(cè)重考核學(xué)生解決問(wèn)題的能力。
以往,高級(jí)語(yǔ)言程序設(shè)計(jì)課程成績(jī)的評(píng)定是以8∶2方式,即期末筆試成績(jī)占該課程總成績(jī)的80%,平時(shí)成績(jī)占總成績(jī)的20%的方式。在新的成績(jī)?cè)u(píng)定體系下,采用5∶3∶2評(píng)定方式,即期末筆試成績(jī)占總成績(jī)比例由80%降為50%,增加了實(shí)踐環(huán)節(jié)成績(jī),占總成績(jī)30%,平時(shí)成績(jī)?nèi)哉伎偝煽?jī)20%。其中,實(shí)踐環(huán)節(jié)成績(jī)包括課程學(xué)習(xí)過(guò)程中的10個(gè)實(shí)驗(yàn)成績(jī)以及課程結(jié)束時(shí)的實(shí)踐環(huán)節(jié)考試成績(jī)。這種考核進(jìn)一步促進(jìn)學(xué)生對(duì)實(shí)踐能力培養(yǎng)的重視。
3結(jié)語(yǔ)
課程特點(diǎn)和教學(xué)目標(biāo)的定位決定教學(xué)方法的選擇和對(duì)教學(xué)內(nèi)容的設(shè)計(jì),“案例引導(dǎo),任務(wù)驅(qū)動(dòng)”的教學(xué)模式是實(shí)施高級(jí)語(yǔ)言程序設(shè)計(jì)課程教學(xué)的有效方法。我們對(duì)近幾年的程序設(shè)計(jì)教學(xué)進(jìn)行了調(diào)查,學(xué)生普遍反映課程教學(xué)的改革提高了他們的學(xué)習(xí)興趣,動(dòng)手能力和編程能力有了明顯提高,為進(jìn)一步學(xué)習(xí)和工作打下了良好的基礎(chǔ)。
參考文獻(xiàn):
[1]