覃曉 元昌安
摘 要 文章通過分析傳統教學方法及考核方式的不足,以及我院學生學習行為的特點,分別從教學內容、教學手段、考核方式等方面提出了適合我院學生能力水平和學習習慣的課程教學改革方案。
關鍵詞 面向對象 程序設計 課程 改革
中圖分類號:G642 文獻標識碼:A DOI:10.16400/j.cnki.kjdkx.2016.01.022
The Reform Exploration and Practice of
Object-oriented Program Design Course
QIN Xiao, YUAN Chang'an
(College of Computer and Information Engineering, Guangxi Teachers Education University, Nanning, Guangxi 530023)
Abstract This paper analyzes the problems existing in traditional teaching methods and assessment methods in object-oriented curriculum, and based on the characteristics of our students learning behavior, proposed teaching reform program in terms of teaching content, teaching methods, assessment methods adapt to our students study ability and habit.
Key words object-oriented; programming; curriculum; reform
面向對象程序設計課程是一門理論性和操作性都很強的課程,由于其課時少,教學內容牽涉的知識點多,有些語法結構抽象復雜,使得這門課成為學生難以掌握的科目之一。為了提高課堂教學質量和效率,有效培養學生的編程能力和創新能力,我院對該課程進行現狀分析和教學改革探索。
1 傳統教學存在的問題
1.1 理論教學存在的問題
教師在進行面向對象程序設計課程講解的時候,多采用理論教學和實踐操作相結合的傳統教學方法。但在進行理論教學的時候,老師容易將課程當作純粹的程序設計語言課來講授,將教學的重點放在了面向對象程序設計語言的語法規則和使用上,忽略了本類課程“利用面向對象思想來分析問題、描述問題和解決問題”的核心教學內容,從而導致教學過程枯燥無味,學生難以對課程產生興趣,成績和能力都難以得到提高。
1.2 實踐環節存在的問題
傳統的實踐環節大多采用的方式是:學生在實踐課時上機完成教師布置的課后實驗題目。這種方式主要存在三個弊端:一是理論課與實踐課分開進行,而學生在實驗課上完成題目時,往往已經忘記了理論課上的知識要點,上機編程效率低下,能力提高有限。二是上機練習的題目,多是一些驗證性的練習,缺乏針對性和設計性,不利于培養學生的創新精神和激發學生的學習興趣。三是上機時學生多,問題多,而老師能夠指導的學生有限,學生的問題不能得到及時解答,學習信心受到打擊,逐漸放棄課程的學習。
1.3教學手段存在的問題
多媒體技術在教學應用中的普及,讓教師們普遍采用了課件教學的形式。課件教學不但能夠大大減輕教師的工作負擔,而且能明顯增加課堂教學內容的信息量。然而課件中過多的使用信息化元素,會削弱分析問題、解決問題過程中推理思維呈現的完整性,不能發揮傳統的、優秀的板書推導方式的作用,學生難以在時間有限的課堂上捕捉到若干程序演進的過程。同時,教師在使用課件進行教學時,會自然加快課堂教學節奏,造成學生在一些關鍵知識點上沒有足夠的時間加以反應,難以消化和理解。
1.4對教學對象缺少充分的分析
我院是一所普通高校,受招生所限,很多學生學習能力比較欠缺,表現為沒有良好的學習習慣,自我管理能力弱,學習積極性不高,在學習過程中一旦遇到困難或挫折容易中途放棄。大學生活更強調自主管理,學生入學后不適應寬松的學習環境,不會合理安排學習和娛樂時間,導致很多學生將業余時間浪費在網絡游戲、影視、交友等活動中,嚴重耽誤了學習。同時,相當一部分學生拋棄了中學階段課前預習,課上做筆記,課后認真復習的好習慣,陷入平時不學習,考試抱佛腳的惡性學習狀態,很難真正掌握專業知識和提高專業技能。
2 教學改革探索
2.1 課堂教學內容改革
首先,在面向對象的課程教學中,我們強調教師應對比“面向過程”的程序設計方法,重點向學生闡明“面向對象”程序設計方法。例如,在封裝性的講解中,以面向過程程序設計方法中的函數為例進行對比講解:面向過程的程序設計方法中,函數的定義是為了實現某個功能模塊,但這個模塊在整個程序中是獨立存在的,其他任何模塊都可以直接調用它,這使得程序模塊間的邏輯關系模糊,難以管理和維護。而面向對象的程序設計方法中,功能模塊的定義基本變為編寫封裝在類中的方法體,使得這類代碼的行為和屬性都隸屬于某個特定的對象,因而這種方法更符合自然界中的主體行為規律。
其次,盡可能地選擇項目化教材。項目化教材常以設計和編寫一個完整的項目為內容主線,與注重語法理論、案例分散的傳統教材比較起來,這類教材更便于教師實施項目驅動式教學模式,更有利于把理論與實踐在課堂教學中有機地結合起來,讓學生在應用和實踐需求中有目的地學習,在教學中培養學生的團隊精神和創新能力,激發學生的學習興趣。
2.2 實踐教學改革
通過對我院學生學習習慣、知識和能力水平的了解和分析,我們認為采用驗證型實驗講授+項目型實驗實踐的方式比較適宜。具體而言,就是在講解一些與面向過程程序設計方法不同的概念知識時,采用驗證型實驗案例講解,幫助學生理解概念。在上機實驗環節,采用講解如何完成一個具體的項目作為案例,要求學生模仿完成,幫助學生在實踐過程中學會靈活運用理論教學中的知識點,形成有用的知識鏈。在課程設計環節,設計一個難度與課堂講授案例相當的小項目,要求學生以項目小組形式合作完成,培養學生的團隊協作精神和解決實際問題的能力。
如在學習類、對象等相關概念的時候,教師可以在課堂中結合演示向學生講解教材中的驗證型實驗,接著在實驗實踐環節,可以演示一個小型項目(如學生成績管理系統)中與類、對象的定義相關的設計環節,并要求學生一步一步模擬實現。到所有知識點講解完畢,教師則可以在課程設計環節,要求學生自行設計并完成一個類似的小項目(如手機通訊錄管理系統)。通過層層遞進的實驗設計,學生既能夠在較短實踐內理解驗證型實驗中的知識點,又能在項目型實驗中進一步地鞏固和理解理論知識,提高編程能力。學生在實踐中體會到了學以致用的樂趣,學習主動性和積極性得到了很好的調動。
值得一提的是,對程序設計類課程,我院都設有2周(16個學時)的課程設計課。以往我院將課程設計安排在學期末,但在實踐中我們發現,學生在學期末時往往要承擔很大的學習壓力,要應付各科公選課和專業課的復習考試的壓力,學生常常顧此失彼,難以靜下心來好好完成課程設計。所以,我們將課程設計課調整到理論課結束后的第二個學期期中,讓學生有充分的時間復習面向對象的知識點,交出較高水平的設計作品。
2.3 教學模式和教學手段改革
如前所述,利用課件進行教學,有利有弊。因此,教師應在教學過程中采用多種教學手段結合的方式。首先,在制作課件的時候,盡可能用圖表或可視化元素表現面向對象的重要概念,因為圖表和可視化演示更能吸引學生的注意力,更能幫助學生輕松掌握和理解教學的重點。其次,涉及到驗證性編程實例講解時,應采用當場分析解題要點、當場編程、當場調試的方式,通過現場調試修正錯誤,讓學生更直觀深刻地領悟相應的知識點,同時學會如何調試工具,提高解決問題和實際編程的能力。最后,教師還應充分利用網絡資源來輔助教學。對于學生容易遺忘的例題、編程或調試技巧等,可以將這些教學內容的講解過程錄制為不超過5分鐘的幕課教學視頻,用以幫助學生在課后做進一步復習,或供學生需要時查閱。也應該鼓勵學生學會利用網絡,搜集合一些資深程序員關于面向對象程序設計的經驗和解決實際問題的方法的博客、文章等。這些課堂教學的輔助手段,對提高學生的學習能力和效率有著很好的促進作用。
2.4 考核方式改革
為保證面向對象程序設計課程的教學改革實踐取得良好的效果,必須對課程考核方式進行相應的改革。在我院面向對象程序設計課程教學過程中,教師常以筆試作為本門課程的考核方式。試題由教師從平時指導學生作業的習題冊中選題組卷,題目類型和分數分布常為選擇題(20分)、填空題(20分)、簡答題(20分)、程序閱讀題(30分)和編程題(10分)。應對這樣的題目及其分值,有的學生在考試之前死記硬背,也能考出比較好的成績,難以真正考查學生的實際編程能力和水平。教師采用的課程期評分數計算公式為:期評成績=卷面成績?0%+平時成績?0%。從公式可以看出,期評成績的評定完全忽略了對學生在實驗環節的表現,這必然導致學生輕視上機實驗和課后訓練的態度。為更好地體現考核指導學習指揮棒的作用,我們對考核方式進行了改革。具體方案為:首先,調整筆試試卷的題目組成和分值分布,削弱主要靠記憶得分的選擇題、填空題的分值,取消簡答題題型,增加程序閱讀題的分值,調整后試卷題目及其分值變為:選擇題(20分)、填空題(20分)、程序閱讀題(60分)。其次,將筆試中的編程題取代以教師期末組織的一次隨堂機試。教師組織的隨堂機考,以學生的代碼是否能正確編譯、所輸出結果是否完善正確為評分標準。第三,調整期評成績計算公式,將學生平時實驗和課后任務的完成情況作為平時成績納入成績計算公式中,新的期評成績計算公式為:期評成績=卷面成績?0%+隨堂考成績?0%+平時成績?0%??己朔绞降母母?,促進學生正確對待理論學習和編程實驗,在理解和掌握理論知識的同時,提高自身的編程實踐能力。
3 總結
通過分析傳統教學方法及考核方式的不足,以及我院學生學習行為的特點,提出了適合我院學生能力水平和學習習慣的課程教學改革方案。新的教學和考核方案對學生合理利用課余時間進行編程實踐起到很好的約束作用,項目化教學也有效激發了學生的學習興趣和明確學習目標。我院教師團隊的探索性實踐證明了改革方案的有效性。在實踐中我們發現,仍有一部分學生的學習習慣難以轉變,學生邏輯思維能力的差別也導致了學生在程序設計能力上的差異,一些學生(特別是女生)對編寫程序、調試代碼有嚴重的畏難情緒,如何正確引導這部分學生,是我們需要進一步思考和解決的問題。
參考文獻
[1] 譚浩強.面向對象程序設計(第2版)[M].清華大學出版社,2014.
[2] 單維鋒,李攀,陳新房.講練結合教學法在面向對象程序設計課程中的應用研究[J].軟件工程師,2015.18(6):45-47.
[3] 周本海.基于面向對象程序設計教學的改革方法研究[J].考試周刊,2015(14):10.
[4] 趙濤.“四化教學方法研究——以面向對象程序設計課程為例[J].福建電腦,2015(7):48,83.
[5] 武永成.應用型本科院校計算機專業c++教學改革研究[J].教育教學論壇,2015.25(6):138-139.