□王仁民
目前,在國內大學計算機專業教學大綱中,基本都包括C 語言或Java 程序設計等計算機基礎課程。其目的主要有以下兩個:一是為適應科技的發展,讓當代大學生能夠掌握一定的計算機基礎知識;二是對當代大學生進行包括概況能力、抽象思維能力和邏輯思維能力等計算思維能力的培養。編程思維雖是隨著計算機的發展而提出,但并非是一種獨特的思維方式。所謂編程思維能力,即采用某種程序設計語言對某個問題進行程序設計的能力,是計算思維能力培養的重要途徑[1]。如何培養當代大學生的編程思維能力,特別是計算機專業學生的編程思維能力,是計算機教育者一個重要的課題。很多學者提出了諸如興趣激發法,趣味案例法,巧設疑問法,案例驅動法,實例演示思維導圖法等。這些方法主要從激發學生興趣和案例驅動等方面入手,在實際教學中也取得了較好的效果。然而,實踐發現,只是采取這些相對傳統的培養方法,學生的厭學“免疫力”越來越強。因此需根據學生的最新特點制定新的教學方法。
總體來講,課堂的組成要素主要包括:學生、教材、教案和教師[2]。其中,學生是課堂效果的接受者和主要評判者,教師是課堂的主要設計者,而教材和教案則是實施課堂教學的橋梁。下面分析這四個基本要素在課堂教學中的影響。
(一)學生。當前學生的學習模式仍然以課堂聽課為主,因此被動學習和接受知識的整體方式依然沒有改變。同時,學生大多對計算機編程課存在以下認識[3~4]:
1.思想上不重視。很多學生認為計算機編程基礎課并非應用性開發,只要掌握基本知識,考試不掛科就可以了。
2.自信心不強。一些同學在開始學習前往往反映編程很難,自己肯定學不懂。
3.學習積極性不高。多數同學課前不預習、課后也不復習鞏固,只是在上課時走馬觀花,更不會花時間和精力進一步加深學習。
4.控制能力較差。由于大多學生初次接觸編程基礎較差,加上缺乏良好的學習習慣,在大學這樣比較自由的環境里,容易出現缺曠課、不交作業、上機打游戲、考試突擊等不良現象。
5.計算思維能力不足。較多學生沒有了解和接觸過編程知識,在抽象和邏輯思維等方面訓練不足,導致學習編程時存在所謂的“先天性”計算思維能力匱乏。
(二)教材。教材是學生和老師的第一手資料,好的教材對提升學生學習興趣、預復習課程以及教師課程安排都有良好的輔助作用。當前高校教材建設存在的主要問題有以下幾點[5]:一是供應方式和流程存在弊端,難以適應教材出版趨勢和教育發展的需要;二是基礎類課程教材重復出版現象嚴重;三是片面追求自編率,教材質量難以保證;四是缺乏科學的質量論證和評價體系等。除了以上幾點問題,現在的教材規劃很少注意思維能力的逐步培養。
(三)教案。教案即教學設計過程的書面表達,其表述了一次課的完整過程,包括教學目的、教學重難點、教學方法及教學整體思路等方面。寫一份教案容易,但要寫一份能夠激發學生興趣,引導學生思路,拓展學生思維的教案就非得下苦功不可。
(四)教師。在當前及之后的很長一段時間內,教師在教學過程都起著關鍵角色作用。教師如何將教學設計過程,通過熟練的課堂控制能力,流暢地傳達給學生,這就是教師在課堂中的主要作用。教師的傳統教法通常是“基礎知識講解—例題講解—解題思路分析—總結”,其中對于例題講解部分是至關重要的,而例題的講解思路,大部分教師都按照“順序方式”依次往下講解,這樣的講解方式,學生往往感到知識點太多,難以融會貫通,特別是對于一些比較難的例題更是如此。因此,教師必須堅持不懈地學習、與時俱進不斷提高自己的教學能力。
為解決以上問題,本文提出“趣味題材逐層剝繭式編程法”。
(一)方案概述。所謂趣味題材逐層剝繭式編程法,主要思路如下:根據知識點,設置趣味性強的題材作為實例,并將其看作是一個未知的謎團,通過逐步分析和求解,并最終將其解決。該方法的關鍵是如何區分不同的層。
方案基本步驟:一是選取或改編具有趣味性、知識性、緊密聯系生活等方面能吸引學生注意力的題材作為講解實例;二是通讀原題,理解題意逐層剔除修飾,梳理解決方案整體框架;三是根據題意,如果問題解決,轉到步驟4,否則轉到步驟2;四是根據解決方案框架,畫出流程圖;五是根據流程圖,結合具體編程語言編程實現;六是運行調試并查看結果。
(二)方案實施實例。下面以一個典型的趣味編程實例進行實例演示。
1.教學目的。熟練掌握while 循環的使用方法。
2.題目要求。哇嘎嘎飲料公司正在舉辦一次促銷優惠活動。買家憑該公司出品的飲料3 個瓶蓋可以再免費換一瓶同類型飲料,并且可以一直循環下去,但不允許賒賬。請計算一下,如果小明不浪費瓶蓋,盡量地參加活動,那么,對于他初始買入的n 瓶飲料,最后他一共能得到多少瓶飲料。
3.題目解析。仔細閱讀該題目,從中可以提煉出以下信息:小明開始買入了n 瓶飲料,其中每三瓶可以再換一瓶,以此循環,直到瓶蓋數小于等于2 為止。
4.流程圖。由解析可畫流程圖如圖1 所示。

圖1 流程圖
5.程序實現。程序最終實現如圖2 所示。
通過實踐教學表明,本文提出的“趣味題材逐層剝繭式編程法”與傳統的教學方法相比,通過題材的選取吸引了學生的注意力,逐層的解析方式由淺入深地分析題目,有效地提高了學生理解和解題能力,對學生編程思維的培養起到了重要的促進作用。

圖2 程序實現
[1]羅志彪.高校教材建設存在的問題及其探析[J].中國科教創新導報,2012,7(22)
[2]牟琴,潭良.計算思維的研究及其進展[J].計算機科學,2011,38(3):10~15
[3]葉恒舟,牛秦洲.Java 教學實踐與編程思維培養[J].學科建設與教學改革,2012,21(2):115~116
[4]朱林,莊麗,謝修娟.案例驅動的_Java 編程技術_教學改革研究[J].教育教學論壇,2015,1(4):104~105
[5]朱世敏,孫桂芳,張重陽,祝群喜.C 語言程序設計教學中計算思維的培養[J].教育進展,2014,4:36~41