吳培
【摘要】文章分析了中職校學生學習情況,就C語言課程的教學展開了分析闡述,并結合一線教學經驗和Scratch編程軟件探討了新的教學模式,以期能夠寓教于樂,使學生在游戲中學會、樂學,變以往的灌輸式教學為學生的主動探究學習,培養(yǎng)學生的計算思維,提高C語言課程的教學效果。
【關鍵詞】C語言程序設計;可視化編程;Scratch;計算思維;教學策略
一、引言
中職院校培養(yǎng)學生的目標是專業(yè)技能型人才,因而在中職院校計算機專業(yè)相關專業(yè)中,C語言程序設計儼然已是一門必修課,同時也是一門關鍵的專業(yè)基礎課。作為一門經久不衰的程序設計語言,C語言有諸多優(yōu)點:簡潔緊湊,靈活方便,豐富的運算符和數(shù)據(jù)類型,表達方式靈活多樣實用性強,程序執(zhí)行效率高,可移植性好,既可以使用C語言來開發(fā)系統(tǒng)軟件,也可以使用其來編寫應用軟件,并且程序易于理解讀懂,是很多高校計算機及相關專業(yè)首選必選的程序設計語言[1]。同時,當前流行的語言大多都是衍生自C語言,因此,C語言也是學習其他語言的基礎。掌握C語言后,單片機及嵌入式開發(fā)等也便沒那么困難。盡管C語言有上述諸多優(yōu)點,但仍不能阻止其位列中職院校最難學習的課程之一,C語言的教學情況不容樂觀。
二、中職院校C語言教學現(xiàn)狀
1.學生觀念樹立不正確,學習積極性不高
中職院校生多為中考落榜考生,學生在起跑線上就已經差了大專及本科院校學生一大截。學生普遍存在學習積極性不高,學習主動性差,學習能力參差不齊,自我約束力不強等問題。且現(xiàn)代計算機編程語言隨著計算機技術的日新月異飛速發(fā)展,流行語言如C++、Python、Java等,很多學生認為枯燥難懂的C語言已經過時,甚至認為早該淘汰這門課程,因此課前不預習、課上不聽、課后不練的現(xiàn)象在中職院校中普遍存在。和基礎課不同,C語言學習需要較好的邏輯思維和一定的數(shù)學英語基礎,而中職學生在進入中職校之前,并沒有任何編程基礎,C語言本身與其他學科的關聯(lián)性又不大,導致很多學生在零基礎學習時很難聽明白課程內容,久而久之就會失去學習的興趣,學習參與度不高。
2.課堂教學形式亟待創(chuàng)新
雖然中職院校的C語言分升學班和技能班,但是在課程講授的時候區(qū)別并不大,升學班為了應對升學及學測,更注重課程理論知識點的學習,技能班的授課思路和升學班相比較除了降低授課難度外,其他基本一致。這就導致了升學班的學生兩極分化嚴重,實踐操作性不強;技能班的學生消化課程內容吃力,提不起學習興趣,懼怕和抵觸編程課。雖然學校在課程安排的時候盡量給C語言安排了機房課,但是由于知識點把握不夠,學生在機房還是聽老師講的多,自己練的少,加之授課例子大多缺乏實用性和趣味性,講練脫節(jié),因此學生無法形成自己的編程思想。
3.考核模式一直較為單一
學生在校學習情況最直接明確的反饋就是卷面分數(shù),中職校也不例外。但是對于C語言這門課程,卷面考核無法體現(xiàn)出學生思考問題和解決問題的能力,無法考查出學生的編程思維和思路,長久的卷面考核容易導致學生對編程本質的誤解。也有的學校對C語言實行實踐考查,讓全班50多名同學完成同一套上機試題,這同樣反映不出學生的真實水平。
三、C語言教學策略初探
1.強調學習C語言的重要性,調動學生參與意識
學生在入校之初就應該清楚地認識到C語言在計算機語言發(fā)展歷程中的重要地位,認識到只有學好了C語言,才能更好更輕松地學習和掌握其他語言。作為職校生,更應該掌握這一門關鍵性技術。在教學內容和案例選擇上,教師可以多選擇貼近生活,容易調動學生學習興趣的案例,吸引學生進入編程世界,讓學生正確認識到C語言重要性的同時,也確立其對編程的興趣和信心,逐步建立計算思維。
2.采用多樣化的信息化教學手段,鍛煉學生計算思維
由于中職院校學生多,機房課每周給C語言排課最多4節(jié),其余時間大多數(shù)學生觸碰不到機房電腦。因此,在對教材內容進行合理規(guī)劃的基礎上,教師應當明確教學偏重點,合理調整教學進度,盡量將機房課的時間留給學生進行上機練習,并采用多樣化的信息化教學手段,將計算思維融入教學的各個環(huán)節(jié)中去。中職學生現(xiàn)在人手都有一部智能手機,將其利用起來,進行課程學習,不失為一個好方法。如下文所示。
課程伊始,教師帶領學生在手機端下載安裝藍墨云班課并進入創(chuàng)建好的班課,作為課程的學習平臺使用。
課前,教師將任務書(導學案)、預習任務以文本和形象的微課的形式發(fā)送至學習平臺,并上傳課前測。學生完成預習任務后,完成課前測,并根據(jù)自己的掌握情況在班課平臺與教師、同學進行在線交流和互助答疑。教師標記學生的存疑點,并據(jù)此及時調整課堂教學內容。教師在課程開始前就將課程整合為一個一個的任務,讓接受任務的學生在工作中學習理論知識,在學習中完成工作任務,工學結合,交替進行。
課中,教師首先引導學生成立學習小組,畫出本次任務的流程圖,并使用Scratch軟件將工作過程以搭積木的方式呈現(xiàn)出來,搭建出本次課任務所需的腳本,并修改、完善、運行腳本,直到達到任務所要求的效果。Scratch軟件是美國麻省理工學院開發(fā)的一款計算機編程圖形化入門軟件,在這個軟件中可以實現(xiàn)諸如變量、選擇結構、循環(huán)結構、數(shù)組等C語言程序中的知識,使用該軟件設計游戲的方式,能吸引中職學生的眼球,提高學生學習興趣,且易操作,易理解,能將C語言的知識點內化在學生搭建游戲腳本過程中,搭建的過程更是計算思維得以鍛煉形成的重要階段。在創(chuàng)作過程中,學生能夠發(fā)現(xiàn)問題,經過小組討論,求助教師和同學,回顧學習微課等解決問題,從而在自主、寫作、交流、分享的過程中,促進計算思維的養(yǎng)成。游戲搭建成功之后進入正式的編程環(huán)節(jié),學生將各自的流程圖和Scratch腳本轉換成C語言編程語句,并編譯鏈接運行,此階段必不可少。在編程過程中,教師可以巡回觀察,并給個別學生適當?shù)囊龑?,同時在學習平臺上開展實時互動,進行師生交流、生生交流。編程的學習最終要落實到鍵盤上和實踐中,教師從一開始就要給學生滲透多讀多寫、多寫多練、注重實踐的學習觀,這樣才能將C語言這門課程學好學透。
3.開展小組合作,創(chuàng)新考核模式
合作完成工作任務在以后的工作中亦非常重要,編程從來不是一個人獨立完成的工作。因此在課程中,將學生按照組內異質、組間同質、各組水平平均,并根據(jù)單元任務不同隨時調整的原則將全班同學按照每組4—6人分成任務小組,開展小組合作。同學們在合作中進步,在合作中成長。遇到問題時,可以進行小組討論,頭腦風暴,互相協(xié)助。在進行復雜任務時,也可分解任務到每一位組員,通力合作完成。
考核應同時注重形成性評價和結果性評價,C語言課程的考核應抓好藍墨云班課學習平臺這一重要工具對學生進行形成性評價。學生在平臺學習資源的查閱,學習測試的完成情況,每次課的簽到,課中答題,給其他同學答疑解惑點贊,課后提交作業(yè)考查等操作均能在平臺上直接給出相應分值。教師根據(jù)每次課的編程任務完成的時間、正確性及編程思維給出每一個學生和每一個小組相應的得分。而結果性評價的考查,在學期末的時候,教師結合不同學生掌握情況的不同,給出不同的上機試題,給掌握情況較好的學生發(fā)送拔高性測試題,給底子薄弱基礎較差的學生發(fā)送經典性測試題。結合藍墨云班課學習平臺平時成績(占比50%)、卷面測試成績(占比20%)、上機考查成績(占比30%)等綜合給出學生本學期的總成績。
4.建設編程社團,提供實踐條件
在課后,組織興趣濃厚學有余力的同學加入編程社團,由于使用相同的編程語言,因此可以與本校的單片機社團合作,使用學校的單片機技能大賽實訓場所作為編程社團活動基地。社團學生在此可以接觸到單片機技能大賽的實驗平臺亞龍YL-236,將編寫成功的程序加載到仿真器中并運行,可以實時觀察到相應的運行結果,如流水燈、跑馬燈、液晶顯示等。在此將課上所學的知識點轉化為生活中的實際問題,強化學生對所學內容的理解和掌握,并鍛煉學生在實施過程中發(fā)現(xiàn)問題和自主解決問題的能力,促進學生計算思維的養(yǎng)成。社團中表現(xiàn)優(yōu)異的同學將被選拔出來參加市級技能大賽,從而以賽促學,更大限度地提高學生的學習積極性和參與度。后續(xù),可結合本校創(chuàng)客空間、結合校企合作項目,將學生在課上所學更多地應用到實踐中工作中去。
四、以“冒泡排序”為例講融合Scratch軟件教學
傳統(tǒng)課堂講到“冒泡排序”的時候,經常出現(xiàn)教師在臺上口干舌燥解釋循環(huán),循環(huán)套循環(huán)的概念一遍又一遍,而學生在座位上一臉懵、云里霧里的情況。筆者在課前就將冒泡排序的原理和方法以微課、flash動畫的形式發(fā)送至學習平臺,并同時上傳相應的排序小游戲,讓學生在游戲中按照微課的指引,找到并理解冒泡排序的方法。在課堂上,小組通力合作,使用Scratch軟件制作冒泡排序小游戲,幫助學生更好更深層次地理解相關知識原理,對于程序的理解和編寫有很大幫助。
五、結語
以上教學方法在實際教學中取得了較好的效果,同學們不再像一年級學習VB課程時乏味索然,而是每個人都不同程度地體會到了學習的愉悅,學有余力的同學孜孜不倦地在社團活動室探索編程世界,基礎薄弱的同學也能完成C語言重要知識點的學習和過關檢測。在教學過程中,教師要做很多的課前準備,如課程整合、微課制作等,并花心思設計每一堂課。在教師精心設計的課堂中,學生才能積極完成課前預熱、課中投入、課后探索。在此過程中,Scratch軟件起到的重要作用是顯而易見的,不僅吸引了學生探究編程方法,而且?guī)椭鷮W生在搭建游戲的過程中形成編程思維和思路,給予學生自豪感和滿足感。在這樣的課堂中,教師只需起到一個引導者和指路者的作用,學生仍是課堂的主體和中心。
【參考文獻】
樸志遠.學生為中心的告知C語言課程教學改革[J].現(xiàn)代交際,2017(01):159-160.