甘玲

摘要:分析傳統面向對象方法教育模式的不足和教育模式改革的可行性,闡述以項目案例啟發為教學模式、項目開發小組為組織形式、“多元復合”的交流方式、分級分形式的考核方式等為主要改革內容的項目開發教學新模式。
關鍵詞:面向對象方法;教學模式;項目案例教學;項目開發小組
0 引言
面向對象方法是當今軟件開發過程中的主流療法,它使軟件開發的過程與人類認知問題的過程保持一致,從而為計算機業內人士所重視,這也使面向對象方法這門課程成為各大高等院校理工科類研究生選課的熱點。此課程旨在培養學生構思、設計與實現軟件產品/系統的工程能力與技能,是一門實踐性極強的工程課程。然而在面向對象方法的教學實踐中也遇到了與其他軟件開發教學方法相同的問題,其中最為突出的就是理論脫離實踐,學生總是感覺縱有滿腹理論也做不出一個完整的系統。為了解決這個問題,筆者在分析傳統教學模式的不足和改革可行性的基礎上,提出一種以項目開發小組為組織形式的項目開發教學新模式。其中,項目案例啟發教學是此模式的核心,試圖圍繞真實項目進行教學,課下鼓勵學生進行項目實踐,以項目小組的形式討論、分析和設計一款實用的軟件產品,融理論(面向對象方法)于軟件開發實踐中,切實提高研究生的編程與項目開發能力。
1 傳統模式的不足
現階段,在面向對象方法的教學過程中,多數教師依然采用傳統的教學方法,而傳統教學模式已經暴露出許多不足,主要表現為以下幾點:
(1)大班形式授課,教師僅注重理論和方法的講授,無暇顧及面向對象方法的應用,沿用小科的那一套“教師上面講,學生下面聽”的填鴨式教育模式,嚴重阻礙了學生創新和思考能力的發展,很難達到課程的目標。
(2)學生基礎參差不齊,沒有處理好面向對象方法與語言以及方法和應用的關系,教學中,教師要么僅重復本科教學內容,強調面向對象講言,對基礎差的同學來說有一定收獲,但不符合研究生教學的要求;要么只介紹面向對象方法理論,教學顯得空洞,學生收獲甚微。
(3)考核方式不夠靈活。有些學校采用筆試形式,雖然能夠考查學生掌握理論知識的情況,但它的弊端也顯而易見,那就是筆試的標準與實際需求的標準不一致,而且把一門實踐性很強的軟件開發方法的課程上成了一門死記硬背的文科課程;有些學校采用提交課程論文,學生自己收集資料,結合面向對象方法完成一篇論文的考核方式,而學生作業多數是將網上的資料進行復制、粘貼而成,也未能達到課程教學目標。
傳統教學模式存在的上述不足所導致的問題就是理論脫離實際,使學生往往能在筆試或課程論文中取得比較優秀的成績,卻不能解決實際問題。這并不是教學的初衷,不符合課程目標,也不符合社會的需求。
2 改革的可行性分析
案例教學是在學生掌握了有關基本知識和分析技術基礎上的一種教學方法,符合研究生面向對象方法課程的教學。現在大部分理工科研究生在本科期間學習了某種編程語言,在此基礎上,教師通過項目案例來介紹面向對象方法,并通過對比面向對象和面向過程來講解前者的主要思想、特征及其優勢。在語法方面,教師只需圍繞某個典型問題做一定講解即可,這就為后面項目案例的重點講解分析留出了足夠的時間。
邀請軟件公司來校開設軟件開發相關講座也為此模式的實施提供了有利條件。學生一邊接受課堂講解,一邊聽取企業實際項目開發的相關知識,同時自己動手實踐,這樣才能真正做到理論聯系實際。
研究生期間,學生主要靠自學,這也是研究生的一項基本要求。基于上述條件,新的教學模式能夠得以實行。
3 新模式的主要內容
為了彌補面向對象方法課程傳統教學上的不足,需要進行教學模式的改革,筆者提出一種新的教學模式,即以項目案例啟發教學模式為主導的分類教學,融理論于實踐應用環節,在掌握面向對象方法的基礎上突出培養實踐應用能力;以“項目開發小組”為主體,突破課程實驗瓶頸,強化學生實踐應用能力,培養學生從學習到研究的思維模式轉換能力;以“多元復合”方式加強師生有效溝通,利用豐富的網絡課程資源拓寬學生的知識面和技能,提高學生興趣和學習效率;實施分級分形式的考核方式。為了更具體地介紹此模式,筆者將以重慶郵電大學開設的面向對象方法課程為例展開介紹。
3.1 項目案例啟發教學模式為主導
項目案例啟發教學的宗旨是以一個實際的、完整的項目案例為線索,融理論(面向對象方法)于項目案例之中,啟發學生從面向對象方法的分析、設計到實現,做一個全面、系統的訓練。同時,對項目開發要注意的思路、流程、組織、方法、技巧等方面進行綜合指導,突出培養學生計算機應用能力和項目開發思維能力。教師應預先建立相應的項目案例程序,按照螺旋式遞進關系適當分解、細化,并以分解后的子任務為線索展開教學。
針對學生的基礎不同,教師可以改革現行的班級設置,按照學生編程基礎及興趣進行設班,根據學生的情況來安排教學內容和教學形式,也可根據學生的需求分為Java、VC等語言的教學班。
面向對象方法需要通過語言來實現。一方面,語言是工具和基礎,應用必須用語言來描述;另一方面,應用是結果,是語言的價值歸宿,語言的表達能力又要通過應用來體現。由于研究生的編程基礎參差不齊,有很多非計算機專業的學生,這就需要學生在課下自己解決編程基礎不足的問題,同時也培養了研究生基本的自學能力,而在課堂上教師主要是借助面向對象語言和項目案例介紹面向對象方法,與研究生一道討論項目的整個開發過程,內容包括需求分析到最終的實現。
與此同時,學??梢匝堒浖卷椖块_發技術人員來校開設相應的項目開發流程講座,這樣能夠讓學生了解一線開發的情況,了解整個項目開發過程中的流程、常用工具和可能需要的知識,從而讓學生有針對性地學習所需知識,而不是籠統地、無目的性地學習一門語言。同時,這樣做的好處還有,讓學生學會為了解決特定問題而學習相應技能的能力,這將有助于學生自主性的培養。endprint
3.2 “項目開發小組”為主體
通過項目案例啟發教學模式,學生能基本掌握理論知識點的應用和項目開發的基本方法和流程,但是僅限于此是不夠的,必須將其運用到實際項目案例的開發與實踐之中,才能真正達到教學目標。教師應以項目開發為手段,培養學生自主學習及研究的思維能力。
因為面向對象程序設計方法對編程者的系統觀念、全局觀念要求較高,而且在面向對象的軟件開發過程中,對團隊協作能力要求也較高,所以建立項目開發小組是一種突破以往傳統教學實驗的新思路。主要思想是對全班學生按照專業、項目、興趣,采用自愿組合的原則進行分組,以2~4人為一組,每個小組負責一個項目程序的開發,將理論知識綜合應用到項目的實際開發之中,提倡結合自身專業和所在研究所或實驗室的需要擬定課題。從項目分組到項目答辯的具體流程如圖1所示。
其中,在項目案例討論之前,學生要完成項目分組,并著手準備申報項目,項目的申報應該在需求分析結束之前完成,這樣可以使學生的項目進度與項目案例的講解進度一致,其好處在于學生可以在學習案例的同時,將案例中的方法運用到自己的項目當中,到最后也跟著案例走完了自己項目開發的流程,真正理解項目開發的整個過程。
同時,教師可以結合本人的相關研究體會,把研究的思路、方法、技術路線和發現、解決問題的方法進行歸納傳授,培養學生項目實踐和科學研究的能力。不僅如此,教師還應從研究方法、思維模式、專業深度和廣度等方面加以引導,讓學生了解研究生階段的課程學習方法。
3.3 “多元復合”方式加強師生有效溝通
多元化的教學方式可以提供給學生多種多樣的溝通方式,不同的方式適合不同的學生,這樣可以充分發揮他們的優勢,如建立網絡輔助教學平臺、BBS電子布告欄、面向對象交流QQ群、電子郵箱等。教師課上采用項目案例式教學,課下提供網絡資料幫助學生自學,充分發揮學生的主觀能動性,調動學生的積極性,提高學習效率
為了滿足研究生個性化需求,課程組建立了一個課程網站,框架如圖2所示,網站上可以展示學生的優秀作品,供其他學生學習;學生可以在交流區中交流開發經驗,相互幫助解決問題,老師也要參與其中;在答疑解惑區(類似百度知道)中,學生可以通過積分懸賞提問,其他同學回答問題賺取積分。學生在網站上的其他活動都能賺取一定的積分,這是學生自主學習的體現最后,學生所持積分將參與期末考核,在成績中占有一定比例。
3.4 實施分級分形式考核方式
教師配合教學目標,根據學生實際情況,制訂考核方式及評價指標。強調項目開發的過程要求學生掌握基本的面向對象方法,并能與專業結合、與項目結合,分析、設計、實現一個面向對象系統;要求提交選題報告(期初)、進展報告(期中)和課程報告(期末),報告闡述開發的過程,包括面向對象軟件的分析、設計、實現過程,并著重闡述面向對象技術在其中的應用,要求學生附上程序代碼及運行界面截圖,按照1:3:6給出報告成績并作為基本成績。學生最終成績包括基本成績和考核成績(4:6)。
考核成績評價機制實施分級分形式的考核方式。學生通過項目答辯才能獲得優秀,并且被鼓勵做宣講示范;其余學生最多獲得良好成績。
綜上所述,較之本科生,該課程研究生階段的教學在教學內容、教學要求、教學形式、考核評價等方面都有很大的不同。本科生主要學習計算機語言,能編寫和調試一些基本的程序,而研究生在理論方法上要求更高,要求研究生站在系統的高度運用方法論來實現。另外,我們要求研究生掌握面向對象方法,并能與專業結合、與項目結合,達到系統分析、設計與實現的目標。
4 結語
經過研究與實踐,筆者在面向對象方法課程教學中運用此模式,很好地達到了預期目的。通過理論結合實踐,學生從宏觀上理解了軟件開發方法,提高了編程能力,嘗試了團隊分工合作,了解了軟件開發的流程,真正能夠運用所學知識完成一個實際需求,為以后研究工作或實踐應用奠定了良好基礎。
參考文獻:
[1]姜春艷,吳克壽.CDIO工程教育教學模式在00AD課程教學中的探索與實踐[J].計算機教育,2010(7):24-29.
[2]徐紅云,李仁發.信息類研究生教育現狀研究與改革[J].計算機教育,2006(10):35-37.
[3]陳優良,李恒凱,徐昌榮.案例教學法在面向對象程序設計課程中的應用探討[J].新課程研究,2010(4):54-55.
[4]楊朝霞.以螺旋式案例實施面向對象程序設計教學的研究[J].計算機教育,2010(3):116-119.
[5]張麗華.面向對象程序設計教學方法研究[J].嘉興學院學報,2005,17(3):47-49.
(編輯:孫怡銘)endprint