基本信息
科目:《C語言程式設計課程》 教學對象:計算機專業的大學一年級
課時:2教學環境:計算機網路教室
學習者特徵分析
通過前面四章的努力學習,學生已經對C語言有了大致但不細緻的了解,到本章為止已學了很多的數據類型,例如:整型、字元型、浮點型,這只是基本類型,但如果將多種數據組織在一起則學生就會遇到困難了。學生基礎有點薄弱,但通過本章的學習,則希望可以輕鬆面對也可以更順利的編寫程式!
基本內容
一維數組是由數字組成的以單純的排序結構排列的結構單一的數組。是二維數組和多維數組的基礎。
數組是一個由若干同類型變數組成的集合,引用這些變數時可用同一名字。數組均由連續的存儲單元組成,最低地址對應於數組的第一個元素,最高地址對應於最後一個元素,數組可以是一維的,也可以是多維的。
計算機語言中的一維數組
(1)數組是一組有序數據的集合。數組中個數據的排列是有一定規律的,下標代表數據在數組中的序號。
(2)用一個數組名(如s)和下標(如14)來唯一的確定數組中的元素,如s就代表第15個學生的成績。
(3)數組中的每一個元素都屬於同一個數據類型。不能把不同類型的數據(如學生的成績和學生的性別)放在同一個數組中。
教學目標分析
知識與技能
掌握並且學會將數組全部初始化;掌握並且學會將數組部分初始化;
掌握並且學會對大小可變的數組進行初始化;掌握並且學會查找某一所需的數據;
掌握並且學會對數組元素進行排序;能夠利用數組知識進行編寫某些程式。
過程與方法
通過讓同學閱讀教材實例,分析其程式過程和分組編寫課後習題,引導學生分析問題,編寫、調試程式等通過實際操作來解決問題,讓同學掌握其重點知識。
情感態度與價值觀
讓同學所接觸的程式都是教材上的,並且課後習題是附有答案的,並且是通過小組來進行上機操作的,如遇到不懂的可以請教小組同伴或者老師,以此達到掌握重點知識。
通過分組編寫練習題,讓同學體驗成功和與他人合作的重要性,以此提高同學對這個專業的興趣。
教學重點與難點
重點
1.掌握如何給數組部分、全部元素以及大小可變的元素進行初始化;
2.掌握如何給數組元素進行排序(特別是冒泡法)。
難點
在理解並且掌握所需掌握的知識點的基礎上,進行實際操作,能夠很好的將習題做出,並能靈活運用數組知識。
教學策略的選擇與設計
本節課採用的講授法,小組合作式,練習法,實習作業法等。
首先通過提出幾個問題來讓同學思考,從而自然的引到本節課的內容,講授新課內容,以簡單易懂的方式將數組初始化的方法教給同學;通過讓學生組成小組,以小組形式來探討查詢和排序,通過探討並分別拿出解決方案;講授順序和折半查找以及冒泡法排序。組織學生去網路教室,以小組的形式來編寫所給的題目,通過實踐來解決所遇到的問題;並讓小組進行交流;通過對各小組的評價,使學生學好本節課,找到自己的薄弱環節。
教學過程與媒體資源
創設問題意境,激發學生學習興趣
:
(1)教師首先提出一個關於數組元素的問題(怎么給數組元素一個值)
(2) 然後引出本節課。
(1)大膽猜想該問題的答案,也可和同學進行探討。
(2)積極發言來回答該問題,也可質疑其他同學的方案;
:
(1)通過問題的提出,來吸引學生的注意力;
(2)通過學生的回答自然而然的將教材內容大致講給學生,使他們對本節內容有初步的了解。
ppt,計算機,教材,粉筆,黑板。
新課探究——如何對數組元素進行初始化
:
(1)教師給出一個關於數組初始化的習題,並在課堂上讓學生積極回答;
(2)必要時讓學生在黑板上給出詳細的過程;
(3)講解教材中的初始化內容和知識點。
:
(1)對老師給出的題目進行積極的思考並回答,
(2)必要時可以與其他同學進行討論,並在上機課上進行實踐。
:
(1)觀察學習思維,看學生是否能夠自己以前利用所學的知識解決目前問題;
(2)也能看他們是否能進行舉一反三;
(3)學生在黑板上書寫也能鍛鍊學生的心理素質。
PPT,黑板,粉筆,教材,計算機。
新課探究——在數組中進行查找、排序
:
(1)給出兩道題目,分別為在數組中查找一個數據和對數組元素進行排序;
(2)對學生分組;
(3)幫助學生解決上機所遇到的問題;
(4)演示排序中“冒泡法”。
:
(1)與自己組員進行探討,確定自己組的解決方案;
(2)上機操作所確定的方案,即編寫的程式;
(3)探討所遇到的問題。
:
(1)讓學生自己來探討查找和排序,可以加深對它的理解;
(2)學生分組來做,不僅可以使學生與別人探討,也可以加強他們的團隊責任感。
PPT,粉筆,黑板,計算機,教材。
拓展學習
(1)布置自學:通過剛才的例題以及小組的上機操作,我們知道了數組元素的初始化以及查找排序的方法與它們的執行過程,可是我們剛才的學習只是單獨的進行各個的操作,如果把題目複雜化,應該怎么辦呢?比如輸入5個數字在數組中,要求最大數字在首位,最小數字在末尾,其他的數字順變不變。這個題目又要怎么做呢?指導學生遵循分析問題,設計算法,編寫程式,調試運行這幾個步驟來完成該題目以此來更好的體味數組的知識點。
(2)檢查學生的自學情況;
(3)請各個組分別選出代表來介紹小組的自學情況,並演示程式運行的效果。請其他小組給與一定的評價。
(4)總結各小組的自學成果。
(1)學生以小組的形式分析題目,設計算法,編寫程式,調試運行這個步驟來完成這個題目。
(2)小組派某個代表來講解這個小組的程式以及自己的學習經驗,展示算法和程式代碼,並調試運行。
(3)學生對該小組學習形成、效果給與評價。
(1)這道題目不僅僅是把初始化,排序派上用場,關鍵是中間元素的不變應該怎樣來控制,問題的加深,引起學生的探索興趣。
(2)利用循環漸進的方式,讓學生在已學的範圍內進一步學習更深的知識,培養學生的自主學習能力。
教師活動:本節課一直是在一個大的主函式中進行所有的操作,但是如果我們的程式非常的繁瑣而且又要用到數組,那我們又有什麼樣的解決方案呢?在下節課中我們會得到非常詳細的答案的!
設計意圖:留個懸念給學生,能激發學生的求知慾望的,為下節課的展開創作很好的條件!
小結
小結本節課所學的內容:對數組元素進行初始化,在數組中查找一個數據,對元素進行排序。
跟著老師的思路,與老師一起小結本課時的內容。
通過小結進一步帶領學生鞏固本課時內容。
課外拓展
布置課外閱讀,有興趣的同學可以到下列網站進行學習,
http://www.enet.com.cn/eschool/video/vb/
提供好的網站讓有興趣的同學作進一步的學習。
教學流程圖
教學評價
學生自評表
我知道了幾種數組元素的初始化的方法。
我掌握了對數組元素進行排序和查找的方法。
我能用所學的知識寫出解決與數組有關的程式。
認真、 積極、 自信、 善於與人合作、 思維的條理性、 思維的創作性.
和自己比,這節課我能拿個 “ ”(A、 B、 C、 D )。
教師評價
評價我的學生 | A(優秀) | B(良好) | C(合格) | 選答 |
學生對數組元素初始化的理解 | 表達清晰 | 能基本描述 | 不能描述 | |
學生對查找、排序的理解 | 表達清晰 | 能基本描述 | 不能描述 | |
學生的練習情況 | 全部能完成 | 大部分能完成 | 少部分能完成 | |
學生對討論交流的態度 | 非常投入 | 較積極 | 應付式 | |
學生小組合作情況 | 分工明確,合作有效 | 有分作,但分 工不盡合理 | 分工合作不合理 |
備註與反思
本課時採用的是講授法,小組合作法,談論法等,讓學生對數組的初始化有一定的了解與掌握,能夠利用所學的知識去解決數組的問題,在編寫——編譯——執行的過程中發現問題,並幫助他們解決問題,使之對c語言產生濃厚的興趣。
當能由於各種的原因,不是每個學生都能很好的理解所學的內容的,對於那些不能及時理解的同學給與更多的關心和耐心,使他們慢慢的去接受c語言。