劉三滿
(山西警官高等??茖W(xué)校,山西 太原 030021)
面向?qū)ο蟪绦蛟O(shè)計(jì)在社會(huì)工作中應(yīng)用廣泛,是大學(xué)計(jì)算機(jī)專業(yè)開設(shè)的一門重要基礎(chǔ)課程,如同數(shù)學(xué)、外語一樣,是一門必修的基礎(chǔ)課,其教學(xué)內(nèi)容不針對(duì)某一專業(yè)領(lǐng)域,而主要涉及計(jì)算機(jī)基礎(chǔ)性和通用性的技術(shù)及應(yīng)用。這門課程的教學(xué)目標(biāo),是培養(yǎng)學(xué)生利用計(jì)算機(jī)分析問題、解決問題的意識(shí)與能力,提高學(xué)生的計(jì)算素質(zhì),為將來應(yīng)用計(jì)算機(jī)知識(shí)與技術(shù)解決自己專業(yè)實(shí)際問題打下基礎(chǔ)。這門課程在教學(xué)中不應(yīng)當(dāng)做一門實(shí)用技術(shù)來看,而是一種廣義的素質(zhì)教育,是在潛移默化中提高學(xué)生的思維能力、分析問題與解決問題的能力,幫助設(shè)計(jì)者具備綜合的分析能力、靈活的解題方法以及嚴(yán)謹(jǐn)?shù)倪壿嬎季S。
面向?qū)ο蟪绦蛟O(shè)計(jì)又是一門難學(xué)、難懂、難以應(yīng)用的課程。要以學(xué)生為主體,重視學(xué)習(xí)者的學(xué)習(xí)規(guī)律,順應(yīng)學(xué)生的學(xué)習(xí)興趣。從內(nèi)容到形式上改革面向?qū)ο蠼虒W(xué),以強(qiáng)化實(shí)踐性、培養(yǎng)較強(qiáng)的動(dòng)手能力為出發(fā)點(diǎn),設(shè)計(jì)教學(xué)過程,組織一個(gè)新的教學(xué)體系,構(gòu)建與之相配套的教學(xué)模式,變“要我學(xué)”為“我要學(xué)”是我們?cè)诿嫦驅(qū)ο蟪绦蛟O(shè)計(jì)教學(xué)中迫切需要思考和解決的新課題。
在面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)中,我們不再局限于單純介紹面向?qū)ο蠡菊Z法,而是本著面向未來的精神,把面向?qū)ο笞鳛橐环N實(shí)踐工具,以程序設(shè)計(jì)方法為主線、語法和結(jié)構(gòu)為核心,能力培養(yǎng)和提高學(xué)習(xí)興趣為目標(biāo),注重理論與實(shí)踐的結(jié)合、先進(jìn)性與基礎(chǔ)性的統(tǒng)一,變應(yīng)試為應(yīng)用。
在教學(xué)內(nèi)容上,摒棄以往以講述語法為主的教學(xué)內(nèi)容,重視新形勢(shì)下新方法、新規(guī)則和新思想的傳授,把程序設(shè)計(jì)領(lǐng)域最新、最有價(jià)值的思想和方法滲透到面向?qū)ο笾校寣W(xué)生多角度、多方式掌握程序設(shè)計(jì)的精髓,培養(yǎng)學(xué)生無論以后使用什么語言編程,都能靈活應(yīng)用這些思想和方法的能力。
皮亞杰在建構(gòu)主義學(xué)習(xí)理論中強(qiáng)調(diào),學(xué)習(xí)是學(xué)習(xí)者認(rèn)知結(jié)構(gòu)的組織和重新組織的過程。學(xué)習(xí)活動(dòng)的主要特點(diǎn)是一個(gè)“順應(yīng)”的過程,即學(xué)生不斷地對(duì)已有的認(rèn)知結(jié)構(gòu)做出必要的調(diào)整和更新,使它適應(yīng)新的學(xué)習(xí)對(duì)象,并實(shí)現(xiàn)“整合”。
考慮到絕大部分學(xué)生今后不會(huì)去搞程序開發(fā),所以思維能力的培養(yǎng)是首要的。從這一角度來說,先過程、后對(duì)象的方法更符合學(xué)生的認(rèn)知規(guī)律。而過程化的程序設(shè)計(jì)方法和解決問題的思路更切合學(xué)生已有的認(rèn)知結(jié)構(gòu),甚至可以說就是我們?nèi)粘7治鰡栴}、解決問題思路和步驟的一種計(jì)算機(jī)的代碼化,所以更易于被學(xué)生接受。
采用一體化教學(xué)方法,以程序案例為主教學(xué),通過案例講解語法要點(diǎn)和難點(diǎn)。
在教學(xué)過程中,將學(xué)生學(xué)習(xí)概念、規(guī)律的過程設(shè)計(jì)成對(duì)這些問題的“生活化”和趣味化的活動(dòng)思維過程。精心編寫趣味性、實(shí)用性、難度適中的例題,做到用豐富的實(shí)用例題講述語法、概念及算法,而不是為了教語法而舉例。
“案例驅(qū)動(dòng)”教學(xué)法,是一種以應(yīng)用為目的、從實(shí)例出發(fā)的教學(xué)思路,體現(xiàn)的是一種以學(xué)生為本的教學(xué)思想,因而可以調(diào)動(dòng)起學(xué)生自主獲取知識(shí)的學(xué)習(xí)愿望。應(yīng)用在面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)中,就是講解語法時(shí)不停留在理論討論上,不是教會(huì)這一語法現(xiàn)象是什么,而是通過實(shí)例教會(huì)學(xué)生某一語法現(xiàn)象如何應(yīng)用。比如,算術(shù)運(yùn)算符中的求余運(yùn)算和整除運(yùn)算是比較有特色和應(yīng)用較多的運(yùn)算,在講解這兩個(gè)運(yùn)算符的時(shí)候,就不能只停留在寫兩個(gè)表達(dá)式讓學(xué)生計(jì)算出結(jié)果來,而應(yīng)該結(jié)合實(shí)例讓學(xué)生知道這樣的語法特色用在什么地方,怎么用,如通過求1 到5的倒數(shù)和這樣一個(gè)小例子使學(xué)生認(rèn)識(shí)整除運(yùn)算的特點(diǎn)及在今后級(jí)數(shù)求和運(yùn)算中如何避免其可能引起的誤差;通過一個(gè)求兩位整數(shù)的逆序數(shù)的小程序,學(xué)生就會(huì)明白整除運(yùn)算和求余運(yùn)算可以用來將一個(gè)整數(shù)的各個(gè)位數(shù)分解出來,待后續(xù)循環(huán)結(jié)構(gòu)介紹完畢時(shí),又可將問題擴(kuò)展到求任意位數(shù)整數(shù)的逆序數(shù)。當(dāng)介紹到函數(shù)的概念時(shí),又可將問題引申到回文數(shù)的判別,這樣將一個(gè)對(duì)學(xué)生來說很難的算法問題分散到各個(gè)部分來處理,不僅降低了算法講解的難度,也使學(xué)生能真切地體會(huì)到學(xué)習(xí)語法知識(shí)的必要性。
教學(xué)始終貫穿一個(gè)核心實(shí)例—— 學(xué)生成績(jī)管理系統(tǒng)的開發(fā)。選擇這樣一個(gè)系統(tǒng)的原因是學(xué)生比較熟悉有關(guān)成績(jī)的業(yè)務(wù)和功能,同時(shí)開發(fā)學(xué)生成績(jī)管理系統(tǒng)將涉及到面向?qū)ο蟪绦蛟O(shè)計(jì)課程的全部知識(shí)點(diǎn),從而通過該項(xiàng)目的實(shí)例化驅(qū)動(dòng)開發(fā),有興趣地達(dá)到學(xué)習(xí)面向?qū)ο蟮哪繕?biāo)。
集課堂、實(shí)驗(yàn)、網(wǎng)絡(luò)教學(xué)于一體,教、學(xué)、研有機(jī)結(jié)合、相互促進(jìn),形成了“課內(nèi)教學(xué)+課外俱樂部”、“常規(guī)教學(xué)+實(shí)驗(yàn)教學(xué)+網(wǎng)絡(luò)教學(xué)”、“開放實(shí)驗(yàn)室+自編教材+教學(xué)網(wǎng)站+教輔系統(tǒng)”、“課上現(xiàn)場(chǎng)編程互動(dòng)+課后作業(yè)練習(xí)+課下實(shí)驗(yàn)練兵+上機(jī)考試實(shí)戰(zhàn)+課外創(chuàng)新實(shí)踐提高”的立體化教學(xué)模式。
面向?qū)ο笳n程的教學(xué)目標(biāo)突出培養(yǎng)學(xué)生的編程能力,為實(shí)現(xiàn)這一目標(biāo),在教學(xué)內(nèi)容上拋棄了過多的語法細(xì)節(jié)和非通用的或?qū)嶋H用途很少的語言特性,理出了重點(diǎn)和教學(xué)主線。
從學(xué)生的學(xué)習(xí)心理、認(rèn)知規(guī)律出發(fā),慎重地選擇教學(xué)方案,精心組織教學(xué)內(nèi)容,注意強(qiáng)調(diào)基礎(chǔ)性、實(shí)用性、先進(jìn)性和系統(tǒng)性,兼顧教學(xué)和自學(xué)兩方面的適用性。精簡(jiǎn)過程化部分的內(nèi)容、降低其難度、銜接面向?qū)ο蟮姆椒ㄊ顷P(guān)鍵。
主要特點(diǎn)如下:
(1)整個(gè)教材以結(jié)構(gòu)化程序設(shè)計(jì)為重點(diǎn),面向?qū)ο蟮母拍詈途幊趟枷霝閿U(kuò)展,MFC 編程基礎(chǔ)為補(bǔ)充,體現(xiàn)了先進(jìn)性和系統(tǒng)性的統(tǒng)一。
(2)淡化語法,尤其對(duì)語法難點(diǎn)通過實(shí)例具體而分散地介紹,舍棄對(duì)我們的教學(xué)對(duì)象不實(shí)用和過于復(fù)雜的內(nèi)容,如位運(yùn)算、共用體、多繼承等概念,體現(xiàn)了基礎(chǔ)性和實(shí)用性的統(tǒng)一。
(3)在內(nèi)容上降低難度,淡化了過于繁雜的指針概念,簡(jiǎn)化了字符串的處理方法,體現(xiàn)了基礎(chǔ)性和先進(jìn)性的統(tǒng)一。
(4)將面向?qū)ο蟮囊恍└拍钣袡C(jī)地滲透到過程化的內(nèi)容中去介紹,如引用、函數(shù)重載、默認(rèn)參數(shù),這樣避免了在面向?qū)ο蟛糠旨薪榻B過多的概念而使學(xué)生產(chǎn)生畏難心理。
(5)教材強(qiáng)調(diào)算法的分析訓(xùn)練,有利于在學(xué)時(shí)緊張的情況下學(xué)生通過自學(xué)提高分析問題、解決問題的能力。
教學(xué)內(nèi)容的組織方式和切入點(diǎn)對(duì)強(qiáng)化實(shí)踐性教學(xué)的作用至關(guān)重要。適宜的方法能夠自然引導(dǎo)學(xué)生從感性的、具體的認(rèn)識(shí),升華到理性的、抽象的認(rèn)識(shí)、并提高實(shí)踐能力。
教學(xué)內(nèi)容的改革本著教學(xué)內(nèi)容突出基礎(chǔ)理論知識(shí)的應(yīng)用和實(shí)踐能力培養(yǎng)的原則,以應(yīng)用為目的,以“必需、夠用”為度,加強(qiáng)針對(duì)性和實(shí)用性。緊緊圍繞著高技能人才培養(yǎng)的主線,本著教學(xué)內(nèi)容突出基礎(chǔ)理論知識(shí)的應(yīng)用和實(shí)踐能力培養(yǎng)的原則,以應(yīng)用為目的,以“必需、夠用”為度。
過去教學(xué)內(nèi)容重點(diǎn)放在面向?qū)ο笳Z法知識(shí)點(diǎn),結(jié)果使學(xué)生陷入眾多繁雜的語法中,產(chǎn)生畏學(xué)情緒。改革后在面向?qū)ο蠼虒W(xué)中,以程序編制牽引理論教學(xué),以核心實(shí)例貫穿,以項(xiàng)目開發(fā)和程序的拓展驅(qū)動(dòng)教學(xué),教學(xué)效果顯著提高。
在課程單元的教學(xué)中以完成一個(gè)實(shí)訓(xùn)項(xiàng)目為主線,采用項(xiàng)目拓展、項(xiàng)目遞進(jìn)驅(qū)動(dòng)教學(xué)方法,在完成項(xiàng)目的過程中引入知識(shí)點(diǎn),操練語法點(diǎn)。
在軟件開發(fā)能力方面的培養(yǎng),同樣進(jìn)行分層次的設(shè)計(jì)與教學(xué)。首先是一套切合實(shí)際、有內(nèi)在聯(lián)系,不斷拓展的實(shí)訓(xùn)項(xiàng)目單來保證基礎(chǔ)軟件開發(fā)能力的培養(yǎng),這是所有學(xué)生都應(yīng)該完成的內(nèi)容。
結(jié)構(gòu)化的程序設(shè)計(jì)是本課程教學(xué)的基礎(chǔ)和重點(diǎn)。
(1)結(jié)構(gòu)化程序設(shè)計(jì)強(qiáng)調(diào)按照一定的結(jié)構(gòu)形式來設(shè)計(jì)和編寫程序,因而設(shè)計(jì)出的程序易于理解和閱讀;同時(shí)結(jié)構(gòu)化程序設(shè)計(jì)的訓(xùn)練不僅可以讓學(xué)生養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣,而且可以有效地培養(yǎng)學(xué)生思維的條理性和邏輯性,這正是我們程序設(shè)計(jì)課程的主要教學(xué)目的所在;
(2)面向?qū)ο蟮姆椒ㄔO(shè)計(jì)出的程序代碼仍要以結(jié)構(gòu)化程序?yàn)榛A(chǔ)。這些都奠定了結(jié)構(gòu)化程序設(shè)計(jì)的基礎(chǔ)地位。這部分內(nèi)容在講解上強(qiáng)調(diào)算法分析、淡化語法細(xì)節(jié),語法內(nèi)容是程序?qū)崿F(xiàn)的手段和工具,而不是學(xué)習(xí)程序設(shè)計(jì)的目標(biāo)。
(3)通過類和對(duì)象的介紹使學(xué)生了解面向?qū)ο蠓椒ǖ膶?shí)質(zhì)是強(qiáng)制通過函數(shù)來對(duì)數(shù)據(jù)進(jìn)行操作,從而保證數(shù)據(jù)操作的安全性,這就是數(shù)據(jù)隱藏和封裝的思想;通過介紹派生類的繼承關(guān)系,使學(xué)生深刻認(rèn)識(shí)面向?qū)ο蠓椒▽?duì)代碼重用的支持;而介紹多態(tài)性的關(guān)鍵在于讓學(xué)生了解基于虛函數(shù)的多態(tài)性的實(shí)質(zhì)是允許將派生類的對(duì)象當(dāng)作基類的對(duì)象使用,因而不必為每一個(gè)派生類編寫功能調(diào)用,從而實(shí)現(xiàn)接口的復(fù)用。這部分內(nèi)容強(qiáng)調(diào)從實(shí)用出發(fā),著重介紹基本的、主要的概念。而對(duì)從純理論研究著眼的一些概念,如繼承關(guān)系中的私有繼承以及多繼承中的諸多概念等,對(duì)初學(xué)者來說過于復(fù)雜的概念要么不做展開討論,要么就干脆舍棄。
(4)從結(jié)構(gòu)化程序設(shè)計(jì)到面向?qū)ο蟮姆椒ㄟ^渡時(shí),要解決學(xué)生思維方式的轉(zhuǎn)換和銜接的問題。由于思維慣性,學(xué)生會(huì)將面向?qū)ο蠓椒ê徒Y(jié)構(gòu)化方法的比較貫穿于所設(shè)計(jì)的程序中。授課時(shí)要從學(xué)生的認(rèn)識(shí)規(guī)律出發(fā),不必急于空泛地強(qiáng)調(diào)面向?qū)ο蠓椒ǖ暮锰?,要讓學(xué)生清楚面向?qū)ο蟮某绦蛟O(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)一樣,只是一種程序設(shè)計(jì)方法,它是為解決程序復(fù)雜性而產(chǎn)生的。就解決簡(jiǎn)單問題而言,并非一定要采取面向?qū)ο蟮姆椒?,也并非面向?qū)ο蠓椒ㄒ欢ū冉Y(jié)構(gòu)化方法更好。結(jié)構(gòu)化程序設(shè)計(jì)是從一個(gè)個(gè)具體的局部入手,描述問題的解決過程;而面向?qū)ο蟮姆椒ㄊ菑娜值慕嵌瘸橄蟪鰡栴}所涉及對(duì)象的整體框架,再來描述各層次、各部分的內(nèi)在聯(lián)系。
(5)面向?qū)ο筇貏e適合編寫系統(tǒng)軟件,執(zhí)行速度快,代碼質(zhì)量高,在進(jìn)行系統(tǒng)控制、調(diào)節(jié)、測(cè)量、硬件驅(qū)動(dòng)等方面具有獨(dú)特優(yōu)勢(shì),這些優(yōu)勢(shì)必須要通過實(shí)訓(xùn)室中軟硬件結(jié)合的程序設(shè)計(jì)方可體現(xiàn)。
將教學(xué)重點(diǎn)放在培養(yǎng)學(xué)生的編程能力上,教學(xué)模式也從傳授知識(shí)轉(zhuǎn)為培養(yǎng)能力,考核更側(cè)重對(duì)學(xué)生編程水平的測(cè)試,先進(jìn)理念,實(shí)踐教學(xué)以“理論夠用,實(shí)踐為重”為原則進(jìn)一步的加強(qiáng),學(xué)生應(yīng)用知識(shí)的能力(實(shí)際編程能力)得到了顯著提高。
課程考核評(píng)價(jià)方面,建立了全新的考核評(píng)價(jià)體系,注重過程考核、編程實(shí)踐能力考核,促進(jìn)學(xué)生實(shí)踐能力、創(chuàng)新能力提高。
對(duì)課程考核評(píng)價(jià)體系進(jìn)行了大膽改革,突出了過程考核和編程能力考核,促進(jìn)學(xué)生實(shí)踐能力、創(chuàng)新能力提高。改革后的課程評(píng)價(jià)考核體系主要體現(xiàn)了考核形式多樣化、考核標(biāo)準(zhǔn)合理化以及考核試卷個(gè)性化三大特征。
(1)努力探索理論教學(xué)與實(shí)踐教學(xué)一體化的新路子。按照“少而精”的原則,壓縮并精選實(shí)驗(yàn)項(xiàng)目與內(nèi)容,提高教學(xué)效率,從而使實(shí)驗(yàn)教學(xué)與理論教學(xué)的結(jié)合更加緊密。
(2)適度增加實(shí)用性和自主性實(shí)驗(yàn)項(xiàng)目與內(nèi)容。
(3)開放實(shí)驗(yàn)室,讓學(xué)生可自主選擇實(shí)驗(yàn)時(shí)間、自主選擇實(shí)驗(yàn)內(nèi)容,為學(xué)生提供勇于探索、敢于創(chuàng)新的外部環(huán)境。
(4)建設(shè)了與課程相配套的具有我院特色的實(shí)驗(yàn)環(huán)節(jié):課程設(shè)計(jì)、項(xiàng)目分析設(shè)計(jì)、科研開發(fā)等??荚嚪绞?上機(jī)實(shí)驗(yàn)和考試結(jié)合,增加機(jī)試,借助編程題自動(dòng)評(píng)分系統(tǒng)考核學(xué)生實(shí)際編程能力。開發(fā)編程題自動(dòng)評(píng)分系統(tǒng),向無紙考試過渡;開發(fā)題庫系統(tǒng),為機(jī)考提供支持;開發(fā)在線教學(xué)網(wǎng)站,拓展教學(xué)空間。
(5)實(shí)踐教學(xué)特色—課內(nèi)教學(xué)與課外實(shí)踐相結(jié)合
課內(nèi)實(shí)驗(yàn)教學(xué)兼趣味性和實(shí)用性于一體,課余通過指導(dǎo)學(xué)生參加科技創(chuàng)新活動(dòng)、各種程序設(shè)計(jì)大賽、學(xué)生俱樂部的各類微小型軟件開發(fā)項(xiàng)目,達(dá)到鞏固知識(shí)、鍛煉能力、提高素質(zhì)的目的。
通過幾年來的實(shí)踐教學(xué),我們以學(xué)生為中心,以教師為主導(dǎo),因材施教、因需施教,把強(qiáng)化實(shí)踐性的教學(xué)思想融入到整個(gè)教學(xué)過程中。加強(qiáng)教學(xué)的內(nèi)容選取、組織形式、實(shí)例貫穿、上機(jī)實(shí)踐等方面的改革,在課時(shí)安排、教學(xué)環(huán)境與利用、教學(xué)評(píng)價(jià)與考核等多個(gè)環(huán)節(jié)同時(shí)進(jìn)行了研究。培養(yǎng)了學(xué)生的學(xué)習(xí)興趣、問題求解和編程能力、探索和創(chuàng)新精神,培養(yǎng)了學(xué)生在各專業(yè)領(lǐng)域中應(yīng)用計(jì)算機(jī)解決問題的意識(shí)和能力,取得了相當(dāng)不錯(cuò)的教學(xué)效果。
[1]龔沛曾,楊志強(qiáng),陸慰民,等.案例教學(xué)法在“Visual Basic 程序設(shè)計(jì)”課程中的應(yīng)用[J].計(jì)算機(jī)教育,2004(5):62-63.
[2]HM.DeitelP.J.Deitel.C++編程金典[M].第3 版.北京:清華大學(xué)出版社,2007.
[3]龔沛曾,楊志強(qiáng).C/C++程序設(shè)計(jì)教程[M].北京:高等教育出版社,2007.
[4]牟連佳,梁皎,李丕顯,等.高校非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)教學(xué)改革的研究與實(shí)踐[J].高教論壇,2010(2):94-98.