999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

算法與數據結構理論教學技巧探討

2013-12-31 00:00:00周張蘭
科教導刊 2013年31期

摘 要 在算法與數據結構課程中,理論教學環節非常重要,要想在有限的課堂教學中取得良好的教學效果是不容易的。本文分別就知識點的理解、課堂啟發、知識點的引入和鞏固四個方面介紹了一定的教學技巧,以達到充實課堂教學內容、活躍課堂氣氛、提高學生學習興趣的目的。

關鍵詞 算法與數據結構 理論教學 教學技巧

中圖分類號:G424 文獻標識碼:A

Discussion on Algorithms and Data Structures Theory Teaching Skills

ZHOU Zhanglan

(College of Computer Science, Yangtze University, Jingzhou, Hubei 434023)

Abstract In the \"Algorithms and Data Structures\" course, theoretical teaching is very important. In order to obtain a limited teaching good teaching effect is not easy. This understanding of knowledge points respectively, classroom inspiration, knowledge and consolidation of four aspects of the introduction of certain teaching techniques introduced in order to achieve the full content of classroom teaching, active classroom atmosphere, enhance students' interest in learning.

Key words Algorithms and Data Structures; theory teaching; teaching skills

算法與數據結構是計算機專業重要的核心課程之一。該門課程中涉及眾多復雜而抽象的概念、算法,多數學生表示學習起來感覺較為枯燥。對主講教師來說,如何讓學生在有限的理論課堂教學中掌握所有知識并靈活應用是不容易的。當然,現在有很多教學手段可以達到增強教學效果、吸引學生注意力的目的。比如,在教學過程中引入精美的PPT課件、動態教學演示系統等。但是,這些手段都只能起到輔助教學的作用。教師在充分利用這些教學工具時,更應該發揮操控者靈活處理問題并解決問題的能力,以達到更加完美的教學效果。本文就課堂教學中的幾點經驗進行總結,以供探討。

1 生動的語言,形象的比喻——知識點的理解

算法與數據結構課程中的知識點,尤其是每章涉及的重要概念和算法對于初學的學生而言不太容易接受。為了使學生能在課堂教學中盡快地理解和掌握這些知識,教師在教學中運用生動的語言和形象的比喻往往能夠起到較好的作用。首先,關于上課的語言問題。作為一門專業課程,特別是計算機專業的核心課程,教師的授課過程總體來說應該是嚴謹的。專業課教師是不可能把授課對象當成小學生,然后用活潑的語氣配合可愛的動作來講解的。因此,這里提到的“生動的語言”包含兩方面的內容。一方面指教師授課的語氣,不要讓整堂課總是一板一眼像作報告一樣,在重點需要強調的地方適當加重語氣,或者停頓后再次強調,抑揚頓挫的語氣更能使學生提高注意力和關注度。另一方面是教師的肢體語言,在加強語氣的同時配合相應的手勢等肢體動作。當然,這方面與教師的個人授課風格有很大關系。

其次,形象的比喻。本課程在學習中涉及的知識點較多,學生首先要在對概念的充分理解的基礎上,才能進一步學會靈活應用。為幫助學生更好地理解有關概念,可以引入生活中常見的問題做比喻。下面以在課堂上講解鏈式存儲結構與順序存儲結構的區別為例,說明引入適當的比喻有助于學生對兩者的理解。由于鏈式結構不需要預先指定存儲空間的大小。因此,插入和刪除等操作都較為容易,特別是插入操作不存在擴容問題。而順序結構則需在初始化階段申請指定大小的存儲空間,只有在申請成功之后才能進行其它操作。在進行插入或刪除操作時都可能要移動其它元素的位置,而且當進行插入操作時,若初始空間不足還會出現需要擴容的問題。為了幫助學生理解這兩種存儲結構的特點,可以引入這樣的比喻:順序存儲就像上課之前需要申請教室,有多少個學生就需要有一個能容下所有學生的教室。當然,在進行具體配置時要求教室的空間只能大而不能小。比如,上課的實際學生人數為60人,分配的教室為100座,而且一個學生對應一個固定的座位。當加入的聽課人數超過100人時教室里的座位顯然就不夠用了,為了滿足需求需要更換一個更大的教室。函數realloc能將已分配內存區的大小改為指定大小,①可以用來實現這一擴容操作。鏈式結構則不然,在進行具體配置時其空間就像是一個露天會場。進入會場的每一個人都自帶一個小板凳,當人走時小板凳也被同時帶走。只要不存在會場空間不夠(相當于內存分配單個結點空間失敗)的情況,容納的人數是沒有固定限制的。現在再來分析一下兩種存儲結構在操作上的不同。順序存儲的空間分配是固定的,就像教室里的固定座位。當有一個同學需要插到某一個位置坐下時,若此位置已坐人,其他同學則需要通過陸續移動為他騰空一個座位;而鏈式結構則不同,由于每個人都自帶小板凳,只要會場有空間就能容納新來的人。新來的人只需要把要插入的位置告訴排在其前面的人就可以了。當然,不是所有的重要知識點都能找到合適的比喻,這需要教師在備課時多思考,并在教學中靈活運用。

