第一篇:“滅火機器人”教學案例
“滅火機器人”培訓經驗介紹
和衷小學
蘇峻
機器人滅火是中小學機器人比賽的常規項目,怎樣提高機器人滅火的速度和穩定性是我們需要重點解決的問題。我校在近幾年中四次參加了該項目的比賽。現將平時訓練及比賽的經驗總結如下。
一、整體算法
1、第一搜索方案
我校使用右手法則為主的迷宮搜索方法,從起點向右走左手法則進4號房間,如果有火,進去撲滅,如果沒有,后退走右手法則搜索3號房間,2號和1號房間做同樣處理。如果機器人漏過了有火房間,則進入補救搜索階段。
2、補救搜索方案
補救搜索方案強調的是成功率,我們使用了簡單的右手法則,用前面的傳感器檢測1、2、3號房間,在機器人左側向左下角方向安裝一個火焰檢測傳感器,在路過4號房間時發現里面的火焰。如果機器人在1、2、3號房間內發現火焰,進入0號房間滅火程序。0號房間滅火程序是不區分房間的通用滅火程序,滅火成功后使用萬能回家算法回家,這樣的目的是提高穩定性。我們使用首選方案來追求好成績,用補救來處理意外情況。
二、補救算法體系
機器人首先使用無火不進房間的第1搜索方案,如果沒有發現火焰,使用補救搜索方案,在沒有發現火焰的情況下機器人不停止動作。搜索到火焰后機器人進入滅火程序,如果第1滅火方案滅火失敗,機器人開始調用第1補救方案。第1補救使用后退,對光,前進的方法,2次嘗試還沒有滅火成功,機器人調用第2補救方案,第二補救使用下圖所示的方法:
機器人先走右手法則到白線,停在那里判斷前面的火焰強弱,如果火焰強,開始滅火,如果沒有火焰,后退,轉身,走左手法則到另一條白線,另一白線附近沒有發現火,又后退轉身走右手,這樣反復兩次,如果還是沒有滅火成功,機器人調用第3補救方案,第3補救類似于補救搜索方案,機器人前進到墻壁,走右手法則到其他房間搜索火焰。如果發現了火焰,又進入滅火程序。這樣算法就構成了一個環,也就是說這里使用了復雜的遞歸函數,機器人是不滅火焰絕不罷休,除非內存空間被耗盡。第1補救方案主要解決機器人陷在滅火圈里面或撞在滅火圈附近的墻壁上等問題,第2補救方案解決機器人離火焰較遠的問題,第3補救是為了解決機器人把無火房間當有火的問題。這樣有計劃地使用不同的補救方案,搜索時間逐漸增加,搜索范圍逐漸擴大,有效地處理了速度與穩定之間的平衡。
三、萬能回家算法
一個比較完善的滅火機器人一般把迷宮搜索分為兩個階段,首先使用第一方案,第一方案大多使用無火不進房間的方法,如果第一時間沒有發現火焰,則機器人自動進入補救搜索階段,補救搜索一般使用簡單的“左手法則”或“右手法則”,由于機器人離開啟動的時間比較久,機器人已經行走了很大一段路程,這時候如果還想通過計算白線的數目來知道自己處于哪個房間是很難的,錯誤的判斷將導致機器人回家失敗。所以開發一種不管哪個房間都能夠成功回家的算法是很有必要的,據悉,新疆的兩位高中生已經找到了這一算法,但他們并沒有發表論文,在這里我們向大家公開自己的研究成果,以利于相互促進、共同提高。
本算法的關鍵是要找到一種能夠計算是否到家,又不影響迷宮行走的方法,如果機器人判斷自己已經回家則停止所有動作,如果到了一條白線,但又不是家,則機器人要越過這條白線繼續走迷宮。萬能回家算法適合用右手法則來實現,這一算法應用在1、2、4號房間效率很高,在這里我們首先來討論3號房間的回家問題,如下圖所示: 機器人首先走一段時間右手,再走出房門,以后都按照下面的方法處理:走迷宮一直到白線,向左轉弧線并進行到家判斷,如果到家則停止動作,如果沒有到家則再向右劃弧線直到看到墻壁,繼續走迷宮并按照上述方法處理,下面對最主要的到家判斷進行具體描述。
int djqr()//到家確認模塊
{ int bs=120;//白線的灰度值
float md;//白線密度
int n=0;//檢測次數
int bssm=0;//白線數目
long qst;//時間變量,控制轉左弧線
long qtt;///時間變量,控制地面灰度測量 motor(0,80);//前進1小段 motor(1,80);sleep(0.03);qst=mseconds();qtt=mseconds();while(mseconds()-qst<500l)// 轉左弧線半秒鐘
motor(0,-30);motor(1,30);
if(mseconds()-qtt>10l)//每10毫秒收集1次地面灰度值 { qtt=mseconds();n++;//檢測地面的次數
if(analog(2) stop(); md=(float)bssm/(float)n;//計算白線在總檢測次數中的比例 if(md>0.6)//如果白線比例很高 return(1);//表示到家了 else return(0);// 表示沒有到家 } 上述回家算法已在本校實驗室驗證通過,本算法應用在1、2、4號房間同樣正確,并且可以取得很高的效率。 四、防止30秒靜止不動的算法 上面介紹了補救算法和萬能回家算法,似乎機器人滅火回家的成功率就會很高,但在測試過程中機器人還是會出現30秒靜止,轉5個相同的圈,撞倒蠟燭等導致任務失敗的情況。為此,我們有必要在程序中加入防止上述情況出現的代碼,提高穩定性。關于防止30秒靜止不動,我們已經找到比較穩定的算法,介紹如下。 通過實驗,我們發現導致機器人靜止不動的主要原因有下面兩點,一種情況是代碼進入了死循環。例如,為了讓機器人前進到墻,假設前面安裝了13號紅外避障傳感器,下面的代碼: while(digital(13)!=1)//前進到墻模塊 { motor(0,60);motor(1,60);} 看上去沒有任何錯誤,但當機器人走的不好,如上圖位置時,由于前面的傳感器永遠不會檢測到墻壁,那么,上面的循環條件永遠得到滿足,這里就成了死循環代碼,這樣機器人就會30秒靜止不動.為此我們可以做以下改進: st=mseconds();//記下開始前進時間 while(digital(13)!=1)//如果看不到墻壁 { motor(0,60);//前進 motor(1,60);if(mseconds()-st>1000L)//1秒后退出循環,1000毫秒時間根據需要可以 //修改,比實際需要長一點 break;//退出循環 } 通過時間變量的引入,確保1秒后退出循環,這類死循環機器人經常發生,我們要小心應用循環語句,我們把這一情況叫機器人特色的死循環。 第2種經常發生的情況是機器人做出自相矛盾的微動作,從人的視覺上來說是靜止不動,例如納英特機器人在走左手法則,在位置不好的時候。 機器人前面的傳感器看不到墻壁,根據左手法則,它要左轉,轉了一點以后,前面的傳感器看到了墻壁,根據法則又要右轉,這樣循環往復,機器人就在這里停步不前,對此我們可以使用類似下面的算法,下面的算法是走到一條白線的安全方法,這里是為了走回家。Daojia=0;while(daojia==0){ gst=mseconds(); while(mseconds()-gst<5000l)//每5秒種調整姿態1次 {i=migong_right();//走右手同時檢測白線的函數 if(i==1)//檢測到白線 { daojia=1;stop();break;} } if(daojia==0)//還沒有到家,調整機器人姿態1次。{ motor(0,-100);//后退1點 motor(1,-100);sleep(0.03); motor(0,100);//左轉1點 motor(1,-100);sleep(0.08);} } 從某點出發走左手,如果在正常情況下4秒可以回家,但現在5秒還沒有回家,那么調整動作就會起作用。只要我們選擇合適的參數,就可以防止機器人30秒靜止不動,又不影響正常行走時的效率。 教學反思 《機器人滅火——迷宮滅火》是四川教育出版社九年級信息技術下冊第13課,本學期的教材是機器人的系列教學,而這一課也是第8課走迷宮和第12課尋找火源的整合課程,讓機器人從開始位置出發,若發現火焰,則啟動滅火程序,滅火,若沒有發現火焰,則繼續探尋迷宮,尋找火焰。 本堂課從結果來看,基本完成了教學目標,學生在分小組的學習中,通過討論、交流,完成了流程圖的設計、機器人的搭建方案和程序的編寫。因為有前面課程的鋪墊,學生對機器人程序編寫已經“游刃有余”,所以在引到學生從走迷宮與尋火源的基礎上,讓他們探索、討論,找出機器人迷宮滅火的設計方法,他們的思維活躍發散,基本已經“順理成章”地完成各個任務。 當然,我也發現存在不少問題。第一,本來需要學生討論、探索、思考,產生自己的想法與設計,再來對比書上的參考,但是個別小組的學生直接翻看教科書上,跳過自己思維的過程,這樣對他們學習編程沒有任何好處;第二,學生差異大的狀況依然存在,少數學生在前面的學習中已經落后其他同學,知識代帳,而這節課又是前面課程的整合,雖然前面有鞏固的練習,但還是有個別學生還是沒能理解,導致整節課“坐飛機”的感覺;第三,時間安排仍然需要調節,雖然將學生自行組裝機器人、檢測光值與火焰值、改進程序等這些環節調至第二堂課進行,但本節課內容依然繁多,沒能給學生足夠的時間進行探索、思考。 此外,通過機器人這一系列教學,我發現對學生的信息技術素養的培養,有很大幫助。 1、學生積極性很高。興趣是最好的老師,當學生他自己對機器人很感興趣時,產生內驅力,在結合教師引導和同學間的討論,能更好的培養學生探索、發現、解決問題的能力。 2、實踐性很強。與學習其他軟件相比,學習機器人還會考驗學生的動手操作能力:如何搭建實物機器人,如何測得當前環境下的光值與火焰值,機器人不按自己設定編程行走的原因??在實際動手中,會遇見很多很多突發問題,更能充分培養學生分析問題、解決問題的能力。 3、培養邏輯能力。設計機器人的行動,就要從流程圖開始構思,然后將它轉化成程序,這是模塊化程序編寫的基本方式,不僅鍛煉了他們程序編寫的能力,更是對他們邏輯思維的發展有很大提高。 ABB機器人教學案例 一、產品的搬運及自動計數 1、當機器人的啟動信號di2=1時,開始將產品從A處沿著半圓弧搬運到B處的產品箱內,吸盤控制信號為do1; 2、每一個產品箱最多裝3件產品,用參數srg1計數; 3、當產品箱裝滿3件產品,即reg1=3時,計數燈do2變亮,等待3秒; 4、最后機器人返回最佳等待位置(1軸0度,2軸15度,3軸-15度,4軸0度,5軸90度,6軸0度) 二、機器人沿三角形和圓形軌跡的運動 1、創建例行程序1,編寫圓形軌跡的運動程序; 2、創建例行程序2,編寫三角形軌跡的運動程序,并按如下要求編寫程序; (1)判斷外部輸入信號di2的狀態,如果di2=1,則開始執行沿三角形軌跡運動,三角形軌跡用位置偏移功能Offs確定; (2)用FOR指令重復執行3次圓形軌跡的運動程序,圓形軌跡的運動調用例行程序1; (3)沿圓形軌跡運動完畢,等待3秒; (4)最后機器人返回最佳等待位置(1軸0度,2軸15度,3軸-15度,4軸0度,5軸90度,6軸0度) 三、機器人沿正方形軌跡的移動 (1)、例行程序名稱為Rmove(2)、當安全門信號di10-1和機器人啟動信號di10-2全部閉合后,機器人開始工作。 (3)、機器人的工作內容為:機器人沿正方形軌跡運動,正方形軌跡用位置偏移功能算出,重復運行2次后,指示燈do10-1變亮,等待5秒后,指示燈do10-1熄滅。(4)、機器人回到安全位置。 四、機器人位置偏移功能 (1)、建立工具坐標系和工件坐標系。 (2)、創建一個例行程序,編寫機器人沿長方形軌跡重復運動兩遍(其中一偏為正向的長方形,另一偏位斜向的長方形)的程序,長方形軌跡的長寬分別是300mm和200mm,要求以長方形的其中一個頂點為基準點,利用位置偏移功能確定長方形的另外3個點。運動速度最高不超過V300,然后再主程序中用調用該例行程序。 五、機器人焊接 (1)、機器人焊接軌跡為直徑150mm的半圓; (2)、機器人運動速度最高不超過V300; (3)、用計時器記錄每焊接一件產品的時間; (4)、焊接完三個產品后顯示“Finshuing”,然后回機械零點,結束工作。 認識機器人教學案例 [背景材料] 我們學校準備要引進機器人工作室,這對我們信息技術教師來說即使一個機遇也是一個挑戰,因為我們要重頭開始學習,但也開拓了我們的視野,我根據青島出版社的義務教育實驗教科書《初中信息技術》九年級上冊第四單元第一課《認識機器人》的教學目標圍繞制定的教學案例。在七年級某一班級上了一節課,主要是看看學生的反應能力與接受新知識的能力。 二、教學設計 [教學目標] 知識目標:了解機器人的概念、特征、分類與用途,簡單了解機器人的發展歷程。 技能目標:熟練利用網絡查找信息和處理信息。 情感目標:培養學生對機器人的興趣,培養學生關心科技、熱愛科學、勇于探索的精神。 [教學重點與難點] 教學重點:機器人的概念、特征;學生的自學能力和探索精神的培養。 難點分析:機器人的概念及其特征;學生自我評價。 [案例描述] 片斷1 觀看視頻引入教學內容 師:21世紀被信息技術專家譽為智能機器人的時代,機器人在各行各業將得到更加廣泛的應用,機器人技術綜合機械工程、電子工程、傳感器應用、信息技術、數學、物理等多種學科,它代表著一個國家的高科技發展水平。同學們在生活中有沒有接觸過機器人?在影視作品中的機器人是什么樣的?請同學給大家描述一下。 學生積極舉手描述自己生活中、電影中見過的機器人,課堂氣氛活躍,教師適時導入新課: 師:下面請同學們看一段關于智能機器人的視頻。(教師播放關于機器人比賽的視頻) 觀看過后:同學們舉了這么多機器人的例子,我們從剛才的視頻上也看到機器人具有類似人類的形體和較高的智能。那么,到底什么是機器人呢?是不是只有在高科技實驗室、科幻電影里面具有與人類相似的形體的才叫機器人呢? 學生開始討論,問題初步涉及到機器人的特征方面。 師:現實生活中,機器人無處不在,并在我們的生活中起著重要的作用。你是否注意過商場的自動門、街頭的取款機?這就是機器人!機器人就在我們身邊!那么人們是怎么定義機器人的呢? 片斷2 以任務為驅動開展教學 師:請同學們自學課本內容回答以下問題 1、什么是機器人? 2、機器人有什么特征?結合機器人的特征回答為什么商場的自動門、街頭的取款機也稱為機器人? 學生閱讀課本內容,總結歸納知識點。幾分鐘后,大部分學生總結出自己的答案,開始踴躍舉手。 學生1:機器人是一種具有類似某些生物器官功能、用以完成特定操作和移動任務的、可通過編程來控制的機械電子裝置。 學生2:機器人應該是由計算機控制的通過編排程序具有某些功能的機械。 師:從同學們的回答中可以看出機器人的外表不必像人,只要在功能上能模擬生物的動作和行為,都可以稱作機器人。下面請同學們總結機器人的基本特征。 學生回答自己歸納、總結的機器人特征: 1.大腦: 控制機器人的程序。 2.動作: 任何機器人都有一定的動作表現。 3.身體: 是一種物理狀態,具有一定的形態。 師:回過頭來,我們看看剛才談到的商場自動門是不是機器人(與以上特征一一比對,得出它是機器人的結論)。 師:下面請同學們思考,你們面前的電腦是不是機器人?為什么? 教師擴展知識引出機器與機器人的區別: (機器人擁有傳感器,運用了感測技術,對人類有回饋的作用,而機器則只能完全由人或程序來控制,不會因外在情況的改變而影響自己的動作。) 片斷3 了解機器人的發展史,增加學生對機器人的興趣 學生學習到這里,已經對機器人產生了興趣,迫切想了解更多的關于機器人的知識,有些學生開始在下面低聲討論自己對機器人認識。教師在學生學習興趣高漲時介紹機器人的歷史,可增加學生對機器人、對信息技術的學習興趣。 師:機器人的出現,使人類擺脫了繁重危險的體力勞動,標志著人類社會的進步。從1961年生產出第一臺工業機器人到機器人研制開發蓬勃發展的今天,機器人主要經歷了三個發展階段?? (教師詳細介紹機器人發展的三個階段及各階段機器人的特征,著重介紹第三代機器人---智能機器人的知識,激發學生的興趣,為下面的學習內容打下基礎。) 片斷4 分組活動擴展知識 師:現在,智能機器人已廣泛應用在社會的各個領域。下面請大家以小組合作的形式通過互聯網查找、學習在生產、生活中應用了哪些機器人?它們的用途是什么?并填寫表格1-3。 (1)成立小組,分工合作,制定活動計劃。 姓名 特長 任務 表1:小組成員分工表 (2)確定活動的探索主題,構建問題框架。 機器人名稱 應用領域 關鍵詞 用途 資料來源 表2:機器人應用情況調查表 (3)評價要求 通過自評和互評的方式進行評價,標準如下: 評價項目 星級 探究主題 較明確 明確 明確且有新意 關鍵詞 定位欠準確 基本切中主題 定位準確 信息檢索 與主題關聯少 與主題有一定關系 與主題密切相關 合作學習 有簡單工作計劃,分工不明確 工作計劃較詳細,分工基本明確 工作計劃詳細,分工明確,小組協作好 評語 表3:評價表 學生在聽完老師的任務和要求后分組進行學習,教師巡視學生操作,收集掌握學生學習過程的信息: 信息1:全部學生都能夠按要求分組學習,合理分配各自的任務。 信息2:大部分學生能夠通過網絡完成學習任務,填寫完學習表格。有三分之一的學生完成的較出色。 信息3:少部分學生在自我評價環節沒有按教師提供的評價標準進行。 三、教學反思 良好的開端是成功的一半。作為課堂教學的一個必需環節,課堂的導入是學生主體地位的依托,也是教師主導作用的體現。教師要格外重視課堂導入設計,要創造良好的氛圍,調整學生的情緒。更何況現代教學論認為:教學效果在很大程度上取決于學生內在心理狀態(即情感心理狀態)。信息技術課主導應用任務驅動法展開教學。有些學生一上課就問“老師,今天有什么任務”。這樣機械地應用任務教學法,學生不免對信息技術課產生一絲厭倦。如何在課堂導入環節下功夫,自然而然地引入到課堂所要完成的任務上來,是一堂課良好開端的關鍵。在本課中開始我向學生展示了關于機器人的圖片和有意思的視頻,效果不錯,學生的注意力一直圍繞著本節課,使教學活動能夠順利開展,學生對知識的掌握程度較高。 大膽放手讓學生去嘗試,從中了解學生的操作水平面,適時調整教學策略。在片斷4中,按照新課程的教學理念,教師要求學生分組學習,獨立填寫學習表格,鍛煉學生的自主探索精神。在自評與互評環節,由于評價項目較多,有的學生沒有充分理解教師的要求,導致評價環節開展的不順利,這就要求教師在學生自我評價前引導學生理解各項評價的要求。任務完成后教師從學生中尋找優秀作業(作品),通過對優秀作業(作品)的講解來突破教學環節,既解決了問題,又給優秀學生以展示的機會,對這些學生在信息技術的探索中無疑注入了強勁的推動劑。 《燃燒與滅火》教學案例 ——上海音樂學院實驗學校 陶曉明 《燃燒與滅火》是初中科學課的一堂有關生命教育系列的課,圍繞著對火的認識、火是怎么產生的、擴張的、如何滅火,最重要的是如何在火災的情況下逃生。這是一堂對學生來說是非常重要的學習內容,對自己和對他人有非常重要的意義,為此,為了讓學生好好掌握這堂課的教學,設計了一系列旨在激發學生興趣的實驗項目,更好的提高學習效率,掌握好這一堂課的內容。 科學課是二期課改后新生的一門綜合類的科學學科,有關生活的各個方面,是一門非常有用的學科,但由于學生主課學習任務非常繁重,很多學生對這門課不夠重視,但有些內容還是相當重要,如這一章有關生命教育的內容,提高學生的學習興趣和參與度,真正掌握這堂課的學習內容就擺在我面前的一個問題,就必須要設計很多有趣的實驗來吸引學生。第一個問題是解決火的雙重性,在學生腦海里,火的概念就是火災,是很可怕的東西,但事實上火對我們人類文明的進步去的舉足輕重的作用,沒有火,熟食、取暖、工具等等都沒有,為了讓學生知道這一點,我課前事先把班級分成2小組,正方和反方,各自搜索火的利和弊,在課堂上以辯論的方式進行辯論,學生興趣高昂,個個不服輸,在辯論中學生自然就明白了火的雙重性。辯論是一個很好教學手段,特別是對一個沒有定論的事例,學生在辯論中學到很多知識,有可能連老師都想不到,但辯論的過程老師要適當參與、點評、及組織好各個環節,有可能學生在辯論的過程中方向偏差或出意外。第二個問題是燃燒的條件,燃燒時要有一定條件的,但學生往往會忽視這一點,也不大去研究燃燒需要什么條件,也很難自己研究,對此口頭說是萬萬不行的必須要通過實驗來讓學生清楚的意識到燃燒的條件。猜想是很好的方式,特別是對沒有條件自己研究的項目,學生對燃燒的條件有各種合理和不合理的猜想,組織學生討論并去除明顯不合理的猜想,剩下合理但不確定的猜想只有通過實驗來得到。燃燒的條件是:氧氣、著火點、可燃物。氧氣是燃燒必不可少的條件,表明這一實驗就必須實驗。磷的燃燒會產生大量煙霧,現象明顯,且著火點只有40攝氏度。把它放入50攝氏度的熱水中,沒有燃燒起來,學生一看就知道沒有氧氣,燃燒是不會發生的。這個實驗只是演示實驗,因為白磷有毒不適合學生做,且要在通風環境下做,并適當告知學生采取一定措施如捂鼻子等。著火點的實驗我用紙盒燒水來證明,火直接接觸紙盒但沒有燃燒,因為水的溫度達不到紙的燃點,紙就燃燒不起來。火燒紙,紙燒不起來,對學生來講是很有觸動的,學生有極大的興趣,這個危險性沒有前面的高,建議進行學生實驗,對于初一的學生來講,自己動手實驗的本領還不是很扎實,老師要適當的點撥,指導,特別是使用酒精燈,雖然預備班時有講到過如何使用酒精燈,但可能會有所遺忘,且涉及到火的實驗要特別當心,酒精燈的熄滅是有一定規范的,等冒蓋2次。這也是初三學習化學時有關酒精燈的操作規范所要求的。學生通過自己動手,生動形象的實驗現象銘記在心,提高了學生的學習效率。如何滅火,是一個衍生問題,因為前面剛剛搞清楚燃燒的條件,如何滅火自然學生會想到三個燃燒條件,所以這一環節運用討論法是再適當不過了,學生開動腦筋,各抒己見,討論如何滅火,怎么樣的滅火方式是最好的,學生間開展討論,如普通住宅和圖書館著火,他們的滅火方式上有什么不同,怎么樣的方式比較合理,森林火災,油庫火災等等,學生參與度高,教學效果自然好。但要注意的是,學生所討論的方案可能并不是最好的,這就需要老師給出,因為學生的知識水平,生活經驗有限,在特殊情況下,采取正確的滅火方案時相當重要的,這就需要老師來給出,而不是全盤由學生來討論得出。最后一個問題是火災逃生的教學,這是本堂課的重點,也是整個章節生命教育的核心,學生掌握正確的逃生方法,對將來時非常有用的。采取怎么樣的教學策略相當關鍵。筆者最終選擇視頻加討論的策略,通過視頻錄像,展示火場的各種復雜情形,危機狀況下的各種逃生方法,以生動形象的表達在逃生過程中的各個細節和注意事項。加上討論是為了讓學生發表自己心中的疑惑,為什么要這樣逃生,換種方法是否可行,因為在一些特定的場合,自認為可行的方案可并不是最好的,錯誤的逃生方案可能對自己和家人帶來更大的危險。為此必須要進行一定的討論,加入不是片子里所說的方案,用其他的方案是否可行,例如,在3樓發生大面積火災,是不是可以往樓上逃,不同的情況可能答案截然相反,是閉門不出還是果斷出門尋找逃生路線等。在討論中找到最合適有效的逃生方案。 通過本堂課教學,學生能很好的掌握《燃燒與滅火》這一課的教學內容,激發學生興趣和適當的教學策略是一堂成功的課非常重要的因素。第二篇:《機器人滅火——迷宮滅火》教學反思
第三篇:ABB機器人教學案例
第四篇:認識機器人教學案例
第五篇:《燃燒與滅火》教學案例