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