摘要:在對“C++程序設(shè)計”課程教學(xué)改革的實(shí)踐中,對課程教學(xué)中現(xiàn)有問題進(jìn)行了調(diào)查和分析,并針對上述問題從興趣激發(fā)、增強(qiáng)互動、合理安排實(shí)驗等方面進(jìn)行了改革和實(shí)踐,在一定程度上激發(fā)了學(xué)習(xí)者的學(xué)習(xí)興趣,在循序漸進(jìn)掌握知識的基礎(chǔ)上提高了分析和解決問題的能力,對課程教學(xué)有較好的促進(jìn)作用。
關(guān)鍵詞:程序設(shè)計;C++;教學(xué)改革
作者簡介:李傳珍(1980-),女,北京人,中國傳媒大學(xué)信息工程學(xué)院,講師;徐品(1958-),男,北京人,中國傳媒大學(xué)信息工程學(xué)院,高級工程師。(北京 100024)
基金項目:本文系中國傳媒大學(xué)優(yōu)質(zhì)示范建設(shè)課程項目(項目編號:yzkcx0915)的研究成果。
中圖分類號:G642.0 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0079(2013)28-0110-02
“C++程序設(shè)計”課程是中國傳媒大學(xué)(以下簡稱“我校”)信息工程學(xué)院電氣信息類大學(xué)生的必修課程。該課程以C++語言中的面向?qū)ο髾C(jī)制為主,主要介紹面向?qū)ο蟪绦蛟O(shè)計的方法和C++ 語言的基本概念。學(xué)生在學(xué)習(xí)過程中可以通過大量的程序?qū)嵗拖嚓P(guān)練習(xí),逐步掌握C++的面向過程和面向?qū)ο蟮墓δ埽瑥亩莆彰嫦驅(qū)ο蟪绦蛟O(shè)計的基本知識和基本技能。
一、“C++程序設(shè)計”課程教學(xué)現(xiàn)狀分析
在眾多課程中,本課程有著獨(dú)特的地位和作用。第一,本課程是我校C++軟件課程設(shè)計的基礎(chǔ),也是很多專業(yè)實(shí)驗課(如數(shù)字圖像處理、多媒體技術(shù)原理等)的基礎(chǔ),更是計算機(jī)二級(C++)的基礎(chǔ)。第二,許多高校對研究生的編程能力有一定的要求,而C++語言則是重要的工具之一。第三,就業(yè)市場對C++高級軟件工程師的需求一直較大,并且熟悉C++語言的程序員更容易掌握其他語言。因此,熟練掌握C++程序設(shè)計語言,必然會為學(xué)生未來在畢業(yè)、深造、就業(yè)競爭中打下堅實(shí)基礎(chǔ)。
盡管“C++程序設(shè)計”課程是一門非常基礎(chǔ)且有重要價值的課程,但是由于課程抽象、學(xué)生缺乏學(xué)習(xí)興趣、學(xué)習(xí)方法不當(dāng),以及非計算機(jī)類學(xué)生編程語言基礎(chǔ)薄弱等問題,一些學(xué)生在學(xué)習(xí)過程中感覺吃力,無從下手。為了了解學(xué)生的學(xué)習(xí)現(xiàn)狀,并有針對性地進(jìn)行改善,筆者幾年來針對課程教學(xué)和課程實(shí)驗等環(huán)節(jié)設(shè)計了問卷調(diào)查,包括:
1.對未來的打算
在眾多學(xué)生中,僅有41%的學(xué)生有意愿將來從事理工科類工作并繼續(xù)深造、研究。大部分學(xué)生對未來的規(guī)劃偏向于文科、藝術(shù)類專業(yè)。這與招生過程中的調(diào)劑、學(xué)校整體特點(diǎn)等因素直接相關(guān)。
2.課程內(nèi)容是否有幫助
僅有40%的學(xué)生認(rèn)為本課程會對其今后的發(fā)展有幫助,60%的學(xué)生甚至并不清楚本課程對后續(xù)相關(guān)課程的基礎(chǔ)作用。
3.每周的自主上機(jī)時間
作為一門計算機(jī)語言類課程,實(shí)踐的重要性不言而喻。64%的學(xué)生完全沒有按照教師要求主動保證每周不少于2小時的自主實(shí)踐時間。通過溝通,部分學(xué)生認(rèn)為遇到困難難以解決是阻礙自主上機(jī)的重要因素。
4.實(shí)驗方式
41%的學(xué)生表示希望在教師引導(dǎo)下獨(dú)立完成;45%的學(xué)生表示希望在教師完全帶領(lǐng)下完成實(shí)驗;2%的學(xué)生表示對課程內(nèi)容毫無興趣,自然也不會獨(dú)立完成實(shí)驗;其余的學(xué)生則是因為無法解決實(shí)踐中的問題而退縮。
從上述調(diào)查結(jié)果看,本課程面臨的主要問題是:在部分學(xué)生完全沒有學(xué)習(xí)主動性,學(xué)生C語言基礎(chǔ)薄弱,且課時量不能增加的前提下,怎樣有效地提高學(xué)習(xí)效率?在這種需求下,設(shè)立如下改革思路:提高學(xué)生的學(xué)習(xí)興趣或至少是增強(qiáng)學(xué)生的學(xué)習(xí)動力;重點(diǎn)培養(yǎng)面向?qū)ο蟪绦蛟O(shè)計的思維,突出編程能力培養(yǎng);增強(qiáng)與學(xué)生的課外互動;實(shí)踐過程中循序漸進(jìn),有材料可依。針對以上改革思路,本課程在實(shí)際中做了一些嘗試。
二、“C++程序設(shè)計”教學(xué)改革實(shí)踐及效果
1.從“問題”到“程序”
興趣是推動學(xué)習(xí)者求知的內(nèi)在力量,[1]然而在C++語言基礎(chǔ)學(xué)習(xí)中,很多學(xué)生對課程內(nèi)容缺乏學(xué)習(xí)興趣,或是在學(xué)習(xí)過程中興趣逐漸消退。針對這個問題,筆者在課程中不僅修改了主要例題,將抽象的變量、對象更改為和現(xiàn)實(shí)事物對應(yīng)的變量和對象,還在講解過程中從具體問題著手,穿插后續(xù)課程的實(shí)例進(jìn)行演示,引出重要的基礎(chǔ)概念。這種做法能夠達(dá)到多重效果:一是讓學(xué)生提前體驗到課程成果,激發(fā)學(xué)習(xí)興趣;二是了解本課程基礎(chǔ)內(nèi)容和后續(xù)課程之間的關(guān)系,明晰課程的重要性;三是和實(shí)際問題結(jié)合,在實(shí)例講解中培養(yǎng)面向?qū)ο蟪绦蛟O(shè)計的思維,教師“舉一”,學(xué)生“反三”,增強(qiáng)學(xué)生解決實(shí)際問題的能力。
例如,很多教材給出的例題[2]與實(shí)際應(yīng)用脫節(jié),很多例題中采用“A”、“B”的類名,并沒有體現(xiàn)其具體代表的含義,不能體現(xiàn)“類是對現(xiàn)實(shí)事物的抽象”這一思想。教師在課程中從實(shí)際的課程設(shè)計題目《“畫圖板”程序設(shè)計》引入,并且向?qū)W生強(qiáng)調(diào)演示的“畫圖板”是由學(xué)長獨(dú)立完成的,并鼓勵學(xué)生進(jìn)行相關(guān)概念的學(xué)習(xí)和實(shí)訓(xùn)也努力做出類似的應(yīng)用程序,向?qū)W生傳遞一種積極的期望。在實(shí)際教學(xué)中,首先確定畫圖板能畫出直線、圓形、正方形等形狀。在面向?qū)ο笏枷胫校^承關(guān)系正是被用來描述這種“派生類是一種基類”的。明白了現(xiàn)實(shí)事物和C++語言中概念的對應(yīng)關(guān)系,再輔以具體語法講解,能讓學(xué)生明確怎么從現(xiàn)實(shí)事物映射到具體的編程語言。為了進(jìn)一步提高學(xué)生的抽象能力,需要反復(fù)列舉實(shí)際問題,引導(dǎo)學(xué)生獨(dú)立完成實(shí)例的分析和類的抽象,并在此基礎(chǔ)上用C++語言描述上述抽象過程。
通過對學(xué)生的學(xué)習(xí)效果進(jìn)行觀察發(fā)現(xiàn),教師可以幫助學(xué)生建立分析問題—解決問題—語言表達(dá)的過程,學(xué)生可以仿照該思維模式進(jìn)行問題的分析和程序的編寫,真正做到舉一反三,并在面向?qū)ο蟪绦蛟O(shè)計思維能力和編程能力上均有所提高。同時,課程末期的問卷調(diào)查表明,看到學(xué)長的成果,70%以上的學(xué)生產(chǎn)生了積極的學(xué)習(xí)意愿。這表明該措施對學(xué)習(xí)者的心理產(chǎn)生了積極的影響,為后面的課程學(xué)習(xí)奠定了良好的基礎(chǔ)。
2.增加網(wǎng)絡(luò)互動,解決課外問題
從教學(xué)現(xiàn)狀的分析看,部分學(xué)生認(rèn)為課下遇到問題不能解決成為降低學(xué)習(xí)主動性的主要因素之一。因此,在日常教學(xué)活動中需要指導(dǎo)學(xué)生正確認(rèn)識學(xué)習(xí)過程遇到的困難。本課程是一門計算機(jī)語言類課程,在學(xué)習(xí)方法上可將其和語言類課程(如英語等)做類比。這些課程均包括一定的詞匯、語法,都是對現(xiàn)實(shí)問題的描述(只是描述時所用語言不同)。也就是說,想要熟練掌握C++語言,需要像學(xué)習(xí)一門外語一樣,做好打持久戰(zhàn)的心理準(zhǔn)備。在這場持久戰(zhàn)中,學(xué)生要正確面對遇到的困難,做到知難而上。但是面對困難的決心僅靠“不畏懼”的精神是不夠的,還需要掌握克服困難的辦法。因此,教師要在必要的時候給予及時的幫助,幫助學(xué)習(xí)者逐步建立學(xué)習(xí)的信心。
面對面交互是一種效果非常理想的模式,但是受限于學(xué)生和教師時間不能統(tǒng)一、部分學(xué)生不愿意面對教師等因素,面對面的交互只能在有限時間、特定的地點(diǎn)進(jìn)行,大大降低了答疑解惑的時效性。隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,利用網(wǎng)絡(luò)進(jìn)行教學(xué)和輔導(dǎo)教學(xué)已經(jīng)成為當(dāng)前教育技術(shù)和教學(xué)活動中的一種重要形式。2008年我校網(wǎng)絡(luò)教學(xué)綜合平臺正式開通,本課程率先采用網(wǎng)絡(luò)教學(xué)平臺實(shí)現(xiàn)作業(yè)提交、問卷調(diào)查、材料發(fā)布、通知公告等教學(xué)環(huán)節(jié)。其中,“課程論壇”使輔導(dǎo)答疑不受時間和地點(diǎn)的限制,有效提高了學(xué)習(xí)者的學(xué)習(xí)積極性和學(xué)習(xí)效率。其優(yōu)勢還在于兩點(diǎn):一是學(xué)生的問題和教師的解答經(jīng)過一定時間的積累,能夠成為可重復(fù)利用的寶貴資源。例如,有些問題的瀏覽數(shù)量可達(dá)數(shù)十次,當(dāng)學(xué)習(xí)者遇到和其他人同樣的問題時,僅需瀏覽教師已做出的回復(fù)即可,避免了同樣問題的重復(fù)回答和等待教師回復(fù)造成的時延;二是教師對學(xué)生的回復(fù)學(xué)生本人可重復(fù)查看,加強(qiáng)了對學(xué)生的心理暗示,并有可能產(chǎn)生“皮格馬利翁”效應(yīng)。[3]例如,教師在回復(fù)中會增加鼓勵性的話語,這些話語落在字面上,能引起學(xué)習(xí)者大腦皮層的愉悅感,同時能激勵起學(xué)生的自信、自覺、自強(qiáng)。許多學(xué)生在自主學(xué)習(xí)中受到挫折后,只要看到這些落在字面上的鼓勵和“積極的期望”,不需要太多時間重新調(diào)整心態(tài),也不需要再次得到教師的當(dāng)面肯定,就會自己振作起來。
該項措施能夠及時解決學(xué)生在自學(xué)過程或自主上機(jī)過程中出現(xiàn)的問題,盡可能地避免了“知難而退”現(xiàn)象的發(fā)生,阻止了部分學(xué)生的流失。同時,由于在網(wǎng)絡(luò)交互中可以更多地解決C語言基礎(chǔ)薄弱引起的問題,減少了因復(fù)習(xí)C語言內(nèi)容造成的學(xué)時消耗,減輕了課時缺乏的緊迫感。針對該項改進(jìn)措施進(jìn)行問卷調(diào)查,95%的學(xué)生認(rèn)為通過網(wǎng)絡(luò)課程論壇可以與老師及時溝通,很有幫助;只有5%的學(xué)習(xí)者比較排斥網(wǎng)絡(luò)交互,這可能是由于個體溝通習(xí)慣或提問方式不當(dāng)造成的提問低效引起的,教師需注意引導(dǎo)學(xué)生有效提問。當(dāng)然,這也對教師網(wǎng)絡(luò)在線的時間提出了較高的要求。
3.實(shí)驗改革,促進(jìn)自主學(xué)習(xí)
在課程實(shí)驗課時不足的情況下,指導(dǎo)學(xué)生自主進(jìn)行上機(jī)練習(xí),是對課程實(shí)驗的有益補(bǔ)充,也是學(xué)生獨(dú)立完成課程實(shí)驗任務(wù)的鍛煉機(jī)會。但是從實(shí)際情況看,大部分學(xué)生并沒有像教師要求的那樣,主動保證足夠的課下自主實(shí)踐時間。剛剛接觸編程的人需要面對各種程序中的錯誤,如果能夠較好地解決實(shí)際中的問題,能夠大大激發(fā)他們的學(xué)習(xí)興趣;反之,則會在一定程度上抑制學(xué)習(xí)的積極性。因此,需要在自主上機(jī)初期給予學(xué)生充分的書面指導(dǎo),引導(dǎo)學(xué)生掌握必須的程序編寫技巧和調(diào)試技巧。這種“授之以漁”的實(shí)驗指導(dǎo)書,遵循了由淺入深、由易到難、由細(xì)致粗、循序漸進(jìn)的指導(dǎo)原則。指導(dǎo)書中的部分內(nèi)容在實(shí)驗課中由輔導(dǎo)老師指導(dǎo)完成,剩余部分則布置學(xué)生課外時間自主完成。
在早期的自主上機(jī)和實(shí)驗課程中,實(shí)驗指導(dǎo)書盡可能詳細(xì)地描述上機(jī)過程和上機(jī)過程中遇到的問題以及解決辦法。只要學(xué)習(xí)者按部就班地遵循實(shí)驗指導(dǎo)書的指導(dǎo),就能輕松實(shí)現(xiàn)實(shí)驗指導(dǎo)書要求的內(nèi)容。在課程實(shí)驗的后期,實(shí)驗指導(dǎo)書中僅給予必要的實(shí)驗提示,由學(xué)習(xí)者獨(dú)立思考完成題目要求。在要求自主學(xué)習(xí)的截止日期之后,由教師在網(wǎng)絡(luò)平臺上發(fā)布實(shí)驗題目的參考答案,供學(xué)生參考。實(shí)驗指導(dǎo)書能幫助學(xué)習(xí)者在自主學(xué)習(xí)中快速掌握編程技巧,快速解決程序錯誤,并逐步訓(xùn)練其自行解決問題的能力。
從結(jié)果看,能夠按照教師進(jìn)行課下自主學(xué)習(xí)的學(xué)生在實(shí)驗課中表現(xiàn)更突出,能夠在規(guī)定時間內(nèi)完成要求的內(nèi)容,并且能夠獨(dú)立解決實(shí)踐中出現(xiàn)的實(shí)際問題。從學(xué)生反饋情況看,大部分學(xué)習(xí)者能夠接受和遵循實(shí)驗指導(dǎo)書的指導(dǎo),通過自主學(xué)習(xí)達(dá)到入門的要求,培養(yǎng)了解決問題的能力。對于小部分不能跟上的學(xué)生和不能完全體會實(shí)驗指導(dǎo)書作用的同學(xué),還需要在實(shí)驗課程中著重輔導(dǎo),引領(lǐng)其入門并學(xué)會使用實(shí)驗指導(dǎo)書。
三、結(jié)論
本文對C++語言基礎(chǔ)實(shí)際教學(xué)中出現(xiàn)的常見問題進(jìn)行了分析,通過實(shí)例引入、增強(qiáng)課外網(wǎng)絡(luò)互動、改革實(shí)驗指導(dǎo)書等形式,在一定程度上激發(fā)了學(xué)習(xí)者的學(xué)習(xí)興趣;并通過以實(shí)踐為主的學(xué)習(xí)方法幫助學(xué)習(xí)者建立面向?qū)ο笏季S方式和提高編程能力;對于自主學(xué)習(xí)中遇到的問題,通過實(shí)驗指導(dǎo)書讓學(xué)生“有法可依”。這些方法能夠解決實(shí)際中出現(xiàn)的部分問題,對“C++語言程序設(shè)計”教學(xué)有較好的促進(jìn)作用。此外,在多年的教學(xué)中發(fā)現(xiàn),因為學(xué)習(xí)者個體差異(包括學(xué)習(xí)基礎(chǔ)、學(xué)習(xí)能力、學(xué)習(xí)動力等)十分明顯,而那些所謂的“學(xué)困生”往往會對其他學(xué)生產(chǎn)生消極的影響,因此還需要繼續(xù)探索怎樣針對學(xué)習(xí)者的個體差異進(jìn)行教學(xué)嘗試。
參考文獻(xiàn):
[1]朱文彬,趙淑文.高等教育心理學(xué)[M].北京:首都師范大學(xué)出版社,2007.
[2]呂鳳翥.C++語言程序設(shè)計教程[M].北京:人民郵電出版社,2008.
[3]陳敏.皮格馬利翁效應(yīng)[M].北京:北京工業(yè)大學(xué)出版社,2005.
(責(zé)任編輯:王意琴)