殷寶媛 于紀明 李曉東


摘要:在數據結構課程中,以問題為核心的教學模式常以單一問題為引導,容易忽視知識點之間的聯系。文章通過設計體現知識體系結構的開放性問題系列,以“排序”章節為例,闡述該模式如何將教學內容與現實生活相結合,創建真實情境,設計問題系列,實施“引導探究一啟發推理一激發反思一深層探索一提出新問題”的教學過程。
關鍵詞:3C3R模型;數據結構課程;教學模式;排序
0 引言
數據結構課程是計算機相關專業的專業基礎課,該課程概念和算法繁多、內容抽象、章節之間結構性強,常被學生認為是一門難學、難懂、難實踐的課程。傳統的數據結構教學以“知識點”為核心,教師是整個教學過程的主體,由教師把教學內容灌輸給學生,這種教學模式不利于學生積極性、主動性的發揮和創新能力、實踐能力的培養。因此,一些學者嘗試進行數據結構課程的改革,根據數據結構課程的特點,采取以問題或案例為核心的教學方式,如“問題一探究”數據結構教學模式,案例驅動數據結構教學模式等。然而在這些以問題或案例為核心的教學模式中,教師總是以單一問題引導學生去探究,容易忽視知識點之間的聯系,使學生在學習過程中難以自主構建知識體系?;诖耍覀冊噲D通過設計體現知識體系結構的開放性問題系列,構建基于3C3R模型的數據結構課程教學模式。
1 3C3R模型概述
3C3R模型是美國北達科他州大學洪暐博士于2006年就問題導向教學提出的指導問題設計的模型。問題導向教學模仿了人類自然的學習過程,即在學習遇到問題時,為尋找問題的解決方案,人們從問題和問題發生的環境中學習相關技能和知識。問題導向教學是以真實情境的問題為核心,在教師的引導、啟發下,學生從不同角度,運用不同方法,通過自主探究、推理、反思,解決復雜現實問題,從而主動建構知識、發展高級思維能力。
在問題導向教學中問題設計過程至關重要。3C3R模型的成分包括核心成分和過程成分。核心成分是內容、情境和聯系(content,context andconnection),這3個核心成分主要用來支持領域知識的學習,如概念、規則和原理知識。過程成分是探究、推理和反思(researching,reasoningand reflecting),這3個過程成分則關注學習者的認知學習過程,用來支持學生應用所獲得的領域知識來解決復雜問題,發展學生高級思維能力及學生自我導向能力。
2 基于3C3R模型的數據結構課程教學模式的構建
以3C3R模型為理論基礎,提出基于3C3R模型的數據結構課程教學模式,如圖1所示。其中,設計體現知識體系結構的開放性問題系列為本模型的核心,問題系列中問題之間的關系如圖2所示。
2.1 基于3C3R模型的數據結構課程教學模式的具體階段
1)將教學內容與現實生活相結合、創建情境、預設問題系列。
結合現實生活的實際問題,創建問題情境,然后設計能夠體現知識體系結構的開放性問題系列。
開放性問題系列的設計遵循以下原則:首先,要把開放性問題融入到真實情境中;其次,問題系列要體現該章節知識點的體系結構,即每個問題要包含具體知識點并明確問題與問題之間聯系;最后,要注意問題系列預設與生成的關系,即課前教師預設好問題系列,在教學過程中,要引導和激發學生對當前問題深層探索,生成預設的問題。
2)引導學生探究問題本質、啟發學生推理、激發學生反思。
探究的主要任務是確定問題到底是什么,抓住問題的主要信息,哪些信息是已知的,哪些信息是未知的,如何把未知信息轉化為已知信息。教師應引導學生向著預設的知識內容思考,防止學生偏離預定目標,并幫助其找到問題的本質。同時,教師還要引導學生把問題的目標規范,即在探究問題的過程中,所有活動都要指向問題的目標狀態。
推理可以促進學生把在探究中獲取的信息進行應用,并發展學習者解決問題的能力。通過邏輯推理,學生能夠創造性地生成和驗證假設,確認可行的解決方法或拋棄不可行的方法。
教師通過預設問題,激發學生反思,促使學生將問題解決過程中構建起來的知識進行系統地、概念化地組織和整合,從而形成自己的知識體系。另一方面,教師通過改變先前問題的參數、應用環境、數據規模,在原問題基礎上和學生一起引出一系列新問題,激發學生深層次探索問題的好奇心,促使學生相應地調整其思維策略,培養其自主學習意識,通過再探究、再推理、再反思,使學生成為自我導向、自主構建知識體系的學習者。
2.2 基于3C3R模型的數據結構課程教學模式的核心——開放性問題系列
預設的開放性問題系列是基于3C3R模型的數據結構課程教學模式的精髓。一個“好”的問題系列應有令人信服的真實問題情境,能引發學生多種假設,問題與問題之間的關系有利于學生自主構建知識體系,能夠調動學生的探究意識,開發學生的高級思維能力。
首先,分析各教學單元的教學目標,確定必須學習和掌握的知識“主題”,并將其與生活實踐結合,構建真實情景,將這些知識主題隱含在一系列的真實情景問題中。
其次,知識的內在關系對于幫助學習者建立他們自己的知識框架,教師在設計問題時要將知識間的關系融入到問題情景中。
知識點的內在關系分為同級關系、層級關系、總結關系3種,如圖2所示。同級關系是指問題所包含的知識點可以用不同的方式呈現,重點為一題多解、分析不同算法間的區別,各自優缺點。層級關系是指問題所包含的知識點是遞進關系,需要學生更深層次地探索算法的改進和優化??偨Y關系是指問題所包含的知識點是對先前問題的總結或反思。
3 基于3C3R模型的數據結構課程教學模式的案例——以“排序”這一章為例
1)創建情境,預設問題。
教師首先要深入分析該章節的知識點,依據問題之間的3種關系,把預設問題融入到易于學生探究、推理的真實情境中。例如“排序”章節知識點為各種排序算法及算法之間的關系、算法時間復雜度、算法的穩定性?,F實生活中經常需要對事物進行排序,比如士兵按身高站隊、學生按成績排名等,這些實際問題都可以按照某種屬性作為關鍵字進行排序,而排序的方法有很多種,可以結合教材內容和實際應用設計一系列問題,引導學生探討排序算法。endprint
例如,一種可行的問題情境:給定一張名為數據結構成績表的Excel二維表,如圖3所示,要求按學生成績從高到低排名。
依據該情境,預設問題系列,問題系列之間的關系如圖4所示(其中問題1與問題2為層級關系;問題3與問題2、問題1之間為總結關系;問題1.1、問題1.2與問題1.3之間是同級關系)。下面對問題系列進行闡述:
問題1:如果你是Excel的開發人員,請設計Excel中排序的算法。
在該教學模式的啟發推理階段,可生成3個子問題,問題1.1、問題1.2和問題1.3,即插入排序、選擇排序和冒泡排序的算法思想,啟發學生給出3種算法的思路;在激發反思階段,指出3種排序算法中有哪些需要優化、改進的地方,從而生成問題1.1.1、問題1.1.2和問題1.1.3。
問題2:如果你是某銀行數據庫的技術人員,現要求你對數據庫中有10條記錄進行排序,先前設計的排序算法是否適用(思考時間復雜度更低的算法)。
完成問題1的所有子問題后,在激發反思階段,教師通過調整問題1的數據規模,使先前學生設計的算法無法很好解決,生成問題2。
問題3:表中名為李博和趙丹的兩位同學成績相同,在排序后,你的排序算法是否出現趙丹排在李博前面(思考各種排序算法的穩定性)。
問題3是對問題1、問題2的總結與反思。
2)引導探究。
對于問題1,引導學生把問題的目標進行規范,在Excel表中“成績”為主要信息,把“成績“作為關鍵字段,進行排序。即問題抽象為給定5個可以相同整數(每個整數不超過100),進行從大到小排序,初始狀態為60、75、89、92、89,目標狀態為92、89、89、75、60。
3)啟發推理。
推理是學生深度認知參與的過程,教師應當啟發學生把先前的知識和探究問題的本質相結合。對于問題1,預定的目標為:學生推理出3種排序算法,即“選擇”、“插入”、“冒泡”排序,學生的先前知識有“3個數求出最大值和最小值”、“將3個數按從小到大的順序輸出”,因此,教師可以給出“大小比較”的啟示,鼓勵學生相互交流,可以用自然語言描述、流程圖、程序代碼來表達自己的排序算法。
為獲得良好的啟發效果,教師可以借助形象化的教學手段,使抽象的理論具體化,便于學生理解和記憶。例如,在啟發學生推理“冒泡排序算法”時,使用FLASH等軟件將“冒泡算法”中較抽象的“冒泡”過程以動畫形式展現,這樣可以增強啟發推理的直觀性和趣味性。另外,教師也可以采取寓教于樂的啟發手段,通過游戲的形式幫助學生推理“插入排序”算法。例如,給學生一副撲克牌,要求學生隨機抓一張牌,然后有序地插入到已經有序的撲克牌中。游戲結束后,撲克牌已經排好序。這樣學生很自然地推理出“插入排序”算法的過程,深刻理解了算法的本質。
在啟發推理過程中,教師可以給與少量的解釋或提示,允許學生、教師之間交流討論,鼓勵學生說出自己的思路,同時,教師必須對學生提出的思路和理解給出合理的評價并給出正確的引導。
4)激發反思。
對于問題1,在激發反思過程中,首先,教師可以針對學生推理階段形成的3種排序算法思路,即問題1.1(插入排序)、問題1.2(選擇排序)、問題1.3(冒泡排序)與學生討論3種算法的之間的關系及各自的優缺點。然后,讓學生回顧3種算法的具體流程,引導學生發現算法可以改進和優化的地方,激發學生反思自己算法存在的問題,引出問題1.1.1、問題1.2.1、問題1.3.1,學生再經過探究、推理,解決這3個問題后,教師通過調整問題1的數據規模和應用條件,激發學生反思,引出問題2.1、問題2.2(快速排序、歸并排序的算法思路)??梢?,教師預設的問題系列,在激發反思階段是教師和學生共同動態地生成出來。
4 結語
在文章提出的基于3C3R模型的數據結構課程教學模式的教學中,教學起始于問題,終結于問題。教師通過激發學生自我反思后,學生自主提出新問題,再對新問題進行探究一推理一反思一提出新問題,教學是沒有終點的螺旋,允許學生重組個人的學習經驗,重新賦予知識新的意義,并且不斷地挑戰學習者已有的認知模式?;?C3R模型的數據結構課程教學模式有利于學生主動建構知識,幫助學生發展高級思維,養成學生自我導向的學習能力。但該模式要想實現預期,需要教師在未來的工作中不斷提高在預設問題系列的質量和對生成問題時機把握方面的水平與能力。
參考文獻:
[1]鄧會敏.“問題一探究”教學模式在數據結構課程中的構建與實施[J].計算機教育,2007(4):41-44.
[2]龐曉瓊.案例驅動的數據結構課程設計教學改革實踐[J].計算機教育,2009(1):53-55.
[3]馮銳,繆茜惠.面向問題導向學習的3C3R問題設計模型述評[J].遠程教育雜志,2010(1):70-74.
[4]李冬梅,孟偉.數據結構課程的教學改革與教材建設[J].計算機教育,2012(14):38-41.
(編輯:趙廓)endprint