門秀萍
摘 要:該文從Java程序設計教學實踐出發(fā),分析了在面向對象程序設計課程的教學過程中存在的一些不足,結合自身的專業(yè)知識和教學經(jīng)驗,從課程的教學環(huán)境、教學內(nèi)容、教學方法、多媒體輔助教學和考核機制等幾個方面提出了面向應用型人才培養(yǎng)的課程教學體系,并按照學生的認知規(guī)律組織教學活動,采用多種教學方法和手段,完課程考核機制,充分發(fā)揮學生學習的主動性,增強學生面向對象的思維能力、自學能力和解決問題能力,提升學生就業(yè)的核心競爭力,從而達到教學效果的最優(yōu)化。
關鍵詞:面向對象 教學方法 多媒體教學
中圖分類號:G64 文獻標識碼:A 文章編號:1672-3791(2015)06(b)-0196-02
Java面向對象程序設計是計算機等專業(yè)的必修課,該課程的教學目的是使學生掌握面向對象程序設計的基本方法,能夠熟練地使用java語言進行程序設計并具備獨立調(diào)試程序的能力。[1]而傳統(tǒng)的教學方式存在一定的弊端,不能適應高校應用型人才培養(yǎng)的目標,主要表現(xiàn)為:教學模式過于呆板,學生被動接受知識,只會簡單模仿,沒有獨立分析和解決實際問題的能力。如果面向對象程序設計課程仍采用傳統(tǒng)教學模式,而不采用新的教學模式,那么以上問題就得不到較好的解決,從而成為相關課程教學乃至整個專業(yè)的瓶頸。
1 問題分析
Java語言是一種復雜的語言,教師在講授過程中使用面向過程的語言的教學方法,學生也習慣此方法,往往把教學過程和學習重點放在java語言的語法和算法上,忽略了java面向對象的編程思想的理解,無法培養(yǎng)學生獨立編程的能力。
面向對象程序設計課程的實踐意義要遠大于理論意義,目前大多數(shù)教師在講授過程中采用驗證式教學方式,即每講授一個知識點后用一段程序去驗證該知識點,然后繼續(xù)講授下一個知識點,這種授課方式會讓學生把精力集中在這些具體的知識點,無法將知識結構有機的貫穿起來,缺乏對課程的整體概念,最終無法讓學生將所學理論知識與要解決的實際問題聯(lián)系起來。
大多數(shù)學生都是被動學習,實踐機會較少,只能依賴于課堂教學,教師與學生之間缺少必要的交流和課外學習和輔導平臺。
考核方式采用試卷方式,重理論輕實踐,考核內(nèi)容教材化,學生往往通過死記硬背即可通過考試,因此阻礙了學生知識運用、科學思維和創(chuàng)新能力的培養(yǎng)。
總之學生在學習完課程后,往往只能編寫一些簡單的小程序,無法獨立分析和解決一些實際問題,不能滿足應用型人才培養(yǎng)的需求。
2 面向對象程序設計教學改革探索
以上問題是影響面向對象類教學方法的主要因素,為提升教學效果,研究者在借鑒國內(nèi)外面向對象程序設計教學方法和模式的基礎上,提出了以應用型人才培養(yǎng)為目標的教學方法改革。
2.1 選擇簡單的語言環(huán)境,激發(fā)學生學習興趣
在20世紀70年代,斯坦福的研究生Rich認為,在程序設計基礎教學中,如果學生可以在某種簡單的環(huán)境中,擺脫大多數(shù)編程語言復雜的特性,學習基本的編程思想,可以取得更好的效果。后來,Rich設計了一個入門編程環(huán)境,讓學生教一個機器人來解決簡單的問題,這個機器人叫卡雷爾??ɡ谞柕氖澜缰校ㄟ^給它一組命令,直接讓卡雷爾執(zhí)行某些任務。制定這些命令的過程稱為編程??ɡ谞柕木幊陶Z言和java語言具有相同的結構和基本元素,這樣便于順利過渡到java語言,相對于java語言來說,卡雷爾的編程語言非常的小,更容易掌握,通常教授卡雷爾語言只需要幾個小時。
通過卡雷爾語言的學習,可以使初學者從簡單的語法開始,使學生把主要精力集中在要解決的實際問題,而不是編程語言的語法細節(jié),同時在卡雷爾的學習過程中,能夠激發(fā)學生的創(chuàng)造力和想象力,增加學生的學習樂趣??ɡ谞栐O計得完全兼容Eclipse編程環(huán)境。
2.2 了解java底層機制,加強編程思想的培養(yǎng)
我們不僅僅教授一門程序設計語言,而是學習一種編程思想。在教學過程中,讓學生能夠了解Java的底層機制,不是僅僅停留在表層語法,也不是抄書上的例子運行出結果就可以。而是要啟發(fā)學生舉一反三,使其知其然,更知其所以然。要注意,即便對一個簡單的例子也要有耐心去琢磨、調(diào)試、改動。此外,在學習的過程中一定要動手做、寫代碼,最好能參與一些實際的項目。
面向對象的程序設計符合現(xiàn)實生活中解決問題的思維過程,從問題出發(fā),把解決問題的思維方式逐步轉變成計算機實現(xiàn)的過程,java編程的核心是抽象化。在編程時,將解決問題相關的業(yè)務邏輯和問題實現(xiàn)相關的業(yè)務流程先區(qū)分出來,將解決問題的過程抽象成一個框架,集中精力思考如何解決主要矛盾,然后在解決問題的過程中,再把問題的細節(jié)分割成一個一個小問題,再專門去解決細節(jié)問題。在教學過程中,通過設計案例,引導學生分析、思考和討論問題,提出解決方案并驗證方案的可行性。通過反復實施上述思維過程,逐步加深和鞏固學會對面向對象思想的理解。
設計模式是針對面向對象系統(tǒng)中重復出現(xiàn)的設計問題,提出一個通用的設計方案,并予以系統(tǒng)化的命名和動機解釋。它描述了問題,提出了解決方案,并指出在什么條件下使用該方案以及其效果。該解決方案是一組精心安排的通用的類和對象,再經(jīng)過定制和實現(xiàn)就可用來解決特定的上下文中的問題。簡單來說,設計模式就是一個常用的方案。為了使學生更好地理解面向對象的編程思想,在教學過程中引入設計模式模塊,良好的設計模式能夠理清程序的框架。在講解時,通過采用設計模式的java程序與采用基本面向對象設計方法的程序進行對比,詳細分析兩種方法在設計思想、實現(xiàn)過程、運行效率和運行結果的異同,充分了解面向對象和設計模式的編程思想。
2.3 采用研究性教學方法,引導學生自主學習
研究性教學強調(diào)以學生自主學習和探究為基礎,通過個人或小組合作方式參與研究專題,獲取直接經(jīng)驗,從而調(diào)動學生自身參與知識構建的自覺性和積極性,培養(yǎng)學生研究能力,提高綜合運用知識解決實際問題的能力[2]。研究型教學方法與傳統(tǒng)的灌輸式教學的最關鍵的區(qū)別是,研究型教學的整個過程都是圍繞“問題”來展開的,“問題”始終貫穿在整個教學過程中,充分發(fā)揮教師和學生在教學過程中的主導地位。
研究性教學方法具體實施時,首先,由教師根據(jù)教學內(nèi)容,提出需要學生解決的問題,教師要充分抓住學生的心理特點,挖掘教學內(nèi)容中的新奇的教學素材,利用多種形式和手段創(chuàng)造問題情景,充分調(diào)動學生思維的積極性。其次,教師要圍繞提出的問題來開展教學活動,在這一過程中,教師主要扮演引導者的角色,要充分發(fā)揮學生的主體性,調(diào)動其自主解決問題的積極性,最終引導學生找到解決問題的關鍵和途徑;最后,學生在教師的講解和幫助下,提出解決問題的方案,這一環(huán)節(jié)中教師對學生解決問題的過程和結果進行評價和總結。
通過研究性教學方法的實施教師通過展示自己對問題的研究過程,讓學生學習研究方法、體驗研究過程,并通過引導學生自主思考,尋求解決問題的方法,既充分調(diào)動了學生的學習的主動性和積極性,又發(fā)揮教師在教學過程中的主導作用,培養(yǎng)了學生思維能力和創(chuàng)新能力,使學生具備了解決實際問題的能力。
2.4 利用多媒體輔助教學,加強學生課外學習
隨著現(xiàn)代信息技術的發(fā)展,教學和學習方式已經(jīng)發(fā)生了巨大變化,不再局限于傳統(tǒng)的面對面的教學模式。媒體技術及網(wǎng)絡技術的發(fā)展使得網(wǎng)上在線學習得到了很大發(fā)展[3]。對于面向對象程序設計課程來說,借助網(wǎng)絡和多媒體技術開辟課外學習和輔導平臺對學生進行課后復習和提高具有重要意義。
為了給學生在課外學習面向對象程序設計課程提供幫助,我們專門開發(fā)了一個網(wǎng)絡平臺,在該平臺上整合了所有與課程相關的學習資源,主要包括視頻教學、在線答疑、作業(yè)管理、在線測試等功能。
該課程的教學過程中,教師經(jīng)常需要演示某些操作過程,由于課堂學時的限制,學生不可能即時練習,因此,我們將這些演示過程制作成視頻文件,這些文件可以在網(wǎng)上在線播放,學生可以隨時進行觀看,為了控制視頻文件的大小,使其便于在網(wǎng)上播放,我們選擇了占用空間較少的Flash文件格式,學生在觀看時只要客戶端上安裝了支持flash文件格式的播放器就可以直接觀看了。
課后答疑對于教師控制學生短期學習行為具有重要作用,答疑的形式大都采取電話、電子郵件、課程論壇等形式,但這些方式存在交互慢,不直觀,效率不高等問題,只用來解決一些簡單問題,因此我們采用在線視頻模式,開展以學生為核心的遠程教學模塊,教師通過遠程電子白板進行在線解答,同時可以分發(fā)參考文件給在線學生。另外可以利用QQ、微博和微信等工具構建公共學習平臺,學生可以在該平臺上進行交流和討論。可以針對某一問題進行討論,或者通過協(xié)作共同完成一個項目;教師也可以在該平臺上發(fā)布作業(yè),上傳學習資源,對學生進行輔導和幫助,通過這些平臺,可以最大化地實現(xiàn)學生之間的的互動以及學習成果的交流,充分發(fā)揮學生自身學習的主動性和創(chuàng)造性。
為了及時掌握學生的學習狀態(tài),網(wǎng)絡平臺提供了在線測試模塊,學生可以隨時進行測試,及時查漏補缺,該測試模塊還提供了對學生測試成績的統(tǒng)計分析信息,教師可以查看分析結果,可以了解學生對每一章節(jié),每一個知識點的掌握情況。
另外鼓勵學生加強自主學習能力,讓學生閱讀一些經(jīng)典的java開放源代碼程序,這些程序是由專業(yè)的java設計人員所編寫,這些源碼設計合理,語言精練,并且有廣大java編程愛好者的參與,所以讀源碼可以很好地提高編程水平。其中必讀的兩個開源項目就是Jive和PetStore.。Jive是國外一個非常著名的BBS程序,完全開放源碼。論壇的設計采用了很多先進的技術,如Cache、用戶認證、Filter、XML等。PetStore(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開放源碼的程序,很具有權威性。還有就是要經(jīng)常上一些好的Java論壇,遇到不會不懂的問題隨時向別人提問,這樣可以大大減少閉門造車浪費的時間。
3.5 改革考試機制,加強編程能力考核
為了適應應用型人才培養(yǎng)目標的要求,強化實踐技能和綜合能力的培養(yǎng),實現(xiàn)對學生學習全過程的監(jiān)督與考核,客觀完整的評價學生的學習效果。通過考試改革,進一步推動教學內(nèi)容和教學方法的改革,充分調(diào)動學生的學習積極性和主動性,提高學習成績,降低不及格率。
課程考核機制應充分考慮課程的性質(zhì)以及學生具體情況,在此基礎上以考察學生的綜合素質(zhì)為原則,強化學生編程能力的培養(yǎng),加強學習過程的考核,加大平時考核在學生綜合成績中的比例。制定嚴格的考核標準和考核則執(zhí)行方案,以公平、公開、公正的原則評定每位學生的成績。
根據(jù)各章節(jié)知識結果和特點,采用不同的考核方式,理論知識采用筆試,而學生編程能力的考核則采用上機方式,學生可以根據(jù)自己的能力從上機題目列表中選擇具有不同難度系數(shù)的題目,難度系數(shù)越高,分值越高。
通過改革考核機制,可以引導學生將學習的重點轉移到自身編程能力的學習和培養(yǎng)上,最終使其掌握利用面向對象解決實際問題的能力。
3 結語
該文結合面向對象程序設計課程多年的教學實踐,從程序設計的語言環(huán)境、教學方法、教學內(nèi)容、多媒體輔助教學等方面對面向對象程序設計課程的教學提出了一些建議,并應用于實際教學中,充分調(diào)動了學生的積極性,激發(fā)了學生的興趣,培養(yǎng)了學生分析和解決問題的能力,為今后學生就業(yè)奠定了良好基礎。
參考文獻
[1] 顧鴻虹,楊女耶,于靜,等.Java面向對象程序設計教學改革方案的探討[J].現(xiàn)代計算機(專業(yè)版),2012(17):19-21,30.
[2] 金玲玲,張廣路.研究性教學在面向對象程序設計課程中的探討[J],中國教育信息化,2011(7):61-63.
[3] 劉艷.在線學習系統(tǒng)的研究與設計[J],考試周刊,2014(4):109-110.