☆ 浦曉英
(上海南匯中學,上海 201300)
案例教學法在高中算法與程序設計中的應用探索
☆ 浦曉英
(上海南匯中學,上海 201300)
對于高中算法與程序設計教學過程中普遍存在的問題,提出在高中算法與程序設計中采用案例教學法。從案例教學法的概念和特點出發,結合教學實踐,探討案例教學的設計與原則、實踐流程,取得了一定的教學效果,有利于激發學生學習興趣,提高學生的綜合能力。
案例教學;高中算法與程序設計;分支結構
(一)概念
案例教學法起源于20世紀20年代,由美國哈佛商學院所倡導,當時是采取一種很獨特的案例形式的教學,這些案例都是來自于商業管理的真實情境或事件,通過此種方式有助于培養和發展學生主動參與課堂討論,實施之后頗具成效。時至今日,哈佛商學院里已有超過80%的課程是以案例教學法為主的。
在教育學中,案例教學法定義為教學中的案例方法,是指圍繞一定的教育目的,把實際教育過程中真實的情景加以典型化處理,形成學生思考和決斷的案例,通過獨立研究和相互討論的方式,來提高學生分析問題和解決問題能力的一種方法。簡言之,案例教學法就是利用案例作為教學媒介以提高學生綜合能力為目標的教學方法。
(二)特點
1.明確的目的性
通過一個或幾個獨特而又具有代表性的典型事件,讓學生在案例的閱讀、思考、分析、討論中,建立起一套適合自己的完整而又嚴密的邏輯思維方法和思考問題的方式,以提高學生分析問題、解決問題的能力。
2.較強的綜合性
案例較之一般的舉例內涵豐富;案例的分析、解決過程也較為復雜。學生不僅需要具備基本的理論知識,而且應具有審時度勢、權衡應變、果斷決策之能。案例教學的實施,需要學生綜合運用各種知識和靈活的技巧來處理。
3.深刻的啟發性
案例教學,不存在絕對正確的答案,目的在于啟發學生獨立自主地去思考、探索,注重培養學生獨立思考能力,啟發學生建立一套分析、解決問題的思維方式。
4.學生主體性
學生在教師的指導下,參與進來、深入案例、體驗案例角色,是案例教學的主體,而教師是組織者和引導者。
(一)高中算法與程序設計教學存在的問題
高中算法與程序設計主要包括三個學習主題:算法思想和結構,程序設計語言使用方法,運用程序設計語言實現算法、解決問題。相關知識點比較枯燥,理論過于抽象,學習內容多,教學課時少,所以,在教學過程中往往難以把握,不容易引發學生的興趣。在教學中教師大多采用傳統講授型教學方法,教師先講后演示,學生先聽后編程,學生多處于被動接受的狀態,學習積極性不高,所編寫的程序只是依葫蘆畫瓢,遇到實際問題,往往無從下手,缺乏靈活應用、解決實際問題的能力,教學效果較差。
(二)在高中算法與程序設計教學中實施案例教學法的可行性
高中算法與程序設計學習的重點是設計算法解決簡單的實際問題,感悟算法在解決問題中的重要性,體會計算機解決問題的特點和不可替代性,在分析需求、設計算法以及驗證算法的過程中,提高邏輯思維能力。而案例教學將理論知識與實際問題相關聯,在激發學生學習興趣、提高學生分析問題和解決問題的能力上具有優勢。在案例教學法中,學生首先面對的是一個問題案例,學生學習的知識點就隱藏在對案例的解決過程中。在案例的解決中,教師引導學生發現問題,學生是認知主體,是一個主動的知識探究者,經過教師的啟發、激勵,將案例中所蘊含的各種知識有機地結合起來。在教學中,通過設計與實際生活相關的案例,驅動學生的好奇心,激發學生的學習興趣和參與積極性,在邊做邊想中得到自我提升。
在算法與程序設計教材分析中也提出:“建議采用教師引導、學生討論的啟發式教學方法,教學中可以從最簡單的實際問題出發,激發起學生的興趣,引導學生針對趣味性問題和生活實際問題進行思考、討論,探索解決問題的方法和步驟,然后用流程圖或程序來描述算法。逐步提高學生邏輯思維能力和解決問題的能力,也能讓學生切實理解用計算機解決問題的一般過程?!?/p>
(一)教學案例的設計和選擇
案例是案例教學法的關鍵,案例教學所面臨的首要問題是如何合理地設計或選擇案例。一個好的案例是一種把部分真實生活引入課堂,從而使教師和學生對之進行分析和學習的工具。教師要仔細分析教學內容和教學對象,將算法思維融于教學案例,根據課時、教學目標、教學重點、難點設計或選擇有代表性的案例,增強學生的學習主動性,提高學生分析問題、解決問題的能力。
1.選擇的案例必須貼近實際
從學生的學習生活經驗或社會實踐出發選擇案例,可以激發學生的學習興趣,學生積極主動地去探索問題、嘗試解決問題,提高學習效果,增加成就感,而不是被動地完成枯燥乏味的學習任務。例如:排序算法是高中算法與程序設計教學中的一個難點,學生覺得冒泡排序算法抽象乏味,教師可以從體育比賽中的運動員得分排名為案例引入,引發學生積極的思維和探索,感受算法解決問題的價值,領悟算法設計的樂趣。
2.選擇的案例要有針對性和典型性
案例應針對具體教學目標,緊扣教學重點、難點,圍繞學生所需掌握的知識要點和技能來組織和篩選一些有代表性的案例。用一般原理分析典型案例,再由典型案例去認識一般事物,對學生在實際解決問題的過程中有舉一反三的示范作用。例如:在對分查找的算法中,最具典型性的案例是競猜價格,教師可例舉一個1~100元之間的物品進行競猜,在競猜價格中,觀察查找范圍、查找次數的變化,體會對分查找的思想,進而延伸到如何對其它數據進行查找。
3.選擇的案例應該難易適中
學生能夠獨立或協作地完成案例,遇到困難時可以在教師的指導下完成。案例的選擇要考慮學生已有的知識水平和能力,過于復雜的案例,學生將無從下手,降低學生的學習興趣,過于簡單的案例,則缺乏挑戰性,學生參與的積極性降低,難易適中的案例才有利于提高學生的學習積極性和主動性,有利于學生學習的深入進行。并且隨著學生知識的不斷積累,案例的難度應該由淺入深,循序漸進。例如:生活中有很多適合分支結構解決的案例:個人所得稅的計算,出租車車費的計算等案例。個人所得稅的計算分7級稅率相對復雜,至少需要判斷6次才能完成算法,相對較難;而出租車車費計算一般情況下分成3檔,2層分支嵌套就能完成,難易適中,比較適合作為分支結構教學的案例。
(二)定位好教師和學生的角色
在傳統教學中,教師是信息的傳遞者,學生是信息的被動接受者。在案例教學中,教師要精選案例,組織學生實施案例,適時地引導,恰當地點評,教師是組織者、引導者、啟發者。而學生是案例教學的主體,積極討論,勇于實踐,學生是積極參與者,學生的主動參與及思維活躍對教學可起到推波助瀾的作用。
在案例教學中,教師要堅持以鼓勵為主,充分調動學生的學習熱情和興趣;鼓勵學生各抒己見,發表不同的想法;堅持以學生為主,以學生學習需求為導向,在課堂策略上采取與學習者經驗共享的方式,營造一種氛圍,讓不同的經驗得到交流,使學生真正感到他們是課堂的主體和學習的主人。
筆者以高中算法與程序設計華南師大版教材中的分支結構為例,探討案例教學的一般實施過程。其實施過程一般包括案例呈現、分析討論、總結評價幾個環節。
(一)案例的準備和呈現
教師在課前要根據教學目標、教學內容和學生的知識基礎來設計案例,把要學習的內容巧妙地蘊含在案例中。案例呈現的方式有很多,可以通過教師講述、印發案例材料、視頻資料等方式,以吸引學生的注意力,激發學生的學習興趣。
對于分支結構的教學,高中信息科技學科教學基本要求提出:學生能夠描述雙分支、單分支的執行流程,設置正確的分支判斷條件,規范繪制分支結構的算法流程圖,描述分支結構的適用情況。出租車車費問題是分支結構教學中的典型案例,筆者以一張出租車費單據的呈現作為引入,并將“上海小型出租車起步價及收費標準”(如表1)作為資料,印發給學生。但由于加價部分的費用計算起來比較復雜,根據教學要求和學生的能力,對收費標準進行了簡化,只計算白天出租車費,并且不計算停車等候時間。

