袁運浩+葛桂萍+李云+陳才扣
(揚州大學 信息工程學院,江蘇 揚州 225127)
摘要:不同于傳統的結構化程序設計方法,面向對象程序設計具有更多復雜難懂的概念。受深度學習思想啟發,本文結合自身教學實踐,主要探討面向對象程序設計課程的深度教學模式,以期培養出的學生具有“分析、評價和創造”的高階思維認知,從而提升他們在實踐應用中的程序設計與開發能力。
關鍵詞:教學改革;教學模式;深度學習;程序設計
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)18-0112-02
實際應用中,面向對象程序設計已成為人們廣泛采用的一種程序設計方法,是計算機軟件設計和開發人員必須掌握的一種基本思想和技術。本質上,面向對象程序設計方法以類的具體實例——對象為基礎,利用特定的軟件工具將對象客體描述直接轉換為相應的軟件結構。此設計方法的應用,成功地解決了傳統結構化程序設計方法中客觀對象描述與軟件結構之間的不一致性問題。與結構化設計方法相比,面向對象程序設計方法具有開發周期短、代碼冗余度小、實現簡單方便、軟件維護難度與代價低等優點。更為重要的是,其實現了重用性、靈活性以及擴展性等軟件工程的三個主要目標。由于面向對象程序設計的眾多優點,國內高校普遍為計算機科學與技術、軟件工程等專業本科生開設了這一課程,以期學生能夠深入理解面向對象的基本思想和設計原則,較為系統地學習面向對象的設計模式,從而促使學生掌握關鍵的面向對象的程序設計技術,培養他們對相關新興技術的快速學習能力。
一、面向對象程序設計的主要特征
不同于傳統的結構化程序設計方法(即面向過程的程序設計方法),面向對象的程序設計方法主要有如下特征。
1.抽象性。在現實世界中,許多特定事物或過程總是存在著某些相似特性,將這些相似特性加以歸納,并暫時忽略它們之間的不同與差異,這就是所謂的抽象。也就是說,抽象更多地強調實例的本質特性(即共有特征),而不考慮它們的細節與不同。例如,在設計教學管理信息系統時,教師這個對象僅需考慮他們的工號、姓名、所在院系等與系統相關的共同特性,而不用考慮他們的身高、體重等信息。
2.封裝性。封裝是面向對象程序設計的基礎,是一種信息隱藏技術,就是將數據和基于數據的操作集中起來放在對象內部。從外面看,對象是一個不透明的黑盒,即用戶無法知道它的數據結構細節和操作的具體實現算法,這種方法自然地將用戶和設計者分開。事實上,用戶無須了解實現操作的具體細節,僅需利用設計者向外界提供的接口即可。
3.繼承性。繼承是面向對象程序設計的又一重要概念。它可以使相關子類自動地共享父類中已定義的各種數據(屬性)與方法,而不需要重復地定義它們。另外,子類在繼承父類中的數據和方法的同時,也可重新定義某些特有的屬性與方法,使其具有與父類不同的功能。
4.多態性。多態性是指相同方法在不同的類層次中有不同的表現形式與功能。也就是說,對于一個具體的行為(方法)來說,父類和子類可以公用它的名字,但不同的類卻按自己定義的算法來實現這個行為。多態性機制不僅增加了面向對象軟件系統的靈活性,減少了信息冗余,而且顯著提高了軟件的可重用性和可擴充性。
由于面向對象的程序設計不同于傳統的結構化程序設計方法,且其具有諸如上述的許多復雜難懂的概念,因此,傳統的以“教師主講、學生主聽”的課堂教學模式已不能很好地滿足面向對象的程序設計課程。為了改善并提高面向對象程序設計課程的教學質量和學生參與度,本文結合自身教學實踐,探討基于深度學習思想的面向對象的程序設計教學模式與方法,以期激發學生的課堂參與熱情,深化他們對面向對象程序設計相關概念的深層次理解,從而提高編程能力和學習興趣。
二、面向對象程序設計的深度教學模式
深度學習理論于1976年由Ference Marton和Roger Saljo兩位美國學者首次提出,它不僅關注學生的學習結果,而且特別重視學生對學習內容的整體認知和復雜問題解決能力的提升。深度學習的本質特征是學生高階思維的培養,即對學生分析、評價及創新高級認知能力的培養。通過深度學習方式,學生不僅可以記憶和理解課堂知識,而且還能靈活應用已有知識分析和解決實際問題。本文建議的面向對象程序設計深度教學模式受深度學習思想的啟發,是一種提高學生學習興趣和質量的教學方法。
1.積極探尋方法與途徑,深度了解學生。教學由“教師的教”和“學生的學”兩個方面組成,缺一不可。在講授面向對象程序設計課程之前,教師必須尋找各種方法了解自己的學生,遵循“個性特點—興趣愛好—知識水平—接受能力—自主學習”的鏈式方式逐一進行深入了解。通過深度了解每位學生,教師才有可能準確地把握住教學的深度、廣度及進度,做到心中有數。同時,深度了解學生也會讓他們感受到教師的用心和負責,從而樹立良好的教師形象,使他們喜歡面向對象程序設計這門課程。
2.強化記憶基礎,促進知識理解與應用。根據布魯姆的認知維度層次理論,低階思維主要是指記憶、理解和應用三個認知層面。記憶是從較長時間的記憶庫中獲取相關知識的一種手段。記憶不僅是理解和應用的基礎,更是學習和解決復雜問題必不可少的一環。由于面向對象程序設計有著眾多復雜難懂的概念,因此在符號說明、概念理解、邏輯學習及知識應用之前,教師應首先讓學生牢固記憶已有的概念、方法與理論。如果學生不能熟練掌握面向對象程序設計中的基本概念和方法,那么他們也很難理解面向對象程序設計的核心思想,從而影響他們基于面向對象思想的程序開發。要使學生既有興趣又有熱情地學習相關概念,這就需要教師苦練內功,盡可能地對講解內容追本溯源,讓學生清晰地知道面向對象中的概念,特別是核心概念的來龍去脈,講明為什么需要這些概念,將來在哪些地方涉及這些概念,如何使用它們并將這些概念外延到其他課程的情況。學生只有將最原始、最枯燥的概念搞清楚,才有可能進一步地對相關知識應用產生興趣,進而提高學習效能感。
3.建立良好的課堂交流環境,實現深度互動教學。對于面向對象的程序設計課程,有效的教學應是建立在師生間的暢所欲言,不斷進行智慧碰撞、感悟傳達以及體驗分享。要想實現深度互動教學,教師應努力構建良好的課堂交流環境,營造民主、平等、和諧的教學氛圍,通過“質疑—猜想—驗證”的方式推進交流,不斷增進師生感情。通過真誠的交流與溝通,學生能夠積極擺脫自我壓抑和束縛,敢于想象,勇于表達,樂于交流,從而促進思維發展,提高學習情感體驗。同時,教師也能實現對教學內容的深度理解,使其處于輕松愉悅的情緒狀態,更易閃現教學靈感,從而激發更多的教學激情和創造力。
4.推動高階思維發展,引導學生批判建構和深度反思。由于面向對象程序設計的復雜和實際應用的多變,學生的學習注定不能僅僅停留在記憶、理解和簡單應用的低階思維層面上。這就要求教師在授課過程中必須以分析、評價和創造的高階思維認知作為培養目標。教師要對學生的學習進展加以關注,及時給予合理的反饋,啟發他們將面向對象的相關知識加以整合與評價,從而引導學生自主地深度學習,能將己有的知識歸到相關的概念系統中,在批判反思的基礎上建構屬于自己的新的認知結構。只有這樣,學生才能在實踐中靈活運用所學知識,創造性地進行程序設計與開發。
三、結論
受深度學習思想啟發,本文結合自身教學實踐,主要探討面向對象的程序設計課程的深度教學模式,以期培養出的學生具有分析、評價和創造的高階思維認知,從而提升他們在實踐應用中的程序設計與開發能力。
參考文獻:
[1]鄧芳,劉臻.面向對象程序設計課程的教學改革[J].中國信息技術教育,2014,(7):111-112.
[2]袁運浩,葛洪偉,楊金龍,羅曉清.面向對象程序設計的交互式教學模式探討[J].教育教學論壇,2015,(40):191-192.
[3]張浩,吳秀娟.深度學習的內涵及認知理論基礎探析[J].中國電化教育,2012,(10):8-9.
[4]吳煒,楊曉敏,任和.面向對象程序設計課程改革與實踐[J].教育教學論壇,2014,(50):246-247.
[5]安德森·布盧姆.教育目標分類學(修訂版)[M].北京:外語教學與研究出版社,2009.
收稿日期:2016-11-26
基金項目:揚州大學2016年校級本科教育教學改革研究項目(項目編號:YZUJX2016-32C,項目名稱:面向對象程序設計教學模式和課程體系改革研究)
作者簡介:袁運浩(1983-),男,江蘇徐州人,博士,副教授,研究方向:模式識別、機器學習、信息融合;葛桂萍(1969-),女,江蘇高郵人,碩士,副教授,研究方向:多媒體技術、計算機視覺;李云(1965-),男,安徽合肥人,博士,教授,研究方向:模式識別、機器學習、云計算;陳才扣(1967-),男,江蘇姜堰人,博士,教授,研究方向:模式識別、機器學習、計算機視覺。