謝麗華
摘要:目前高職院校計算機類專業(yè)中,都開設有C語言程序設計這門課程。作為其它程序設計語言的先行課,C語言程序設計在課堂教學中一定要注重對學生邏輯思維能力的培養(yǎng),為學生后期的學習打下堅實的基礎。該文通過多年以來在講授該課程時積累的實際教學經(jīng)驗,結(jié)合平時的教學實踐,對如何培養(yǎng)學生的邏輯思維能力進行了闡述。包括認真?zhèn)湔n,精選課堂案例;針對不同學習內(nèi)容,采用靈活多變的教學方法;精心設計實踐任務,完善課堂教學不足。
關(guān)鍵詞:C語言;邏輯思維;能力
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2020)02-0171-02
在C語言的教學過程中,運用邏輯思維方法,可以降低學生學習的難度,培養(yǎng)學生的學習興趣,提高程序設計的技巧。下面通過三方面的介紹,闡述了在教學過程中如何培養(yǎng)學生邏輯思維能力。
1 認真?zhèn)湔n,精選課堂案例
備課是任課教師必備的基本素質(zhì),是影響學生學習效果的關(guān)鍵因素之一,因此,認真?zhèn)湔n,精選課堂案例至關(guān)重要。
在C語言程序設計的教學過程中,教師從一開始就要給學生建立一個清晰的知識結(jié)構(gòu)。在編寫任何一個程序時,都可以按4個步驟進行:定義變量、輸入數(shù)據(jù)、處理數(shù)據(jù)、輸出數(shù)據(jù)。有了這個認知結(jié)構(gòu)后,在教學中遇到一個具體問題,就要按照人們處理問題的邏輯思維,將問題求解由抽象逐步具體化,弄清其數(shù)據(jù)關(guān)系及問題要求,經(jīng)過認真分析,達到最終解決問題的目的。
備課時在教學內(nèi)容的安排上堅持由淺入深,循序漸進的原則,并結(jié)合高職院校學生的心理特征,選擇恰當?shù)倪壿嬎季S訓練方法,使學生能更好地理解程序設計的基礎知識和方法。在教學環(huán)節(jié)中一定要注意教學內(nèi)容的前后邏輯關(guān)系,使學生在不知不覺中接受邏輯思維能力的訓練。因此,教師必須精心設計教學環(huán)節(jié),使學生按照老師事先設計好的思路進行思維,對提高學生的邏輯思維能力是十分必要的。
例如,在學習循環(huán)結(jié)構(gòu)時,如果教師在課堂上舉例講授了“求1+2+3+…+10的和”以及“求10!的值”,那么由此拓展,讓學生獨立解決“求1!+2!+…+10!的和”應該是游刃有余了。同理,在學習循環(huán)的嵌套時,要求解中國古代著名的“雞兔同籠”數(shù)學問題,結(jié)合C語言的語法規(guī)則和表示方法,再運用上面講的編程的4個步驟,就能比較容易實現(xiàn)該題目。由此延伸,讓學生嘗試獨立解決“百錢買百雞”的類似問題就迎刃而解了。這樣,既提高了學生的自信心,又鍛煉了他們的邏輯思維能力。
所以,教師在C語言備課過程中,尤其是準備課堂教學案例這一環(huán)節(jié)時,要結(jié)合學生前期知識掌握情況,再適當?shù)丶尤胄轮R,設計一個前后邏輯關(guān)系密切,能夠潛移默化地鍛煉學生邏輯思維能力的案例,然后再結(jié)合實際生活,舉一反三,從而不斷提高學生的思維能力。
2 針對不同學習內(nèi)容,采用靈活多變的教學方法
在C語言的課堂教學中,教師應根據(jù)不同的教學內(nèi)容,運用不同的教學方法。如果本堂課學習的是基礎理論知識,教師可以采用傳統(tǒng)的理論知識講解,加上對應實例的演示,最后再通過分析歸納與學生互動,引導同學們一起參與思考和討論,從而培養(yǎng)學生的邏輯思維能力。如果本堂課學習的是較為復雜的循環(huán)、函數(shù)之類的內(nèi)容,教師可以在上課前5分鐘,通過引入一些有趣的生活情景來激發(fā)學生的學習興趣,使同學們的思維得到發(fā)散和鍛煉。
例如,在for循環(huán)的授課過程中,通過“某班同學共38人上體育課,老師要求按1、2、3重復報數(shù),報數(shù)為1的同學往前走一步,報數(shù)為2的同學往后退一步,分別輸出往前走一步和往后退一步的同學的序號”這個體育課報數(shù)的生活實例,讓學生意識到原來學習是可以解決生活中遇到的實際問題的,原來編程也像做游戲一樣有趣。這樣,教師一旦調(diào)動了學生的學習興趣和積極性,自然會積極思考并主動解決問題。
在平時課堂教學中,教師盡量多提問、多與學生互動,也就是采用啟發(fā)式教學,通過師生互動引起學生注意,積極引導學生思考并回答問題,然后與老師一起歸納總結(jié),得出正確結(jié)論。
舉例來說,教師從帶領學生完成簡單的數(shù)組元素查找開始,比如通過“把某小組10名學生數(shù)學的考試成績存儲在數(shù)組中,再從鍵盤輸入一個考分,查找該數(shù)是否在數(shù)組中,如果是,則輸出它是第幾名學生的成績”的編程,然后讓學生思考“如果輸入的成績沒有查到,請給出提示信息”怎么實現(xiàn),再讓學生思考“如果輸入一個考分,但是在成績數(shù)組中有多個考分與此相同,怎樣處理”,這樣有意的不斷制造問題,使學生不斷地想辦法去解決問題。 最后,讓學生們實踐練習“如果希望能夠多次輸入考分進行查找,每次都輸出它是第幾名學生的成績,直到輸入1000時結(jié)束查找”,那么又該怎樣分析、解決問題呢?這樣,通過不斷拓展,不斷激發(fā)學生的興趣,使他們?nèi)シe極思考、分析、歸納,從而使學生的邏輯思維得到訓練。
另外,在課堂上可以故意制造錯誤程序,或?qū)W生在實踐中出現(xiàn)錯誤的典型案例拿出來,讓學生自己調(diào)試發(fā)現(xiàn)問題并糾錯,有意識地培養(yǎng)學生的邏輯思維能力。
教師應根據(jù)學生對基礎知識的掌握情況,采用對不同學生進行不同提示和設問的教學方法,練習題的設計應有適當?shù)碾y易梯度,以滿足不同學生的需求,使所有學生都得到相應的發(fā)展。在教學實踐中充分發(fā)揮各個學生的邏輯思維能力,為后期面向?qū)ο蟪绦蛟O計課程的學習打下堅實的基礎。
3 精心設計實踐任務,完善課堂教學不足
學生在學習編程過程中,最主要的是要具備運用所學理論知識解決實際問題的能力。教師在平時課堂教學過程中已經(jīng)對學生邏輯思維能力進行了專門的培養(yǎng),學生也已具備一定的邏輯思維能力和初步的實踐操作能力。但因為教師在課堂上講解的實例畢竟是有限的,所以教師在講解完實例后,必須精心設計實踐任務,來完善課堂教學的不足。在設計實踐任務時可以通過改變條件或問題形式,將例題作適當?shù)难由欤詈檬羌荣N近生活,又有趣味性和代表性。
例如,在課堂教學中,針對一維數(shù)組的學習。教師通過實例講授了利用循環(huán)如何輸入輸出成績數(shù)組元素,如何計算成績數(shù)組中的平均分、最高分、最低分,如何查找從鍵盤輸入的考分,如何對成績數(shù)組元素降序排序,并對排序后的數(shù)組元素進行插入和刪除操作。然而,學生在課堂教學過程中,學到的是零散的知識點,大部分同學雖然能夠理解并掌握一維數(shù)組的定義、初始化、引用、輸入和輸出,但是卻不能靈活運用一維數(shù)組來解決實際問題。所以,教師可以馬上設計一個綜合實踐任務:編寫一個成績管理系統(tǒng),用一個一維數(shù)組存放學生成績,要求具有成績錄入、成績查找、成績排序、成績刪除、成績插入的功能,設計文本菜單進行交互,比如用戶輸入1、2、3、4、5和6,分別代表成績錄入、成績查找、成績排序、成績刪除、成績插入和退出。這樣,學生們可以系統(tǒng)地利用課堂上所學理論知識,在教師的輔導下來完成這個簡單的成績管理系統(tǒng)。
通過這樣的教學設計,在整個課堂教學和實踐輔導的過程中,學生們的邏輯思維能力得到充分地培養(yǎng)和鍛煉,這也就是教學相融的最佳教學效果。
4 總結(jié)
經(jīng)過近幾年在C語言程序設計教學中對以上三個方面的實踐,學生對知識的綜合運用能力、對程序的分析、調(diào)試和查錯能力、自主學習能力和邏輯思維能力都得到了明顯的提高。這對學生以后的工作、生活有著很大的影響,可以受用終身。我們將在今后的教學中積極探索,精選課堂案例、不斷改進教學方法、科學安排實踐任務、強化邏輯思維訓練等多方面努力,不斷提高C語言程序設計課程對學生多方面能力的培養(yǎng)。
參考文獻:
[1] 烏云高娃.C語言程序設計(第3版)[M].北京:高等教育出版社,2015.
【通聯(lián)編輯:代影】