羅曉麗
淺談“C語言程序設計”趣味創(chuàng)新案例教學*
羅曉麗
(福州職業(yè)技術學院信息技術工程系,福建 福州 350108)
“C語言程序設計”是計算機專業(yè)一門重要的專業(yè)基礎課。它為其他專業(yè)課程提供結構化程序設計的知識和思想,為后續(xù)相關課程學習及用計算機程序解決實際問題打下堅實的基礎。對“通過以趣味案例為導向,采用反轉思維教學的方法來解決問題的教學模式”進行了探討,以提高基礎較薄弱五貫班C語言的教學質量。
翻轉課堂;專業(yè)基礎課;學習策略;教學質量
教學對象:中職畢業(yè)生(五貫班),其文化基礎薄弱、邏輯性差、計算機相關知識較少、程序設計能力幾乎為0,針對學生這一基本特征,引入學生感興趣的案例及怎樣引入就尤為重要[1]。
所謂學生感興趣的案例,主要是貼近學生的生活,源于生活,這樣學生才能有興趣投入,激發(fā)學生的想象力、創(chuàng)造力。俗話說,興趣是最好的老師。比如第一次上課時,在傳統(tǒng)的C語言教學的課本中往往采取的是輸出“Hellow world!”,對于英語很少有及格的五貫班學生,根本提不起興趣,筆者采取的是讓學生用符號和轉義字符裝飾輸出自已的大學名片,學生的興趣一下子就提起來了,一個比一個做得好,而且同時解決了轉義字符的輸出訓練問題,達到了事半功倍的效果。應精選案例,注重案例的實用性、趣味性、綜合性,達到立竿見影、事半功倍的教學效果,比如在講授字符型變量時,創(chuàng)設情景,激發(fā)學生的想象力——編制一個二戰(zhàn)密碼轉換器案例,實現給友軍發(fā)送加密電報,報文是由小寫字母a~n組成,在發(fā)報時每輸入一個字母,輸出與其相鄰的下一個字母,如何來編制這個密碼器呢?通過這樣的例子,既講授了基本的概念和原理,又列舉了知識的應用領域,極具實用性、趣味性,可引起學生的共鳴,自然能收到良好的教學效果。
在某個知識點的首次課堂教學中,教師一定要向學生講解清楚C語言程序的理論知識點。比如,在講解if判斷語句時,一定要基于只有一重判斷→多重判斷→if嵌套這樣由簡單到復雜的過程教授,這樣學生在知識和能力上有一個逐級提升的過程,不僅使其有成就感,而且增強了編程的信心,為學習基本的編程知識、培養(yǎng)求解問題的能力和具備一定的創(chuàng)新素質打下堅實的基礎。忽視循序漸進的引導教學,無疑對學生是不利的。
可以先給學生拋出一個問題,不要急于給答案,這樣才能調動學生的主動性和積極性,讓學生帶著問題,通過觀看有趣味性的微視頻等方式完成知識的學習,并發(fā)布教學任務,在課堂上進行討論、答疑等完成知識點的消化,實現真正掌握新知識點的課程要求。比如,在進入到循環(huán)語句這個知識點時,可以先發(fā)布求任意個數的和,可以先給學生觀看1~8求和的方法和相關知識點的視頻,然后讓學生自已編程實現任意個數的和,并在課堂上展示編程思路較好的學生安例,組織討論,集思廣益,深入學習和探討。這樣不僅培養(yǎng)了學生的思維能力、創(chuàng)新能力、實踐能力等,并且極大地提升了教學效果[2]。
引導學生用觀察、實驗、猜測、驗證、推理等方法進行交流探究和合作交流,使學生獲得有效的學習策略。學習過程不能單純地依賴模仿與記憶,教師應引導學生主動地從事觀察、實驗、猜測、驗證、推理與交流等教學活動,從而使學生自主地形成自己對知識的理解和掌握,比如,可以設計一些案例,先讓學生推測結果,根據學生推測的多種可能的結果,還可以引導學生討論探究,在合作交流中共同提升,最后讓他們自已運行程序,自已去驗證推測結果的證確性。比如,在學習算術運算符中使用++i和i++這兩種符號時,設計案例=10,=++;及=10,=++。先讓學生猜測結果并討論交流通,然后編程運行驗證自已的結論是否正確。
豐富思維方式,實現發(fā)散思維,獲得成功的體驗和多元化的發(fā)展。鼓勵學生大膽思考,運用各種方法編寫程序,對于比較好的方法大力表揚,引導學生發(fā)散思維,集思廣益,積累編程經驗,擴大學生知識的應用面,提升學生的應用能力,培養(yǎng)了學生的邏輯思維能力,發(fā)展運用多種方法解決問題的能力。例如1~100的和,學生設計了多種思路,有的是用循環(huán)加判斷,有的是用每次增2的循環(huán)結構等,多種方法共同探討,不僅開闊了學生的視野,而且有利于學生發(fā)散思維的形成。
運用案例所學知識解決問題,如在教學循環(huán)語句時,創(chuàng)設歌唱比賽評分情境,貼近了學生生活,能夠提高學生的興趣,案例設計如下:①學院開展一次小型歌唱比賽,邀請各系組織并推選評委,比賽時一支參賽隊伍演唱完畢,由評委打分,最終成績是所有評委的平均分。②合理分配各個講授環(huán)節(jié)的時間。具體為創(chuàng)設情境(8 min)、觀察歸納(37 min)、探究討論(15 min)、知識點講授(20 min)。③利用所 學知識,學生完成任務,總結。任務時間分配為即時訓練 (15 min)、探究討論(15 min)、評價激勵(10 min)、總結反思(10 min)、強化記憶(5 min)。
科學合理引入,貫穿教學內容整合,建立知識關聯。
案例的引入要符合計算機編程思維,這樣有利于問題的解決[3],比如在引入求圓的面積計算時,要分解出已知圓的半徑,整型;計算中用到圓周率值為3.14,是實型數據,并且在運算中值不可變;輸出圓的面積,是實型數據。處理方面,利用圓面積公式求得圓面積。
以教材和教學內容為基礎,對教學內容進行適當的取舍和組合,起到降低難度、分散難點的作用。
3.2.1 將枯燥的語法教學蘊含在案例任務中
C語言的語法規(guī)則繁多且復雜,初學者很難理解、記憶、明晰和掌握。在講述時可以化繁為簡,只講授最簡潔、常用的格式,且嵌入到實際的例子之中,而不是單獨說教。比如“輸入多種進制的格式控制”,在教學中追求簡單和實用,只要舉求某個數的多種進制數的案例就可以解決問題了。
3.2.2 引入函數的概念和使用簡單的函數[6]及自定義函數
比如“求pow()函數”,可通過編寫程序計算銀行利息,明晰使用函數的原因和目標,再循序漸進地講述函數的名稱、參數和返回值等專業(yè)術語。
3.2.3 盡早引入指針和地址的概念[7]
指針既是C語言的難點,也是其亮點,更是重點,及早建立指針和地址的概念和關系,可利用交換兩個數的地址,交換兩個數來了解指針最基本的用法,加強練習分散難點。
求最值(最大值、最小值、次大值、次小值)的算法,從講授選擇結構時就可以開始灌輸和培養(yǎng)。從2個數、3個數求最值,到數組求最值,到選擇排序,都使用了這樣的思想——“將左手中握著的最值與右手中的一個個數進行比較、替換”,可見,知識之間存在強烈的內在聯系。應較早地灌輸求最值思想,為講授后續(xù)算法做好鋪墊。
教學實踐證明,采用趣味創(chuàng)新案例教學C語言,可以將難以理解的概念、枯燥無味的語法、紛繁復雜的算法轉化為一個個具體直觀的案例,激發(fā)學生的興趣,這樣學生才會主動閱讀、思考、練習,使“C語言程序設計”課程達到良好的教學效果,從而使后續(xù)的程序設計類課程教學游刃有余。
[1]黃美麗,尹建新.實踐導向的“C語言程序設計”教學方法探析[J].黑龍江科技信息,2016(1):201.
[2]涂昌生.基于能力培養(yǎng)的C程序設計教學探索[J].通訊世界,2017(10):88.
[3]劉臻.C語言上機實踐教學方法研究[J].課程教育研究,2015(16):255-256.
[4]岳小冰,劇雷鳴.C語言程序設計教學現狀與課程優(yōu)化及改革措施[J].學園,2015(14):68-69.
[5]朱欣穎,張鴻輝.“C語言程序設計”課程教學改革與探索[J].周口師范學院學報,2015(2):12.
[6]吳尚.高職高專計算機語言類教學模式探索[J].電腦知識與技術,2015(2):133-134.
[7]王小輝,李圣普,孫道強.《基礎編程能力實訓》課程教學案例設計[J].文化創(chuàng)新比較研究,2018(35):163-164.
[8]禤世麗,周國軍.應用型人才培養(yǎng)模式下《C語言程序設計》課程教學改革[J].玉林師范學院學報,2017(2):134-138.
2095-6835(2021)06-0110-02
G424
A
10.15913/j.cnki.kjycx.2021.06.042
福州職業(yè)技術學院校級教改項目(編號:2019CXKC003)精品資源共享課程(創(chuàng)新創(chuàng)業(yè)類)“C語言程序設計”趣味創(chuàng)新
羅曉麗(1971—),女,本科,軟件工程碩士,副教授,研究方向為計算機應用。
〔編輯:張思楠〕