2 恰當的提問——課堂啟發

在授課過程中,活躍的課堂氣氛需要教師和學生之間的良性互動,而提問是一個很好的實現互動的方法。但是以什么方式提問、怎樣提問還是有一定講究的。首先,關于提問的方式。對于大學課堂來說,點名回答或自愿回答都可能會出現學生不配合的情況,畢竟大學生和中、小學生是不同的。因此,教師需要預先做好自問自答的準備。提出問題后,要留給學生一定的思考時間。若在這之后有學生能主動給出較好的解決方案,則應給予及時的鼓勵和贊揚;反之,教師需要自己給出一個粗略的解決思路,將疑問留給學生并促使學生繼續思考。其次,關于提問的內容。提問需要占用課堂教學時間,因此提出的問題應當是最重要、最具有啟發性的。比如,以單鏈表基本操作插入算法②為例:

Status ListInsert_L(LinkList L,int i, ElemType e){

p=L; j=0;

while(pjnext;++j;}

if(!p||j>i-1) return ERROR;

s=(LinkList)malloc(sizeof(LNode));

s->data=e; s->next=p->next;

p->next=s;

return OK;

}

對于算法中“if(!p||j>i-1) return ERROR;”這條語句的作用很多同學在初學時并沒有真正了解,只是在具體實現時生搬硬套。為了引起學生的注意,教師可以在上課時現場運行此算法,并在去掉此語句后輸入數據進行驗證。例如,給i賦一個不超出線性表長度的合法的值,這樣不影響輸出結果,提出這句是不是可有可無的問題,然后留下疑問讓學生去思考。當然,在下次解答時要對這類問題進行總結,強調錯誤處理在編程中的重要性。

3 有趣的例子——知識點的引入

在專業課程的教學中就其知識點來說是較為枯燥的,為了讓學生在剛開始學習新內容時就能激發出學習的興趣,可以通過引入具體實例來達到目的。例如,以循環鏈表的使用為例。在講授什么是循環鏈表之前,先給出一個“約瑟夫問題”游戲的例子,通過這個游戲提出問題:若使用已經學過的單鏈表是否合適。如果不合適,具體在什么地方不合適。然后引入循環鏈表的概念,并以此例子來說明循環鏈表的意義和具體的操作方法。另外一個比較典型的例子是用鐵路調度站表示“棧”問題,這也是一個很好的利用生活中的實例來引入知識點從而引起學生興趣的例子。尤其是在對“棧”的先進后出特性講解時具有很好的效果。當然,例子的引入要恰如其分才能起到正面作用,過于簡單或不合適的引用反倒會引起學生的反感,甚至成為笑話。

4 編程演示——知識點的鞏固

