楊雪



摘 要: 面向對象程序設計課程是許多高校計算機專業的一門必修課。針對目前該課程實踐教學中存在的以驗證性實驗為主、學生積極性不高,編程能力得不到充分鍛煉等問題,提出基于項目教學法的面向對象程序設計實踐教學模型。通過選取有吸引力的項目引導學生編程實現,以期達到增加學生參與度、提高學生程序設計能力的目的。在項目實施過程中借助思維導圖工具,驅動學生發散思維和探究、設計并完成項目。實踐證明,采用基于項目教學法的實踐教學模型能有效提高面向對象程序設計課程的實踐教學質量。
關鍵詞: 項目教學法; 面向對象程序設計; 實踐教學; 思維導圖
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2017)07-101-04
Application of project-teaching method in object-oriented programming practical teaching
Yang Xue
(Department of Computer and Information Technology, Zhejiang Police College, Hangzhou, Zhejiang 310053, China)
Abstract: Object-oriented programming(OOP)is one of the compulsory courses for computer science specialty in many colleges and universities. In order to solve the problems in the practical teaching of the course, such as most of the experiments are for verifying and insufficient for exercising students' programming ability, and students have little enthusiasm for these programming tasks, this paper proposes the application of project-teaching method in OOP practical teaching. Through the selection of attractive projects to guide students programming, with a view to increasing students' participation, improves students' programming ability. In the process of project implementation, the mind mapping tools are used to drive students to divergent thinking and explore, design and complete the project. The practice shows that the application of project-teaching method can improve the practical teaching quality of OOP.
Key words: project-teaching method; object-oriented programming; practical teaching; mind mapping
0 引言
“面向對象程序設計”是計算機科學與技術相關專業的一門專業基礎課,其主要任務是培養學生利用程序設計語言解決實際問題的系統能力[1-2]。傳統的教學方式往往是教師精講語法及例題,學生編寫小程序對所學知識點進行驗證。這種教學方式的主要問題是知識點細碎枯燥,學生不知道面向對象程序設計課程的現實意義,因而對編程熱情不高,系統能力得不到充分鍛煉,教學效果與教學目標相背離。
傳統的以知識傳授為核心的靜態實驗教學方式(即教師在課堂上把實驗原理、目的、步驟及注意事項均詳細講解一遍,學生只需按部就班地操作,用不著查資料,也不思考實驗中還有沒有需要改進的地方。)會使學生完全處于被動狀態,壓抑他們的學習興趣和主動參與實驗的積極性[3]。因此,我們在面向對象程序設計實踐教學中引入項目教學法,選取覆蓋知識點多、對學生有吸引力的項目,并在項目實施過程中借助思維導圖[4]工具,引導學生編程實現,以達到提高其編程能力的目的。
1 基于項目教學法的實踐教學模式
項目教學法是師生通過共同實施一個完整的項目而進行的教學活動,是一種在構建主義教學理論的指導下,通過對“項目”的選取和創設情境,主要由學生獨立或合作完成預定“項目工作”的學習方式[5]。項目教學法旨在培養學生學會獨立或合作分析、解決實際問題的能力,其特點為:教師選取一個綜合型項目對前一階段課程知識和技能的傳授進行總結、升華,且項目內容中需包含學生從未遇到但通過分析和努力可以解決的問題。在項目的實施過程中,教師指導學生的成分較少,主要由學生獨立或合作完成項目。在實驗評價時,教師需要注重學生參與項目各環節的表現以及項目完成的質量。表1總結了實施項目教學法的各環節及特點。
項目教學法的目標是培養學生獨立或合作分析、解決實際問題的能力,這與面向對象程序設計課程的培養目標相一致。因此,我們在面向對象程序設計實踐教學中嘗試引入項目教學法,根據其特點把教學過程分解為確定項目、項目實施、考核評估和總結反思四個環節,構建了一個基于項目教學法的面向對象程序設計實踐教學模式。該模式下教師和學生各自的主要任務如圖1所示。圖1中,實線箭頭代表任務流程,虛線箭頭代表教師與學生之間的互動。其中右向虛線箭頭①表示在“項目實施”環節教師引導學生繪制項目的思維導圖;右向虛線箭頭②表示教師監控整個編程過程并幫助學生解決難以克服的問題;左向虛線箭頭③表示學生向教師提交已完成的項目等待教師進行考核評估。需要說明的是,在項目完成后教師和學生都應對整個項目進行全面的總結,對項目的完成情況以及學生在整個項目流程中的表現進行評比,對項目實施過程中遇到的問題進行梳理,并根據實踐教學中的不足對項目內容進行適當調整。
2 項目教學法在實踐教學中的應用
實踐活動是教學改革的靈魂。本文以實踐教學過程中的“掃雷游戲”項目為例對基于項目教學法的面向對象程序設計實踐教學模式進行詳細介紹。
2.1 確定項目
我們在講授面向對象程序設計中類和對象的概念以及圖形用戶界面設計等內容之后進入實踐教學環節。根據項目教學法的要求,教師需選擇一個能夠總結前期教學內容并包含學生此前未遇到過的問題的項目讓學生去完成。因此,我們選擇了一個既涉及圖形用戶界面設計又包含底層算法編寫的項目——設計并實現一個類似于Windows平臺上的“掃雷游戲”[6]。對該項目有以下5點具體要求。①顯示掃雷區域,用戶鼠標左鍵單擊任何一個方塊按鈕啟動游戲。②單擊某方塊按鈕,若有雷則提示游戲結束,無雷則顯示一個代表該方塊周圍八個方塊中有幾顆雷的數字。③如果用戶認為某方塊下有雷,可以單擊鼠標右鍵進行標記,方塊按鈕上顯示“?”。④游戲結束后,彈出“恭喜通關!”的對話框。⑤游戲界面含有“新游戲”、“獲取幫助”、“關于掃雷”、“退出”等菜單。點擊菜單中的“獲取幫助”,會提示用戶游戲規則;“關于掃雷”菜單提示游戲的開發者信息;單擊“退出”菜單退出掃雷游戲。
以上項目要求中,①④⑤考查學生對圖形用戶界面設計知識點的掌握情況,②是要求學生在掌握對象和類等概念的基礎上進行算法設計,③是“響應用戶點擊鼠標右鍵的操作”,屬于前期未講授的知識點,需要學生自主學習。滿足項目教學法“在一定范圍內學習新的知識技能,解決過去從未遇到過的實際問題[7]”的要求。
2.2 項目實施
由于項目教學法在實施階段以學生動手為主,教師指導為輔,因此,在具體教學過程中我們通過思維導圖工具引導學生進行項目主題劃分,學生在教師的指導下,獨自規劃、設計并實現項目。
思維導圖使用特定的圖形來組織和表征關系,能夠幫助學習者進行有效的思維和記憶[8],一般由一個中心主題發散多個分支主題,各分支主題又由多個關鍵詞組成,能夠形象地展現人腦的思維過程[9]。正因思維導圖具有能夠跟隨大腦思考過程,分級進行主題劃分的功能,因此非常適合在項目實施的初始階段進行思路的梳理。常用的思維導圖有Inspiration[10]、Mindmanager[11]、Freemind[12]和XMind[13]等。
圖2為教師引導學生在“掃雷游戲”項目中利用XMind繪制的實現方案。在此思維導圖的指導下,學生能夠快速預估實現項目所需的時間,設計思路清晰,完成項目的速度也較快。此外,思維導圖能夠幫助部分學生改善剛接觸實驗項目時頭腦中一盤散沙、完全不知從何下手的局面,提高了他們的學習效率和對待實驗項目的積極性。
最后,學生在該思維導圖的引導下獨立進行編程實踐。在此階段,教師應監控整個實驗過程,在學生遇到難以克服的問題時及時給予幫助。
2.3 考核評估
學生完成項目后,向教師提交完成的作品和繪制的思維導圖。具體方式為學生公開作報告并展示,教師在學生報告結束后對實現項目過程中的一些技術細節進行提問。如果學生的答辯中存在某些問題或錯誤,教師會進行分析及更正,以保證項目完成的質量。學生答辯結束后,教師根據項目完成情況及其在項目各環節中的表現給予綜合評分。
2.4 總結反思
總結與反思是實踐教學的最后一個環節,教師和學生都要參與其中。項目完成后,教師應總結學生在項目實施過程中存在的普遍性問題(學生在實現當用戶點擊一個周邊無雷的方塊時,系統會自動點開其周邊八個方塊這一功能出錯最多),分析問題產生的原因(對遞歸的思想理解不透徹),幫助學生更正這些錯誤,為其重構所學知識提供便利,此外,教師還要對項目整個流程進行反思,并在此基礎上完善項目的目標和內容,以便今后更好地開展實踐教學。最后,學生要總結在此次項目中的收獲并反思自身的不足,進而對所學知識進行重構。
3 結果評價
為驗證基于項目教學法的面向對象程序設計實踐教學模式的有效性,我們在2015級網絡安全與執法專業學生中選取學風相近、學生數相同(均為30人)的A、B兩個班級作為實驗班(A班)和對照班(B班)。在實踐教學中,對實驗班的學生采用項目教學法,要求他們兩人為一組合作實現“掃雷游戲”項目,而只要求對照班的學生完成驗證型的實驗。
我們對這兩個班級的期末測試成績分別進行考察(試題以應用性題目為主,重點考查學生對類和對象的理解以及利用面向對象程序設計語言進行圖形用戶界面編程的能力)。實驗班(A班)和對照班(B班)學生的期末成績分布如圖3和圖4所示。
從成績分布情況可知,實驗班有1人成績在90分以上,36%的學生成績良好(80~89之間),共有58%的學生成績超過70分;而對照班成績良好以上的學生比例為27%,比實驗班低12%,且成績超過70分的人數只有50%,也比實驗班低8%。此外,實驗班有1人不及格,對照班有3人不及格。采用項目教學法的實驗班同學與對照班同學相比總體成績要好。
值得一提的是,兩個班級成績在60-69區間的學生比例比較接近,我們分析是由于項目教學法在整個項目實施過程中對學生獨立分析并解決問題的能力要求較高,而部分同學由于前期基礎知識掌握不夠扎實,因此在這種實踐教學模式下學習比較吃力,未能獲得預期受益。因此,教師應在今后教學過程中對這部分學生給予更多關注。
4 結束語
基于項目教學法的面向對象程序設計實踐教學模式能有效幫助教師對前期講授的知識進行總結、升華,提高學生獨立分析和解決實際問題的能力,使他們從知識的被動接收者變為項目的主動探索者和知識的構建者。實踐教學證明:采用項目教學法施教的班級獲得了更好的效果,項目實施過程中思維導圖工具的使用有助于提高學生的思維品質和實驗效率。然而,該教學模式對教師的要求也更高,主要體現在如何合理選擇綜合性項目,引導學生實施并對他們在各個環節中的表現給予客觀評價。因此,教師需要在日常教學中不斷總結、反思和積累,從而確保教學改革順利開展。
參考文獻(References):
[1] 王志英,周興社,袁春風等.計算機專業學生系統能力培養和
系統課程體系設置研究[J].計算機教育,2013.9:1-6
[2] 辛運幃,饒一梅,馬素霞.Java程序設計[M].清華大學出版社,
2013.
[3] 楊雯雯,張小崗.高校實驗教學改革的問題及對策[C].北京高
教學會實驗室工作研究會,2007:327-330
[4] 陳云輝,謝百治,趙麗.思維導圖與學生創新思維能力培養[J].
中國醫學教育技術,2006.2:10-12
[5] 徐肇杰.任務驅動教學法與項目教學法之比較[J].教育與職
業,2008.11:36-37
[6] 耿祥義.Java課程設計(第二版)[M].清華大學出版社,2008.
[7] 邱榮生.運用項目教學培養合格人才[C].新世紀中國教育發
展論壇,2007.2.
[8] 郭艷霞.基于思維導圖的教學模式研究[D].湖南師范大學,
2011.
[9] 陳靜.概念圖/思維導圖在計算機軟件類課程中的教學行動
研究[D].華中師范大學,2012.
[10] Inspiration Software [EB/OL]. [2017-02-10] http://
www.inspiration.com/.
[11] Mindmanager [EB/OL]. [2017-02-10] http://www.
mindmanager.cc/.
[12] Freemind[EB/OL].[2017-02-10] http://freemind.source-
forge.net/wiki/index.php/Main_Page.
[13] XMind [EB/OL].[2017-02-10] http://www.xmindchina.
net/