摘要:該文針對《軟件設計基礎》課程教學特點,基于培養(yǎng)學生計算思維的目標,提出項目驅動式教學模式和評價方式改革的具體措施,即對如何在程序設計課程中培養(yǎng)和強化訓練學生計算思維進行了闡述,以提高學生計算機應用能力、研究創(chuàng)新能力以及計算思維和計算能力。
關鍵詞:計算思維;項目驅動;教學模式;改革
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2013)16-3799-03
1 概述
當前,計算思維的培養(yǎng)已經成為國內外計算機教育界關注的焦點[1-2]。許多計算機教育者已經實施了在教學過程推進計算思維能力的培養(yǎng)。如,何明昕在2008年全國“計算思維與計算機導論”專題學術研討會上指出:作為最重要的計算思維原則之一,關注點分離是計算科學和軟件工程在長期實踐中確立的一項方法論原則[3]。廖偉志介紹了計算思維中的模型、遞歸和模塊化等概念在離散數學課堂教學中的應用,并指出“教學實踐表明此舉能夠激發(fā)學生的學習興趣,有助于教學質量的提高”[4]。李芳針對《圖像處理》課程教學中存在的問題,結合計算思維對課程進行了改革,并取得良好教學效果[5]。2010年7月,中國高等學校計算機基礎課教學指導委員會在西安會議上發(fā)表了《九校聯(lián)盟(C9)計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明》,確定了以計算思維為核心的計算機基礎課程教學改革[6-7]。
程序設計課程是大學計算機基礎課程的重要分支,也是許多高校非計算機專業(yè)進行計算機基礎教育的重要課程之一。陳杰華在其文章中指出“程序設計課程學習的重點不只是編寫程序,而是算法思想與問題求解的思路。就是要培養(yǎng)學生使用計算機編程,并最終形成計算思維”[8]。
本校面向非計算機專業(yè)學生所開設的《軟件設計基礎》課程是以Visual Basic、C++、C#、Visual Basic.net等語言為載體,以講解程序設計的方法、項目開發(fā)方法、程序調試技巧和算法分析作為課程的核心內容,以培養(yǎng)學生的計算機應用技能、研究創(chuàng)新能力以及縝密的計算和邏輯思維為目標的程序設計課程。通過該課程的學習,學生不僅要掌握程序設計語言的知識,更重要的是在實踐中逐步掌握程序設計的思想和方法,培養(yǎng)解決問題的思維習慣和能力。也就是說,培養(yǎng)和訓練學生計算思維不僅是計算機基礎教育的現實要求,更是《軟件設計基礎》的課程要求。
因此,該文提出了基于計算思維培養(yǎng)的項目驅動式《軟件設計基礎》教學模式的研究。針對教學內容和方法進行改革,以項目為驅動,進行問題引導,注重學生實訓,重點培養(yǎng)學生計算思維,提高學生知識素養(yǎng)。強調如何在程序設計教學中培養(yǎng)學生的計算思維能力,并制定了促進計算思維培養(yǎng)的學生評價方式。
2 基于計算思維培養(yǎng)的項目驅動式教學模式
2.1 教學模式的理論基礎
2.2 基于計算思維培養(yǎng)的課堂教學模式
課堂教學教師為主導,以項目為切入點,進行問題引導,達到思維訓練的目的。在理論知識的講授中“輕語法、重算法”,強調問題的求解過程,啟發(fā)學生運用計算思維的方法解決問題,在學習過程中掌握知識點的同時逐漸形成自己的學習方法。
1)項目驅動,以項目群覆蓋知識面
以計算思維項目案例為載體,引導學生通過項目設計開發(fā)的實際訓練,掌握計算機程序設計的方法和技巧。教學中所有項目案例的總和要盡量覆蓋預定教學目標的各個知識點,形成一個循序漸進、種類多樣的項目群,構建一個完整的教學設計布局。
2)問題引導,以問題為線索展開教學
在項目設計訓練過程中,教師以軟件開發(fā)步驟為順序,設置該項目程序設計所遇到的各種問題,并以這些問題為線索展開教學。問題引導包括三個層次,技術引導:完成某一功能要采用哪些技術;知識引導:實現這些技術需要哪些知識;應用引導:這些知識如何解決具體問題。
3)思維訓練,以計算思維為導向組織教學
教學組織和實施過程以計算思維為導向,以思維訓練為中心,引導學生利用計算思維的方法解決問題。教學方法由“學會”為“會學”、“難學”為“樂學”;課堂變成“師生討論、思考、相互教授的研究場所”;課堂講授由“傳授知識的教學活動”變?yōu)椤皩е聦W習的交流活動”;在“討論式教學”中教授學生學習的方法。
2.3 基于計算思維培養(yǎng)的實踐教學模式
實踐教學是培養(yǎng)學生能力的重要環(huán)節(jié),體現學生所學知識和自身能力的統(tǒng)一,使學生在解決實際問題的過程中體驗計算思維的方法,培養(yǎng)計算思維能力。實踐教學主要包括實驗訓練、自主學習和課程設計三個環(huán)節(jié)。具體如下:
1)實驗訓練
程序設計最突出的特點就是實踐性。要使學生掌握程序設計的方法,必須通過反復的項目訓練來理解算法的邏輯性,進而掌握編程技巧。上機是進行實驗訓練的最直接最有效途徑。在上機過程中,要體現以學生為主體,以項目的實際訓練為主導,把學生推到項目活動中去。教師要提供一個經過精心設計的教學情境,引導學生在對問題的探討中尋求項目的解決方案、思路和最終的解決辦法,形成完整的計算思維模式,提高應用技能。
2)自主學習
“多練”是程序設計初學者對所學知識最好的鞏固方法,只靠上課的時間是遠遠不夠的,所以要求學生加強課外自主學習。自由上機是對課內知識的回顧和延伸,主要是進行驗證性和模仿性程序設計算法的實踐。首先進行項目的問題分析,給出解決方案;其次,寫出實現代碼,編譯運行,觀察并驗證運行結果;然后,總結編程基本思路和方法,掌握基本語句的使用及程序的執(zhí)行過程;最后,以“項目”為基礎,嘗試著寫出類似的程序,經過舉一反三的練習學習編程的方法和技巧,學會用程序設計思維方式分析和解決問題。
3)課程設計
受學時限制,課程結束時學生對程序設計的整體概念不強,缺乏完整的項目訓練,增加課程設計環(huán)節(jié)可以解決這一問題。要求學生用規(guī)定的時間相對獨立地完成一個實用程序開發(fā)的過程,這對于學生深化理解程序設計語言、提高綜合運用所學知識解決實際問題的能力有著非常顯著的作用。
課程設計的具體要求如下:
①每人獨立完成一個題目。
②四星的題目可以兩人合作,但必須分工明確,答辯時必須每個學生都答辯,教師隨機問每個學生不同問題。
③獨立編寫并完成題目要求的程序,完成課程設計報告書,并在設計報告封面上為自己打分。
④在規(guī)定的時間內,上交打印版的課程設計報告,并提交報告的電子稿和編寫的程序源代碼到服務器上的指定位置。
⑤組織學生進行答辯,要求學生講解設計思路,項目功能介紹,并演示所設計項目。答辯教師現場提問。
3 基于計算思維培養(yǎng)的綜合評價模式
在“項目驅動式”程序設計教學方法中,除了對理論基礎知識的基本要求外,更注重的應該是學生實際動手能力的培養(yǎng),即真正進行獨立項目開發(fā)的能力?;谟嬎闼季S能力的培養(yǎng)要求,必須打破傳統(tǒng)側重于考查學生是否掌握具體知識點的考核模式,建立體現學生計算思維方式和解決問題能力的新的考核模式。學生成績由課程設計成績和平時作業(yè)成績來進行綜合評定。完全根據學生選擇題目的難易程度、答題的結果及創(chuàng)新程度,來考核學生是否具有運用計算思維中的方法和程序設計基本原理解決實際問題的能力。
綜合評價按如下比例分配:
4 結論
程序設計是體現計算思維能力的一種方式。針對《軟件設計基礎》課程的需求,對其教學內容和教學方法進行研究和改進,提出了一種新的“基于計算思維培養(yǎng)的項目驅動式教學模式”,包括課堂教學模式、實踐教學模式和綜合評價模式。在整個教學模式中,以項目為驅動,教師進行問題引導,學生積極實踐訓練,在項目開發(fā)過程中體現計算思維能力的培養(yǎng),進而激發(fā)學生積極能動性,提高學生分析問題和解決問題的實際能力。
參考文獻:
[1] Jeannette M.Wing.Computational Thinking[J].Comminications of the ACM,2006,49(3):33-35.
[2] 董榮勝.計算思維與計算機導論[J].計算機科學,2009,36(4):50-52.
[3] 何明昕.關注點分離在計算思維和軟件工程中的方法論意義[J].計算機科學,2009,36(4):60-63.
[4] 廖偉志,李文敬,王汝涼.計算思維在離散數學課堂教學中的應用[J].計算機科學,2008,35(11).
[5] 李芳,李一媛,楊兵.計算思維在《圖像處理》課程中的實踐及應用[J].計算機科學,2008,35(11).
[6] 馮博琴. 九校聯(lián)盟計算機基礎教學發(fā)展戰(zhàn)略聯(lián)合聲明,教育部高等學校教學指導委員會通訊,2010.10
[7] 陳國良,董榮勝.計算思維與大學計算機基礎[J].中國大學教學,2011(1):7-11.
[8] 陳杰華,程序設計課程中強化計算思維訓練的實踐探索[J].計算機教育,2009(20):84-85.