唐鳳仙
摘要:本文通過分析非計(jì)算機(jī)專業(yè)程序設(shè)計(jì)傳統(tǒng)教學(xué)存在的弊端,提出融入計(jì)算思維能力培養(yǎng)的重要性,結(jié)合筆者多年的教學(xué)經(jīng)驗(yàn),從教學(xué)內(nèi)容的組織、理論和實(shí)驗(yàn)教學(xué)、考核方式的體現(xiàn)等環(huán)節(jié)進(jìn)行探討,旨在培養(yǎng)學(xué)生的計(jì)算思維能力,促進(jìn)學(xué)生以計(jì)算機(jī)科學(xué)的概念和方法對問題進(jìn)行求解,激發(fā)學(xué)生的學(xué)習(xí)興趣和編程欲望,達(dá)到教學(xué)改革的目的。
關(guān)鍵詞:計(jì)算思維;程序設(shè)計(jì);教學(xué)方法
高校為非計(jì)算機(jī)專業(yè)的學(xué)生開設(shè)計(jì)算機(jī)基礎(chǔ)課程,目的是讓他們掌握一定的計(jì)算機(jī)基本技能并能運(yùn)用計(jì)算機(jī)工具獲取知識或解決實(shí)際問題提供一個(gè)入門指導(dǎo)。C語言程序設(shè)計(jì)是非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)類課程的主要課程,既是影響最大也是難度最大和要求最高的課程。該課程一般安排在大一的第二學(xué)期,如何上好這門課,對學(xué)生今后的學(xué)習(xí)和工作起著不可忽視的作用。
一、 計(jì)算思維
美國卡內(nèi)基·梅隆大學(xué)計(jì)算機(jī)科學(xué)系主任周以真(Jeannette MWing)教授于2006年首次在美國計(jì)算機(jī)權(quán)威期刊Communications of the ACM上提出“計(jì)算思維”(Computational Thinking):計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計(jì)以及人類行為理解的思維活動(dòng)。按周以真教授的理解,計(jì)算思維是建立在計(jì)算過程的理論上的,但是又超越了計(jì)算機(jī)本身。它是人的思維,而不是機(jī)器思維,計(jì)算思維最本質(zhì)的內(nèi)容是抽象(Abstraction)和自動(dòng)化(Automation),是每個(gè)人的基本技能,而不僅僅是計(jì)算機(jī)科學(xué)家。
計(jì)算思維是利用啟發(fā)式推理來尋求解答,它強(qiáng)調(diào)的是如何求解問題及其操作過程和機(jī)器實(shí)現(xiàn)方法。高校非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)類課程,重點(diǎn)加強(qiáng)程序設(shè)計(jì)類課程的建設(shè),除了教會(huì)學(xué)生如何使用一門語言,更重要的是提高學(xué)生利用計(jì)算機(jī)思維來解決問題的能力,在程序設(shè)計(jì)教學(xué)中,融入計(jì)算思維能力的培養(yǎng),實(shí)現(xiàn)單純程序語言的學(xué)習(xí)到利用計(jì)算機(jī)科學(xué)的概念和方法對問題進(jìn)行求解的能力培養(yǎng)。
二、 非計(jì)算機(jī)專業(yè)C語言程序設(shè)計(jì)教學(xué)現(xiàn)狀
1學(xué)生基礎(chǔ)薄弱
作為新升格的本科院校,學(xué)生生源整體基礎(chǔ)薄弱。尤其對于非計(jì)算機(jī)專業(yè)的學(xué)生來說,沒有系統(tǒng)的基礎(chǔ)知識背景,感覺程序設(shè)計(jì)這門課程難懂、難學(xué),即使把語法格式和語句功能背下來了,也難以進(jìn)行編程。
2傳統(tǒng)教學(xué)存在弊端
傳統(tǒng)教學(xué)很容易陷入程序語言為中心的誤區(qū),以傳授程序設(shè)計(jì)的語法和語義為主,在以教師為中心的灌輸式教學(xué)雖然能保證教學(xué)內(nèi)容的系統(tǒng)性和連貫性,但是學(xué)生被動(dòng)地聽和記憶,難以在課堂上體會(huì)到程序的問題分析、程序思維和構(gòu)造的方法。學(xué)生學(xué)習(xí)主動(dòng)性差,教學(xué)效果也可想而知。
3學(xué)生學(xué)習(xí)目標(biāo)不明確
非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)程序設(shè)計(jì),純粹是為了考試而學(xué)習(xí),沒有把計(jì)算機(jī)分析和解決問題的基本過程和思路當(dāng)作學(xué)習(xí)的目的,也沒有真正理解程序設(shè)計(jì)課程的內(nèi)容。
三、 基于計(jì)算思維的培養(yǎng)途徑
1教學(xué)內(nèi)容的重組
教學(xué)過程中,為了突出算法和程序的整體框架,筆者在教學(xué)的過程中進(jìn)行內(nèi)容的重組。不用刻意去講解某一個(gè)語法,教學(xué)過程以“程序設(shè)計(jì)為主,語法規(guī)則為輔”,結(jié)合一些具體的有意義的案例,分析編程的算法思想,涉及的語法穿插式地講。這樣保證了教學(xué)內(nèi)容始終貫穿于教學(xué)過程,逐步培養(yǎng)了學(xué)生用計(jì)算機(jī)解決實(shí)際問題的能力,為以后其他專業(yè)的學(xué)習(xí)和工作實(shí)踐打下良好基礎(chǔ)。為此筆者自編了教材《C語言程序設(shè)計(jì)教程》和配套習(xí)題《C語言程序設(shè)計(jì)教程習(xí)題解答與上機(jī)指導(dǎo)》,主教材體現(xiàn)了“應(yīng)用性”,由簡到難、由淺入深,把算法和語法緊密結(jié)合在一起;習(xí)題為課堂的拓展做了有力補(bǔ)充,為學(xué)生從會(huì)編寫簡單的程序到使用算法解決實(shí)際問題提供了借鑒。
2教學(xué)過程中的培養(yǎng)
筆者在教學(xué)過程中精心準(zhǔn)備一些實(shí)例,不一定按教材順序講解語法,以實(shí)例貫穿教學(xué)過程,適時(shí)呈現(xiàn)一些有趣的或上一屆學(xué)生的程序。具體編寫程序的引導(dǎo)過程中,盡量從學(xué)生角度出發(fā),先把最能體現(xiàn)求解問題算法思想的代碼寫出來,然后再補(bǔ)充其他部分的代碼,讓學(xué)生的思路跟隨教師的筆尖逐步完善,
并在舉一反三的教學(xué)過程中不知不覺地感受到算法在程序中的靈魂,如此循環(huán),學(xué)生在輕松的互動(dòng)學(xué)習(xí)中提高解決問題的能力,并能養(yǎng)成良好的編程風(fēng)格。比如:求階乘的程序。
(1)建立程序的框架:
(2)在函數(shù)體內(nèi)填充循環(huán)語句:while(i (3)補(bǔ)充變量的聲明和初始化:int n,i=1,sum=1。 (4)修改、調(diào)試、運(yùn)行,并對第(2)步進(jìn)行更改:用for或do~ while語句來實(shí)現(xiàn)。 (5)對n的取值提出問題:當(dāng)n<0時(shí);當(dāng)n=0或1時(shí);當(dāng)n>1時(shí)。 (6)完善程序再運(yùn)行。 (7)思考并完成程序:1!+2!+3!+…+n! 每一個(gè)問題的求解都可以有不同的算法和寫法,通過由簡單到復(fù)雜、并趁熱打鐵給出幾個(gè)相似難度和升華的題目,積累解題和調(diào)試的經(jīng)驗(yàn)。 3實(shí)驗(yàn)課教學(xué)思維培養(yǎng) 實(shí)驗(yàn)課的效果直接影響著程序設(shè)計(jì)課程的教學(xué)效果,實(shí)驗(yàn)課中學(xué)生不僅要學(xué)會(huì)編寫代碼的方法,還要學(xué)會(huì)調(diào)試程序的能力。為了提高實(shí)驗(yàn)課效率,我們課題組做了不同嘗試,大體達(dá)成了共識:初級階段,以填空式方式讓學(xué)生完善程序并運(yùn)行代碼,寫出實(shí)驗(yàn)結(jié)果;中級階段:給出問題,尋求多種編程方式、方法;高級階段:分組完成一些有意義的小程序,并進(jìn)行交流驗(yàn)收。經(jīng)過不同階段的訓(xùn)練,旨在讓學(xué)生加深理解程序設(shè)計(jì)學(xué)習(xí)的目的是解決實(shí)際問題,并在實(shí)驗(yàn)過程中體會(huì)到合作的力量,提升交流能力。 4考核方式的體現(xiàn) 近幾年來,我們學(xué)校C語言課程的考試,不使用紙質(zhì)考試方式,采取了在線考試系統(tǒng),這種考核方式不僅減輕教師出題和改卷的繁重工作量,更重要的是激發(fā)了學(xué)生學(xué)習(xí)動(dòng)力,在課程的第一次課,我們就讓學(xué)生了解課程考核的方式,在線考試系統(tǒng)也分為期中和期末,另外還有考前測試模塊,學(xué)生課程總成績由期中,期末和平時(shí)成績按2∶7∶1的比例構(gòu)成。 順應(yīng)計(jì)算機(jī)教育改革之風(fēng),作為應(yīng)用型地方本科院校,我們進(jìn)行了有益的嘗試,取得了一定的成效。近年來,非計(jì)算機(jī)專業(yè)學(xué)生在全國計(jì)算機(jī)二級考試中通過率逐年上升,并在挑戰(zhàn)“藍(lán)橋杯”全國軟件設(shè)計(jì)大賽中,獲得一等獎(jiǎng)的好成績?;谟?jì)算思維的程序設(shè)計(jì)課程教學(xué)不僅提升了學(xué)生的計(jì)算機(jī)應(yīng)用能力,而且對于提升學(xué)生的專業(yè)能力具有重要意義。 參考文獻(xiàn): 何欽銘,陸漢權(quán),馮博琴計(jì)算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)是計(jì)算思維能力的培養(yǎng)——《九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合聲明》解讀中國大學(xué)教學(xué),2010(09). 鮑潔新時(shí)期大學(xué)計(jì)算機(jī)教育改革前沿動(dòng)向——第八屆全國高等學(xué)校計(jì)算機(jī)教育改革與發(fā)展高峰論壇(計(jì)算機(jī)基礎(chǔ)教育部分)綜述計(jì)算機(jī)教育, 2013(07).