鐵菊紅,彭 輝
(成都信息工程大學 軟件工程學院,四川 成都 610225)
C語言指針過程化教學方法研究
鐵菊紅,彭 輝
(成都信息工程大學 軟件工程學院,四川 成都 610225)
指針是C 語言教學中的重點和難點,是設計良好C程序的關鍵。文章分析目前指針教學存在的弊端,詳述指針過程化教學方法的思想、課堂教學實施過程和實踐教學實施過程。
C語言;過程化;指針
對于計算機專業(yè)學生,編程思維的養(yǎng)成是非常關鍵的,國內大部分高校將C語言程序設計設為學生接觸的第一門計算機類編程語言課。學好C語言對計算機類專業(yè)學生是非常關鍵的,而指針是C語言中的一個重要概念[12],是C語言的精華。正確、靈活運用指針,可以使程序簡潔、緊湊、高效[3],學好指針有利于學生在后期更好地掌握C++語言中的指針使用和理解Java語言中對象的引用。
目前,國內大部分C語言程序設計教材中,將指針內容獨立成章,而且安排位置偏后,教師如果按教材順序講授,那么學生學完了C語言大部分內容后才接觸到指針,而且指針所有內容都被堆積到一起講解。作為獨立的知識點,在教學中不可能安排大量的學時講解指針,所以在短暫的時間內教師不能很透徹地講解指針內容,通常出現(xiàn)減少和簡化指針內容。這時往往到了學期末,學生編程時間有限,很難理解和吃透指針內容。
指針過程化教學和貫穿模塊化編碼的C語言教學[4]應同步進行,在指針過程化教學中打破傳統(tǒng),將指針基本概念提前到與數(shù)據(jù)類型一起講解,并在以后的教學中緊密結合各章節(jié)的知識點及其在編程中的應用,引人指針相關內容,逐步引導學生循序漸進地理解指針內容,這樣在整個學習C語言的過程中,學生都在學習指針內容,并在實踐教學中不斷深化指針應用,解決實際問題。到課程后期,學生將會理解透徹指針概念,并能有效地利用指針設計簡潔、緊湊和高效的程序。
指針也是一種數(shù)據(jù)類型,所以在講解數(shù)據(jù)類型時引出指針基本概念,讓學生理解指針的作用。教師在后期的教學中緊密結合各章知識點,引人指針知識點。為了清晰地展示在課堂教學中如何實施指針過程化教學,筆者將整個實施過程以表1的形式按序展現(xiàn)。
教師根據(jù)表1的順序將指針內容貫穿到整個C語言教學中,用過程化的教學方式由淺人深地將指針內容展示給學生。
C語言是一門實踐性極強的課程,不是聽會的,也不是看會的,而是自己練會的[5]。所以,在指針過程化實踐教學中學生的“練”是非常重要的。眾所周知,程序調試能力是每個編碼人員必須具備的基本能力,對于初學編碼人員,掌握了程序調試,對于訓練編碼思維、發(fā)現(xiàn)問題和解決問題是很有幫助的。所以,在C語言實踐教學的開始,就給學生示范如何調試程序單步跟蹤程序執(zhí)行過程,以及如何發(fā)現(xiàn)程序隱藏的問題,學生掌握了程序調試能力,有助于理解程序中的“指針”指向了“誰”。
表1 指針過程化課堂教學實施過程
為了讓學生帶著興趣在實踐課中探索指針,教師要精心設計指針練習題。練習題既要有趣味性,又能鞏固課堂內容并具有解決實際問題價值,這樣學生抱著解決實際問題的態(tài)度編碼,而不是為了編碼而編碼。教學過程中再結合 “C語言數(shù)量化考評系統(tǒng)”強化訓練學生指針編碼能力。
4.1 設計漸進式練習題目
指針過程化教學的核心思想就是將難以理解的指針內容進行分塊,然后由易到難,逐步貫穿到整個C語言教學中。設計練習題目亦遵循這個思想,所以練習題目的內容和難度是逐步增加的,而且后面的題可以直接利用前面題設計的子函數(shù)或借鑒前面函數(shù)算法思路。學生通過做練習題目,持續(xù)累積和加強指針內容。在C語言學完后,每個學生都要做一個“簡易學生成績管理軟件”,這個軟件的主要功能有:錄人學生信息、顯示學生信息、統(tǒng)計總分和平均成績、根據(jù)總分或平均分排名和查看學生信息(根據(jù)學號或姓名)等功能。開發(fā)這個系統(tǒng)需經常將指針作為函數(shù)參數(shù),在過程化教學中,系統(tǒng)相關功能已分解到不同的實踐練習中,學生在做項目時對前面累積的子函數(shù)進行終極整合或稍加改進,就可以完成這個系統(tǒng),項目功能分解見表2。
4.2 C語言數(shù)量化考評
C語言數(shù)量化考評系統(tǒng)是作者主持開發(fā)的,在該系統(tǒng)中教師可以在線布置實踐練習題目,學生只要有瀏覽器就可以在線編寫代碼,系統(tǒng)可以評測學生編寫代碼是否正確,并按題目難度和準確度給學生積分,積分會納人平時考核中,這樣做可以增加學生編碼積極性。在指針知識點上完后,教師在線發(fā)布指針練習題,要求學生在規(guī)定的時間內做完。教師可以隨時查看學生對某道題
表2 項目功能分解練習表
的編碼時間、是否正確和該題所得積分,以便了解學生掌握知識點的情況,及時對教學方法進行改進。
實踐表明,指針過程化教學法對幫助學生理解指針內容非常有效,提高了學生的編碼思維能力,該教學方法需要學生大量練習編寫代碼,目前教學中設計的練習題只分解了“簡易學生成績管理軟件”的功能,題量偏少,類型單一。在下一步的工作中,筆者將分解其他軟件功能,并將相應的題增加到C語言量化考評系統(tǒng)中。
[1] 李俊萩, 趙家剛, 張晴暉. C語言指針教學中的知識點分析與總結[J]. 計算機教育, 2011(8): 55-60.
[2] 趙忠孝, 楊亞蕾. 對C語言指針教學問題的探究[J]. 計算機教育, 2009(19): 72-74.
[3] 譚浩強. C語言程序設計[M]. 4版, 北京: 清華大學出版社, 2010: 220.
[4] 陳高云, 李蕊, 王嘉昀.貫穿模塊化編碼的C語言教學過程[J]. 計算機教育, 2012(12): 86-89.
[5] 茍燕, 劉東升, 張麗萍. 基于Moodle的自主學習環(huán)境的研究與實踐[J]. 計算機教育, 2009(13): 122-124.
(編輯:彭遠紅)
1672-5913(2017)01-0102-03
G642
成都信息工程大學教育教學研究與改革項目( Y2016009 和 Y2015017)
鐵菊紅,女,講師,研究方向為軟件工程,tiejuhong@cuit.edu.cn。