前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的程序設(shè)計報告主題范文,僅供參考,歡迎閱讀并收藏。
【關(guān)鍵詞】社會調(diào)查;證據(jù)性;鑒定意見
近年來,我國未成年人刑事審判已將社會調(diào)查報告制度納入其中。但在司法實踐中還存在調(diào)查主體多樣、關(guān)聯(lián)性較弱、內(nèi)容專業(yè)性不強(qiáng)、相關(guān)訴訟程序不規(guī)范等問題。為此,應(yīng)在肯認(rèn)該制度價值的前提下,明確社會調(diào)查報告的證據(jù)屬性,提升其證明力,以訴訟證據(jù)程序規(guī)范運(yùn)作。
一、社會調(diào)查報告存在的問題
《刑事訴訟法》第268條規(guī)定倡導(dǎo)未成年人刑事案件的審前調(diào)查工作制度。人民檢察院、公安機(jī)關(guān)也對該項工作進(jìn)行了類似的相應(yīng)規(guī)定。[1]不過,當(dāng)前的該制度規(guī)定較為粗糙,缺乏可操作性。
(一)調(diào)查主體問題
根據(jù)相關(guān)規(guī)定,公、檢、法都可以成為社會調(diào)查主體,但控、辯、審任何一方都難以保證相關(guān)事實及分析評價的全面性和客觀性??胤街缚胤缸锏穆毮芎芸赡苡绊懻{(diào)查報告內(nèi)容的客觀中立性。尤其對自訴案件而言,問題更為明顯。法院過多介入調(diào)查既做“裁判員”又做“運(yùn)動員”,被置于利益博弈的一極。辯護(hù)方能控制的社會資源相對有限,能否順利地開展社會調(diào)查存在一定障礙。
(二)報告內(nèi)容問題
以重慶市沙坪壩區(qū)人民法院制作的社會調(diào)查報告為例[2],調(diào)查報告分為涉案人基本情況、家庭情況、平時表現(xiàn)、涉罪后表現(xiàn)以及管教條件及措施五大部分。內(nèi)容包含了對未成年被告人有利和不利的內(nèi)容,不同內(nèi)容對犯罪事實認(rèn)定、量刑判斷具有不同影響。報告內(nèi)容主要由未成年被告人的近親屬、社區(qū)組織人員等提供,缺乏人身危險性因素的專業(yè)性評價,不符合量刑的規(guī)范化目標(biāo)。
(三)訴訟程序問題
現(xiàn)行相關(guān)規(guī)定僅為缺少可操作性的倡導(dǎo)性規(guī)定,對調(diào)查報告的采信、質(zhì)證等核心制度處于真空狀態(tài)。更重要的是,相關(guān)規(guī)定未將調(diào)查報告列為法定證據(jù),容易令其成為法官恣意的工具。
二、社會調(diào)查報告的證據(jù)性分析
案件審理時,一般僅將調(diào)查報告作為參考依據(jù)。而事實上,其作用有所超越,這不僅存在于量刑階段,甚至在定罪階段。有鑒于此,筆者認(rèn)為益將其作為證據(jù)之一種在審判程序中予以規(guī)范。
(一)證據(jù)關(guān)聯(lián)性分析
一個具有關(guān)聯(lián)性的證據(jù)材料,應(yīng)具備實質(zhì)性和邏輯上的證明力。[3]判斷證據(jù)是否具有關(guān)聯(lián)性,需要三個連續(xù)的推論:一是從證據(jù)性事實(證據(jù)提出者主張的證據(jù)事實)得出推斷性事實(依據(jù)證據(jù)事實進(jìn)行推斷得出的事實)。二是提煉出要素性事實。三是符合法定要件事實。[4]未成年人刑事審判價值定位在于堅持教育為主、懲罰為輔的原則,對未成年犯實現(xiàn)教育、感化、挽救。確有必要對其家庭環(huán)境、平時表現(xiàn)等情況(證據(jù)性事實)進(jìn)行全面調(diào)查,據(jù)此得出關(guān)于犯罪原因、人身危害性以及社會危害性的意見(推斷性事實),進(jìn)而提煉出符合法律規(guī)定的要素性事實,為從輕或減輕處罰提供依據(jù)。由此可見,調(diào)查報告與案件具有關(guān)聯(lián)性。
(二)社會調(diào)查報告的科學(xué)專業(yè)性分析
對報告的認(rèn)定可分為三個層次。首先,將對未成年人生活環(huán)境、社會活動等各方面事實的考察,作為判斷未成年人人身危害性等因素的第一層次。然后,專業(yè)人士運(yùn)用心理學(xué)知識或其他類似的方法,對未成年人心理進(jìn)行診斷,做出未成年人人身、社會危害性的專業(yè)性評價。最后,由法官從報告中提煉出符合法律規(guī)定要件事實的相關(guān)要素。
而司法中往往將上述有機(jī)統(tǒng)一的完整體系予以割裂,一種傾向于用社會學(xué)的方法進(jìn)行調(diào)查;一種傾向于運(yùn)用醫(yī)學(xué)、心理學(xué)等知識,弄清楚未成年被告人犯罪行為與生理精神狀況之間的因果關(guān)系。[5]實踐中,往往將前者用于對過往經(jīng)歷的調(diào)查,而將后者用于對未來行為的影響。社會調(diào)查與心理干預(yù)兩種制度被人為區(qū)分,不符合事物發(fā)展的客觀規(guī)律,不利于對調(diào)查報告法律屬性的定位。融入心理干預(yù)能提高調(diào)查報告的專業(yè)性,可將調(diào)查報告歸為“鑒定意見”這一證據(jù)類型。
三、社會調(diào)查報告在審判中的程序完善
由于調(diào)查報告內(nèi)容大多涉及個人品格,容易對他人產(chǎn)生暈輪效應(yīng),影響裁判公正。所以規(guī)范調(diào)查主體和質(zhì)證程序既能降低司法成本,又能防止不公。
(一)規(guī)范報告制作和評判兩個方面。制作方面,公、檢、法應(yīng)限于報告制作發(fā)起人的身份,由社會團(tuán)體組織或社區(qū)基層組織具體負(fù)責(zé)形成報告中的事實主體部分。評判方面,不宜由審判機(jī)關(guān)直接進(jìn)行法律評價。應(yīng)整合心理干預(yù)制度[6],引入專家評價,增強(qiáng)調(diào)查報告的證明力。
(二)消除影響公正裁判的“暈輪效應(yīng)”。一是區(qū)別對待報告內(nèi)容。因報告內(nèi)容涉及個人品格、性格特征等不具有直接證明力的事實,采納該類證據(jù)易產(chǎn)生偏見,特別是針對被告人的不利證據(jù)。因此可通過以下方法修正:(1)用以證明犯罪的不利證據(jù),如僅以被告人的個人品格、性格特征等不具有直接證明力的事實為內(nèi)容,則不得采信。(2)差別對待有利和不利證據(jù)的證明標(biāo)準(zhǔn)。如良好的品格證據(jù),證明標(biāo)準(zhǔn)只要達(dá)到“優(yōu)勢證據(jù)”即可,而不利的品格證據(jù),則應(yīng)達(dá)到“排除合理懷疑”的程度。[7](3)限制調(diào)查報告中對未成年被告人不利證據(jù)的提出時間。將其嚴(yán)格限制在量刑階段提出。相反,放寬反映未成年被告人品格良好內(nèi)容的提出時間,在定罪、量刑兩個階段均可提出。
(三)完善庭審質(zhì)證和證據(jù)采信程序。量刑階段,可由得出報告結(jié)論的專業(yè)人員宣讀社會調(diào)查報告,雙方對報告進(jìn)行質(zhì)證。證據(jù)采信上,若其證明會導(dǎo)致不公正偏見、混淆爭議時,則法官應(yīng)不采信該證據(jù)。
四、結(jié)語
未成年審判中引入社會調(diào)查報告制度,實質(zhì)上是在量刑時考慮罪犯的品格,幫助法官準(zhǔn)確認(rèn)識罪犯的人身危險性,從而對罪犯科以合適的刑罰。司法實踐中已有運(yùn)用之實,但規(guī)范籠統(tǒng)難以確保該制度的功能發(fā)揮。當(dāng)務(wù)之急在于盡快明確調(diào)查報告的證據(jù)性,通過規(guī)范證據(jù)程序來將該項制度導(dǎo)入正途。
參考文獻(xiàn):
[1]參加《人民檢察院辦理未成年人刑事案件的規(guī)定》第16條、《公安機(jī)關(guān)辦理未成年人違法犯罪案件的規(guī)定》第10條.
[2]重慶市沙坪壩區(qū)人民法院率先在未成年刑事審判中探索社會調(diào)查制度的運(yùn)用,在全國范圍內(nèi)具有較大影響,受到社會各界的廣泛關(guān)注.
[3]【美】喬恩?R?華爾茲著:《刑事證據(jù)大全》(第二版),何家弘等譯,中國人民公安大學(xué)出版社,第19頁.
[4]【美】羅納德?艾倫等著:《證據(jù)法:文本、問題和案例》,張保生、王進(jìn)喜、趙瀅等譯,高等教育出版社2006年版,第146-158頁.
[5]羅芳芳:《的證據(jù)學(xué)分析》,“證據(jù)科學(xué)與理論”國際研討會論文.
【關(guān)鍵詞】開放式實驗教學(xué) 程序設(shè)計 教學(xué)改革
【中圖分類號】G 【文獻(xiàn)標(biāo)識碼】A
【文章編號】0450-9889(2016)09C-0048-02
現(xiàn)階段高職院校學(xué)生程序設(shè)計能力還相對較低,這主要是由實驗教學(xué)模式存在問題所致,傳統(tǒng)教學(xué)模式仍在程序設(shè)計教學(xué)中沿用,這在很大程度上抑制了教學(xué)成效的提升。開放式實驗教學(xué)是一種先進(jìn)的實驗教學(xué)模式,它以培養(yǎng)學(xué)生創(chuàng)新意識和創(chuàng)新思維為目標(biāo),在運(yùn)用科學(xué)思維方法的基礎(chǔ)上大膽設(shè)計解決某個領(lǐng)域的相關(guān)問題,作為一種教學(xué)模式具有高度開放的特征。開放式實驗教學(xué)能夠?qū)崿F(xiàn)對學(xué)生創(chuàng)新精神和實踐動手能力的有效培養(yǎng),是推動高校人才培養(yǎng)目標(biāo)實現(xiàn)的核心途徑。相對于其他教學(xué)模式,開放式實驗教學(xué)在鞏固相關(guān)知識、培養(yǎng)工作能力、養(yǎng)成科學(xué)作風(fēng)方面具有明顯的優(yōu)勢,它能夠在提升教學(xué)成效的同時有效培養(yǎng)學(xué)生的程序設(shè)計能力,對于教學(xué)目標(biāo)的完成更加有利。因此,高職院校教師應(yīng)當(dāng)進(jìn)一步強(qiáng)化開放式實驗教學(xué),進(jìn)而培養(yǎng)出更多具備較高程序設(shè)計能力的人才。本文試分析程序設(shè)計類課程實驗教學(xué)現(xiàn)狀,探討開放式實驗教學(xué)中提高學(xué)生程序設(shè)計能力的有效策略,從而為教學(xué)改革提供理論依據(jù),推動教學(xué)水平的提升。
一、程序設(shè)計類課程實驗教學(xué)現(xiàn)狀
傳統(tǒng)實驗教學(xué)圍繞教師開展,教師依據(jù)實驗大綱和教學(xué)大綱進(jìn)行實驗任務(wù)的布置,學(xué)生被動執(zhí)行實驗任務(wù)。這種傳統(tǒng)實驗教學(xué)模式應(yīng)用于計算機(jī)程序設(shè)計類課程JAVA、C++中,會使得學(xué)生實際動手能力難以得到有效培養(yǎng),最終造成理論與實踐相脫節(jié)。由于實驗教學(xué)中學(xué)生缺乏明確目標(biāo),學(xué)生無法對實驗課程產(chǎn)生強(qiáng)烈興趣,他們機(jī)械化完成實驗任務(wù)時創(chuàng)造性思維發(fā)展會受到抑制,其程序設(shè)計能力很難得到實質(zhì)上的提升。指導(dǎo)教師的輔導(dǎo)對象往往是個別有興趣的學(xué)生,很難提升整體實驗教學(xué)效果。通過對多年程序設(shè)計類課程實驗教學(xué)進(jìn)行了解不難發(fā)現(xiàn),傳統(tǒng)實驗教學(xué)模式通常帶來以下問題:
(一)實驗教學(xué)形式僵化,學(xué)生思維難以發(fā)散
教師開展一段時間理論課程后就會安排實驗課程,并依據(jù)教材配套實驗任務(wù)演示講解,然后給學(xué)生預(yù)留一定時間完成實驗任務(wù)。配套實驗任務(wù)設(shè)計通常能夠較好地實踐和驗證階段性理論知識,但是這種設(shè)計形式下的實驗教學(xué)也具有形式僵化、內(nèi)容陳舊等問題,教師依據(jù)實驗步驟進(jìn)行正確結(jié)果的演示,學(xué)生模仿教師進(jìn)行實驗步驟的重復(fù)。這種情況下學(xué)生思維很難得到鍛煉,如果完全依據(jù)教師演示就會獲得相應(yīng)的實驗結(jié)果,但是一旦出現(xiàn)偏差學(xué)生就不知道怎樣處理。一旦出現(xiàn)問題學(xué)生通常會直接請教教師,或者重新進(jìn)行實驗步驟,對于為什么會出現(xiàn)這些問題學(xué)生很少會去思考,實驗結(jié)束后收獲很少。
(二)實驗過程被動,實驗結(jié)果唯一
傳統(tǒng)實驗教學(xué)模式中學(xué)生始終被動地進(jìn)行實驗,他們機(jī)械地進(jìn)行實驗操作,只是簡單重復(fù)一遍實驗指導(dǎo)書,這樣就能夠獲得合格的實驗結(jié)果,很多學(xué)生完成試驗后很難產(chǎn)生深刻的理解和記憶。另外,還有一部分學(xué)生沒有進(jìn)行實際的實驗操作,只是簡單地抄寫同學(xué)的實驗報告,他們連實驗的內(nèi)容都沒有掌握。當(dāng)前,很多高校學(xué)生實驗報告的內(nèi)容都基本相同,這種情況下學(xué)生不會對實驗進(jìn)行探索和研究,實驗教學(xué)很難發(fā)揮出應(yīng)有的作用。
(三)設(shè)計和實際相脫離,程序和問題相脫離
傳統(tǒng)實驗任務(wù)通常將相應(yīng)理論知識驗證作為重點,一些實驗任務(wù)的設(shè)計目的正是驗證理論。這種情況下學(xué)生即使很好地完成實驗任務(wù)也無法做到理論聯(lián)系實際,雖然能夠正確運(yùn)行所寫程序但卻無法達(dá)到解決問題的目的。例如,在累加階乘計算中,學(xué)生編寫的從1加到100程序雖然能夠正常運(yùn)行并獲得正確結(jié)果,但從1乘到100通常程序就無法獲得預(yù)期的運(yùn)行結(jié)果。由此可見在設(shè)計好的實驗任務(wù)中很難會去到某些實際問題,而學(xué)生一旦遇到這些實際問題就會束手無策,不知道怎樣處理和解決。
二、開放式實驗教學(xué)中提高學(xué)生程序設(shè)計能力的有效策略
作為一個新型教學(xué)改革項目,開放式教學(xué)與傳統(tǒng)教學(xué)模式存在顯著區(qū)別,它通過創(chuàng)新實驗方式實現(xiàn)學(xué)生創(chuàng)新精神和實踐動手能力的培養(yǎng),最終推動高校人才培養(yǎng)目標(biāo)的實現(xiàn)。在開放性實驗教學(xué)中學(xué)生不僅能夠?qū)λ鶎W(xué)知識進(jìn)行鞏固,還能夠形成嚴(yán)謹(jǐn)認(rèn)真的作風(fēng)和較強(qiáng)的工作能力,對于完成教學(xué)目標(biāo)具有推動作用,培養(yǎng)出的應(yīng)用型人才更加具備創(chuàng)新素質(zhì)。
在具體開放式實驗教學(xué)中,教師在實驗任務(wù)設(shè)計中不應(yīng)當(dāng)設(shè)定具體指標(biāo),只需將要體現(xiàn)的理論知識羅列出來,這樣學(xué)生就能夠自由發(fā)揮,通過自主設(shè)計提出自己的實驗報告。在實驗過程不固定、實驗結(jié)果不統(tǒng)一的情況下,學(xué)生就不會提交相似的實驗報告,這樣他們不僅會產(chǎn)生更大的實驗熱情,還會將自身的創(chuàng)新精神最大限度發(fā)揮出來,同時和教師充分交流實驗過程中遇到的問題。這種方式對于那些過去不進(jìn)行實驗、抄襲實驗報告的學(xué)生也會產(chǎn)生影響,由于和其他學(xué)生的實驗任務(wù)不同,他們無法抄襲別人的實驗報告,只能根據(jù)教師的指導(dǎo)設(shè)計和完成簡單的實驗任務(wù)。
(一)開放實驗教學(xué),鼓勵學(xué)生自主創(chuàng)新
實驗教學(xué)應(yīng)當(dāng)改變教師單純演示、布置實驗任務(wù)的做法,而是由教師從理論課出發(fā)針對某個問題引導(dǎo)學(xué)生進(jìn)行實驗任務(wù)的自主設(shè)計,然后在設(shè)計實驗過程中進(jìn)行相關(guān)理論知識的運(yùn)用和驗證。這樣學(xué)生創(chuàng)新意識就能夠充分發(fā)揮出來,實驗創(chuàng)新能力和動手能力才能夠得到有效培養(yǎng),進(jìn)而推動學(xué)生科研工作方法和科研思維方式的形成,使得學(xué)生能夠在實驗中解決問題,進(jìn)而更好地進(jìn)行程序設(shè)計和項目開發(fā)。例如,教師在指導(dǎo)學(xué)生進(jìn)行火車售票模擬系統(tǒng)設(shè)計時,應(yīng)當(dāng)先將其中會應(yīng)用到的理論和知識傳授給學(xué)生,并讓學(xué)生歸納程序設(shè)計中應(yīng)當(dāng)注意的問題和需要解決的問題,再在此基礎(chǔ)上進(jìn)行自主設(shè)計,對于學(xué)生難以解決的問題教師可以給予相應(yīng)的指導(dǎo)。在這個過程中不僅能夠培養(yǎng)學(xué)生的創(chuàng)新意識,還能夠鍛煉他們的動手能力和科學(xué)思維方式。
(二)學(xué)生掌控實驗過程,產(chǎn)生多樣化實驗結(jié)果
在提出問題、形成概念、解決問題等過程中,學(xué)生應(yīng)當(dāng)獨立思考、積極探索,這樣他們才能夠處于教學(xué)活動的中心,開放式實驗?zāi)J讲拍軌蛟诮處煹囊龑?dǎo)下有序運(yùn)行。在開放式實驗教學(xué)中學(xué)生應(yīng)當(dāng)獲得更加廣闊的空間發(fā)揮能動性和創(chuàng)造性,通過貫徹因材施教、發(fā)展個性的原則,為學(xué)生創(chuàng)造出良好的發(fā)展成長氛圍。讓學(xué)生主導(dǎo)實驗過程,不僅能夠?qū)W(xué)生主體作用充分發(fā)揮出來,還能夠使他們產(chǎn)生更大的參與熱情,用主動學(xué)習(xí)代替被動學(xué)習(xí)。另外,教師還應(yīng)當(dāng)引導(dǎo)學(xué)生產(chǎn)生多樣化的實驗結(jié)果,這樣學(xué)生探索創(chuàng)新的欲望才能夠被有效激發(fā)出來,進(jìn)而更加積極地投入到實驗當(dāng)中去,多樣化實驗結(jié)果還能夠引發(fā)學(xué)生進(jìn)行更加深入且廣泛的思考,進(jìn)而實現(xiàn)自身設(shè)計能力的提升。例如,在程序設(shè)計教學(xué)中,教師往往會規(guī)定程序設(shè)計步驟,告訴學(xué)生在哪個階段應(yīng)當(dāng)進(jìn)行什么內(nèi)容的設(shè)計,在開放式實驗教學(xué)中教師應(yīng)當(dāng)讓學(xué)生自主進(jìn)行程序設(shè)計步驟的安排,然后根據(jù)自身的思路和想法進(jìn)行實驗,同時不定時了解學(xué)生實驗進(jìn)度,并給予必要的指導(dǎo)。
(三)問題驅(qū)動設(shè)計,程序貼近實際
對學(xué)生掌握理解計算機(jī)邏輯設(shè)計進(jìn)行訓(xùn)練是計算機(jī)程序設(shè)計課程的主要目的,學(xué)生能夠通過程序設(shè)計對計算機(jī)解決實際問題的過程進(jìn)行控制。所以在學(xué)習(xí)過程中學(xué)生應(yīng)當(dāng)實現(xiàn)問題驅(qū)動設(shè)計,設(shè)計目的來源于問題、設(shè)計結(jié)果回歸到問題。研究問題是學(xué)生進(jìn)行不斷學(xué)習(xí)的目的,這樣學(xué)生能夠在問題解決過程中獲得成就感,進(jìn)而更好地培養(yǎng)相應(yīng)實踐能力。實際當(dāng)中程序設(shè)計應(yīng)當(dāng)和實際生活應(yīng)用緊密結(jié)合,而不能局限于課堂上構(gòu)建的理想環(huán)境。例如學(xué)生設(shè)計火車售票模擬系統(tǒng)時,教師可以首先提出實際中經(jīng)常遇到的問題,包括一個人一次可以買幾張,多個窗口同時購票情況下的先后順序。
三、結(jié)語
在計算機(jī)得到普遍應(yīng)用的今天,程序設(shè)計已經(jīng)成為日常工作中的重要技能。然而,當(dāng)前高職院校學(xué)生程序設(shè)計能力還存在較多問題,這主要是由于教學(xué)模式陳舊、落后造成的。因此,高職院校應(yīng)當(dāng)對程序設(shè)計實驗教學(xué)進(jìn)行強(qiáng)化,用開放式實驗教學(xué)替代傳統(tǒng)教學(xué),進(jìn)而實現(xiàn)對應(yīng)用型人才的有效培養(yǎng),以滿足信息化社會發(fā)展的需求。由于程序設(shè)計需要學(xué)生具有較強(qiáng)的實踐能力和創(chuàng)造能力,所以高職院校應(yīng)當(dāng)有效提升實驗教學(xué)的開放程度,同時在實驗教學(xué)過程中充分貫徹開放性教學(xué)思想,通過相互銜接、多種形式的開放模式有效提升學(xué)生程序設(shè)計能力。本文分析了程序設(shè)計類課程實驗教學(xué)現(xiàn)狀,并在此基礎(chǔ)上探討了開放式實驗教學(xué)改革策略,希望高職院校教師能夠加強(qiáng)對開放式實驗教學(xué)的重視,有效提升實驗教學(xué)成效,最終為社會培養(yǎng)出更多的合格人才。
【參考文獻(xiàn)】
[1]張永梅,馬禮,孫晶靜,等.培養(yǎng)學(xué)生程序設(shè)計、實踐與創(chuàng)新能力的探索[J].電腦知識與技術(shù)(社會科學(xué)版),2016(1)
[2]張野,宋微,馮冬茹,等.程序設(shè)計實驗課堂錯誤轉(zhuǎn)化提升策略研究[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2016(4)
[3]任長普,何炎明,張兆梁,等.遠(yuǎn)程開放教育VB程序設(shè)計課程教學(xué)實踐――以克拉瑪依電大教學(xué)為例[J].開封教育學(xué)院學(xué)報(社會科學(xué)版),2015(3)
[4]王曉東,朱華,王金發(fā),等.加強(qiáng)實驗教學(xué)示范中心建設(shè) 促進(jìn)實驗教學(xué)改革[J].實驗室研究與探索(自然科學(xué)版),2015(1)
關(guān)鍵詞:計算機(jī)專業(yè);程序設(shè)計;基礎(chǔ)課程;教學(xué)改革
程序設(shè)計課程與計算機(jī)學(xué)科的基礎(chǔ)教學(xué)密切相關(guān),學(xué)生要想學(xué)好計算機(jī)基礎(chǔ)課首先就要明確程序設(shè)計的基本思路及其原理。通過學(xué)習(xí)程序設(shè)計的基本原理,學(xué)生可以掌握程序設(shè)計的流程與思路,在此基礎(chǔ)上嘗試創(chuàng)新程序設(shè)計。相比于傳統(tǒng)教學(xué),新時期的計算機(jī)程序設(shè)計課程致力于培育創(chuàng)新能力,通過課堂創(chuàng)新的方式來激發(fā)同學(xué)們的興趣[1]。為此在改革程序設(shè)計的基礎(chǔ)課程時,師生有必要做到密切配合,共同探求更適合程序設(shè)計課堂的新型教學(xué)思路。在日常教學(xué)中,教師也應(yīng)當(dāng)尊重同學(xué)們的主體地位,為學(xué)員提供自主探究的空間。只有不斷改進(jìn)程序設(shè)計的教學(xué)思路,才能確保符合新形勢下的計算機(jī)學(xué)科課改方向,從而提高學(xué)員的實踐素養(yǎng)。
1程序設(shè)計基礎(chǔ)課的現(xiàn)狀
從現(xiàn)狀來看,程序設(shè)計構(gòu)成了很多學(xué)科的基礎(chǔ)課程,計算機(jī)專業(yè)尤其不能缺少程序設(shè)計作為保障。然而從目前現(xiàn)狀來看,程序設(shè)計的基礎(chǔ)課并沒有實現(xiàn)完善。受到應(yīng)試壓力影響,計算機(jī)專業(yè)課堂仍充滿壓抑和枯燥的氛圍。通常情況下,教師負(fù)責(zé)為同學(xué)們講解程序設(shè)計基礎(chǔ)的相關(guān)知識點,然后選擇適當(dāng)?shù)牧?xí)題讓同學(xué)們演練。這樣做固然有助于提高同學(xué)們的學(xué)科成績,然而卻背離了新課改的根本前提,長期以來很多學(xué)生就會對程序設(shè)計基礎(chǔ)產(chǎn)生畏難和厭倦的感覺,因而無法激發(fā)對于這門學(xué)科的濃厚興趣[2]。從目前來看,程序設(shè)計基礎(chǔ)在日常教學(xué)中仍體現(xiàn)了如下缺陷:首先,程序設(shè)計基礎(chǔ)仍缺乏最基本的任務(wù)驅(qū)動,過于重視程序設(shè)計語法。實質(zhì)上,程序設(shè)計基礎(chǔ)不僅包含了語法知識,同時還應(yīng)當(dāng)設(shè)置任務(wù)驅(qū)動。在任務(wù)驅(qū)動的前提下,學(xué)生才會感覺到程序設(shè)計基礎(chǔ)課堂是充滿趣味的,而并非單調(diào)和枯燥的。然而目前在這門學(xué)科的日常教學(xué)中,很多教師仍忽視任務(wù)驅(qū)動,師生覺得只要明確了程序設(shè)計相應(yīng)的語法規(guī)則,那么就可以應(yīng)對這門學(xué)科的考試。缺乏任務(wù)驅(qū)動的課堂壓抑了同學(xué)們的自主探究熱情,同時也背離了實踐導(dǎo)向的課堂改革。長期以來,很多學(xué)生雖然獲得了較高的成績和分?jǐn)?shù),但卻并不符合真正的編程操作要求[3]。其次,程式化的程序設(shè)計課堂內(nèi)容經(jīng)常脫離實踐,不利于學(xué)員綜合素養(yǎng)的全面提高。長期以來,程序設(shè)計基礎(chǔ)都是依照既定的模塊來展開課堂的。這種狀態(tài)下,程序設(shè)計基礎(chǔ)課堂就會十分枯燥,師生過于重視描述性和驗證性的程序設(shè)計知識,同時也忽視了綜合與創(chuàng)新性的編程知識。此外,程序設(shè)計中的某些知識點也沒有密切結(jié)合軟件工程的編程實踐,因而很難從根源上確保良好的實踐效果[4]。通常在程序設(shè)計的課堂上,學(xué)員只要依照教師的思路來填寫報告并且描述既定的編程步驟就可以了,而不必深入探究程序設(shè)計的深層知識。這種課堂模式體現(xiàn)了較強(qiáng)的隨意性特征,缺乏必要的課堂監(jiān)督。情況嚴(yán)重時,某些學(xué)生甚至?xí)u其他同學(xué)的實驗報告。第三,程序設(shè)計基礎(chǔ)沒有體現(xiàn)全方位的考核指標(biāo),通常停留于筆試形式。如果運(yùn)用單一的筆試來考核學(xué)員的編程水平,則無法明確程序設(shè)計的真實水平。同時,現(xiàn)階段的程序設(shè)計考試題目也相對單一,沒有做到緊密結(jié)合編程實踐與基本原理。在這種狀況下,學(xué)員一旦面對上機(jī)操作,經(jīng)常會感覺到無所適從,無法發(fā)揮程序設(shè)計方面的創(chuàng)新潛能。由此可見,單一的課程考核指標(biāo)壓抑了學(xué)員學(xué)習(xí)程序設(shè)計的熱情與積極性,從長期的角度來看也不利于程序設(shè)計綜合水平的提高。
2改革課程教學(xué)的具體思路
計算機(jī)專業(yè)中的程序設(shè)計基礎(chǔ)具有較強(qiáng)的復(fù)雜性特征,因而在課改過程中也需要不斷嘗試新思路。師生在課堂上應(yīng)當(dāng)做好密切配合,在此基礎(chǔ)上致力于降低程序設(shè)計的整體難度,確保同學(xué)們對于程序設(shè)計具有興趣與熱情[5]。為了改進(jìn)課堂現(xiàn)狀,應(yīng)當(dāng)依照如下思路來完成課程改革。
2.1做好先期的課堂預(yù)備
在進(jìn)入系統(tǒng)化學(xué)習(xí)之前,教師先要指引同學(xué)們做好先期的課堂預(yù)備。很多選擇了計算機(jī)專業(yè)的學(xué)員,都是初步接觸程序設(shè)計。為此,教師應(yīng)當(dāng)對于新入學(xué)的學(xué)生予以全面的指引,做好充足的先期預(yù)備。在進(jìn)入課堂講解前,教師需要確保同學(xué)們明確程序設(shè)計的具體運(yùn)行機(jī)制,這樣做有助于打好程序設(shè)計的基礎(chǔ)。學(xué)生如果能透徹理解計算機(jī)的基本運(yùn)行原理、程序代碼與指令的特征、各種數(shù)值的換算方式等,那么就可以迅速進(jìn)入編程基礎(chǔ)的學(xué)習(xí)中。此外,計算機(jī)內(nèi)存分配的知識也應(yīng)當(dāng)構(gòu)成程序設(shè)計的基礎(chǔ)。在理解相關(guān)概念的前提下,學(xué)員將會迅速進(jìn)入后期的編程實踐。例如:內(nèi)存分配與程序設(shè)計之間具有直接性的聯(lián)系。學(xué)生在掌握內(nèi)存分配問題的基礎(chǔ)上,就可以透徹理解不同類型的變量定義。這是由于,對于不同類型的變量而言,在計算機(jī)內(nèi)部占據(jù)的存儲空間也并不相同[6]。從系統(tǒng)化角度來講,如果超出了限定的數(shù)值范圍則容易導(dǎo)致溢出的現(xiàn)象發(fā)生。因此,在學(xué)習(xí)程序設(shè)計的前期就有必要了解內(nèi)存分配的相關(guān)問題,通過這種方式為后期的程序設(shè)計創(chuàng)新提供必要條件。
2.2激發(fā)創(chuàng)新意識與創(chuàng)造潛能
在程序設(shè)計領(lǐng)域中,對于不同類型的例題通??梢赃x擇不同的解答方式。通過尋求一題多解的方法,有助于激發(fā)同學(xué)們在程序設(shè)計領(lǐng)域的創(chuàng)新潛能。在程序設(shè)計課堂上,教師應(yīng)當(dāng)給予學(xué)員必要的思維啟發(fā),鼓勵同學(xué)們嘗試多樣的編程與設(shè)計方法。實際上,計算機(jī)學(xué)科的很多題目都具有多種解答思路,與之相應(yīng)的解題結(jié)果也可以劃分為多種類型。如果能嘗試運(yùn)用多樣的算法來實現(xiàn),那么就可以體會到程序設(shè)計的趣味性。通過對比各類算法的基本原理,師生就可以歸納得到最簡便的一類程序算法,從而省略了程序設(shè)計中的繁瑣操作流程。例如:教師在講解關(guān)于字符串排序的基礎(chǔ)知識時,可以運(yùn)用字符指針或者字符數(shù)組的方式來實現(xiàn)簡便的排序。這是因為,運(yùn)用數(shù)組的基本原理可以解決多樣化的字符串排序問題,這種方式簡化了繁雜的編程步驟。經(jīng)過分析與對比,同學(xué)們就能找出各類算法的差異與相似處,這樣做有利于活躍思維,逐步培養(yǎng)同學(xué)們在編程操作中的創(chuàng)新意識。再如:對于程序設(shè)計中的封裝概念,教師可以讓同學(xué)們聯(lián)想共性與個性之間的聯(lián)系,在此基礎(chǔ)上透徹了解封裝的原理[7]。
2.3密切結(jié)合基礎(chǔ)原理與實踐
相比于其他學(xué)科,程序設(shè)計基礎(chǔ)本身就具有顯著的實踐性特征。在課堂教學(xué)中,教師應(yīng)當(dāng)從全面的角度入手,確保把課堂所學(xué)的編程原理與編程實踐緊密結(jié)合在一起。在程序設(shè)計基礎(chǔ)的課堂教學(xué)中,師生可以共同嘗試多樣的教學(xué)流程與方法,例如互動式與啟發(fā)式的程序設(shè)計教學(xué)。只有綜合運(yùn)用多樣的程序設(shè)計模式,才能開闊視野并且啟發(fā)思維,讓學(xué)生真正體會到程序設(shè)計的趣味性。對于程序設(shè)計的實驗教學(xué)而言,教師先要設(shè)計明確的課堂實驗?zāi)繕?biāo),然后運(yùn)用小組協(xié)作的方式來啟發(fā)實踐思維。為了增強(qiáng)互動,師生還可以構(gòu)建QQ群或者微信群,分享程序設(shè)計課堂的體驗。
3結(jié)語
對于計算機(jī)專業(yè)來講,程序設(shè)計的基礎(chǔ)課程包含了多層次的內(nèi)容。在新的形勢下,各行業(yè)都面臨激烈的競爭。對于計算機(jī)專業(yè)畢業(yè)的學(xué)員而言,如果能做到靈活應(yīng)用在校期間所學(xué)的程序設(shè)計流程,那么就能迅速適應(yīng)崗位實踐,這樣做也符合新課改的根本目標(biāo)。因此,計算機(jī)專業(yè)的學(xué)員應(yīng)當(dāng)能靈活運(yùn)用程序設(shè)計的基本原理,在此基礎(chǔ)上突顯程序設(shè)計課程教學(xué)的創(chuàng)新性。然而截至目前,計算機(jī)專業(yè)體系中的程序設(shè)計基礎(chǔ)教學(xué)并沒有真正完善,仍存在需要改進(jìn)的地方。在未來的課改實踐中,師生還需要緊密配合,共同探索適合程序設(shè)計基礎(chǔ)課程改革的新思路,從而全面確保程序設(shè)計基礎(chǔ)教學(xué)的完善和提高。
[參考文獻(xiàn)]
[1]王曉勇,方躍峰,肖四友,等.以專業(yè)應(yīng)用為導(dǎo)向的計算機(jī)基礎(chǔ)課程教學(xué)改革與實踐[J].中國大學(xué)教學(xué),2012(7):39-42.
[2]郭艷燕,張樹粹,胡瀟琨,等.計算機(jī)專業(yè)程序設(shè)計基礎(chǔ)課程教學(xué)改革探索[J].計算機(jī)教育,2012(8):72-75.
[3]丁海燕.計算機(jī)專業(yè)高級語言程序設(shè)計課程改革方案[J].云南大學(xué)學(xué)報(自然科學(xué)版),2012(S1):387-390.
[4]許麗娟,黃冬梅,王愛繼.以計算思維為導(dǎo)向的非計算機(jī)專業(yè)程序設(shè)計課程創(chuàng)新教學(xué)[J].計算機(jī)教育,2015(12):31-34.
[5]張艷.“互聯(lián)網(wǎng)+”背景下計算機(jī)專業(yè)程序設(shè)計課程教學(xué)改革初探[J].北華航天工業(yè)學(xué)院學(xué)報,2015(5):39-41.
[6]黃云,洪佳明,覃遵躍,等.基于云平臺的“程序設(shè)計基礎(chǔ)”課程實驗教學(xué)改革[J].實驗室研究與探索,2016(2):191-195,223.
關(guān)鍵詞:PAR方法;PAR平臺;形式化推導(dǎo);算法
中圖分類號:G623 文獻(xiàn)標(biāo)示碼:A文章編號:1009-3044(2010)07-1641-04
The Applied of PAR Method in Mathematics Algorithm
YANG Chen
(School of Computer Information & Engineering, Jiangxi Nomal University, Nanchang 330022, China)
Abstract: Algorithm already into the high school textbook, the use of PAR as the primary platform in high school learning algorithm. Through the formal PAR derived polynomials and prime numbers to achieve the two classical mathematical problem, Show that the PAR has a good math and programming language transparency, to be brief algorithm is also easy to understand at the same time guarantee the correctness of algorithm, Theoretical analysis and experiments show that the learning algorithm PAR is an effective platform for Learning algorithm.
Key words: PAR approach; PAR platform; formal derivation; algorithm
20世紀(jì)數(shù)學(xué)發(fā)生了很大的變化就是數(shù)學(xué)與計算機(jī)科學(xué)的同步發(fā)展。計算機(jī)的飛速發(fā)展對數(shù)學(xué)的發(fā)展起了極大的推動作用,加強(qiáng)了數(shù)學(xué)與其他學(xué)科的聯(lián)系,拓展了數(shù)學(xué)的應(yīng)用范圍。所有這一切,算法起了重要的作用。
1 PAR方法
PAR[1-5]方法是薛錦云教授提出了基本分劃和遞推(Partition-And-Recur)的算法程序設(shè)計方法。PAR方法是一種簡單實用的支持算法程序開發(fā)全過程的形式化方法。PAR方法進(jìn)行算法程序設(shè)計有兩種方法:對于一個給定的算法程序設(shè)計問題,先用符號化的規(guī)范描述語言,寫出這個問題的形式化規(guī)范,然后采用變換方法,將問題的形式規(guī)范變換成可執(zhí)行的程序。另一種形式方法是對于給定算法程序設(shè)計問題,先寫出該問題的形式化規(guī)范,然后使用形式化和非形式化相結(jié)合的方法,開發(fā)或證明算法程序正確。
PAR方法/PAR生成系統(tǒng)由自定義泛型算法程序設(shè)計語言Radl及相關(guān)規(guī)約轉(zhuǎn)換規(guī)則庫;泛型抽象程序設(shè)計語言Apla;系列Radl到Apla,Apla到Java、C++、C#、Delphi、等可執(zhí)行語言程序自動生成系統(tǒng)組成。
Radl語言[6]是為實現(xiàn)算法程序形式化和半自動化開發(fā)而定義的一種基于遞推關(guān)系的算法設(shè)計語言,它是PAR方法/PAR平臺的重要組成部分,其主要功能是描述問題的規(guī)約、規(guī)約變換規(guī)則和算法,它使用統(tǒng)一格式(Qi : r(i) : f(i)) Q代表量詞,i表示約束于量詞Q的變量集合,簡稱為約束變量集,r(i)為一邏輯表達(dá)式,表示i的變化范圍,f(i)為一個函數(shù)或表達(dá)式,其類型隨著量詞Q的不同而有所不同。Q可以是?坌(全稱量詞),?堝(存在量詞),MIN(求最小值量詞),MAX(求最大值量詞),∑(求和量詞),∏(求積量詞)等,分別對應(yīng)的 q 運(yùn)算是 ∧,∨,min, max , + , ×,等1利用這些量詞的性質(zhì)可以進(jìn)行規(guī)約變換,本文使用到的變換規(guī)則主要有:單點分裂(Qi:i=k:f(i)) = f(k),范圍分裂(Qi:r(i):f(i)) = (Qi:r(i)∧b(i):f(i))q(Q i:r(i)∧b(i):f(i))。
Apla語言[7]是Radl算法到Apla程序生成系統(tǒng)的目標(biāo)語言,又是Apla到VB、Delphi、Java, C++等可執(zhí)行語言程序生成系統(tǒng)的源語言。下面舉出兩個數(shù)學(xué)例題分別采用PAR的兩種開發(fā)算法的方法實現(xiàn)。
2 實例
2.1 求給定多項式的值
第一步:描述求解問題的形式規(guī)約:
前置斷言:n≥0
后置斷言:
第二步:構(gòu)建遞推序列尋找遞推關(guān)系
{i量詞范圍分裂}
{i量詞單點分裂}
{j范圍分裂}
(j單點分裂和量詞演算}
{函數(shù)一般分配律 }
{簡單數(shù)學(xué)性質(zhì) }
{簡單數(shù)學(xué)化簡}
{根據(jù)f(n)的定義}
得到一個關(guān)系式f( j )=f( j-1 )x+α0,然后在求f( j-1 ),同理可得到f( j-1 )=f ( j-2 )x+a1依次對f(j-i)
第三步:構(gòu)造循環(huán)不變式[8-9]
ρ=f(x)∧(0≤i≤n)
第四步:寫出對應(yīng)的Radl算法程序
APGOITHM:ploysum
{[n,i:integer;a,v,x:real]}
{Q∧R}
BEGIN: v:=a;i:=n-1;
TREMINATION:i=0
RECUR: v:=v*x+a;
END
第五步:將算法轉(zhuǎn)換成對應(yīng)的APLA程序
program ploysum;
var
n:integer;
i:integer;
a:real;
v:real;
x:real;
begin
writeln("輸入多項式系數(shù)n,最高次系數(shù)a,和x的值");
read(n,a,x);
v:=a;i:=n-1;
do i≥0writeln("輸入i次項及其系數(shù)ai");read(i,a);v:=v*x+a;i:=i-1;od;
end.
第六步:通過PAR平臺裝換成C++語言(略)
2.2 判斷一個大于1的數(shù)是否是素數(shù)
第一步:構(gòu)造問題的規(guī)約
|[ in n: interger; out prime:Boolean; aux k:interger ]|
規(guī)約:Q: n≥2 ∧ k=sqrt(n)+1
R: prime=(i: 2≤i
第二步:構(gòu)造循環(huán)不變式
使用傳統(tǒng)的循環(huán)不變式開發(fā)策略:用變量置換后置斷言R中的常量,并給出變量的變化范圍即可得到循環(huán)不變式。
I: prime=(i: 2≤i
第三步:寫出對應(yīng)的算法程序
參數(shù)說明:|[ in n: interger; out prime:Boolean; aux k:interger ]|
規(guī)約:Q: n≥2 ∧ k=sqrt(n)+1
R: prime=(i: 2≤i
循環(huán)不變式:I:prime=(i: 2≤i
界函數(shù):T:k-j
算法:begin
j, prime := 2,true;
do j≠k∧prime=true if mod(n,j)=0 prime := falsefi
j :=j+1;
od
end;
第四步:算法程序的正確性證明
1)Q => wp(“j,prime := 2,true”, I)
n≥2 ∧ k=sqrt(n)+1 => (prime=(i: 2≤i
n≥2 ∧ k=sqrt(n)+1 => true
true
2)I∧c => wp(“if, j :=j+1, I)
prime=(i: 2≤i wp(“if”, prime=(i: 2≤i
prime=(i: 2≤i false=(i: 2≤i
(性質(zhì):A=>B=>C A∧B=>C)
ture=(i: 2≤i
ture=(i: 2≤i
true
3) I∧┒c => Q
prime=(i: 2≤i
?陴 prime=(i: 2≤i
(性質(zhì):A∧(B∨C) (A∧B)∨(A∧C))
prime=(i: 2≤i
true
4)I∧c => T>0
prime=(i: 2≤i0
true
5)I∧c => wp(“T0:=k-j; s”, k-j
true=(i: 2≤i
true
由1)2)3)4)5)的證明可知,原程序是完全正確的。
第五步:根據(jù)算法程序?qū)懗鼍唧wAPLA程序
program sushu;
var j,k,n:integer;
prime:boolean;
begin
j,prime:=2,true;
writeln("求n的m次方的末p位數(shù)--請輸入n:");
readln(n);
k:=sqrt(n)+1;
do (j≠k)∧(prime=true) if mod(n,j)=0prime:=false; fi ;
j:=j+1;
od;
if(prime=true)writeln("此數(shù)是素數(shù)");fi;
if(prime=false)writeln("此數(shù)不是素數(shù)");fi;
end.
3 結(jié)論
PAR方法蘊(yùn)含了許多的數(shù)學(xué)思想,在Radl中給出的量詞都是數(shù)學(xué)常用的一般量詞,這對于一個數(shù)學(xué)工作者來說非常重要,即使他不懂程序設(shè)計語言也可以寫出算法程序來。做到了將算法設(shè)計從程序設(shè)計中分離出來,可以使得程序員跳出程序設(shè)計語言的縛束將注意力集中在算法本身上來,有助于掌握和理解算法的本質(zhì)。PAR方法又是一種形式化的算法開發(fā)方法,在PAR平臺下寫出的算法保證可以保證其正確性,PAR方法已經(jīng)解決了大量的數(shù)值問題[10-12],PAR方法這些突出的優(yōu)點一定會在我國新時代的高中數(shù)學(xué)教學(xué)中發(fā)揮其獨特的作用。
參考文獻(xiàn):
[1] Xue Jinyun.A Unified Approach for Developing Efficient algorithmic programs[J].Journal of Computer Science and Technology,1997,12(4):314-329.
[2] Xue Jinyun.Formal Derivation of Graph Algorithmic Programs Using Partition-and-Recur[J].Journal of Computer Science and Technology,1997,13(6):553-561.
[3] Xue Jinyun.Developing the Generic Path Algorithmic Program and Its instantiations Using PAR Method[R].Proceedings of The Second Asian Workshop on Programming Languages, KAIST,Korea,2001.
[4] Xue Jinyun.PAR Method and its Supporting Platform[R].Proceedings of AWCVS'2006,Macao,OCT,2006:29-31.
[5] 薛錦云.算法程序形式化開發(fā)研究[J].云南大學(xué)學(xué)報,1997(19):283-288.
[6] 薛錦云.抽象程序設(shè)計語言Radl報告[R].江西師范大學(xué)省高性能計算技術(shù)重點實驗室技術(shù)報告,2001.
[7] 薛錦云.抽象程序設(shè)計語言Apla報告[R].江西師范人學(xué)計算機(jī)軟件研究所技術(shù)報告,2001.
[8] Xue Jinyun.Two new strategies for developing loop invariants and their applications[J].Journal of Computer Science and Technology,1993,8(2):147-154.
[9] Xue Jinyun.The Discussion of Loop Invariant and Developing Technology[C].Beijing:The Fourth Convention of Software Engineering,1991.
[10] 石海鶴,石海鵬,薛錦云.形式化開發(fā)若干組合數(shù)學(xué)問題的算法[J].江西師范大學(xué)學(xué)報,2006(5):424-427.
[11] 胡啟敏,薛錦云.若干算法程序的形式化推導(dǎo)與生成技術(shù)研究[J].計算機(jī)研究與發(fā)展,2008(S1):148-153.
關(guān)鍵詞:程序設(shè)計競賽;在線評測;計算機(jī)算法;教學(xué)改革
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A
1程序設(shè)計競賽
近年來,針對大學(xué)生的程序設(shè)計競賽開展得越來越多,比較常見的有ACM-ICPC、TopCoder、百度之星、Google挑戰(zhàn)賽等。其中ACM-ICPC (ACM International Collegiate Programming Contest)即ACM國際大學(xué)生程序設(shè)計競賽,是歷史最悠久、規(guī)模最大的競賽。
由于程序設(shè)計競賽具有開放性、綜合性和評判的客觀性特征,可以有效檢驗參賽選手綜合應(yīng)用知識分析和解決問題的能力,因此它不僅培養(yǎng)參賽選手的創(chuàng)造力和團(tuán)隊合作精神,而且也檢測選手們在壓力下進(jìn)行創(chuàng)新思維和理性實踐的能力。通過參與比賽,學(xué)生提高了利用計算機(jī)求解問題和程序設(shè)計的能力,形成積極向上的自主學(xué)習(xí)氛圍。
在程序設(shè)計競賽中,在線評測系統(tǒng)是開展競賽的核心。它是一個在線程序與算法設(shè)計的練習(xí)和競賽平臺,提供大量程序和算法設(shè)計的題目,供學(xué)生練習(xí)或競賽,學(xué)生可以使用自己熟悉的語言提交程序代碼,系統(tǒng)編譯提交代碼,如果沒有錯誤,則生成可執(zhí)行文件,并利用系統(tǒng)的測試用例來測試,如果輸出結(jié)果正確,則返回程序消耗的內(nèi)存空間和時間。對于競賽題目,系統(tǒng)可以從程序正確性、運(yùn)行總時間、消耗內(nèi)存空間、返回結(jié)果等方面來考察學(xué)生提交的代碼,且支持多種語言。系統(tǒng)可以實現(xiàn)在制定的時間段提供競賽的功能,根據(jù)學(xué)生解題數(shù)目和時間進(jìn)行排名,也可以批量導(dǎo)出學(xué)生代碼,進(jìn)行分析。在線評測系統(tǒng)除了能用于程序設(shè)計競賽外,還可以廣泛用于輔助程序設(shè)計類課程的教學(xué),為學(xué)生提供一個開放的、自主學(xué)習(xí)的實驗環(huán)境。
2基于競賽模式的算法分析與教學(xué)設(shè)計
2.1 “算法分析與設(shè)計”課程的特點
計算機(jī)專業(yè)要培養(yǎng)具備較強(qiáng)程序設(shè)計能力的程序員,需要掌握高級程序設(shè)計語言及數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計策略及設(shè)計模式、軟件體系結(jié)構(gòu)及開發(fā)方法等知識?!八惴ǚ治雠c設(shè)計”是面向設(shè)計的核心課程,主要通過介紹常見的算法設(shè)計策略及復(fù)雜性分析方法,培養(yǎng)學(xué)生分析和解決問題的能力,為開發(fā)高效的軟件系統(tǒng)奠定堅實的基礎(chǔ)。該課程理論與實踐并重,內(nèi)容具有綜合性、廣泛性和系統(tǒng)性,是一門集應(yīng)用性、創(chuàng)造性及實踐性融為一體的課程。主要內(nèi)容包括算法效率分析基礎(chǔ)、分治法、貪心法、動態(tài)規(guī)劃、分支限界、回溯、近似算法、概率算法等常見的算法設(shè)計策略,也覆蓋了排序、搜索、圖論、幾何、組合、數(shù)值計算等問題,這也是程序設(shè)計競賽中常見的核心問題。因此,該課程在強(qiáng)調(diào)算法的設(shè)計思想和方法的同時,需要更加注重算法的應(yīng)用和實現(xiàn),教會學(xué)生如何利用計算機(jī)創(chuàng)造性地解決問題,培養(yǎng)學(xué)生獨立分析和解決問題的能力。
目前,該課程的教學(xué)方法還是以傳統(tǒng)的講解為主,教師通常只是將已有的經(jīng)典算法在已有的數(shù)學(xué)模型和數(shù)據(jù)結(jié)構(gòu)上片面地解釋給學(xué)生;在實踐環(huán)節(jié)只是盲目的驗證算法,而對該算法的運(yùn)行效率、測試數(shù)據(jù)規(guī)模以及實際的應(yīng)用場景則很少考慮。學(xué)生的學(xué)習(xí)則主要以理解和記憶為主,沒有“理解”和“消化”,不能靈活運(yùn)用算法;在實踐環(huán)節(jié),學(xué)生代碼抄襲嚴(yán)重,很難達(dá)到訓(xùn)練的效果。這種教學(xué)模式下,學(xué)生缺乏問題抽象能力,在遇到實際問題時無從下手,思維創(chuàng)新能力和實踐能力難以得到有效的提高。
針對以上問題,筆者利用程序設(shè)計競賽模式和在線評測系統(tǒng)的特點,來彌補(bǔ)課程教學(xué)中的不足,探討“算法分析與設(shè)計”的課程教學(xué)改革,培養(yǎng)高水平的創(chuàng)新型IT人才。
2.2基于程序設(shè)計競賽的算法分析與設(shè)計教學(xué)模式
程序設(shè)計競賽具有一定的時效性、開放性和評判的客觀性,學(xué)生通過競賽可以有效提高問題求解和程序設(shè)計能力?!八惴ǚ治雠c設(shè)計”課程通過介紹一些具體問題(如排序問題、檢索問題、路徑問題、組合問題等)的解決策略,讓學(xué)生掌握算法的設(shè)計策略和分析方法。把這些問題編制成在線評測系統(tǒng)上的競賽題目,在指定的時間內(nèi)以競賽方式開展實驗或考核,讓學(xué)生提交解決問題的程序代碼,最后再導(dǎo)出學(xué)生代碼進(jìn)行分析。為了避免學(xué)生大規(guī)模的代碼抄襲,可以使用代碼甄別系統(tǒng),該系統(tǒng)可判斷代碼的雷同率,有效分析學(xué)生代碼的抄襲程度。教學(xué)基本模式(圖1)以“競賽題目”為中心,通過課堂教學(xué)和課后實踐兩個環(huán)節(jié),讓學(xué)生掌握算法分析方法和常見的算法設(shè)計方法,并應(yīng)用到實際問題中,訓(xùn)練學(xué)生的程序設(shè)計能力。
競賽題目的設(shè)計是課程教學(xué)的核心。題目設(shè)計應(yīng)注意難度適中、內(nèi)容新穎、能有效激發(fā)學(xué)生的學(xué)習(xí)興趣,更重要的是要融入一種或多種算法設(shè)計策略,創(chuàng)造一種與現(xiàn)實應(yīng)用緊密結(jié)合的環(huán)境;同時提供具有一定規(guī)模的一組或多組測試數(shù)據(jù),以測試算法的效率。另外,設(shè)計題目時還應(yīng)考慮學(xué)生水平的差異,對于能力強(qiáng)的學(xué)生,在完成基本要求的基礎(chǔ)上,再增加一些有難度的問題,并引導(dǎo)學(xué)生自主研究新的問題解決方法,激發(fā)學(xué)生的創(chuàng)新能力。在具體實施時,考慮提供多個難易程度不一樣的題目,如可分為基本算法的驗證、基本應(yīng)用、綜合應(yīng)用三個層次,一些為必選,一些為可選,讓學(xué)生選擇完成,因材施教。如合并排序、快速排序可作為基本算法的驗證,最近點對和凸包問題可作為分治法的基本應(yīng)用,而挑棒游戲可作為動態(tài)規(guī)劃策略中求解有向圖傳遞閉包的Warshall算法的綜合應(yīng)用。
課堂教學(xué)重點應(yīng)放在指導(dǎo)學(xué)習(xí)方法,根據(jù)任務(wù)引導(dǎo)學(xué)生理解算法設(shè)計的基本策略與分析的基本思路;通過具體實例解析一些經(jīng)典算法,讓學(xué)生討論算法在求解該任務(wù)時的效率,分析方法的優(yōu)劣及適用場景;注意對問題進(jìn)行歸類,揭示算法設(shè)計策略的規(guī)律,使學(xué)生觸類旁通;采用啟發(fā)式提問,運(yùn)用富有思考性的問題,引導(dǎo)學(xué)生自己去分析、解決問題。在題目求解方案找到后,適時地開展課堂討論,引導(dǎo)學(xué)生對方案提出疑問,討論算法的效率及實際應(yīng)用場景,激發(fā)學(xué)生探求新的解決思路,讓學(xué)生對各種方法加以評價;啟發(fā)學(xué)生的思維,加深對問題的理解。
2.3基于程序設(shè)計競賽的教學(xué)模式的優(yōu)勢
(1) 提供了開放的、自主學(xué)習(xí)的實驗環(huán)境。通過網(wǎng)絡(luò)使用,學(xué)生可以隨時提交程序代碼,并可在豐富的程序與算法設(shè)計題庫中尋找合適的題目,訓(xùn)練程序設(shè)計能力。
(2) 有效訓(xùn)練了學(xué)生的程序設(shè)計能力,培養(yǎng)創(chuàng)新型IT人才?!八惴ǚ治雠c設(shè)計”的學(xué)習(xí)難點在于如何將常見的算法策略應(yīng)用到實際環(huán)境中。通過三個層次(算法驗證、基本應(yīng)用、綜合應(yīng)用)的實踐訓(xùn)練,讓學(xué)生熟練掌握常見的算法設(shè)計策略,加深對各種算法設(shè)計策略的認(rèn)識,理解算法的意義及精髓,達(dá)到學(xué)以致用。
(3) 形成良好的學(xué)習(xí)氛圍,加強(qiáng)學(xué)生之間的交流。使用在線評測系統(tǒng)進(jìn)行課程考核并舉辦程序與算法設(shè)計競賽,以團(tuán)隊方式參與,可以形成良好的校園競爭和交流的學(xué)習(xí)氛圍;學(xué)生有了在課余時間自主進(jìn)行本學(xué)科知識鉆研的機(jī)會和環(huán)境;也讓學(xué)生體驗團(tuán)隊協(xié)作的重要性,為軟件項目團(tuán)隊化的合作要求做好準(zhǔn)備。
3教學(xué)實踐及實效
在筆者的教學(xué)實踐中,采用了北京大學(xué)的POJ搭建了程序在線評測平臺,并在近兩年的算法分析與設(shè)計課程中利用該教學(xué)模式進(jìn)行了改革,取得了很好的效果。為了更全面的訓(xùn)練學(xué)生的程序設(shè)計能力,課程考核采用了過程考核、課程報告、出勤三部分綜合考查的考核方案,三部分分別占總成績的70%、20%、10%。過程考核考察學(xué)生對算法設(shè)計策略的掌握程度,一共安排4次,每次以競賽的方式進(jìn)行,共計24道試題,每次選做3~5道,共計選做15道,每次考核中均有1~2道稍有難度的試題,內(nèi)容覆蓋了簡單算法、分治法、減治法、變治法、時空權(quán)衡、動態(tài)規(guī)劃、貪婪策略、回溯和分支限界等。課程報告考察學(xué)生綜合應(yīng)用算法分析和設(shè)計方法的能力,為9選1,根據(jù)所選題目撰寫詳細(xì)的解題報告。
在最近的一次教學(xué)中,筆者對教學(xué)班上66名同學(xué)進(jìn)行了問卷調(diào)查,調(diào)查學(xué)生對教學(xué)改革的滿意度、可取之處和不足。調(diào)查結(jié)果如表1、表2、表3所示:
從調(diào)查結(jié)果可以看出,學(xué)生的滿意度很高,表明學(xué)生對此教學(xué)模式的認(rèn)同度較高。從每次考核代碼雷同甄別情況看,代碼雷同率90%以上的低于10%,學(xué)生在POJ上做題的積極性也很高,常常會有1/3的非教學(xué)班同學(xué)參與每次考核??梢娺@種注重過程的考核方式在教學(xué)中取得了很好的教學(xué)效果。
4結(jié)論
基于在線評測系統(tǒng)的程序設(shè)計競賽具開放性和評判客觀性的特點,教師結(jié)合“算法分析與設(shè)計”課程的特點,將程序競賽模式應(yīng)用到課程的教學(xué)中,可以有效訓(xùn)練和考察學(xué)生的程序設(shè)計能力,還可以激發(fā)學(xué)生的學(xué)習(xí)興趣。當(dāng)然,在該教學(xué)模式的實踐中,應(yīng)注意每次考核或?qū)嶒烆}目的選擇要緊密結(jié)合課程知識點和實際應(yīng)用;在實踐過程中注重與學(xué)生的交流,激發(fā)學(xué)生學(xué)習(xí)熱情,注重教學(xué)過程,促進(jìn)學(xué)生掌握算法的精髓。
參考文獻(xiàn):
[1] 王卓威,尹寶林. 一個基于網(wǎng)絡(luò)的程序自動評測系統(tǒng)[J]. 北京航空航天大學(xué)學(xué)報,2004,30(6):502-505.
[2] 武建華. 基于 ACM 模式的數(shù)據(jù)結(jié)構(gòu)實踐教學(xué)改革與探索[J]. 計算機(jī)教育,2007(12):114-116.
[3] 王素立,白首華. 算法分析與設(shè)計教學(xué)方法[J]. 湘潭師范學(xué)院學(xué)報:自然科學(xué)版,2005(9):124-127.
[4] Alex Aiken. A System for Detecting Software Plagiarism[EB/OL]. theory.stanford.edu/~aiken/moss/.
[5] Anany Levitin. 算法設(shè)計與分析基礎(chǔ)[M]. 潘彥,譯. 2版. 北京: 清華大學(xué)出版社,2007.
[6] 李文新,郭煒. 北京大學(xué)程序在線評測系統(tǒng)及其應(yīng)用[J]. 吉林大學(xué)學(xué)報:信息科學(xué)版,2005,23(8):170-177.
The Teaching Exploration and Practice of Algorithm Analysis and Design base on Programming Contest
YANG Chun-ming, CHEN Nian-nian
(School of Computer Science and Technology, Southwest University of Science and Technology, Mianyang 621010, China)
[關(guān)鍵詞]游戲開發(fā);Windows程序設(shè)計;程序設(shè)計實驗;教學(xué)改革
[中圖分類號]G642.0 [文獻(xiàn)標(biāo)識碼]A [文章編號]1005-4634(2012)02-0092-04
0 引言
Windows程序設(shè)計課程由于具備極強(qiáng)的工程應(yīng)用背景以及明確的能力培養(yǎng)目標(biāo)而成為國內(nèi)各理工類院校計算機(jī)軟件類專業(yè)普遍設(shè)立的重要課程。大多數(shù)院校通常在高級程序設(shè)計語言課程(C語言程序設(shè)計或C++語言程序設(shè)計)以及軟件理論基礎(chǔ)課程(數(shù)據(jù)結(jié)構(gòu)或算法設(shè)計基礎(chǔ))之后,開設(shè)Windows程序設(shè)計課程。該課程的教學(xué)目的在于培養(yǎng)學(xué)生能夠綜合運(yùn)用已掌握的初步程序設(shè)計方法以及軟件理論知識,在深刻理解面向?qū)ο笤O(shè)計本質(zhì)基礎(chǔ)上,能夠基于可視化開發(fā)工具(如Visual C++)在Windows平臺下進(jìn)行基本的程序設(shè)計。學(xué)生經(jīng)過這門課程的學(xué)習(xí)之后,不但應(yīng)該具備在特定開發(fā)工具和平臺環(huán)境下進(jìn)行熟練的程序設(shè)計和實現(xiàn)技能,而且通過該門課程綜合性實踐練習(xí)之后,還應(yīng)該初步具備軟件工程的初步思想,具備實施綜合性復(fù)雜性較高的軟件開發(fā)項目所需的基本專業(yè)技能,為后續(xù)本科高年級課程做好知識儲備。該課程的設(shè)置與國家在計算機(jī)科學(xué)教育方面制定的“提高學(xué)生素質(zhì),注重創(chuàng)新精神和實踐能力”的教學(xué)目標(biāo)是高度一致的。
然而在教學(xué)實踐中,這門課卻普遍存在教師難講、學(xué)生難學(xué)的情況。很多教師反映課程知識點太多太散,很難確立學(xué)習(xí)主線;而學(xué)生則普遍感覺這門課程門檻較高,知識點比較密集,不易把握學(xué)習(xí)重點,實際編程中往往感覺學(xué)習(xí)目標(biāo)不明確,無從下手,在不斷遭遇困難挫折后逐漸對Windows編程產(chǎn)生了畏難情緒。針對這一不利狀況,很多院校采取了一系列的措施,蘭紅和李淑芝提出“以學(xué)生為中心”教學(xué)理念的課程改革思想;虞芬、鄒睿娟也提出“以學(xué)生為學(xué)習(xí)中心”的改革思想;徐宏和聶影等人提出“在教學(xué)的過程中利用信息化技術(shù),力求激發(fā)學(xué)生對課程的學(xué)習(xí)熱情,培養(yǎng)學(xué)生動手實踐的能力,創(chuàng)造性思維培養(yǎng)”的方法。上述方法雖都有較強(qiáng)的理論依據(jù),但將其運(yùn)用于Win-dows程序設(shè)計課程進(jìn)行教學(xué),實際效果均不甚理想。
董曉瑩通過教學(xué)實踐和分析,結(jié)合計算機(jī)語言類課程的特點,闡述了計算機(jī)語言類課程改革的三個方面:課程內(nèi)容的改革,教學(xué)方法、教學(xué)手段的改革,實驗室建設(shè)。面對這些方法和措施,筆者在對Windows程序設(shè)計課程教學(xué)的實踐過程中,大膽突破傳統(tǒng)教學(xué)思路,將課堂授課式教學(xué)與項目案例實踐活動相結(jié)合,探索出以游戲項目驅(qū)動、團(tuán)隊協(xié)作的程序設(shè)計教學(xué)模式,同時采用新穎的過程和結(jié)果并重考核方式,激發(fā)了學(xué)生的學(xué)習(xí)興趣,實踐表明,這一做法取得了良好的教學(xué)效果。
1 課程教學(xué)改革思路
當(dāng)前各個院校在Windows程序設(shè)計這門課程上設(shè)置的學(xué)時數(shù)各不相同,但基本的布局思路是相似的,即盡量將實踐教學(xué)實驗課的學(xué)時數(shù)比例適當(dāng)加大,給學(xué)生提供更多的動手編程機(jī)會。蔡學(xué)森等人通過類似的實驗教學(xué)改革方法,在實驗課內(nèi)容的改革方面,通過增加設(shè)計性、綜合性,很好的培養(yǎng)了學(xué)生科學(xué)實驗的素質(zhì)。實驗及課程設(shè)計在授課內(nèi)容上則一般是采取“理論課+實驗課”的模式進(jìn)行。具體授課時,一般的模式是理論課緊扣大綱知識點編排、講授,實驗課在時間和內(nèi)容上又與理論課相呼應(yīng)。這種以課程大綱知識點為中心的教學(xué)方式雖然有一條主線,但對于程序設(shè)計能力培養(yǎng)來說,知識點通常顯得過于分散,各個知識點之間欠缺內(nèi)在邏輯聯(lián)系性,教師通常針對單個知識點舉出案例代碼講解,示例通常抽離了應(yīng)用背景與場合;實驗課內(nèi)容也是遵照傳統(tǒng)模式開展,與理論課內(nèi)容對應(yīng)的若干次實驗練習(xí)構(gòu)成實驗課主體內(nèi)容,訓(xùn)練要求以實驗指導(dǎo)書的方式規(guī)定;課程考核一般也按照閉卷打分的方式進(jìn)行;學(xué)生在學(xué)習(xí)時按這種方式對各知識點依次掌握,普遍反映知識點零亂,不能理解一些被強(qiáng)調(diào)為重點的知識的實際應(yīng)用價值,對各部分內(nèi)容的內(nèi)在邏輯性條理不清晰,也不知道在實際軟件項目中如何去應(yīng)用這些知識。此外,示例代碼普遍缺乏趣味性,內(nèi)容枯燥,很難讓學(xué)生有持久的編程學(xué)習(xí)熱情。
針對這種情況,對教師和學(xué)生的教學(xué)/學(xué)習(xí)背景作了一番調(diào)查分析,認(rèn)為傳統(tǒng)的授課方式雖有一定價值,但整體而言比較脫離實際,而且形式比較僵化乏味,考核考察方式也不能很好地真實體現(xiàn)學(xué)生對具體編程知識與技能的掌握狀況;而當(dāng)今的軟件行業(yè)對于培養(yǎng)軟件專業(yè)人才,尤其培養(yǎng)具備較強(qiáng)的工程問題解決能力的從業(yè)人員,提出了較高的要求,現(xiàn)有的授課理念與內(nèi)容和這種需求存在脫節(jié)現(xiàn)象;當(dāng)代青年大學(xué)生思維普遍比較活躍,其思維習(xí)慣和生活體驗決定了他們對于既有趣味性又有挑戰(zhàn)性的游戲娛樂類的軟件應(yīng)用程序比較感興趣。在這樣的調(diào)查結(jié)果基礎(chǔ)之上,決定對Windows程序設(shè)計課程的教學(xué)方法進(jìn)行大膽的調(diào)整改革,引入一種新的教學(xué)模式,即以規(guī)模適中的小游戲項目開發(fā)作為Windows程序設(shè)計課程學(xué)習(xí)的主體學(xué)習(xí)活動內(nèi)容,通過全程的“知識講解+項目實施”方式完成對整個課程的教學(xué)與學(xué)習(xí),將Windows編程知識與軟件工程的基本理念結(jié)合起來,以解決實際問題為推動教學(xué)/學(xué)習(xí)活動的中心點,在不脫離教學(xué)大綱的基本要求之下,以激發(fā)學(xué)生持久的編程熱情、養(yǎng)成學(xué)生規(guī)范的編程習(xí)慣作為培養(yǎng)目的,真正使學(xué)生經(jīng)過課程學(xué)習(xí)之后具備相當(dāng)?shù)膶嶋H軟件開發(fā)能力,成為行業(yè)真正所需的人才。這樣的改進(jìn)既高度符合建構(gòu)主義以學(xué)生為中心,強(qiáng)調(diào)學(xué)生對知識的主動探索的理念,也為產(chǎn)學(xué)研相結(jié)合培養(yǎng)社會可用人才提供了一條新思路。經(jīng)過幾個學(xué)期的實踐,事實證明教學(xué)效果良好。
2 課程實驗教學(xué)方案設(shè)計
2.1 分階段軟件版本升級式的項目驅(qū)動式教學(xué)法
以游戲項目開發(fā)方式驅(qū)動的Windows程序設(shè)計課程一般按照如下方式開展。
1)實驗內(nèi)容(題目設(shè)計)。在每學(xué)期開始之前,課程組教師集體討論分析,設(shè)計出一種或幾種新學(xué)期課程項目的題目。選題原則:題目內(nèi)容必須涵蓋教學(xué)主要內(nèi)容,而且能夠最大程度調(diào)動學(xué)生編程興趣和熱情,題目設(shè)立的背景創(chuàng)意均源于實際生活或游戲。筆者認(rèn)為興趣是學(xué)好一門知識的必要前提,實驗題目的設(shè)計內(nèi)容盡可能要讓青年大學(xué)生喜聞樂見,如要求學(xué)生設(shè)計實現(xiàn)一款游戲軟件(如山寨版的QQ農(nóng)場、泡泡龍、俄羅斯方塊、連連看等)。
2)項目驅(qū)動(階段性目標(biāo)和要求)。具體項目推進(jìn)按照分階段版本升級式進(jìn)行,每階段具有明確的實踐和學(xué)習(xí)目標(biāo),對應(yīng)學(xué)生在本門課程中必須掌握的知識、必須具備的能力要求。以“山寨版QQ
農(nóng)場”這個題目為例,某一學(xué)期的題目要求如下。
設(shè)計實現(xiàn)一個山寨版的QQ農(nóng)場,單機(jī)版實現(xiàn)即可,要求用本學(xué)期學(xué)過的Windows程序課程知識進(jìn)行設(shè)計,分3個版本多次提交,每一個版本均有必作內(nèi)容和選作內(nèi)容,確定的提交時限,嚴(yán)禁代碼抄襲,每個版本均要求內(nèi)容格式規(guī)范的實驗報告(設(shè)計開發(fā)技術(shù)文檔)伴隨提交。各次大作業(yè)提交的成績形成平時成績,平時成績占總成績比例的70%。
版本1.0:要求在客戶區(qū)窗口實現(xiàn)農(nóng)場耕地的靜態(tài)繪制,農(nóng)場附近裝飾物(農(nóng)舍、狗欄、風(fēng)車等)的靜態(tài)繪制,能實現(xiàn)對耕地的操作,耕地能改變顯示狀態(tài)、體現(xiàn)這種操作結(jié)果,耕地上作物的幾個生長階段能表現(xiàn)出來。
對應(yīng)教學(xué)大綱知識點內(nèi)容為:MFC/SDK程序框架的建立;GDI對象繪圖;位圖的繪制;窗口客戶區(qū)的坐標(biāo)計算與變換;定時器。
版本2.0:增加倉庫,商店的交互界面,增加必要動畫(如獵狗的行走),增強(qiáng)系統(tǒng)的趣味性,納入游戲積分規(guī)則。擴(kuò)充澆水、除蟲、鋤草、施肥等擴(kuò)展功能。
對應(yīng)教學(xué)大綱知識點內(nèi)容為:菜單;加速鍵;對話框;控件;對話框與視圖的交互。
版本3.0:增加系統(tǒng)數(shù)據(jù)管理能力,能對系統(tǒng)進(jìn)行狀態(tài)保存和重新載入,加入聲音音樂效果,編寫用戶手冊。完善設(shè)計文檔,特別是在文檔中要給出各類關(guān)鍵系統(tǒng)結(jié)構(gòu)圖,數(shù)據(jù)流圖和算法流程圖,對于關(guān)鍵技術(shù)的解決要有簡要文字分析說明。
對應(yīng)教學(xué)大綱知識點內(nèi)容為:文檔一視圖結(jié)構(gòu);文件的讀寫;數(shù)據(jù)庫編程基礎(chǔ)。
這個題目引起了學(xué)生們極大的興趣,而分階段推進(jìn)實現(xiàn)設(shè)計的好處在于:每一階段設(shè)計目標(biāo)明確,知識點緊扣教學(xué)大綱,各個知識點在運(yùn)用時體現(xiàn)彼此內(nèi)在關(guān)聯(lián)性和統(tǒng)一性,無論理論課還是實驗課的知識點講解,都將做到有的放矢。學(xué)生學(xué)習(xí)時不斷思考“這個講解的內(nèi)容是否能用來解決現(xiàn)在要實現(xiàn)的游戲軟件的某個功能”,思維積極性被充分調(diào)動起來,課堂氣氛顯得熱烈而生動。教師以解決游戲項目中存在的實際編程問題為導(dǎo)向,抓住學(xué)生的關(guān)注點和注意力,將各個知識點有機(jī)地結(jié)合起來,給予學(xué)生啟發(fā)式講解;學(xué)生經(jīng)過一番鉆研分析、查閱資料、編碼調(diào)試的學(xué)習(xí)活動,踴躍參與項目的推進(jìn),每達(dá)到一個版本的設(shè)計目標(biāo),既掌握了教學(xué)大綱所規(guī)定的知識內(nèi)容,也提升了編程技能。
2.2 過程管理
通過實踐筆者認(rèn)識到,在改善教學(xué)效果、活躍學(xué)習(xí)氣氛上雖可以把寬松活潑作為基調(diào),然而對于課程過程化管理卻不能放松,相反在這方面還要提高要求,加強(qiáng)管理。
傳統(tǒng)的作業(yè)尤其實驗報告提交制,以一種高頻度的方式(如每周一次實驗均要提交一次實驗報告)進(jìn)行,通過調(diào)查,筆者覺得該方式比較不可取,這樣做造成文檔工作量過大,學(xué)生很難再有時間精力對代碼進(jìn)行質(zhì)量改進(jìn),進(jìn)而導(dǎo)致不少學(xué)生逐漸形成應(yīng)付敷衍提交實驗報告的心態(tài)和習(xí)慣,這喪失了通過實驗報告對學(xué)生編程活動過程規(guī)范化管理的考察目的。與之相反,筆者一方面決定將實驗報告提交頻度降為項目大作業(yè)軟件版本的提交次數(shù),但另一方面向?qū)W生強(qiáng)調(diào):必須高度重視軟件技術(shù)文檔的質(zhì)量,新版本的實驗報告的內(nèi)容做了重大調(diào)整,要求按照:“(1)設(shè)計目標(biāo);(2)總體設(shè)計思路(必須附有系統(tǒng)結(jié)構(gòu)示意圖);(3)系統(tǒng)詳細(xì)設(shè)計;(4)關(guān)鍵算法分析(必須附有算法流程圖);(5)測試結(jié)果分析;(6)總結(jié)”這樣的結(jié)構(gòu)進(jìn)行編寫,杜絕文檔編寫中的馬虎和不認(rèn)真現(xiàn)象,通過此舉向?qū)W生強(qiáng)化:好的軟件首先是好的設(shè)計,而好的設(shè)計首先通過包含高質(zhì)量設(shè)計圖的設(shè)計文檔體現(xiàn)出來;優(yōu)質(zhì)規(guī)范的技術(shù)文檔和優(yōu)質(zhì)規(guī)范的代碼對于程序員來說是同等重要。
通過教師的強(qiáng)化管理以及嚴(yán)抓按期回收代碼文檔制度,學(xué)生們普遍扭轉(zhuǎn)了把編程序看作是某種個人興趣支撐下的個人行為的膚淺觀念,認(rèn)識到程序設(shè)計是一種體現(xiàn)科學(xué)性規(guī)范性的嚴(yán)謹(jǐn)?shù)目蒲猩a(chǎn)活動,必須周到細(xì)致,刻苦認(rèn)真。經(jīng)過一學(xué)期的錘煉,學(xué)生無論是在編程技術(shù)水平還是團(tuán)隊協(xié)作能力方面,都得到了極大的提升和增強(qiáng)。
2.3 突破傳統(tǒng)的課程考核方式
教學(xué)課程改革的一個重要環(huán)節(jié)就是對課程的考核方式做調(diào)整。對于Windows程序設(shè)計這樣一門強(qiáng)調(diào)運(yùn)用多方面知識技能進(jìn)行相對復(fù)雜的軟件系統(tǒng)的設(shè)計與開發(fā)的課程,傳統(tǒng)的試卷閉卷打分制很難客觀反映學(xué)生真實水平,學(xué)生成績會被偶然性因素影響以及放大,并且這樣的考核方式也容易造成學(xué)生前緊后松的學(xué)習(xí)心態(tài),而編程技能的提升效果,是需要在一段較長時間內(nèi)持續(xù)專注的努力才可能體現(xiàn)出來。采用游戲項目驅(qū)動式的教學(xué)模式之后,很快對這種考核方式作了調(diào)整,最終的考核方式確定如下:學(xué)生成績由兩部分構(gòu)成:平時成績(占70%),由各次不同版本軟件提交的代碼和文檔結(jié)果打分累計得到;最終答辯成績(占30%),課程結(jié)束不采用試卷閉卷式答題,而采取學(xué)生現(xiàn)場答辯方式對實現(xiàn)的游戲項目的設(shè)計思想與關(guān)鍵算法進(jìn)行講解,教師當(dāng)場給出成績。兩項內(nèi)容相加得到學(xué)生Windows程序設(shè)計課程的總成績。
新的考核方式具有如下優(yōu)點:(1)注重學(xué)生在一段時間內(nèi)能力的持續(xù)增長而非一時的表現(xiàn)。既能充分體現(xiàn)每位學(xué)生的真實技能水平,也能使學(xué)生樹立起對待科學(xué)知識的認(rèn)真嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,最終成績體現(xiàn)了更多的真實公正性。(2)教師也可以根據(jù)不同階段版本的作業(yè)批改情況,對發(fā)現(xiàn)的普遍性問題做及時講解以及研究方向的調(diào)整,對于學(xué)生學(xué)習(xí)狀況處于隨時把握之中。
然而這種考核方式也有不利之處,會造成教師作業(yè)批改量相對過大,教學(xué)負(fù)擔(dān)增加。
3 課程教學(xué)效果剖析
經(jīng)過幾個學(xué)期的實踐,游戲開發(fā)驅(qū)動式的Windows程序設(shè)計課程教學(xué)改革取得了比較明顯的成效(見表1),主要表現(xiàn)在以下幾方面。
3.1 教學(xué)實踐內(nèi)容有了具體針對性,與社會生產(chǎn)需求結(jié)合更加緊密
程序設(shè)計教學(xué)的內(nèi)容不應(yīng)該脫離實際的社會生產(chǎn)具體需求,否則就有閉門造車之嫌。當(dāng)前,各類游戲類軟件(手機(jī)游戲、網(wǎng)絡(luò)游戲等)開發(fā)無疑已成為應(yīng)用軟件開發(fā)領(lǐng)域的熱點之一,Windows環(huán)境下的許多重要的通用編程技術(shù)(GUI界面、數(shù)據(jù)庫、網(wǎng)絡(luò)、3D動畫)均毫無例外地在這一領(lǐng)域內(nèi)得到了充分的運(yùn)用和展現(xiàn),這些知識的基礎(chǔ)部分正是Windows程序設(shè)計課程教學(xué)大綱之中所要求的掌握重點。新的教學(xué)方法設(shè)定的游戲項目,一般其提出背景都來自于實際軟件開發(fā)過程當(dāng)中(如有一些技術(shù)問題是一些軟件開發(fā)類論壇上經(jīng)常會討論的),學(xué)生通過一個要求比較全面的游戲項目研發(fā)的鍛煉,很好地對課程知識點進(jìn)行了綜合運(yùn)用,充分體現(xiàn)了學(xué)以致用的務(wù)實精神。由于編程技術(shù)的通用性,課程學(xué)習(xí)過程掌握的知識與技能也能很快地被運(yùn)用到其他一些軟件開發(fā)領(lǐng)域(如信息系統(tǒng)、虛擬現(xiàn)實、嵌入式軟件)當(dāng)中。通過這樣的課程鍛煉培養(yǎng)出的軟件開發(fā)類人才無疑更能滿足各類機(jī)構(gòu)和企業(yè)的實際需求。
3.2 在新的高度理解和開展程序設(shè)計開發(fā)活動
Windows程序設(shè)計作為一門建立在低年級基礎(chǔ)軟件開發(fā)類課程之上的軟件開發(fā)“高級”課程,
無論在編程思路的講解還是編程思想的闡釋,都不能也不應(yīng)該停留在僅僅對某些局部的知識語法細(xì)節(jié)進(jìn)行低層次的強(qiáng)化灌輸?shù)膶用嫔稀Mㄟ^一個類似于真實軟件產(chǎn)品的游戲項目開發(fā)過程,教師要讓學(xué)生明白,應(yīng)該更多地從整體系統(tǒng)的角度對實際問題進(jìn)行抽象建模,也應(yīng)該更多地從框架的層次而不是代碼的角度去看待軟件,應(yīng)該更多地關(guān)注軟件的結(jié)構(gòu)是否具備良好的可擴(kuò)展性和可復(fù)用性,要使學(xué)生明白,決定軟件產(chǎn)品是否成功更多地取決于系統(tǒng)設(shè)計過程而非代碼編寫過程;通過將軟件工程的開發(fā)過程具體地與實際項目結(jié)合起來,讓學(xué)生充分體會到軟件工程的許多概念和步驟不再抽象;規(guī)范的代碼文檔管理以及有效的團(tuán)隊人員交流,使學(xué)生對實際開發(fā)團(tuán)隊的活動有了比較直觀的認(rèn)識和理解。經(jīng)過這樣的理念熏陶和實踐鍛煉,學(xué)生對于軟件開發(fā)有了全新的體驗和認(rèn)識,也更能符合當(dāng)今軟件開發(fā)領(lǐng)域?qū)τ诟邔哟诬浖_發(fā)人才的培育需求。
3.3 有力激發(fā)學(xué)生對程序設(shè)計學(xué)習(xí)的興趣和熱情
Windows程序設(shè)計課程無疑是存在不少的知識點和學(xué)習(xí)難點,能讓學(xué)生持續(xù)持久地在這方面投入熱情和精力,興趣是極其關(guān)鍵的。通過分析當(dāng)代青年大學(xué)生自身特點,游戲項目驅(qū)動式的教學(xué)無疑是深得人心的,學(xué)生在這樣的學(xué)習(xí)過程中既能感受到編程帶來的挑戰(zhàn)性,也能體驗到研制游戲的趣味性,將學(xué)和玩有效地結(jié)合一體,最終對程序設(shè)計和軟件開發(fā)產(chǎn)生了極大興趣,不少同學(xué)甚至決定今后將從事實際的游戲產(chǎn)品開發(fā)。課程學(xué)習(xí)結(jié)束之后,大部分同學(xué)要求教師繼續(xù)推薦一些Windows程序設(shè)計開發(fā)方面深入的高級著作,明確表示將在這方面進(jìn)行持續(xù)深入的探索學(xué)習(xí)。
3.4 增強(qiáng)學(xué)生自主解決問題的意識和能力
在游戲驅(qū)動式教學(xué)當(dāng)中提出的很多技術(shù)問題都是既具有趣味性也具有相當(dāng)?shù)奶魬?zhàn)性的,促使學(xué)生為解決具體問題進(jìn)行了多方面的努力。一般經(jīng)過第一階段的學(xué)習(xí),學(xué)生普遍都意識到需要綜合運(yùn)用多種手段(聯(lián)機(jī)文檔、網(wǎng)絡(luò)查詢、文獻(xiàn)查閱、教師答疑等)才能解決問題,而嚴(yán)格的代碼抄襲審查制度,使學(xué)生們普遍覺得應(yīng)該盡可能依靠自身力量解決問題。通過學(xué)習(xí),學(xué)生在運(yùn)用編程技巧解決綜合性編程方面的能力有了大的提高,抄襲現(xiàn)象得到很好的扼制,自我學(xué)習(xí)能力普遍得到較大的提升。
3.5 有力促進(jìn)學(xué)生課外科技活動的開展游戲驅(qū)動式的Windows程序設(shè)計課程教學(xué)法的成功,為學(xué)生課外科技活動提供了直接的模版參考借鑒作用。通過在實驗中心開展教學(xué)經(jīng)驗推廣活動,許多在實驗中心立項的學(xué)生科技項目直接采用這種游戲項目開發(fā)驅(qū)動式進(jìn)行管理,這類項目一般側(cè)重對某一具體技術(shù)點的深入研究與探索,也取得了很好的實踐效果。目前實驗中心投身于學(xué)生課外教學(xué)科技活動的學(xué)生數(shù)目逐年增多,隊伍不斷壯大,證明了教學(xué)改革思路的正確性。
【關(guān)鍵詞】基于工作過程,項目導(dǎo)向,課程開發(fā),程序設(shè)計
一、引言
面向?qū)ο蟪绦蛟O(shè)計語言是高職軟件專業(yè)學(xué)生的必修專業(yè)課程,在此類課程的教學(xué)中雖然比較重視實踐教學(xué)環(huán)節(jié),但在教學(xué)中理論與實踐脫節(jié)現(xiàn)象時常發(fā)生,老師感覺教學(xué)實施困難,學(xué)生感覺不能理解所教內(nèi)容,沒法獨立完成簡單程序的的編碼任務(wù)。要從根本上解決以上問題,必須從課程的學(xué)習(xí)做起,讓學(xué)生針對工作而學(xué)習(xí),以工作任務(wù)引領(lǐng)知識、技能和態(tài)度,讓學(xué)生在完成工作任務(wù)的過程中學(xué)習(xí)相關(guān)知識,發(fā)展學(xué)生的應(yīng)用能力。對此,將具有實際生產(chǎn)意義的工作任務(wù)引入教學(xué),采用工作過程導(dǎo)向的課程設(shè)計方法,在教學(xué)中以項目導(dǎo)向、任務(wù)驅(qū)動等有利于增強(qiáng)學(xué)生能力的教學(xué)模式,將“教學(xué)做”融為一體,將工作過程和教學(xué)過程融為一體,實現(xiàn)理論與實踐的一體化。
二、基于工作過程的程序設(shè)計語言課程開發(fā)與實施
軟件企業(yè)的崗位能力要求是課程開發(fā)的目標(biāo),以崗位和工作任務(wù)為導(dǎo)向,以實際的系統(tǒng)開發(fā)項目為載體,根據(jù)典型程序開發(fā)過程及崗位能力要求,重構(gòu)課程結(jié)構(gòu),課程教學(xué)轉(zhuǎn)變?yōu)橐怨ぷ魅蝿?wù)為中心組織課程內(nèi)容,以工作任務(wù)為中心整合理論與實踐,以學(xué)生直接經(jīng)驗的形成來掌握融合于各項實踐行動中的知識、技能和技巧。
1.工作過程分解及項目構(gòu)建。程序設(shè)計語言課程教學(xué)的任務(wù)將工作過程分解,將項目按工作過程構(gòu)建起來,針對每一個工作環(huán)節(jié)來傳授相關(guān)的課程內(nèi)容,各項目間層層遞進(jìn),體現(xiàn)了“項目導(dǎo)向、任務(wù)驅(qū)動”的課程設(shè)計思路,實現(xiàn)課程的學(xué)習(xí)內(nèi)容與實際項目進(jìn)行整合,使課程體系大將地反映了知識、技能、素質(zhì)的緊密結(jié)合。 結(jié)合軟件企業(yè)系統(tǒng)開發(fā)的過程,將工作過程的教學(xué)分為分析、設(shè)計、編碼、測試和幾個子過程。
2.基于教學(xué)過程的程序設(shè)計語言課程開發(fā)
2.1教學(xué)內(nèi)容的選取。以軟件企業(yè)工作崗位的實際工作任務(wù)為依據(jù),采取遞進(jìn)式設(shè)計的學(xué)習(xí)項目和學(xué)習(xí)任務(wù),明確所需知識、能力和素質(zhì)要求,進(jìn)行教學(xué)內(nèi)容選取。基于軟件開發(fā)的工作過程劃分教學(xué)情境,以企業(yè)真實項目為載體,堅持理論夠用原則,將相關(guān)知識分解到實際項目中,通過分析和實現(xiàn)項目,讓學(xué)生掌握相關(guān)知識和技能。盡量選用技術(shù)實用性強(qiáng)、知識拓展性強(qiáng)的項目,同時在教學(xué)實施過程中引入軟件項目開發(fā)與管理規(guī)范。
2.2教學(xué)過程設(shè)計。在工作過程導(dǎo)向設(shè)計原則的指導(dǎo)下,結(jié)合軟件行業(yè)的崗位需求,通過分析完成軟件開發(fā)需要完成的工作任務(wù),設(shè)計教學(xué)流程。該流程以一個軟件項目貫穿始終,將一個軟件開發(fā)過程分解遞進(jìn)的教學(xué)情境,在每個教學(xué)情境中要求學(xué)生完成獨立的工作任務(wù),當(dāng)所有的情境完成時整個軟件項目的開發(fā)也相應(yīng)完成,整個教學(xué)任務(wù)也完成了基于工作過程的面向?qū)ο蟪绦蛟O(shè)計教學(xué),由6個教學(xué)情境構(gòu)成,它們對應(yīng)的工作任務(wù)依次為“需求分析”、“搭建開發(fā)環(huán)境”、“設(shè)計”、“編寫程序代碼”、“集成和測試”、“項目”。
學(xué)習(xí)情境1:需求分析。本情境的工作任務(wù)是撰寫詳細(xì)的需求分析報告。教師對實訓(xùn)項目提出業(yè)務(wù)需求,講解應(yīng)用的環(huán)境、功能要求、技術(shù)要求。學(xué)生根據(jù)具體項目撰寫需求分析報告。
學(xué)習(xí)情境2:搭建開發(fā)環(huán)境。首先老師講解開發(fā)環(huán)境,然后學(xué)生在自己的電腦上完成環(huán)境的安裝及搭建和測試。
學(xué)習(xí)情境3:模塊設(shè)計。在本情境中老師對需求分析報告進(jìn)行點評,并對存在的問題提出修正意見;然后講解完成模塊所需的技術(shù)及數(shù)據(jù)庫設(shè)計。學(xué)生要完成的任務(wù)是對需求分析報告加以修改完善,對模塊中的類的屬性和行為、對類間的關(guān)系接口,對模塊的時序加以描述;對數(shù)據(jù)庫中各數(shù)據(jù)庫表設(shè)計及表間的關(guān)系,數(shù)據(jù)庫的連接技術(shù)詳細(xì)描述。
學(xué)習(xí)情境4:編寫程序代碼。本情境的典型工作任務(wù)是依照設(shè)計進(jìn)行程序代碼編寫。教師對學(xué)生的模塊設(shè)計和數(shù)據(jù)庫表設(shè)計點評,并對存在的問題提出修正意見。老師幫助學(xué)生解決編碼中出現(xiàn)的問題,學(xué)生要完成詳細(xì)模塊設(shè)計和數(shù)據(jù)庫表設(shè)計的修訂,制定編碼進(jìn)度;對數(shù)據(jù)庫進(jìn)行連接及操縱。
學(xué)習(xí)情境5:系統(tǒng)集成和測試。本情境的典型工作任務(wù)是完成各功能模塊集成和系統(tǒng)測試。教師講解系統(tǒng)集成的注意事項,學(xué)生要完成系統(tǒng)集成,撰寫測試用例,進(jìn)行功能測試,并提交測試報告。
學(xué)習(xí)情境6:項目。在本情境中學(xué)生將實訓(xùn)成果演示、提交完成系統(tǒng)的源代碼和文檔資料;教師對學(xué)生的成果進(jìn)行考評和點評。
3.基于工作過程的程序設(shè)計語言課程實施
在每個學(xué)習(xí)情境中,給學(xué)生布置任務(wù)后,教師先簡要介紹本任務(wù)中需要學(xué)生掌握的知識點,然后由學(xué)生完成。學(xué)生在收集信息,設(shè)計方案、實施方案、完成任務(wù)中學(xué)習(xí)和掌握知識,形成技能。工作完成后,先由學(xué)生自我評估,再由教學(xué)做出評價。在教學(xué)中,通過6個學(xué)習(xí)情境將任務(wù)交給學(xué)生,學(xué)生以學(xué)習(xí)小組的形式完成工作任務(wù)。首先將學(xué)生分成若干個小組,每個小組選出正、副組長,小組成員在組長的帶領(lǐng)下完成項目的分工與協(xié)作。
教學(xué)的組織形式上,要以學(xué)生為主體,以教師為引導(dǎo),以具體工作任務(wù)為載體組織學(xué)習(xí)。學(xué)習(xí)情境設(shè)計有利于發(fā)揮學(xué)生的團(tuán)隊合作精神,培養(yǎng)學(xué)生的溝通交流能力,增強(qiáng)學(xué)生職業(yè)意識。教師所起的作用只是確定任務(wù),在任務(wù)過程中及時地指導(dǎo)學(xué)生,指導(dǎo)學(xué)生自我設(shè)計、自我實施個體行動和學(xué)習(xí)過程,在任務(wù)完成后,對每組給出適當(dāng)?shù)男薷慕ㄗh和恰當(dāng)?shù)脑u價。從根本上改變“以教師為中心,以課程為中心,以課堂為中心”的傳統(tǒng)教學(xué)模式。
三、結(jié)語
基于工作過程的程序設(shè)計語言課程教學(xué)通過典型工作任務(wù),增加了師生互動,通過學(xué)生學(xué)習(xí)興趣和主動性,學(xué)生自主學(xué)習(xí)能力和創(chuàng)新能力有了明顯改觀。通過企業(yè)真實項目的實踐,學(xué)生真實感受到了就業(yè)崗位的技能要求,學(xué)習(xí)態(tài)度和積極性有了很大的改善。通過真實項目的開發(fā),學(xué)生實踐技能得以提高,為后續(xù)課程的學(xué)習(xí)和就業(yè)打下了良好的基礎(chǔ)。
參考文獻(xiàn):
[1]姜大源.“學(xué)習(xí)領(lǐng)域”——工作過程導(dǎo)向的課程模式[J].職教論壇,2004,(8).
關(guān)鍵詞: 非計算機(jī)專業(yè) C語言程序設(shè)計 邵陽學(xué)院
目前,C語言程序設(shè)計課程已成為計算機(jī)專業(yè)及其他相關(guān)專業(yè)的基礎(chǔ)課,目的是通過C語言程序設(shè)計課程的學(xué)習(xí),使學(xué)生掌握用計算機(jī)解決問題的方法,學(xué)習(xí)常用的各種算法,掌握程序設(shè)計的基本思想。程序設(shè)計思想貫穿相關(guān)專業(yè)的后續(xù)課程,是最基礎(chǔ)的內(nèi)容。教學(xué)實踐證明:程序設(shè)計課的教學(xué)質(zhì)量對相關(guān)后續(xù)課程的教學(xué)與實踐有很大的影響。
1.C語言程序設(shè)計前期教學(xué)中存在的問題
C語言程序設(shè)計是一門邏輯性較強(qiáng)的語言類課程,對于初學(xué)程序設(shè)計的大學(xué)生來說,面臨大量的基本語法和程序結(jié)構(gòu)理論性的學(xué)習(xí),某些學(xué)生認(rèn)為教師講的這些知識理論性較強(qiáng)而實用性不強(qiáng),因而會對這門課程的學(xué)習(xí)產(chǎn)生不重視甚至是抵觸的心理。還有的學(xué)生雖然認(rèn)識到該課程的重要性,也很想學(xué)好,但由于教材缺乏較容易理解和生動有趣的范例,感覺學(xué)習(xí)過程缺少樂趣與興趣,漸漸地就失去學(xué)好這門課程的自信心。同時在實踐考察環(huán)節(jié)中由于實驗內(nèi)容設(shè)置欠合理,大部分學(xué)生即使到期末也很難對本門課程有一個整體框架式的認(rèn)識,課程教學(xué)效果無法保證。
2.原因的剖析
(1)學(xué)生的基礎(chǔ)薄弱,特別是英語、數(shù)學(xué)比較差是一個主要原因,也是阻礙他們學(xué)習(xí)該門課程的最大障礙。英文版的VC++系統(tǒng)是大部分學(xué)生攔路虎,程序算法問題的處理更讓他們望而卻步,要真正解決問題,就要想辦法提高他們的學(xué)習(xí)興趣,讓他們不斷地練習(xí),積累經(jīng)驗,尋找解決問題的突破點,探索適合學(xué)生發(fā)展的教學(xué)方法和教學(xué)內(nèi)容,以充分調(diào)動他們的學(xué)生積極性和主觀能動性。
(2)有的教材內(nèi)容過多過難,不符合非計算機(jī)專業(yè)學(xué)生的實際。首先我們先對C教材進(jìn)行分析,目前使用的C語言教材涉及太多的數(shù)學(xué)知識,這使得學(xué)生一看到教材就感到頭昏腦漲,培養(yǎng)興趣就更無從談起,使得老師在講授例題和練習(xí)時首先必須先解釋數(shù)學(xué)知識,然后學(xué)生才能勉強(qiáng)接受。當(dāng)前常用的編程系統(tǒng)是TruboC,其特點是:①界面是單任務(wù)的DOS界面;②菜單、命令、幫助等都是英語;③當(dāng)程序出現(xiàn)錯誤時,也都是英語提示信息,學(xué)生感覺無從下手,而且操作麻煩,為了與計算機(jī)等級考試相適應(yīng),因此我們使用漢化的VC編譯系統(tǒng)替代TurboC。
3.非計算機(jī)專業(yè)C語言程序設(shè)計教學(xué)的特點
與計算機(jī)專業(yè)相比,非計算機(jī)專業(yè)的C語言程序設(shè)計教學(xué)有其自身的特點,主要表現(xiàn)如下:
(1)教學(xué)目標(biāo)不同。
計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)C語言是為了增強(qiáng)邏輯思維能力,為學(xué)習(xí)其他的編程語言和以后從事軟件開發(fā)工作打下基礎(chǔ);而對于非計算機(jī)專業(yè)的學(xué)生來說,掌握計算機(jī)知識主要為以后就業(yè)提供保障,因此,通過這門課程的學(xué)習(xí),使學(xué)生順利通過國家計算機(jī)二級考試,獲得一份二級證書無疑是每位教師努力的方向。
(2)教學(xué)重點不同。
計算機(jī)專業(yè)的教學(xué)主要為了提高學(xué)生的編程技能,因此所教授的內(nèi)容無論是從難度、深度和廣度都遠(yuǎn)比非計算機(jī)專業(yè)要大;而非計算機(jī)專業(yè)的教學(xué)重點是依據(jù)二級考試大綱,學(xué)生只需要掌握大綱要求的知識點,牢固基礎(chǔ)知識,具備一定的編程能力即可。
(3)教學(xué)手段不同。
計算機(jī)專業(yè)的C語言教學(xué)理論和實驗學(xué)時都很充足,可以將重點難點知識深入展開講解,除了實驗課外,還可以安排實習(xí)讓學(xué)生動手編寫一個完整的應(yīng)用程序,為后續(xù)的學(xué)習(xí)打下基礎(chǔ);而非計算機(jī)專業(yè)受學(xué)時所限,需要教師在理論課上利用有效的教學(xué)方法,高效地把重點難點內(nèi)容講透徹,在實驗課上盡量激發(fā)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生自主學(xué)習(xí),使學(xué)生逐步學(xué)會編程。
4.C語言程序設(shè)計課程教學(xué)改革
邵陽學(xué)院非計算機(jī)專業(yè)的C語言程序設(shè)計課程都安排在大一的下學(xué)期,均為理工科學(xué)生開設(shè),由于這一階段課程多,課時長,而C語言程序設(shè)計課程側(cè)重于應(yīng)用,需要大量的上機(jī)實踐。而且C語言課程中存在較多新的概念,較為抽象、復(fù)雜,對于一年級學(xué)生尤其是非計算機(jī)專業(yè)的學(xué)生來說還存在很大的難度。針對這一問題,我們在多年的教學(xué)實踐當(dāng)中對于教學(xué)方法進(jìn)行了一系列的改進(jìn)和探索,取得了較好的教學(xué)效果。在這里進(jìn)行簡單的總結(jié)和分析,主要從教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)模式、教學(xué)評價及師資隊伍優(yōu)化等方面提出多項教學(xué)改革措施。
(1)明確教學(xué)目標(biāo),優(yōu)化教學(xué)內(nèi)容的組織結(jié)構(gòu)。
教學(xué)目標(biāo)是指教學(xué)活動實施的方向和預(yù)期達(dá)到的結(jié)果,是一切教學(xué)活動的出發(fā)點和最終歸宿[1]。C語言程序設(shè)計的課程教學(xué)目標(biāo)要求學(xué)生掌握C語言的基本概念、語法和程序設(shè)計的常用方法,領(lǐng)會結(jié)構(gòu)化、模塊化程序設(shè)計的基本思想;通過編程訓(xùn)練,熟練地使用編程工具編寫和調(diào)試程序;在課程學(xué)習(xí)的過程中,形成良好的編程風(fēng)格和程序設(shè)計思維方式,提高分析問題及通過設(shè)計程序解決實際問題的能力,為專業(yè)課程體系中后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。教學(xué)內(nèi)容是實現(xiàn)教學(xué)目標(biāo)的基礎(chǔ),合理地組織教學(xué)內(nèi)容是實現(xiàn)教學(xué)目標(biāo)的保證。只有通過分析和研究C語言程序設(shè)計的前導(dǎo)、后續(xù)課程才能更好地優(yōu)化教學(xué)內(nèi)容的組織結(jié)構(gòu)。C語言程序設(shè)計的后續(xù)課程可以分為直接后續(xù)課程和間接后續(xù)課程,其課程內(nèi)容的組織優(yōu)化要以服務(wù)后續(xù)課程的學(xué)習(xí)為目的,充分考慮課程內(nèi)容之間的內(nèi)在聯(lián)系。例如C語言中的單向鏈表屬于數(shù)據(jù)結(jié)構(gòu)中的鏈表部分;C語言中的文件讀寫函數(shù)是操作系統(tǒng)中文件處理的具體實現(xiàn);C語言中的結(jié)構(gòu)體可以看成面向?qū)ο蟪绦蛟O(shè)計中的類;C語言是學(xué)習(xí)編譯原理的載體和媒介??傊握n教師要認(rèn)清C語言程序設(shè)計課程在整個專業(yè)課程體系中的地位,講解內(nèi)容時要有的放矢,不但要告訴學(xué)生學(xué)什么,還要告訴學(xué)生學(xué)有何用。
(2)采用師生互動式教學(xué)與任務(wù)驅(qū)動式教學(xué)相結(jié)合模式,提高學(xué)生的學(xué)習(xí)積極性。
邵陽學(xué)院C語言程序設(shè)計理論授課46課時,授課過程中要求教師同時應(yīng)用PowerPoint和VC++兩個軟件,課件制作要求高質(zhì)量,當(dāng)講解到程序示例時,適時切換到VC環(huán)境中演示C程序運(yùn)行,例如有這樣一個程序:假設(shè)有一張足夠大的紙,厚度為0.0001米,問將這張紙對折多少次超過珠穆朗瑪峰高度。程序代碼如下:
main()
{floath=0.0001;
intn=0;
while(h
{h=2*h;n++;}
printf(“n=%d次”,n);}
此題讓學(xué)生感覺很有意思,當(dāng)程序結(jié)果打印出來是27次時,學(xué)生頓時目瞪口呆,在腦海里產(chǎn)生深刻的印象,接著修改程序的部分語句再次運(yùn)行,顯示每一次變化的數(shù)值,讓學(xué)生立即看到修改之后的結(jié)果,幫助學(xué)生徹底搞清楚程序每個部分的功能,讓學(xué)生直接看到程序的真實運(yùn)行結(jié)果,大大調(diào)動學(xué)生的學(xué)習(xí)C語言的積極性。VC環(huán)境中字體較小,后排的學(xué)生往往看不清楚,可以打開Windows輔助工具中的放大鏡功能,對局部區(qū)域進(jìn)行放大,增強(qiáng)顯示效果。我們還結(jié)合VisualC++集成開發(fā)環(huán)境進(jìn)行示錯教學(xué)的嘗試。給出一些例子和程序,讓學(xué)生進(jìn)行分析,哪些是對的,哪些是錯的,錯誤的原因是什么,應(yīng)該怎樣修改。然后立即在VC中演示,先演示未作修改之前的運(yùn)行情況,提示學(xué)生注意VC報告的錯誤信息及相關(guān)位置,接著在修改后再次運(yùn)行程序。這樣可以使學(xué)生對于相關(guān)知識點掌握得更加牢固。同時,我們針對某些比較復(fù)雜、學(xué)生理解起來有一定困難的算法制作生動有趣的FLASH動畫。如排序算法中的冒泡排序、選擇排序。函數(shù)調(diào)用中的遞歸調(diào)用(以漢諾塔問題為例)等。講解具體算法時結(jié)合動畫演示,將抽象問題形象化、枯燥問題生動化,使學(xué)生較快地理解相關(guān)算法的思想實質(zhì)。
在基本語法知識互動式講解完成后,可以引入任務(wù)驅(qū)動教學(xué)法穿插于教學(xué)過程中[2],以完成一個個具體任務(wù)為線索,由教師巧妙設(shè)置任務(wù),任務(wù)中含有知識點,把教學(xué)內(nèi)容融于實際任務(wù)中。任務(wù)開始時向?qū)W生介紹需要用到的概念、思想和方法,學(xué)生經(jīng)過思考和教師的點撥,自己解決問題。在完成任務(wù)的同時,可以培養(yǎng)學(xué)生的創(chuàng)新意識、創(chuàng)新能力及自學(xué)的習(xí)慣,學(xué)會如何發(fā)現(xiàn)問題、思考問題及尋找解決問題的方法,從而極大地提高學(xué)生的主觀能動性。在這個過程中,教師的任務(wù)則是對學(xué)生如何完成任務(wù)進(jìn)行引導(dǎo)和指導(dǎo),并加以鼓勵和評價。
(3)加強(qiáng)實踐環(huán)節(jié),增強(qiáng)學(xué)生動手能力。
我們精心制定12次(24課時)上機(jī)實驗內(nèi)容,其中包含11次設(shè)計性實驗和1次綜合性實驗,設(shè)計性實驗內(nèi)容按最新大綱要求所訂,綜合性實驗鍛煉學(xué)生的綜合應(yīng)用能力,實驗內(nèi)容統(tǒng)籌語法掌握與能力的培養(yǎng)。上機(jī)實驗是學(xué)生掌握C語言的語法、語義、程序結(jié)構(gòu)的重要過程,能提高學(xué)生的動手能力,加深學(xué)生對基礎(chǔ)知識和算法的理解,是提高學(xué)生程序設(shè)計能力的重要環(huán)節(jié),實驗教學(xué)和理論教學(xué)同樣重要。上機(jī)實驗前要求教師課前做好充分的準(zhǔn)備,必須精心設(shè)計每一次實驗課,同時要對學(xué)生提出具體要求。要求學(xué)生根據(jù)教師的實驗題目在上機(jī)實驗前完成相關(guān)程序設(shè)計,并形成實驗報告,最后完成上機(jī)實驗,并提交實驗報告待老師檢查。實驗任務(wù)可以給學(xué)生以壓力,在規(guī)定的時間讓學(xué)生充分動腦,爭取在短時間內(nèi)完成任務(wù)。這樣做有利于提高學(xué)生自身運(yùn)用C語言的能力,展示平時學(xué)習(xí)的效果。較高的實驗分?jǐn)?shù)能給學(xué)生一種榮譽(yù)感及成就感,更有利于調(diào)動學(xué)生學(xué)習(xí)的主動性、創(chuàng)造性,充分展示學(xué)生的學(xué)習(xí)能力。對于成績好的學(xué)生出現(xiàn)“吃不飽”的問題,我們特意組織有經(jīng)驗老師像搞課程設(shè)計一樣,另外為他們加題,指導(dǎo)他們完成任務(wù)。
(4)加強(qiáng)課外輔導(dǎo),及時了解學(xué)生的學(xué)習(xí)情況。
課外答疑和習(xí)題課是課外輔導(dǎo)的一種形式,是完善教學(xué)的一種補(bǔ)充,每章內(nèi)容教學(xué)完成后,給學(xué)生布置一定量的作業(yè),安排一次答疑或一次習(xí)題課,往往可以達(dá)到事半功倍的效果,由于時間關(guān)系,習(xí)題課上由教師詳細(xì)挑選有一定代表性習(xí)題進(jìn)行詳細(xì)講解,對編程思路及程序結(jié)構(gòu)進(jìn)行解析并演示運(yùn)行結(jié)果。答疑則通過課后實現(xiàn),為此要求老師與所任班級學(xué)生始終保持通訊暢通,采用面授、郵件、QQ工具等方式實現(xiàn)。這樣可及時掌握學(xué)生的學(xué)習(xí)情況,真正做到為學(xué)生服務(wù)。
(5)使用多種評價形式,優(yōu)化師資教學(xué)團(tuán)隊,提高服務(wù)水準(zhǔn)。
課程評價既檢驗學(xué)生對基本概念、語法知識的掌握,更檢驗學(xué)生使用程序設(shè)計解決實際問題的能力;評價一般應(yīng)采用筆試、上機(jī)考試兩種形式,具體有學(xué)校課程考試、湖南省計算機(jī)等級考試、全國計算機(jī)等級考試等。筆試題目的題型豐富多樣,利用選擇題、填空題考查學(xué)生對基本知識的把握,利用閱讀題、編程題考查學(xué)生讀、寫程序的能力。上機(jī)考試可以使用隨機(jī)抽題自動評分系統(tǒng),對學(xué)生的動手能力進(jìn)行客觀、公正的評價。在對學(xué)生學(xué)習(xí)情況評價的同時,學(xué)校應(yīng)組織學(xué)生評教和教師互評活動,通過對教師的多方位評價衡量教師教學(xué)的質(zhì)量。教師隊伍的優(yōu)化是有效實施教學(xué)改革、穩(wěn)步提升課程教學(xué)質(zhì)量的重要保證。C語言程序設(shè)計教學(xué)隊伍要依托課程質(zhì)量工程建設(shè),在課程負(fù)責(zé)人的帶領(lǐng)下積極申報教研項目,定期開展教研活動,重點培養(yǎng)一批中青年教師,逐漸形成一個教學(xué)水平高、科研能力強(qiáng)、年齡層次合理的優(yōu)秀教學(xué)團(tuán)隊。
5.結(jié)語
通過對非計算機(jī)專業(yè)C語言程序設(shè)計課程的教學(xué)實踐,我們深深體會到教材的選擇、課程內(nèi)容的安排、教學(xué)方法的運(yùn)用不但要符合教學(xué)的目標(biāo),更要適合學(xué)生的思維特點。在C語言教學(xué)中,注重學(xué)生的思維訓(xùn)練,增強(qiáng)學(xué)生的實際動手能力,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生分析問題和解決問題的能力,將學(xué)生引進(jìn)計算機(jī)應(yīng)用領(lǐng)域,使其在更高的層次上理解計算機(jī)和應(yīng)用計算機(jī),使C語言真正成為非計算機(jī)專業(yè)學(xué)生運(yùn)用計算機(jī)解決本專業(yè)應(yīng)用問題的工具,這才是我們的目的。
參考文獻(xiàn):
關(guān)鍵詞:ACCESS程序設(shè)計;課程改革;教學(xué)實踐
中圖分類號:G642文獻(xiàn)標(biāo)識碼:A文章編號:1671—1580(2013)08—0084—03
ACCESS的編程機(jī)制具有可視化、面向?qū)ο蠹笆录?qū)動等特點,數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)如果采用ACCESS程序的話,幾乎可以不用編寫程序代碼就能將其實現(xiàn),開發(fā)出來的數(shù)據(jù)庫應(yīng)用系統(tǒng)不僅非常專業(yè)而且具有強(qiáng)大功能[1]。如此看來,“ACCESS程序”具有非常強(qiáng)大的編程功能,而且實踐證明,ACCESS程序的學(xué)習(xí)也非常簡易,現(xiàn)如今,對于“ACCESS程序”的學(xué)習(xí),很多高等教育學(xué)校都將其列入非計算機(jī)專業(yè)學(xué)生所要學(xué)的第一門程序設(shè)計課程。目前,ACCESS語言也被教育部考試中心列入全國計算機(jī)等級考試大綱中可供選擇的語種范圍內(nèi)。怎樣才能在緊張的學(xué)習(xí)當(dāng)中將課程的教學(xué)質(zhì)量及教學(xué)效果提高,怎樣才能讓學(xué)生真正學(xué)習(xí)到這門課程,并把課程的知識應(yīng)用于實際的生活當(dāng)中,這是每個學(xué)校、每個老師都在考慮及研究的問題。
一、“ACCESS程序設(shè)計”課程的教學(xué)現(xiàn)狀及問題
(一)教學(xué)現(xiàn)狀
ACCESS程序因其具有功能強(qiáng)大、學(xué)習(xí)簡易的特點而受到許多高等教育學(xué)校的關(guān)注,加上現(xiàn)在ACCESS語言已經(jīng)被列入全國計算機(jī)等級考試二級考試可選的語種范圍內(nèi)之后,各大高校為讓更多的非計算機(jī)專業(yè)的學(xué)生通過二級考試,紛紛將“ACCESS程序設(shè)計”列入非計算機(jī)專業(yè)學(xué)生的程序設(shè)計課程當(dāng)中。因此,也導(dǎo)致了老師在平時的教學(xué)過程當(dāng)中只注重學(xué)習(xí)之后的“考”,對于ACCESS程序設(shè)計的教學(xué)只是簡單介紹概念及相關(guān)編程語法,然后為了應(yīng)付考試就開始給學(xué)生講習(xí)題,不斷將習(xí)題灌輸?shù)綄W(xué)生的腦海之中。而學(xué)生為了能通過之后的考試也不去深究ACCESS程序設(shè)計的具體方法,只是單純采用題海戰(zhàn)術(shù),有些甚至采取死記硬背的方法來記住題目和答案。
將ACCESS語言列入全國計算機(jī)等級考試的目的本來是想讓ACCESS數(shù)據(jù)庫的應(yīng)用得到廣泛的推廣[2],但是照現(xiàn)在的教學(xué)方法及學(xué)習(xí)方法來看,“教”與“學(xué)”已經(jīng)脫節(jié)了,教育只是“填鴨式”的,學(xué)生學(xué)習(xí)只是被動接受,對于學(xué)生的動手操作能力及綜合分析能力從不考慮,更別說加強(qiáng)學(xué)生的創(chuàng)新能力了,因此,要實現(xiàn)ACCESS語言的廣泛應(yīng)用這個目的也就無從談起了。另外,傳統(tǒng)的教學(xué)方式也讓學(xué)生提不起對這門課程的學(xué)習(xí)興趣。雖然很多學(xué)?,F(xiàn)在的教學(xué)方式是采用多媒體來進(jìn)行教學(xué),但是老師在講課時通常都是按書上所安排的所有章節(jié)依次講解,導(dǎo)致學(xué)生對于課程的學(xué)習(xí)感覺淡然無味。再一個,學(xué)生自身的素質(zhì)參差不齊,對ACCESS程序設(shè)計學(xué)習(xí)之后的效果也不一樣。
(二)存在的問題
“ACCESS程序設(shè)計”課程的教學(xué)現(xiàn)狀就是如此,因此,在教學(xué)的過程當(dāng)中避免不了很多問題的產(chǎn)生。其主要表現(xiàn)在以下幾個方面。
1.從學(xué)生角度來看
對于非計算機(jī)專業(yè)的學(xué)生來說,其計算機(jī)基礎(chǔ)較差,對于很多計算機(jī)方面的專業(yè)術(shù)語更是一知半解,更別說讓其動手進(jìn)行上機(jī)操作了。這樣自然會導(dǎo)致在學(xué)習(xí)的過程當(dāng)中跟不上老師及其他同學(xué)的步伐。
2.從教學(xué)方法上看
傳統(tǒng)的教學(xué)方法是老師先將有關(guān)概念提出來,然后針對概念進(jìn)行講解,隨后再展開理論部分,最后是有關(guān)應(yīng)用部分。由于每個學(xué)期的學(xué)時有限,學(xué)生在上課的時候很少有時間能讓其自主練習(xí),導(dǎo)致老師所講的很多知識學(xué)生都很難消化。雖然大多數(shù)學(xué)生在課堂上跟著老師的步調(diào)可以將實例演示并將結(jié)果算出來,但是學(xué)不會“舉一反三”,一旦題目有點變化或所要求的量發(fā)生改變,學(xué)生就不知該從何著手了。另外,在ACCESS程序設(shè)計當(dāng)中存在“模塊”部分,在這方面,學(xué)生表現(xiàn)出來的問題尤其突出,其中主要問題是對算法不了解,關(guān)于編程的語法和語句雖然學(xué)過,但不會學(xué)以致用。
3.從實踐上看
與計算機(jī)專業(yè)的學(xué)生相比,非計算機(jī)專業(yè)學(xué)生學(xué)習(xí)數(shù)據(jù)庫課程所需要的時間更長,而且見效也更慢。而老師的任務(wù)是不僅要完成本職的教學(xué)工作,還要使學(xué)生通過對課程的學(xué)習(xí)而實際地了解并學(xué)會真正使用數(shù)據(jù)庫軟件,對于老師來說,這確實是一件很不簡單的事情。
二、以能力為導(dǎo)向,分析課程改革與教學(xué)實踐
對于“ACCESS程序設(shè)計”這門課程,無論是學(xué)生還是老師,其學(xué)習(xí)方法與教學(xué)方式都存在一定問題。傳統(tǒng)的教學(xué)方式明顯不適用于對“ACCESS程序設(shè)計”課程的教學(xué),理論知識不能使學(xué)生真正了解課程的實質(zhì)內(nèi)容,同時也讓學(xué)生感到課程枯燥乏味。因此,在這方面,我們主要要做的就是想辦法把學(xué)生的學(xué)習(xí)積極性及主動性調(diào)動起來。通過教學(xué)實踐,筆者認(rèn)為可從以下五方面進(jìn)行改革,從而有效地提高“ACCESS程序設(shè)計”的教學(xué)效果。
1.結(jié)合專業(yè)特點,巧設(shè)導(dǎo)入案例
子曰:“知之者不如好知者,好之者不如樂之者?!痹趯?dǎo)入新課時,教者結(jié)合學(xué)生專業(yè)特點,精心設(shè)計導(dǎo)入案例,巧設(shè)懸念,為學(xué)生創(chuàng)造一種良好的學(xué)習(xí)情境,激發(fā)其強(qiáng)烈的求知欲望。課程開課的第一節(jié)運(yùn)用這種方法尤為必要,它將為課程的整體學(xué)習(xí)打下一個良好的開端。例如:電子商務(wù)網(wǎng)頁設(shè)計是電子商務(wù)專業(yè)的專業(yè)核心課程,針對電子商務(wù)專業(yè)學(xué)生,在“ACCESS程序設(shè)計”課程開課的第一節(jié),可通過展示一個帶有會員注冊登錄、留言板、在線調(diào)查系統(tǒng)等功能的商務(wù)站點,并將站點動態(tài)網(wǎng)頁部分功能進(jìn)行詳細(xì)分析,講解其與ACCESS程序設(shè)計的關(guān)聯(lián)。可就某個具體功能設(shè)疑讓學(xué)生展開討論,如商務(wù)網(wǎng)站如何存儲和管理用戶留言信息?讓學(xué)生思考要完成這些功能需要具備哪些數(shù)據(jù),然后引導(dǎo)學(xué)生建立數(shù)據(jù)庫及表對象,再針對學(xué)生的設(shè)計可行性進(jìn)行討論,此時,就可將基礎(chǔ)的理論知識穿去,將學(xué)生的疑惑一個個進(jìn)行解答。
2.以實踐項目為主線,強(qiáng)調(diào)“做中學(xué)”
ACCESS程序設(shè)計概念多、理論性強(qiáng),掌握不同的程序結(jié)構(gòu)是課程的重點,若采用傳統(tǒng)的教學(xué)方法,學(xué)生容易產(chǎn)生畏難情緒。筆者認(rèn)為可選擇一個難度適中、與社會行業(yè)相關(guān)、知識拓展性強(qiáng)的實踐項目案例貫穿整個課程,教師在課程教學(xué)時可演示事先已設(shè)計好的項目系統(tǒng),讓學(xué)生體會到程序設(shè)計的實用性,從而激發(fā)學(xué)生的學(xué)習(xí)熱情[3]。在整個課程學(xué)習(xí)過程中,可根據(jù)各章節(jié)內(nèi)容,把實踐項目案例分解成若干個子項目,從而使課程內(nèi)容有機(jī)、系統(tǒng)地聯(lián)系起來。
例如,我們可以選擇“產(chǎn)品銷售管理系統(tǒng)”作為電子商務(wù)專業(yè)的實踐項目案例,針對各章節(jié)內(nèi)容把項目劃分為8個子項目,具體如下:
3.堅持“理論與實踐一體化”的教學(xué)模式
所謂“理論與實踐一體化”的教學(xué),是強(qiáng)調(diào)以學(xué)生為主體,將理論學(xué)習(xí)與實際訓(xùn)練緊密結(jié)合起來。在這種教學(xué)模式中,將課程學(xué)習(xí)的教學(xué)場所從純理論學(xué)習(xí)的教室轉(zhuǎn)換到多媒體計算機(jī)實驗室,讓學(xué)生圍繞各子項目的任務(wù)要求自主去探索、分析和實踐,教師從旁巡視和引導(dǎo),隨后,教師針對存在問題集中理論講解,再讓學(xué)生通過實踐解決之前還沒解決的問題。教師通過“實踐—理論—再實踐”的教學(xué)形式,讓學(xué)生帶著問題,邊做項目,邊學(xué)理論,不但為學(xué)生提供了更大的思考、質(zhì)疑、技能訓(xùn)練的空間,而且更能激發(fā)學(xué)生學(xué)習(xí)興趣和積極性,使其分解問題、解決問題的能力和團(tuán)隊合作意識得到提升。
4.設(shè)計“階梯式”的實訓(xùn)教學(xué)內(nèi)容
對“ACCESS程序設(shè)計”課程設(shè)置實訓(xùn)教學(xué),是為了學(xué)生不僅能學(xué)到理論知識,而且能鍛煉實際操作能力,使學(xué)生能夠得到全面的成長。實訓(xùn)的過程是讓學(xué)生主動發(fā)揮思考的過程,學(xué)生通過不斷思考和發(fā)現(xiàn),就能將系統(tǒng)設(shè)計的思想慢慢形成?;谶@個過程的考慮,我們在進(jìn)行“ACCESS程序設(shè)計”實訓(xùn)教學(xué)過程當(dāng)中也應(yīng)做到循序漸進(jìn),由基礎(chǔ)實訓(xùn)開始,慢慢發(fā)展到綜合性實訓(xùn),再完成系統(tǒng)開發(fā)。首先是針對每個章節(jié)或是某一小部分內(nèi)容,在學(xué)習(xí)完成后要進(jìn)行強(qiáng)化練習(xí),然后在多個章節(jié)完成后再綜合性地進(jìn)行練習(xí),最后通過前期打下的堅實基礎(chǔ)開始嘗試進(jìn)行系統(tǒng)的開發(fā)。
考核環(huán)節(jié)考核內(nèi)容分值比重過程考核主要考核學(xué)生出勤、課后作業(yè)、課堂提問、課堂表現(xiàn)等。20%實踐教學(xué)主要通過學(xué)生完成課程實踐項目情況,來考核學(xué)生的技能應(yīng)用能力(含每次實訓(xùn)報告總結(jié))。25%團(tuán)隊合作主要考核學(xué)生團(tuán)隊合作意識和溝通協(xié)調(diào)能力。15%期末考試分筆試(30%)和綜合實踐項目設(shè)計(70%)兩部分,主要考核學(xué)生掌握基礎(chǔ)知識和實踐技能應(yīng)用能力等。其中,綜合實踐項目設(shè)計部分又細(xì)分:項目效果解說(30%)、答疑(20%)、創(chuàng)新設(shè)計(20%)、團(tuán)隊(10%)、報告編寫(20%)。40%社會實踐該項主要用于學(xué)生參加社會調(diào)研、社會技能實踐活動、學(xué)科競賽等方面的加分項目。最高10分5.以職業(yè)教育特點為依據(jù),改革課程考核評價標(biāo)準(zhǔn)
職業(yè)教育是以市場為導(dǎo)向,注重學(xué)生實踐應(yīng)用技能、創(chuàng)新能力和團(tuán)隊合作意識的培養(yǎng)。傳統(tǒng)的課程考核方式常常采用期末考試一個環(huán)節(jié),偏重理論知識考核,難以考查學(xué)生實踐能力,改革課程考核評價標(biāo)準(zhǔn)勢在必行。筆者以職業(yè)教育特點為依據(jù),制定了突出綜合實踐技能、注重過程學(xué)習(xí)和職業(yè)素養(yǎng)的課程考核評價體系,有效促進(jìn)了學(xué)生注重實踐、積極參與的精神。課程考核主要分左側(cè)表中的幾部分內(nèi)容。
三、結(jié)語
“ACCESS程序設(shè)計”是理論與實踐相結(jié)合的一門綜合性課程,因此,在平時的教學(xué)及學(xué)習(xí)當(dāng)中,不僅要注重在課堂上進(jìn)行理論知識的教育,對于課程的實驗環(huán)節(jié)也要加強(qiáng)對學(xué)生的教學(xué)[4]?!癆CCESS程序設(shè)計”的教學(xué)目的不僅僅是計算機(jī)等級考試,最重要的是讓學(xué)生真正將這門學(xué)科掌握起來,所以,在進(jìn)行教學(xué)時不單要針對考試中所出現(xiàn)的問題,還要兼顧到對系統(tǒng)開發(fā)能力的培養(yǎng)[5]。在以往的教學(xué)過程當(dāng)中,因為語言程序設(shè)計課程的特殊性,無論是學(xué)生還是老師,都只是為了應(yīng)付考試而勉強(qiáng)教學(xué)和學(xué)習(xí),但是我國教育部門將ACCESS加入到計算機(jī)等考試當(dāng)中的最主要目的是為了推廣ACCESS語言的應(yīng)用,因此,對于以往“填鴨式”的教學(xué)方法必須進(jìn)行改革。在改革的過程中,老師應(yīng)該注意改革現(xiàn)在的教學(xué)模式,課程教學(xué)的教學(xué)方法要根據(jù)學(xué)生的具體情況進(jìn)行變化和創(chuàng)新,以總結(jié)出最適合學(xué)生的教學(xué)方法。
[參考文獻(xiàn)]
[1]梁華,陳振,張波.案例驅(qū)動的ACCESS程序設(shè)計教學(xué)改革[J].計算機(jī)教育,2011(02).
[2]侯松鸝.《Access程序設(shè)計》課程的教學(xué)改革與探索[J].計算機(jī)教育,2011(02).
[3]劉欣榮,杜玫芳.CDIO指導(dǎo)下的財經(jīng)類院校VB教學(xué)改革[J].計算機(jī)教育,2012(06).