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