王玉峰
(銀川科技學院,寧夏 銀川 750001)
隨著新技術、新經濟的蓬勃發(fā)展,信息技術與傳統(tǒng)制造業(yè)融合的程度不斷加深,社會對信息類工程科技人才的需求大大增加,教育部開始逐步推進新工科研究與實踐項目,鼓勵高校開設大數(shù)據(jù)、人工智能、物聯(lián)網等針對新興產業(yè)的工科專業(yè)。“C 語言”是以培養(yǎng)學生計算思維和實踐能力為核心的一門課程,實踐性特別強。C 語言程序設計課程屬于入門級課程,通常被設置為大學生入校后學習的第一門程序設計課程。該課程旨在傳授給學生C 語言的語法知識與技巧,培養(yǎng)學生的計算思維能力、編程能力,學習效果直接影響后續(xù)程序設計類相關課程的學習。因此通過隨堂編程和綜合性實踐教學培養(yǎng)學生編程能力等措施,將傳統(tǒng)的課程知識傳遞轉換為核心能力培養(yǎng),培養(yǎng)學生的計算思維能力、程序分析設計能力以及實踐創(chuàng)新能力。
對于C 語言課程而言,主要是進入到大學階段開始進行學習的,學生從高中進入到大學,對于大學的學習方式通常情況下都是存在一個適應的過程,多數(shù)的學生對于程序設計工作都是第一次進行接觸,腦海中對于程序設計工作并沒有任何的概念,這類學生教起來就比較費時、費力;而少數(shù)學生高中就接觸過程序設計,有一些基礎,這類學生教起來就比較容易。且每個學生的接受能力也不同,有時老師為了達到完成進度的目的,就容易忽視一部分學生的接受能力;這些學生為了完成任務,會死記硬背,生搬硬套,長此以往,就會有懈怠、厭學等情緒。所以,采用統(tǒng)一的教學模式難以達到預期的效果。
對于剛剛接觸到C 語言的學生而言,讓他們感受到困惑的主要是編譯和連接時候出現(xiàn)的錯誤,對于入門之后的學生而言,讓他們感受到困惑的則是運行時候出現(xiàn)的邏輯錯誤問題。因為錯誤都是英文進行顯示的,然而學生的英文水平相對比較一般,許多學生對英文提示的編譯與連接時的錯誤和運行時的邏輯錯誤有天生的畏懼心理,很難讀懂這些錯誤提示從而未能把這些錯誤解決掉,故編程中出現(xiàn)的這兩類錯誤對學生來說很具有挑戰(zhàn)性。
現(xiàn)如今C 語言課程的教材也是多種多樣的,多數(shù)的教材將基礎知識安排到前面,之后便是安排變量和運算符,最后是安排控制語句,即使在以后的內容中談到完整的編程,但是把一大堆枯燥無味且難以理解和記憶的語法規(guī)則安排在編程之前,這樣學生就會感到沒有興趣,也不容易記憶,最終打擊了學生學習的自信心和積極性,從而大大影響了學生的學習效果。通過調查,學生早前形成的邏輯思維,特別是數(shù)學思維,和現(xiàn)如今的C 語言程序編寫存在較大的差異,學生都是渴望具有一本知識內容循序漸進,并且對于一些實際問題深入分析,進而慢慢地將學生引入到自己動手編程的教材。
在信息時代發(fā)展的過程中,大學生除了通過課堂對知識進行學習之外,也能經常通過網絡資源自學一些感興趣的內容,所以整合優(yōu)質的教學資源,建立起完善的網絡教學平臺,能夠為學生自主學習提供出全新的渠道。該課程網絡教學平臺主要提供教學課件、教學視頻、章節(jié)測試以及教學案例等教學資源。由于不同教學重點不同,學生的基礎也存在不同,因此教師最好針對授課學生的實際情況自行制作教學課件與視頻。自制的教學課件和教學視頻應簡明易懂,對于數(shù)組、函數(shù)、指針等重點難點知識,要將知識點分解。然而對于教學視頻而言,需要合理控制時常,使其能夠方便學生在零碎的時間內進行觀看,避免學生學習的過程中分散自身注意力。教師也可以搜集其公開課相關的課件和一些優(yōu)質的視頻內容,對教學資源進行不斷豐富,使其能夠讓學上能夠從多個角度理解和應用知識點的內容。章節(jié)測試采用在線判答系統(tǒng),將簡單的程序實例改為選擇題、填空題的形式,在考查學生對核心知識點掌握情況的同時,拓展學生的編程思路,根據(jù)測試的考核結果適當調整課堂進度。教學案例部分可給出C 語言的經典案例,如求素數(shù)、閏年等,還可給出游戲案例,如五子棋、俄羅斯方塊等,吸引學生課后自主學習。在此之外網絡教學平臺另外的一個重要模塊便是討論區(qū),在傳統(tǒng)的教學過程中,多數(shù)學生并不習慣向教師請教問題,導致問題無法及時解決,對日后的學習帶來影響。然而在線提問可以避免這種情況的出現(xiàn),學生可以在網絡教學平臺討論區(qū)提出問題,然而其他的學生和任課教師都可以回答和講解,師生之間和學生之間都能進行探討,這種線上討論的方式能夠保證學生的疑問得到及時解決,其他學生也能從討論中獲取相關知識。
針對C 語言課程而言,其內容是比較繁雜的,對于數(shù)字和指針以及函數(shù)等較為復雜難懂的知識點而言,教師是需要在課堂上進行詳細的講解和說明,然而對于數(shù)據(jù)類型以及運算符和選擇結構等較為簡單易懂的知識點而言,多數(shù)的學生都可以通過自學便能夠輕松地掌握。所以針對這些簡單易懂的知識點而言,可以采用翻轉課堂混合教學模式,鼓勵學生自主學習。教師針對每個知識點分別錄制教學視頻,設計3~5 道測試題上傳到網絡教學平臺,每段視頻時長控制在15 分鐘之內,通知學生利用視頻預習,并完成在線平臺測試。課前教師對網絡平臺的測試結果和討論區(qū)的學生留言進行匯總,總結整理大部分學生出錯的題目及預習后仍不懂的難點問題。在課堂上教師先對知識點內容進行歸納和總結,積極的幫助學生鞏固知識點,之后便將學生進行分組,讓學生通過互動交流以及小組探討等方式找到解決疑難問題的措施,同時在每個小組中選擇一名學生進行總結和發(fā)言,這樣做的目的教師能夠對不足之處加以補充。
對于學生自身的興趣進行培養(yǎng),作為引導學生積極主動學習C 語言的關鍵所在,學生在剛剛接觸到程序代碼時將會覺得枯燥和乏味,因此可以在課堂上引入五子棋以及貪吃蛇等一些小程序講解,并且進行效果演示,這樣可以吸引學生自身注意力,激發(fā)學生學習興趣。在課堂授課過程中,很多學生只是機械記憶C 語言的語句結構,并不懂如何在程序中應用。為加深學生的理解,教師可以結合案例進行講解,例如在講解選擇結構、循環(huán)結構等知識點時,可以結合判斷閏年、求素數(shù)、水仙花數(shù)等C語言經典案例。講解完后,提出基礎課程或實際生活中的應用案例,如斐波那契序列、一元二次方程求根、個人所得稅計算等,并且也是要求學生可以隨堂進行編程。然而針對一些復雜的案例而言,不要求學生能夠編寫出完整的程序,只是要求學生可以編程實現(xiàn)某一個功能程序的片段,學生剛剛接觸的時候會感受到迷茫,不知道從哪里下手,教師可以將學生每三個人到四個人分為一個小組,通過小組探討找到相同問題的多種程序設計方案,深化對知識點的理解,通過思維碰撞培養(yǎng)學生的程序設計能力和創(chuàng)新能力。
對于課堂授課而言,是可以在理論層面上教會學生C 語言的核心知識點內容,然而學生的編程能力在實際進行培養(yǎng)的過程中,必須要依賴于實踐環(huán)節(jié),學生需要通過上機實踐操作,才能夠將理論知識和實際應用相互的聯(lián)系到一起,通過調查發(fā)現(xiàn)程序代碼中存在的錯誤情況,通過對編程過程中遇到的問題進行分析、改正,提高自身的程序分析能力和設計能力。實踐教學效果關系到學生能否真正理解所學知識并將其應用于工程設計。由于許多學生是第一次接觸編程語言,教師可以將最初的上機實驗安排為驗證性實驗,讓學生對教材上的典型例題進行驗證,熟悉程序的編寫、編譯和連接過程。在第一次進行編程的時候,多數(shù)的學生會出現(xiàn)中文標點符號或者是漏寫運算符號等問題,教師通過引導學生查找程序中的不足,積極培養(yǎng)學生具有良好的編程習慣。為了培養(yǎng)學生的程序分析設計能力,在第二次實驗開始,便安排創(chuàng)新性實驗,選擇合適的課后習題,讓學生能夠自行編寫程序,也可以給出生活中的簡單問題,讓學生嘗試編程解決。
總而言之,作為物聯(lián)網、大數(shù)據(jù)等專業(yè)的基礎性課程,C 語言課程對于學生計算思維能力、程序分析設計能力的培養(yǎng)起著至關重要的作用。通過構建網絡教學平臺和翻轉課堂混合教學模式培養(yǎng)學生的自學能力,對生源水平、教材、教學方法、教學評價等方面提出了一些改革措施,以此來培養(yǎng)學生思考問題和解決問題的能力,從而找出一條途徑,使這條途徑既符合實際要求,又能提高教育教學質量。通過綜合性實踐教學和過程性考核培養(yǎng)學生的編程和創(chuàng)新能力,以滿足新工科人才培養(yǎng)的要求。在今后的教學中,將進一步探索符合培養(yǎng)目標的教學方法,進一步尋求提高學生實踐技能的教學模式,以期為社會培養(yǎng)更多高素質技能型人才。