吳華 耿文靜
【摘 要】針對傳統的C語言教學中存在的問題,提出用案例教學法講解相關知識點,并舉例說明如何實施案例教學法。通過案例教學法,能充分調動學生的學習積極性,提高其編程能力和實踐開發能力。
【關鍵詞】案例教學法;C語言;循環語句
0 引言
“C語言程序設計”是計算機類和電子信息類專業的一門專業必修課。因為它對后續的專業課(如數據結構、操作系統等)影響較大,所以各高校都很重視該門課程。傳統的C語言教學模式是:教師先講解C語言的語法,再用實例講解如何應用這些語句編程。這種灌輸式的方式容易引起學生的反感,而且由于C語言本身的知識點較零散,涉及的語法較繁瑣,學生很容易學完后不知如何應用,更不能融會貫通。因此學生普遍學完C語言后仍不能獨立編程或只能編寫一些小程序,缺乏綜合程序的開發經驗,而且在學習C語言的過程中,極易喪失學習興趣。
案例教學法[1]是通過“案例引入—理論講解—案例學習—編程體驗”,將知識點串接起來,從實際問題出發,引出知識點,然后通過案例講解要用到的知識點,再通過分析算法,由學生自己完成編程工作。在此過程中,學生處于主體地位,教師只是起到引導和點撥的作用。案例教學法能極大地提高學生的學習興趣,激發學生的潛能,充分發揮學生的自主學習能力,但同時也對教師和學生提出了更高的要求[2]。因為教師要精選案例,還要循序漸進、由淺入深地引導學生學習相關知識點,并對編程中涉及到的算法給予講解。學生在課前要預習相關的知識,課上要積極參與討論,并動手編寫程序,通過多次調試實現要求的功能,課后還要善于總結、歸納。
1 案例教學法的實施過程
下面通過實例說明如何實施案例教學法。在講解循環語句時,傳統的講課方式總是先給出for循環語句和while語句的語法格式,再通過實例展示循環語句的用法。這種授課方式無法激發學生的學習興趣,學生在學習時目的性也不強。
1.1 由輸出三行星號圖案引出循環語句
先舉一個簡單的案例:在屏幕上輸出一組星號,即第一行輸出一個星號,第二行輸出三個星號,第三行輸出五個星號,而且每兩個星號之間沒有空格。在學生沒有學過循環語句時,可能會寫出下面的語句:
1.2 模仿練習
為使學生熟練掌握循環嵌套語句,可給學生多準備幾道練習題,以鞏固新學的知識點,例如求100以內的素數問題、水仙花數問題[3]等。通過模仿前面的程序,強化學過的for語句和循環嵌套的用法。
1.3 提出新要求
如果學生能夠理解并熟練掌握循環嵌套語句,則可以延伸讓學生實現在屏幕上輸出帶空格的星號圖案,即第一行空4個格后輸出一個星號,第二行空2個格后輸出3個星號,第三行無空格,輸出5個星號,而且每2個星號之間有一個空格,如圖1所示:
這里要用到二重循環語句,因為這里涉及到每行開始的空格數不同,所以需要用一個for循環語句來控制星號前的空格數。針對一些對該知識點掌握較好的同學,可以提出進一步的要求:輸出一個由星號組成的倒三角形圖案或菱形圖案。
1.4 總結
最后對本次案例中用到的知識點進行總結,并對編程中用到的算法進行回顧,體會循環嵌套語句的優勢,布置課后作業:完成在屏幕上輸出由星號構成的菱形圖案(即上半部分是正三角形,下半部分是倒三角形)。
2 案例教學法應注意的事項
2.1 要選擇合適的案例
為引出知識點,選的案例不宜過難,而且要能激發學生的興趣,使學生愿意動手實踐,并在編程過程中獲得一定的成就感。
2.2 循序漸進、由淺入深
根據學生課上掌握的情況,循序漸進、由簡入難,通過一個個小案例,引出相應的知識點,分析其算法,引導學生編程。要重視培養學生的編程能力,不要一開始就將完整的程序給學生,而要引導他們自己通過探索,完成程序的編寫和調試。若自己編程確實有困難的,則可以適當給予提示,或給出示例程序,讓學生模仿該程序完成所需的功能。為讓學生熟練掌握新學的知識點,可以通過多布置幾個任務,強化練習,直至學生掌握該知識點。
2.3 重在算法的講解
案例教學法主要為調動學生學習編程的積極性,使學生通過所選的案例能將知識點融會貫通,而不僅僅是學習孤立的知識點,重在掌握編程中用到的算法[4]。算法是程序的靈魂,若沒有算法,即使學了相應的語句,也不知道如何編程去解決實際問題。比如判斷某一年是否為閏年,就必須知道判定閏年的方法。
3 結語
案例教學法能極大地提高學生的學習興趣,教學模式從以教師為主體轉變為以學生為主體,教師在案例教學法實施的過程中只是起到引導和點撥的作用,并對最后的結果進行總結。學生能較清晰地明白為何要用該知識點,以及如何應用該知識點進行編程,而且在一些案例中可能會涉及到多個知識點,這樣更有利于學生對這些知識點進行融會貫通,并提高其編程能力、團隊協作能力和創新能力。
【參考文獻】
[1]雷海艷.淺談現代案例教學模式[J].長春理工大學學報,2007,20(1):28-30.
[2]蒲海波,潘勇浩,倪銘.“興趣驅動的案例教學”在C語言教學中的應用[J].計算機光盤軟件與應用,2013(13):192-193.
[3]張秀國.新編C程序設計案例教程[M].1版.清華大學出版社,2015,8.
[4]丁海燕,袁國武,等.高級語言程序設計案例教學模式的探討[J].計算機教育,2011(8):65-66.
[責任編輯:田吉捷]