【說明】:此教學設計任務由南京曉莊學院現代教育技術課程老師yqiong參與教師-維基星光計畫進行wiki教學而發布。此詞條為範例詞條,由仲小娟選定主題並負責、參與現代教育技術課程的所有同學協作共同完成!
基本信息
科目:《鍊表》 教學對象:大學一年級課時:2教學環境:計算機網路教室
學習者特徵分析
在學習鍊表之前,學習者已經了解了結構體類型、結構體數組以及指向結構體的指針等概念,在鍊表的學習過程中,這些知識都是必不可少的儲備。懂得這些知識的概念,以及能夠簡單的運用這些知識,最好能夠做到將這些知識融會貫通,再將其運用到鍊表中去。
有些學習者可能對指針的功能及運用還不是理解得很好,對於指向結構體變數的指針和指向結構體數組的指針這兩個概念,也不能夠分辨得很清楚,這些將在鍊表的學習過程中繼續加強。但是必須及時得複習及練習,才能得到真正的提高。
學習內容分析
本節課的教學內容是高等教育出社版、普通高等教育“十一五”國家級規劃教材《C語言程式設計教程》(第三版)中的第7章7.4節《鍊表》,這是在前面三個小節,即結構體類型、結構體數組以及指向結構體的指針的基礎上建立起來的,學習鍊表的概念、鍊表結點的定義與連結關係的建立以及動態鍊表的建立。鍊表中,又包含了單向鍊表與雙向鍊表,而我們重點掌握的是單向鍊表的建立與其運用,由一個簡單單向鍊表的初始化到將整個鍊表完整地輸出,鍊表的建立,插入,刪除與輸出。教學目標分析
1.知識與技能
(1)鞏固學習C語言中結構體的概念知識以及指針的意義,尤其要理解指針的用法及作用。
(2)掌握C語言中單向鍊表的建立,插入,刪除及輸出等知識點,能夠將其編入程式,進行實際操作。
2.過程與方法
通過任務引導學習者分析問題、設計算法、編寫程式、調試程式,讓學習者進行實際操作,理論聯繫實際,講所學的知識運用到實際的問題中去。讓學習者能夠初步掌握鍊表的建立,插入,刪除及輸出,同時也能進一步鞏固所學的結構體及指針的知識。
3.情感態度與價值觀
通過練習,讓學習者能夠解決現實生活中的問題,能夠更有信心克服更大的困難,在實際操作中,讓他們不斷發現自身的不足,從而對症下藥,得到更大的提高。教學重點與難點
1.重點
(1)鍊表關係的建立
(2)開闢一個存儲新結點的存儲空間
2.難點
如何根據普通的鍊表動態鍊表的建立。
教學策略的選擇與設計
本節課主要採用了講授法,小組合作式,自主探究學習的方法,任務驅動法,強化練習法,交流討論法等。
從學生日常生活問題入手,快速自然的引導學生走進主題,明確本節課的學習目標,引發學生積極思考;講授新課內容,以醒目的方式將鍊表的格式、功能和執行過程呈現給學生;以小組合作的方式,在討論與探究中完成任務;把滑鼠還給學生,自己動手實踐,通過商場打折問題驅動學生完成任務,課程安排形成循序漸進的梯度,充分挖掘學生潛力;展示評價環節,讓學生在交流討論中明確的執行流程及使用方法,逐步建構規範合理的利用計算機解決日常生活中問題的意識。在結束環節,以課後作業強化練習法結束本節課,使學生對條件語句的暫時記憶轉化為長期記憶。
教學過程與媒體資源
創設問題情境,激發學生學習興趣
教師活動:教師出示一份班上學生的信息記錄表,讓學生觀察表格的信息欄有什麼特點。
學生活動:學生觀察信息記錄表得出結論:班級中每個學生都有對應的一個學號。思考用什麼辦法解決學生學號的錄入問題。
設計意圖:用一份學生信息記錄表吸引學生的注意力,讓學生設定學生學號的錄入,能引起學生的學習興趣。每個學生只對應一個學號,可以用一維數組及鍊表解決,不會令學生產生為難的情緒。
媒體資源:幻燈片,班級的學生信息記錄表。
新科探究—鍊表的格式
教師活動:
(1)分析問題:要解決這個問題,用我們之前學過的結構體與指針能解決問題嗎?因為一個學生只對應一個學號,我們可以這樣設計,用一維數組來記錄學號,再運用鍊表輸出。(2)指導學生設計算法,檢查學學生設計的算法,讓兩個小組的代表到黑板前析書他們的算法設計,組織學生討論各組算法的合理性。
(3)編寫程式代碼:詳細講解程式代碼的編寫,通過程式介紹鍊表的格式。
(4)調試程式,指導學生上機調試運行程式,將所設計的程式上機運行,加深學生對鍊表的理解。
學生活動:
(1)學生分析問題,然後試著設計算法。
(2)兩組學生代表到黑板板書他們的算法設計。學生討論算法的可行性。
(3)學生仔細聽講,掌握鍊表的基本格式
(4)學生上機高度運行程式,體驗解決問題的快樂。
設計意圖:通過與學生分析問題,引導學生經歷分析問題,設計算法、編寫程式,高度程式的過程中,讓學生體驗解決問題的快樂。
媒體資源:幻燈,黑板,粉筆,計算機
新科探究—關係表達式和邏輯表達式
教師活動:
(1)引導學生通過探究學習關係表達式
在剛才的例子裡,我們構想的是用一維數組記錄學生的學號,這個如何有達?請自主探究。
(2)結合剛才的例子,引導學生理解鍊表的執行過程。
(3)布置學生自學邏輯表達式:
一維數組的初始化我們都知道怎么表達了,如果想插入或刪除一個學號呢?,又該如何表達?
檢查學習情況:小測試
與學生分析小測試,加深理解。
(4)做一個小練習:
某個班級學生的成績的錄入,每個學生都有一個成績,如何將其與學號對應得錄入?
檢查練習情況,只看算法和程式代碼,不要求上機運行。
學生活動:
(1)學生自行探究,了解數組與鍊表的關係。
(2)學生在教師引導下理解鍊表的執行過程。
(3)學生自學邏輯表達式,然後回答小測試
(4)學生按照分析問題,設計算法,編寫屬牟步驟試著為小練習設計算法和編寫程式代碼。
設計意圖:
(1)通過探究,培養學生的自學習慣,提高學生自主探究的能力
(2)將鍊表的執行過程放在例題中進行講解,讓學生更容易理解鍊表的執行過程。
(3)小測試的目的是為了加深學生鍊表與數組結合運用的理解。
(4)通過一個小練習,加深學生對鍊表的理解,提高學生以知識解決問題的能力。
媒體資源:幻燈,黑板,粉筆,計算機
拓展學習:
教師活動:
(1)布置自學:通過剛才的例題,我們知道了鍊表的格式與它的執行過程,可是我們都知道,一般說的信息錄入可能會不止一項內容,現在我們該怎么解決這個問題?指導學生遵循分析問題,設計算法,編寫程式,調試運行這個步驟學習多維數組與鍊表的結合使用。
(2)檢查學生自學情況
(3)請某小組代表介紹小組的學習情況,並演示程式運行效果。請其他小組評價該小組學習效果。
(4)小結該小組學習效果。
學生活動:
(1)學生以小組形式按分析問題,設計算法,編寫程式,調試運行這個步驟學習多維數組與鍊表的結合使用。
(2)某小組代表講解自己小組的學習經驗,展示算法和程式代碼,並調試運行。
(3)學生對該小組學習形成、效果進行評價。
設計意圖:
(1)將學生的成績科目增加,問題深,引起學生探索的興趣。
(2)通過循序漸進的方式,讓學生在已有科研部範圍內學習新知識,培養學生的自主學習能力。
存疑設懸念
教師活動:用這種鍊表,我們只能先將鍊表初始化,但是如果沒有初始值呢?用這種方法該怎么錄入呢?有沒有更好的解決辦法呢?我們下節課會介紹動態鍊表的建立。
設計意圖:留一個懸念給學生,能激發學生的求知慾,為下節課創造學習條件。
小結
教師活動:小結本課時所學的內容:C語言的鍊表的建立,功能和執行過程。
學生活動:學生與教師一起小結本課時內容。
設計意圖:通過小結對本課時個總結,進一步鞏固本課時內容。
課後拓展
師生活動:布置課外閱讀,有興趣的同學可以到下列網站進行學習,
http://www.enet.com.cn/eschool/video/vb/
設計意圖:提供好的網站讓有興趣的同學作進一步的學習。
教學流程圖
教學評價
1.學生自評表
知識評價:
我知道了鍊表的格式及其用法。 □
我掌握了用鍊表解決簡單問題的方法。□
我能用鍊表編寫出解決與錄入信息有關問題的程式並實現算法。 □
學生課堂表現評價
認真、積極、自信、善於與人合作、思維的條理性、思維的創造性
□ □□□□□
能力評價:
和自己比,這節課我能拿個“”(A、B、C、D)。
2.教師評價
課堂表現評價:
評價我的學生 | A(優秀) | B(良好) | C(合格) | 選答 |
學生對鍊表的理解 | 表達清晰 | 能基本描述 | 不能描述 | |
學生練習的完成情況 | 全部能完成 | 大部分能完成 | 少部分完成 | |
學生對討論交流的態度 | 非常投入 | 較積極 | 應付式 | |
學生小組合作情況 | 分工明確合作有效 | 有合作,但分工不盡合理 | 分工合作不合理 |
知識內容掌握程度評價:
建立一個鍊表,每個成員所包含的成員為:職工號,工資。
(1)用malloc函式開闢新節點。要求鍊表包含5個結點,從鍵盤輸入結點中的有效數據,然後把這些數據列印出來。要求使用函式creat來建立函式,用list函式來輸出數據。這5個職工的號碼依次為0601、0603、0605、0607、0609。
(2)在(1)的基礎上,新增加一個職工的數據。這個新結點不放在最後,而是按職工號的順序插入,新職工號為0606,。編寫一個函式insert來插入新結點。
(3)在(1)、(2)的基礎上,編寫一個函式delete,用來刪除一個結點,(按照所指定的職工號刪除)。要求刪除職工號為0606的結點。
備註與反思
本課時從設定學生的成績等級出發,通過講授法、自主探究、小組合作式學習法等,讓學生經歷分析問題,設計算法,編寫程式,調試運行的過程,學習鍊表的基本格式和運用。設定的問題簡單,能幫助學生克服為難情緒論,又從最貼進學生的學號,提高學生的學習興趣。在教學的實施過程中要注重個體差異,學生程式不一,接收能力也會不一,對學生的評價要求就不能一樣。當個別學生因能力問題不能及時完成學習任務時,也要根據學生的進度給予適當的肯定,以增加學生的自信。