摘要:本文從如何培養(yǎng)大學(xué)生抽象思維能力和創(chuàng)新能力出發(fā),在分析理工科大學(xué)生學(xué)習(xí)程序設(shè)計課程中存在的一系列問題的基礎(chǔ)上,闡述創(chuàng)新能力培養(yǎng)的多種教學(xué)方法改革,結(jié)合河南工業(yè)大學(xué)近五年的教學(xué)改革的實(shí)踐,在程序設(shè)計基礎(chǔ)課程中取得較滿意的效果。
關(guān)鍵詞:程序設(shè)計;教學(xué)改革;創(chuàng)新能力
文章編號:1672-5913(2010)08-0046-04
中圖分類號:G642
文獻(xiàn)標(biāo)識碼:A
面對世界科技日新月異、信息社會雛形初具、經(jīng)濟(jì)全球化浪潮洶涌而至的強(qiáng)有力挑戰(zhàn),中國教育學(xué)會會長顧明遠(yuǎn)先生認(rèn)為:“教育創(chuàng)新是時代的要求,也是我國實(shí)施科教興國戰(zhàn)略的迫切要求?!痹趶?qiáng)調(diào)“創(chuàng)新能力”和“素質(zhì)教育”的大前提下,如何在程序設(shè)計課程中培養(yǎng)學(xué)生的創(chuàng)新能力和科學(xué)素養(yǎng),是我們進(jìn)行教學(xué)改革重點(diǎn)考慮的問題。
打好程序設(shè)計基礎(chǔ),對于理工科大學(xué)生來講,是一個“看家本領(lǐng)”,是實(shí)實(shí)在在的利用計算機(jī)分析問題和解決問題的本領(lǐng)。因此,如何改革“程序設(shè)計基礎(chǔ)”課程,調(diào)動學(xué)生學(xué)習(xí)的積極性,提高學(xué)生的抽象思維能力、創(chuàng)新能力和團(tuán)隊合作能力,并按照計算機(jī)學(xué)科最根本特征——“構(gòu)造性”和“能行性”的要求,加大抽象思維能力和邏輯思維方法的訓(xùn)練力度,是程序設(shè)計基礎(chǔ)教學(xué)改革研究的重點(diǎn)。
1 現(xiàn)行教學(xué)中存在的問題
1,1程序設(shè)計基礎(chǔ)課程的定位出現(xiàn)偏差
目前,大多數(shù)高校的程序設(shè)計基礎(chǔ)課程是以高級語言c語言為脈絡(luò)展開的,采用語法教學(xué)為主,上機(jī)檢驗程序為輔的教學(xué)模式。但是,理解語法和能夠解決實(shí)際問題,兩者仍舊不能劃等號。過于注重語法,沒有突出程序設(shè)計的基本概念、思路和方法,忽視學(xué)生程序思維能力的培養(yǎng),難以調(diào)動學(xué)生學(xué)習(xí)的積極性,嚴(yán)重影響后繼課程c++與面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)等課程的學(xué)習(xí)。
1,2傳統(tǒng)教學(xué)形式與多媒體教學(xué)的沖突
傳統(tǒng)的教學(xué)形式采取的是黑板教學(xué),知識點(diǎn)和例題的講解都在黑板上進(jìn)行,這可以較好地與學(xué)生互動,但存在信息量小、不能動態(tài)演示程序的問題;多媒體教學(xué)以信息量大、動態(tài)演示程序為優(yōu)勢,但也存在教師與學(xué)生交互少的問題,學(xué)生被動接受大量信息反而難以掌握重點(diǎn)和難點(diǎn)。
1,3驗證型實(shí)驗產(chǎn)生的“眼高手低”
目前,程序設(shè)計課程的實(shí)驗普遍為“驗證型”實(shí)驗,即通過一次實(shí)驗驗證一兩個知識點(diǎn)。這種“驗證型”實(shí)驗雖然對學(xué)生理解教學(xué)的知識點(diǎn)和掌握一定的編程技能有益,但也有明顯的缺陷。首先,“驗證型”實(shí)驗之間的聯(lián)系不強(qiáng),這就導(dǎo)致學(xué)生在做完一個學(xué)期的十幾個實(shí)驗之后,依然不知道如何去編制一個完整實(shí)用的程序;其次,“驗證型”實(shí)驗的實(shí)驗結(jié)果往往是唯一的,如果結(jié)果與預(yù)期不一致,就意味著學(xué)生的程序有誤。這種實(shí)驗方法對培養(yǎng)學(xué)生的創(chuàng)新能力不但沒有益處,反而會扼殺學(xué)生的學(xué)習(xí)興趣與主觀能動性;再次,這種相互獨(dú)立的實(shí)驗很難保證實(shí)驗的系統(tǒng)性。
1,4被動學(xué)習(xí)產(chǎn)生的消極情緒
由于知識點(diǎn)繁多而授課學(xué)時有限,大多數(shù)教師在講授時都是滿堂灌,沒有留給學(xué)生必要的課堂思考和練習(xí)的時間,學(xué)生課下編程遇到問題時無所適從,從而產(chǎn)生畏難心理和消極情緒,對于后面較難的知識點(diǎn),例如指針、結(jié)構(gòu)體和文件部分,部分學(xué)生甚至采取放棄的態(tài)度。
1,5傳統(tǒng)的筆試帶來的副作用
現(xiàn)在采取的考核方式大多為“平時表現(xiàn)+作業(yè)+期末考試”的形式,而期末考試是評價學(xué)生能力的主要方面。大多數(shù)高校的考試方式采取傳統(tǒng)的筆試,有些學(xué)校甚至按照計算機(jī)二級考試要求出期末試卷,它給學(xué)生以錯誤的暗示,使其認(rèn)為語法知識的學(xué)習(xí)比算法的制定更主要,另外,它也沒有達(dá)到真正考核學(xué)生實(shí)際編程能力的要求。
2 教學(xué)改革中采取的對策
2,1修改計算機(jī)專業(yè)2009年的培養(yǎng)計劃,正確定位程序設(shè)計基礎(chǔ)課程
2008年項目組成員通過對東南大學(xué)、南京郵電大學(xué)、南京理工大學(xué)、北京理工大學(xué)等高校的調(diào)研,認(rèn)真修改計算機(jī)專業(yè)2009年的培養(yǎng)計劃,將高級語言程序設(shè)計課程修改為程序設(shè)計基礎(chǔ),設(shè)定在大一上、下兩個學(xué)期進(jìn)行教授,并在學(xué)時上作了大的調(diào)整,上學(xué)期理論教學(xué)40學(xué)時,實(shí)踐教學(xué)14學(xué)時,主要培養(yǎng)學(xué)生的計算思維能力,依托計算機(jī)編程環(huán)境,對所要求解的問題進(jìn)行分析研究,將其抽象成數(shù)學(xué)模型,寫出計算步驟,編程加以實(shí)現(xiàn)。大一下學(xué)期,將實(shí)踐學(xué)時增加到40學(xué)時,而理論教學(xué)學(xué)時為14學(xué)時,通過一些綜合案例的分析和大量綜合問題的解決,提高學(xué)生知識運(yùn)用的綜合性、靈活性與探索性,培養(yǎng)學(xué)生的編程能力和創(chuàng)新能力。
在教學(xué)內(nèi)容上,打破先講語法后編程的常規(guī)教學(xué),重視算法的講解,以實(shí)例為引導(dǎo),幫助學(xué)生分析問題并寫出算法步驟,然后再基于語法規(guī)則進(jìn)行編寫代碼。語法知識貫穿與實(shí)例中講解,以常用語法知識在具體程序中應(yīng)用為前提,不要求學(xué)生死記硬背。實(shí)踐表明,這種“重視算法,不過分強(qiáng)調(diào)語法”的教學(xué)策略,增強(qiáng)了學(xué)生分析問題、解決問題的能力,也調(diào)動了學(xué)生編程的積極性。
在教學(xué)過程中,注重培養(yǎng)學(xué)生養(yǎng)成良好的編程習(xí)慣,強(qiáng)調(diào)程序的可讀性、規(guī)范性,要求關(guān)鍵變量加注釋,函數(shù)功能有描述,學(xué)會調(diào)試程序,組織好的測試數(shù)據(jù),能夠分析和判斷運(yùn)行結(jié)果的正確與否。在使用編譯開發(fā)環(huán)境時,除了使用推薦的TC++3.0,還鼓勵大家使用VC++6.0。在VC++6.0編譯開發(fā)環(huán)境中編譯和運(yùn)行一個c程序相對簡單,而且更方便調(diào)試程序,學(xué)生可以跟蹤變量,隨時看到數(shù)值的變化,不斷地用所學(xué)知識校正調(diào)試時遇到的問題,還可以向教師進(jìn)行實(shí)時的教學(xué)反饋。
2,2教學(xué)方法的改革
在教學(xué)形式上,采取黑板教學(xué)與多媒體教學(xué)結(jié)合。學(xué)校根據(jù)教師提出的意見,整改所有的多媒體教室,將屏幕統(tǒng)一移到講臺的一側(cè),露出一半的黑板空間。這樣,重點(diǎn)、難點(diǎn)在黑板上板書講解,基本內(nèi)容和實(shí)例演示用多媒體,既避免了黑板教學(xué)信息量小和無法動態(tài)演示程序的問題,也解決了多媒體教學(xué)中交互少和被動灌輸大量信息的問題。
在教學(xué)方法上,采取由淺入深的啟發(fā)式教學(xué)和形象教學(xué)。例如,在講解數(shù)組前,以草原來貴客,主人要從上千頭羊中選出最肥的那頭羊為例,引出數(shù)組的概念:在數(shù)組的應(yīng)用上,先以學(xué)生熟悉的求幾個學(xué)生平均分的實(shí)例入手,然后逐漸增加難度,講解Fibonaeei數(shù)列、冒泡排序等難度較大的例題。在講解冒泡排序算法時,找出5個高低不等的學(xué)生,按照排序思想實(shí)際操作一遍,讓學(xué)生更直觀、更形象地看到排序過程,加深學(xué)生對算法的理解。在教學(xué)中對于難以理解的知識點(diǎn)進(jìn)行形象舉例,增強(qiáng)學(xué)生對知識點(diǎn)的理解。例如,在學(xué)習(xí)選擇結(jié)構(gòu)if.else語句的時候,以這樣的例子幫助學(xué)生理解:if(課表上有課)去教室上課;else去操場鍛煉;用他們?nèi)粘I钪惺煜さ睦觼碇v解,可以很好的幫助他們理解知識點(diǎn),并且也間接地提高他們解決實(shí)際問題的能力。
建立河南省精品課程c語言程序設(shè)計課程教學(xué)網(wǎng)站進(jìn)行輔助教學(xué)(http://172.18.254.252/s2008/cyy/index.aspx),大大延伸教學(xué)互動的時間與空間。在網(wǎng)站中學(xué)生可以下載教學(xué)課件和學(xué)習(xí)資料進(jìn)行自學(xué),還可以通過BBS交流平臺向任課教師提問,老師在網(wǎng)上及時進(jìn)行解答,也可以通過在線測試模塊隨時檢查知識的掌握情況。
2,3實(shí)踐教學(xué)的改革
程序設(shè)計基礎(chǔ)是一門實(shí)踐性很強(qiáng)的課程,我們根據(jù)教學(xué)過程制定實(shí)驗計劃,多選取設(shè)計型實(shí)踐,少選取驗證型內(nèi)容,鍛煉學(xué)生分析問題、解決問題的能力;實(shí)驗內(nèi)容與實(shí)際緊密聯(lián)系,調(diào)動學(xué)生解決問題的興趣,例如二維數(shù)組的實(shí)驗中,讓學(xué)生解決多個售貨員賣多種商品,統(tǒng)計每個售貨員的營業(yè)額和每種商品的銷售額。每個實(shí)驗都要求學(xué)生在實(shí)踐課之前進(jìn)行分析、設(shè)計算法、編寫代碼,在實(shí)踐課中進(jìn)行調(diào)試,教師只是引導(dǎo)和輔導(dǎo)作用。
課程設(shè)計是一個重要的實(shí)踐環(huán)節(jié),是學(xué)生從理論學(xué)習(xí)走向解決實(shí)際問題的一個關(guān)鍵性環(huán)節(jié)。在課程后期的一至兩周,其他的課程都暫停,集中時間和精力進(jìn)行課程設(shè)計。一般選擇與實(shí)際聯(lián)系緊密的課題,例如,學(xué)生成績查詢系統(tǒng)、圖書借閱系統(tǒng)或小型超市管理系統(tǒng)等。根據(jù)學(xué)生的基礎(chǔ)和掌握知識的情況進(jìn)行分組,2~3人一組,各自承擔(dān)不同的設(shè)計部分,充分發(fā)揮每個學(xué)生的優(yōu)勢,有利于培養(yǎng)學(xué)生的團(tuán)隊意識和創(chuàng)新精神。最后通過答辯和檢查報告來評價學(xué)生的設(shè)計,即時糾正一些錯誤,給出課程設(shè)計成績。課程設(shè)計使學(xué)生經(jīng)歷文獻(xiàn)查詢、程序模塊設(shè)計、程序流程制訂、源代碼編制、上機(jī)調(diào)試、實(shí)驗數(shù)據(jù)的整理與分析及論文撰寫等一系列的訓(xùn)練,開闊了他們的視野,擴(kuò)大了知識面,培養(yǎng)了動手創(chuàng)新能力,是提高教學(xué)質(zhì)量的一條好途徑。
2,4培養(yǎng)學(xué)生的自學(xué)能力和創(chuàng)新思維,創(chuàng)設(shè)因材施教的探索空間
愛因斯坦說:“興趣是最好的老師,熱愛是永恒的動力”。顧明遠(yuǎn)先生也提到:“只有讓受教育者自由、主動地進(jìn)行自我發(fā)展,它們身上內(nèi)隱的創(chuàng)造性素質(zhì)才可能外顯出來。當(dāng)然,不是說學(xué)生不需要教師給他傳授知識,教他能力,知識和能力都是學(xué)生創(chuàng)造的基礎(chǔ),但是更重要的是通過教育教學(xué)促進(jìn)學(xué)生主動地發(fā)展,發(fā)揮他內(nèi)在的創(chuàng)造潛力?!睂W(xué)習(xí)任何一門程序設(shè)計語言的捷徑就是用它來編程,因此,學(xué)生的自主學(xué)習(xí)在程序設(shè)計課程中是至關(guān)重要的,知識點(diǎn)的掌握,編程能力的提高,要求學(xué)生在課下必須進(jìn)行大量的編程練習(xí)。因此,在第一堂課就引導(dǎo)他們動手編寫人生中的第一個程序,消除他們的畏難之心,并給他們講解程序設(shè)計過程中有趣的科學(xué)故事,演示一些軟件和游戲,甚至是往屆學(xué)生課程設(shè)計的作品,激發(fā)他們學(xué)習(xí)的興趣;成立程序設(shè)計群,鼓勵大家在群中進(jìn)行問題討論、算法優(yōu)化、群策群力,培養(yǎng)大家的合作意識和創(chuàng)新思維。
鼓勵有能力的學(xué)生參加ACM/ICPC競賽——世界上最具權(quán)威性的大學(xué)生程序設(shè)計競賽。學(xué)生通過參加ACM/ICPC競賽或網(wǎng)上ACM題庫的在線練習(xí),深深體會到只有對具體題目的分析和實(shí)踐,才能真正掌握數(shù)學(xué)的使用和算法的應(yīng)用,并在不斷的練習(xí)中增加編程經(jīng)驗和技巧,提高對時間復(fù)雜度的感性認(rèn)識,優(yōu)化時間的分配,加強(qiáng)團(tuán)隊的配合。
每個學(xué)期挑選3~5名有能力的學(xué)生參與到教師的科研中,從一年級開始培養(yǎng)他們的創(chuàng)新思維和動手能力,實(shí)踐證明,這批學(xué)生的解決實(shí)際問題能力和科研能力相對于其他學(xué)生要強(qiáng),對他們的就業(yè)或考研都有很大的幫助。
2,5進(jìn)行教材改革
長久以來,c語言的教材大多數(shù)都是采用我國著名計算機(jī)基礎(chǔ)教育家譚浩強(qiáng)先生編寫的《c程序設(shè)計》,該書的最大特點(diǎn)就是知識點(diǎn)講解得很詳細(xì),非常適合學(xué)生自學(xué),但是也容易造成一個誤區(qū),就是過分追求語法知識的學(xué)習(xí),而忽視了算法的積累。針對“重視算法,不過分強(qiáng)調(diào)語法”的教學(xué)策略,我們大膽進(jìn)行教材改革,選用吳文虎先生編寫的國家精品課程教材——《程序設(shè)計基礎(chǔ)(第2版)》,該書分為幾個部分:變量、代數(shù)與計算機(jī)解題,邏輯思維與計算機(jī)解題,數(shù)組組織、篩選與排序問題的解題思路,函數(shù)、遞推與遞歸,指針,流與文件,貪心法,動態(tài)規(guī)劃,鏈表,二叉樹,蒙特卡羅法。重點(diǎn)放在問題的分析,數(shù)學(xué)模型的建立,最后理出算法,并編碼實(shí)現(xiàn)。
另外,推薦優(yōu)秀的外文原版教材《PROGRAM-MING IN ANSI C(THIRD EDITION)》作為輔導(dǎo)教材,讓學(xué)生更準(zhǔn)確地理解課程內(nèi)容。這部教材語言描述簡單易懂,知識點(diǎn)講解簡練到位,實(shí)例貼近生活。同時,它也可以培養(yǎng)學(xué)生閱讀英語資料的習(xí)慣,為參加ACM-ICPC等國際賽事的學(xué)生助一臂之力,為其將來的學(xué)習(xí)和科研打下堅實(shí)基礎(chǔ)。
利用外文原版教材與“雙語教學(xué)”產(chǎn)生了一個意外的聯(lián)系。筆者于2009年下學(xué)期進(jìn)行C語言的雙語教學(xué)嘗試,探索利用雙語教學(xué)和優(yōu)秀的外文原版教材引領(lǐng)教學(xué)效果改革的新途徑。
2,6考核方式的改革
為了提高學(xué)生分析問題和實(shí)際編程能力,我們將傳統(tǒng)的考核方式“平時表現(xiàn)+作業(yè)+期末考試”改革為“平時表現(xiàn)+大作業(yè)+上機(jī)考試”,比例分別是2:4:4。平時一般每三周布置一個大作業(yè),促進(jìn)學(xué)生將所學(xué)的知識點(diǎn)綜合應(yīng)用,并為期末的上機(jī)考試積累經(jīng)驗。為了客觀地反映教學(xué)質(zhì)量,采取教考分離、集體閱卷的形式。實(shí)踐表明,這種考核方式,重視平時動手能力的培養(yǎng),更客觀地反映學(xué)生的學(xué)習(xí)情況,有助于提高學(xué)生學(xué)習(xí)的積極性。
3 結(jié)語
從2005年開始我們著手對程序設(shè)計基礎(chǔ)課程進(jìn)行改革,包括3次修改課程教學(xué)大綱,分別修訂2006年和2009年的培養(yǎng)計劃,2006年建設(shè)河南工業(yè)大學(xué)精品課程c語言程序設(shè)計,2008年建設(shè)河南省精品課程C語言程序設(shè)計。經(jīng)過近五年的改革實(shí)踐,學(xué)生分析問題、解決實(shí)際問題的能力逐年提高,學(xué)習(xí)的主動性和創(chuàng)造性都得到了極大地調(diào)動,學(xué)生對該課程連續(xù)三年評教成績分別為91.59、96.68和98.24,這表明學(xué)生對課程改革是滿意的。至于今年的雙語教學(xué)和教材改革的成效,還需要時間來證