表1 上海出租車起步價及收費標準
(二)案例的分析和討論
案例討論旨在分析問題、提出解決問題的途徑和方法。教師的作用是啟發、引導、組織、調控,促使學生積極參與,主動交流和展開研討,而學生是分析、研討案例的主體。
教師要引導學生進入案例情景——出租車車費是如何計算的?鼓勵學生講出自己對問題的見解,對于學生提出的解決方案,應充分肯定,給予贊揚。引導學生按照計算機解決問題的一般過程來分析問題、解決問題。

1.需求分析
引導分析案例,明確要計算機做什么,輸入什么數據,輸出什么結果。
2.設計算法
啟發學生思路,尋找解決問題的途徑和方法,教師可以通過問題適當引導:車費計算有幾種情況,需要判斷幾次。學生可以分組討論,探討條件的劃分及執行狀態的選擇,幫助學生形成并理解分支嵌套的概念,最終畫出流程圖。
對于同一個案例,不同的學生有不同的分析和解決方法,教師選取有代表性的流程圖用實物投影的方式與學生共同討論,流程圖的正確性,不同的流程圖之間的算法優劣。為什么有的學生的流程圖要判斷3次,有的學生的流程圖只判斷2次,分支判斷的條件如何設置,通過比較分析討論,學生對分支結構及其嵌套有了更深的認識。
3.編寫程序,上機調試
學生根據所畫流程圖,編寫相應的程序代碼并上機調試,使之有一個完整的體驗過程,培養學生調試檢驗的嚴謹態度。同時,又包含了IF語句的知識點,教師可以通過學生演示程序強調IF語句的格式及書寫規范,提高程序的可讀性,也可以針對出現的錯誤和學生共同討論分析,找出錯誤原因。
(三)案例的總結和拓展
在這個階段,可以由學生做總結,也可以由教師做總結,明確案例中的關鍵點,通過案例引導學生建立知識點間的聯系。
本案例中主要包含的知識點:理解分支結構嵌套的基本思想,領會分支結構嵌套中條件的劃分要點,用IF語句實現程序代碼。教師對涉及到的知識點進行總結,并把學生在案例實施過程中出現的典型問題進行總結,將夜間出租車費的計算作為鞏固作業,也可以讓學生聯想生活中的類似算法,如:階梯電價、地鐵車票、打折促銷等,來舉一反三。
(四)案例教學的學習評價
在案例教學中,及時、恰當的學習評價是非常必要的。學習評價應貫穿案例的始終,注重案例教學的過程,將過程性評價和結果性評價結合起來。同時,要注重全面評價,既要注重知識與技能的評價,又要注重學生能力發展的評價。在出租車費的案例教學中,教師既要讓學生學會分支結構條件劃分的要點,理解分支結構嵌套的基本思想,也要注意學生的情感態度、實踐能力和綜合能力等方面的發展。教師要善于發現學生的閃光點,及時通過多種方式加以鼓勵。同時,教師應該指出學生在分析、討論案例中的成績和不足,以便今后能更好地進行案例探討。
案例教學在高中算法與程序設計中的實施,有利于培養學生學習的主動性、積極性,有利于培養學生的實際動手能力和綜合應用能力,有利于增進教師和學生之間的互動關系,提高教學質量。但在實施過程中有一定的難度。
(一)案例教學對教師的要求較高
對于算法與程序設計教學而言,經典的案例并不是很多,要么太大、太深不適合高中的教學要求。教師首先要準備案例,如何根據教學內容和學生實際選擇和設計合適的案例,這就需要教師有扎實的專業知識和豐富的案例積累;其次,教師要引導案例教學的全過程,教師的引導是關鍵,不僅要引導學生去思考、討論,去解決案例中的特定問題,還要通過案例讓學生能夠舉一反三,上下貫通所學知識,這對教師的課堂設計能力、調控能力等都提出了更高的要求。
(二)案例教學需要學生的積極參與
學生參與度是案例教學效果得以保障的重要影響因素,要以教師為主導,學生為主體,案例教學需要學生的積極參與,在傳統課堂教學中,學生的角色是聽講者和接受者,學生對教師的依賴性較強,學生變被動聽講者為主動學習參與者需要一個過程,在案例教學開展之初,學生往往不愿發言,小組討論變成聊天,教師要注重對學生學習方法的指導和引導。
(二)案例教學的教學時間問題
高中算法與程序設計課程內容多,課時緊,而案例教學相對來說又比較耗時,在實施過程中往往會因為課時限制,而使案例教學未能深入開展。在算法與程序教學中,如何處理好理論講授和案例教學之間的時間比例,需要進一步研究思考。
教學有法,但無定法。案例教學不能代替系統的理論學習和講授,有一定的適用范圍,教師應該根據課程標準、教學內容和學生實際情況選擇運用不同的教學方法,以提高課堂教學效果和教育教學質量。
[1]百度百科:案例教學法.http://baike.baidu.com/view/703601.htm.
[2]上海市中小學信息科技課程標準修訂稿[S].
[3]王榮良.上海市中小學信息科技課程標準解讀[M].上海:華東師范大學出版社,2006,2.
[4]張耀文.基于計算思維的程序設計課程案例教學法研究[EB/ OL].
[5]王青梅,趙革.國內外案例教學法研究綜述[J].寧波大學學報, 2009,(6).
[6]詹自勝.案例教學法在面向對象程序設計教學中的探索與實踐[D].金華:浙江師范大學,2006.
[編輯:昌曙平]
G434
A
1671-7504(2014)05-0049-04