王穎 胡清
摘要:通過《C語言程學設計》這門課程的學習,使學生掌握正確的編程思想和方法,提高程序設計能力和計算思維能力。為了讓學生更好地掌握一維數組的應用這一教學內容,采用投票統計器這一案例式教學模式,增強學生的學習興趣,提升教學效果。
關鍵詞:C語言程序設計;一維數組;教學設計
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)29-0073-02
數組是具有相同類型的一組數據的集合。一維數組實質上是一組相同類型數據的線性集合,當在程序中需要處理一組數據,或者傳遞一組數據時,可以用這種類型的數據。關于此知識點的掌握,牽涉到一維數組的定義、初始化以及對數組中各元素的引用方法等內容。為了更好地掌握這些學習目標,筆者充分落實教學標準,對接職業標準,整合教學資源,設計了投票統計器這一教學案例來作為一維數組知識點的典型應用。
1 教學設計
本節課選自計算機科學與技術、電子信息工程等專業核心課程《C語言程序設計》。授課對象為大一學生。他們都是手機控、信息達人、對信息化設備資源應用熟練、興趣強烈、動手操作能力強、但不喜歡被動說教,學習過《計算機應用基礎》這門課程,熟悉計算機的存儲方式和運算方式,但缺乏編程所需的計算思維能力。
根據學情分析和教學內容,確定了知識、技能和情感目標。知識目標為掌握一維數組的定義、初始化以及對數組中各元素的引用;技能目標為能夠使用for循環訪問一維數組的各個元素以及用一維數組解決實際問題;情感目標為培養學生團隊合作精神、提升學生的計算思維能力以及激發學生學習的主動性、趣味性。其中,一維數組的定義、初始化和元素的引用是教學重點,利用一維數組設計程序解決實際問題是教學難點。
針對教學重點,在課前導學階段,通過學習通網絡平臺建立課程和班級,使用線上推送的方式發給學生教學資源和提前預習資料,并發布通知明確課堂教學中的小老師環節要講解的三個知識點,分別是一維數組的定義、初始化和元素的引用。在課程教學階段,通過學生主動講解或點名的方式引導學生上臺充當小老師,對三個知識點一一進行講解,使同學們充分理解一維數組的定義賦值和初始化。針對利用一維數組解決實際問題的教學難點,通過三個候選人,十個投票人的微動畫投票過程的演示來理解投票的整個流程,弄清楚案例設計的需求分析;通過分小組討論的方式,使用文字描述分解算法步驟,并且通過流程圖的畫法形象直觀的展示程序的可行性;在實際編程階段,采用分層次教學方法,按學生需要推送微課視頻。
綜上所述,為了突出重點,突破難點,本課程采取了案例式教學方法,以常用的學習工作場景作為教學載體,引導學生通過編程實現小型的投票統計器功能。采用線上的教學資源和線下的講授、實戰、討論相結合的混合式教學模式。學生在網絡學習平臺上輕松地獲取學習資源,提交預習作業;在實體課堂上,愉快的師生互動,領會一維數組的知識點;在微信學習群里分享更多的線上學習資源,探討拓展習題,為分層式教學提供保障。
2 教學實施
教學資源豐富多彩,教學設計絢爛奪目,但教學實施才是關鍵。以時間的先后作為主線,教學實施分為課前導學(知識預演)、課堂教學(學生主體)、課后拓學(能力提升)三大方面。
在課前導學階段,教師通過學習通App發布導學內容,提供課堂學習所需知識,學習方法以及相關微課視頻和資料鏈接。并下達任務單,明確課堂教學中的小老師環節所需講解內容。學生使用手機進入網絡學習平臺,自主學習,完成預習測試內容,提交預習反饋。教師運用網絡平臺的采集分析數據的功能,直觀反饋預習情況,及時了解預習效果,為適度調整教學內容提供科學有效的數據支撐。
基于學情分析和人才培養需要,我們的課堂教學解構為四方面內容,分別是識(案例描述)、析(算法分析)、儲(知識儲備)、編(編程實現)。下面一一闡述。
在課堂教學中“識”這一環節,首先教師組織學生在教學平臺上完成簽到,對上次課程內容進行簡要復習并對提交的作業作出點評。然后拋給學生問題,請同學們描述生活中的投票場景,分組討論并列出投票基本要素后,教師用一個形象的小動畫做出總結,通過三個候選人和十個投票人直觀的投票過程,充分理解投票過程中需要解決的問題,引出解決問題的具體過程。
在課堂教學中“析”這一環節,學生自主分組討論,通過文字描述的方式解構出投票統計器的具體實現過程,并請小組長上臺講解本組思路,通過四個小組的依次分享,教師引導學生列出最佳方案,然后學生通過流程圖的繪制明晰算法過程。
在課堂教學中“儲”這一環節,為了完成算法分析中的各個環節,我們需要一一對應解決方案。教師引導學生第一個問題,如何存放三個變量和十個變量?引出同類型變量的集合--數組的概念。揭示課前導學的預習環節中提到的有關數組的三個知識點,一維數組的定義、初始化以及對數組中元素的引用方法。通過隨機數程序(或者教學平臺上的教師點名的方法)挑選小老師。上臺依次講解自己對三個小知識點的理解。再次通過升級版的小動畫,理解一維數組中元素的使用方法
在課堂教學中“編”這一環節,討論過投票過程,觀看了動畫演示,學生理清了解決問題的思路;通過小老師講解,解決知識點的應用問題。最后進入編程實現環節。學生自主編碼,教師觀察學生知識點的應用情況,適當留出機動時間,給需要輔導的同學推送程序編碼過程的微課視頻。在編碼完成階段,引導學生提出以下疑點:如果兩個候選人的票數相同,怎么輸出勝利者?如果投票人超過10,怎么處理?如果候選人很多,還能用普通的整形變量表示嗎?如果不僅僅想要輸出勝利者,想要一個按票數排序的名單,怎么處理?在課程結束后,開展自評他評的教學反饋工作。
在課后導學階段,根據學生編碼后提出的疑點問題,布置難度依次遞進的分層次作業,并通過微信群推送相關慕課微課內容,推送拓展題目,引出按照票數進行排序的問題,引導學生為下一個案例,校園十大歌手按照得分排序的程序做好準備。
3 特色創新
本次教學設計,有以下特色創新:
1) 以生為本:教學條件和資源服務于學生。
利用現代化教室、教學平臺、引導學生通過手機、平板、電腦,自主探究和親身實踐,在輕松氣氛中掌握知識,調動參與的積極性。
2) 虛實結合:重視計算思維的培養
采用微動畫導入情景模式,引導學生通過人腦的思維方式理解計算機解決問題的思路,激發探究能力,為理解計算思維打下基礎。
3) 素質提升:注重情感目標的培養。
小老師環節的設置,有效提高學生參與課堂學習的熱情,更有利于其專心預習知識點,在語言表達能力方面有很大的提高。
4 教學效果
1)教學手段直觀可視,增強學習興趣
信息化教學手段的合理融入,教學內容的直觀呈現,課前導學知識預演,課堂教學學生主體,課后拓學素質提升三位一體的教學模式,使學生直觀獲取教學資源,對建構知識體系的興趣明顯增強。
2)學生主體,教師主導,教學相長,效果提升
信息化技術與課程教學有機結合,創造實踐條件和交互環境,學生自主學習能力增強,從抵制傳統的講授式課堂到享受現在的參與式課堂。
3)以學生發展為本,優化學習效果
利用全國教學資源可以共享的大網絡環境,更好地創造以學生發展為本,以適應現代化生存為本的教育教學環境,優化學習效果,提高學習效率。
5 結論
通過案例式的教學方式,整合課程基本知識點,有效的突出重點,突破難點。學生通過本課程的系列學習,依托豐富的教學資源和分層次的教學引導方式,創造個性化差異發展的機會,提升了學生的自學能力。通過分組討論的方式,提供了互幫互助的學習環境,培養了團結互助的團隊精神,為從小課堂走入大社會提供保障。
參考文獻:
[1] 汪紅兵,姚琳,武航星,等. C語言程序設計課程中的計算思維探析[J].中國大學教學,2014(9):59-60
[2] 張耀文. 基于計算思維的程序設計課程案例教學法研究[J].重慶電子工程職業學院學報,2012,21(3):149-150
[3] 程傳鵬. 基于大學生心理特點的C語言教學方法[J].計算機教育,2012(1):68-69
[4] 劉志丹,李曉花.《C語言程序設計》教學改革研究[J]. 電腦知識與技術,2018(20):160-161
[5] 賴永秀,李凌,饒妮妮.任務驅動法在C語言實踐教學中的應用[J].實驗科學與技術,2012(6):125-126
【通聯編輯:王力】