李 麗
(太原工業(yè)學院 計算機工程系,山西 太原 030008)
計算機程序設計課程是計算機專業(yè)學生的必修課和基礎課,教學是高校培養(yǎng)大學生綜合素質和創(chuàng)新能力不可或缺的重要組成部分。目前,該類課程大都采用傳統(tǒng)的教學方法,即“語言基礎理論講授+例題解析+完成作業(yè)小程序”的模式。上述教學方法雖能保證知識的系統(tǒng)性,但同時也因脫離實際和應用、知識枯燥、學生學習沒有很高的積極性,導致教學效果差。既缺乏相應的計算機技能,也缺乏相應的計算機思維。
2006年,美國卡內(nèi)基·梅隆大學的計算機科學系主任周以真教授就曾指出:計算思維是運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動[1]。周以真教授認為,計算思維就是通過嵌入、轉化、約簡和仿真等方法,把一個看著困難的問題重新翻譯成一個我們可以想辦法解決的問題;計算思維是一種遞歸思維;計算思維是關注的分離(SOC方法),它采用抽象和分解,以滿足龐大復雜的任務或復雜系統(tǒng)的設計;計算思維是基于預防、通過冗余、保護、糾錯和容錯的方法來恢復最壞情況的一種思維;計算思維是使用啟發(fā)式推理確定答案,是在不確定的條件下來規(guī)劃、學習和調(diào)度。它不是提倡我們像計算機一樣去考慮問題,而是讓我們使用計算機解決問題的基本方法去解決問題。信息化社會要求計算思維成為每個人都擁有的基本技能,如同掌握閱讀、寫作和計算一樣,不僅僅是計算機科學家的專利。
2010年我國“九校聯(lián)盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明”中強調(diào)的核心要點是“需要把培養(yǎng)學生的‘計算思維’能力作為計算機基礎教學的核心任務”[2]。程序設計課程的教學目標就是使的程序設計課程的基本知識、基本方法、基本算法和結構化程序設計讓學生能夠掌握,培養(yǎng)學生使用計算機處理問題的能力、意識和方法,并且能夠掌握用計算機處理問題的基本技能,靈活機動的使用程序設計語言和相關的專業(yè)知識來設計程序。
案例教學法是指將理論與實際相聯(lián)系,從而提高學生分析問題和解決實際問題的能力的一種教學方法。
項目驅動教學法是實施探究式教學模式的一種教學方法,是建立在建構主義教學理論基礎上的方法。這種教學方法主張選取一個或多個具有實際應用價值的代表性項目給學生,學生在項目驅動下,自主協(xié)作嘗試探索,找到完成項目的方法,通過項目的實現(xiàn)來完成知識的建構。這是一種以學生為主體、教師為主導、以項目為驅動的教學方法[3-4]。
案例-項目驅動教學法是將案例教學與項目驅動教學相結合的一種教學方法。案例教學側重于“教”,指教師在授課的過程中以事先設計好的典型案例為基礎;而項目驅動側重于“學”,指學生在學習的過程中以項目為驅動,以解決問題為目標,在解決問題的過程中學習。
案例-項目驅動教學著重培養(yǎng)學生程序設計的思維方法或過程,這種方法的主要特點是“觀察-聯(lián)想-變換”。即通過對項目模塊的需求分析,通過對項目要解決的問題進行認識和理解;然后通過聯(lián)想,尋找已有的程序設計相關知識和要解決的問題之間的聯(lián)系;最后經(jīng)過轉換,把這個相對復雜的問題轉化成另一個或幾個相對容易用程序設計語言表達并實現(xiàn)的方式,這個過程實際上就是一個抽象和自動化的計算思維的過程。在獨立解決問題的過程中,學生會體會到學習的樂趣,感受程序設計的美、計算的美。
圖1 案例-項目驅動教學法流程
教學案例和項目設計的好壞直接影響著教學效果,首先,教師要以教學大綱為基礎,主要面向知識重點和教學目的,從計算思維方面重新構建經(jīng)典案例。教師在項目選題時,還要充分考慮學生知識結構和心理特點,對一些操作性強、與現(xiàn)實相關或與專業(yè)相關的情境項目進行創(chuàng)設,引發(fā)學生對項目的興趣,激發(fā)學生的求知欲。其次,考慮到學生能力水平各不相同,教師在項目選題時,還應具有層次性。層次分明的項目既可以發(fā)展學生的共性,又可以培養(yǎng)學生的個性。另外,在具體的項目實施過程中,也可以充分發(fā)揮學生的能動性和創(chuàng)造性,讓學生結合興趣和專業(yè)特點自行設計項目,這對學生計算思維能力的培養(yǎng)也是非常有效的。
總的來說,筆者認為教學案例的選擇要偏重經(jīng)典,知識點的覆蓋,兼顧趣味性;而項目的選擇則應偏重應用,講究生活化、趣味性。比如VB程序設計中,在介紹分支語句的嵌套時,我們可以選取大家都比較熟悉和感興趣的簡易QQ登陸界面作為教學案例。而項目上可以提供:學生信息管理系統(tǒng)的登陸界面、學生在線考試系統(tǒng)的登陸界面、模擬某某游戲登陸界面或模擬淘寶旺旺登陸界面等。
對項目具體實施的解釋和對新知識的講解是案例教學的主要任務。在具體的教學過程中,講解新知識要簡潔明了,緊扣重點,避免重復,不需要面面俱到。把教學的重點放在講思路、分析問題和對問題域的抽象上,對語法細節(jié)和算法實現(xiàn)不需要過多強調(diào),給學生留下更多的時間去思考和討論,給學生足夠的自由發(fā)揮和創(chuàng)造的空間。這樣有利于培養(yǎng)學生的自學能力和計算思維能力,避免因為程序語言學習的枯燥、語法規(guī)則的繁瑣,而使學生失去學習的興趣。
為達到好的教學效果,案例教學過程中,非常有必要的一點是采用多種多樣的教學手段來調(diào)動學生學習的積極性。比如在介紹循環(huán)結構求最大值算法時,可通過“聰明的王妃”的故事引入和講解,從而激發(fā)學生從生活中發(fā)現(xiàn)知識,應用知識的熱情等等。
項目實施是整個教學過程中最重要的部分。在這一階段,學生是主體,教師是主導。如圖1所示,學生在這一階段要大致經(jīng)歷選題、學習制作和階段小結三個過程。選題后,學生分析項目,明確項目需要完成的任務;制定項目完成過程中所需要的步驟和學習計劃,并在完成項目的驅動下,進入“學中作,作中學”的階段;在項目制作的過程中,還要注意階段小結,及時總結存在的困難,隨時修改學習計劃,控制項目的制作朝著正確的方向發(fā)展。當然,在學生為主體的項目制作過程中,教師要充分扮演好主導者的角色,以強化學生計算思維為目標展開教學。比如,在選題階段,注意引導學生搞清楚自己要完成的任務是什么;在學生學習制作項目階段,可以適時的提供一些“支架性”的學習資源,防止學生進入漫無目的的“試誤”狀態(tài);在階段小結中,對學生遇到的問題進行點撥式的指導。
項目實施過程中應注意幾點[6]:(1)倡導算法多樣化,注重培養(yǎng)學生的問題求解能力、探索精神和創(chuàng)新意識。在教學過程中,要充分尊重學生的個體差異,鼓勵學生用不同方式表達算法,從不同角度認識問題,對問題求解可以采用不同的方法實現(xiàn)。(2)多鼓勵學生克服困難完成項目。(3)教師的指導要把握“度”。實踐證明非正面、非全面的“點撥式”指導不但能加深學生的記憶,還能激發(fā)學生的思維,對學生創(chuàng)新能力的培養(yǎng)有很好的作用。
最后,學生以成果展示的形式進行項目匯報,師生共同對學生完成的作品進行評價。教師有針對性的評價,可以有效的促進學生反思內(nèi)省,積極思考存在問題的本質和解決方法的改進,通過自我梳理達到構建知識體系,從而使學生的創(chuàng)新精神和計算思維能力得到進一步鍛煉。除此之外,項目總結也很重要。教師對多種程序設計實現(xiàn)方法的總結和對相關知識點的歸納,可以有效的促進學生對項目實施全過程的清晰、整體認識。
[1]牟琴,譚良.基于計算思維的探究教學模式研究[J].中國遠程教育,2010,(11):40-45.
[2]黃靜等.基于計算思維的程序設計課程教學模式研究[J].中國遠程教育,2013,(5):51-54.
[3]趙立英等.任務驅動式案例教學法在VB程序設計教學中的應用[J].科技創(chuàng)新導報,2012,(35):144.
[4]郭春平.案例及任務驅動法在VB程序設計教學中的應用[J].齊齊哈爾師范高等??茖W校學報,2010,(4):130-131.
[5]吳文虎,王建德.世界大學生程序設計競賽(ACM/ICPC)高級教程(第一冊)程序設計中常用的計算思維方式[M].北京:中國鐵道出版社,2009.
[6]侯薇.基于項目驅動的程序設計基礎課程的計算思維培養(yǎng)[J].吉林省教育學院學報,2012,28(4):148-150.