在算法與數據結構課程中涉及到了大量的經典算法,比如最短路徑、關鍵路徑等。對于學生來說掌握其原理就可以知其應用。但是,對有些需要靈活使用的知識點僅講解原理是不夠的。為了能讓學生深刻理解并熟練掌握,可以在課堂上編程逐步演示其實現過程。比如,“樹”這一章的內容涉及的概念較多,它又是學生學到的第一種非線性結構,相比之前的線性表實現起來更復雜。因此,教師在初次講解時很有必要在課堂上將二叉樹的創建過程動態地演示給學生,這其中包括順序存儲和鏈式存儲。當然,演示過程最好不是已經寫好的完整的程序或演示系統成品,而是采用邊講解邊書寫的方式,使學生更容易了解編程的過程。為了節省課堂時間,可以先寫好程序框架,比如程序包含的頭文件、所需結構體類型、主函數、輸出函數等在講解過程中簡單帶過,而重要函數的核心代碼則邊講邊寫。這樣不僅可以增強學生的學習興趣,促使學生自己去編程實踐,更重要的是可以讓學生非常清楚地了解實現的過程。當然,這很考驗教師的編程能力,因為在課堂上臨時寫很有可能因為一時大意使得程序運行出錯而陷入尷尬的境地,從而影響課堂教學的完整性和完美性。但教學的目的不是讓教師去展示個人風采,而是講授知識。從另一方面來講,學生也是寬容的。教師偶爾的一次失誤不僅不會影響其權威性,反而更能讓學生感受到親切而真實。

算法與數據結構作為一門重要的專業課程,要想取得良好的教學效果還需要多方面的配合。當然,作為主講人的任課教師對課程的教學起到了決定性的作用。除了依據授課對象的特點合理安排教學計劃、教學內容外,把握好有限的理論課堂教學,利用各種方法和手段將理論知識講解清楚,使得教學內容生動、課堂氣氛活躍、學生學習興趣濃厚是很重要的。這不僅能幫助學生更好地掌握本門課程的理論知識,更能為學生在后續學習中進行具體實踐打下良好的基礎。

注釋

① 譚浩強.C語言程序設計(第二版)[M].北京:清華大學出版社,1999:387.

② 嚴蔚敏,吳偉民.數據結構(C語言版)[M].北京:清華大學出版社,2007:29-30.

主站蜘蛛池模板: 一级毛片视频免费| 精品国产毛片| 久久国产热| 欧美午夜网| 欧美亚洲一区二区三区在线| 中文字幕欧美日韩高清| 国产精女同一区二区三区久| 亚洲国产看片基地久久1024| 欧美日韩国产成人高清视频| 怡春院欧美一区二区三区免费| 亚洲欧州色色免费AV| 无套av在线| 韩国福利一区| 综合色亚洲| 国产精品白浆无码流出在线看| 国产网友愉拍精品| 成人永久免费A∨一级在线播放| 黑人巨大精品欧美一区二区区| 国产在线小视频| 国产v精品成人免费视频71pao| 国产精品国产三级国产专业不| 无码乱人伦一区二区亚洲一| 色综合天天综合中文网| 999精品视频在线| 波多野吉衣一区二区三区av| 亚洲中文无码h在线观看 | 97色婷婷成人综合在线观看| 国产无人区一区二区三区| 国产精品一区在线麻豆| 在线播放真实国产乱子伦| 高h视频在线| 午夜不卡福利| 香蕉久人久人青草青草| 天堂av高清一区二区三区| 免费一级毛片在线播放傲雪网| 久久久久久久97| 欧美日韩国产一级| 国产精品久久久久久搜索| 在线观看视频一区二区| 国产精品一区二区无码免费看片| 日韩一区二区在线电影| 久久久四虎成人永久免费网站| 中文字幕2区| 婷婷综合色| 精品一区二区三区水蜜桃| 亚洲VA中文字幕| 亚洲欧洲日产国产无码AV| 欧美国产综合视频| 香港一级毛片免费看| 欧美中文字幕在线二区| 影音先锋丝袜制服| 91精品国产91久无码网站| 最新精品久久精品| 久久黄色影院| 午夜无码一区二区三区| 欧美中文字幕一区| 国产91丝袜在线播放动漫| 久久亚洲美女精品国产精品| 午夜性刺激在线观看免费| 国产亚洲精| 第九色区aⅴ天堂久久香| 亚洲欧美日韩中文字幕一区二区三区| 日韩高清在线观看不卡一区二区| 国产午夜福利亚洲第一| 日本不卡视频在线| 国产精品福利在线观看无码卡| 久久伊人操| 毛片在线区| 欧美第九页| 一级一级一片免费| 色综合天天视频在线观看| 国产高清在线观看91精品| 在线视频一区二区三区不卡| 欧美午夜视频在线| 人妻丰满熟妇αv无码| 国产主播在线观看| 91久久偷偷做嫩草影院| 久久99国产精品成人欧美| 综合亚洲网| 亚洲AV无码一区二区三区牲色| 少妇精品网站| 国产91导航|