高雅娟



摘 要:C語言作為對口單招班計算機專業的重要課程,傳統教學收效甚微。基于該課程近五年的一線教學實踐,就switch多分支結構的教學,基于程序開發和完善的一般工作過程,設計了小游戲、小計算器開發等案例,教學效果很好。本文總結了該課題設計思路和實踐要點。
關鍵詞:對口單招 C語言 switch語句 案例教學
從2010年起,C語言成了江蘇省計算機對口單招學生的必修課,其筆試加技能占140分,約占各科總分的四分之一。C語言概念復雜、規則繁多、靈活易錯,涉及很多數學知識,編程使用全英文。而傳統教學以講解為主,比較枯燥。蘇格拉底說“教育不是灌溉,而是點燃激情”。如何調動學生學習C語言的興趣,提升學習效果,成為教師關注的問題。
筆者基于教學實戰經驗,介紹在switch多分支選擇結構教學中應用小游戲、小計算器開發等案例進行教學的實踐與探索。
一、設計思路
該課題基于理實一體案例教學對教材進行二次開發,由于學生大都有大潤發抽獎等活動的生活經驗,因此教學設計以抽獎游戲案例的實現為主線,以鞏固案例和個稅計算器案例為輔線,從課前“玩抽獎游戲”到課中“實現抽獎游戲”,再到課后“個稅計算器的實現”由易到難梯度設計。我們從學生已有經驗和已學if多分支知識出發,讓學生在游戲中自主與協作學習,在案例實現中自然遷移掌握switch語句的使用,體驗小程序的實現過程,從而逐步培養學生編程解決實際問題的思維。
二、實踐要點
1.開發好導學案是前提
導學案是教師編制的用于引導學生自主學習、自主探究的學習方案,是以學案為載體,以導學為方法、學生自主學習為主體、教師啟發引領為主導,師生共同合作完成學習任務的一種學習模式。
圍繞小游戲等開發案例及實現,導學案教學是符合學生實際情況和課改理念的一種教學方法,也是有效實施的保障。其中,問題探究是導學案的核心,學生是導學案的出發點和歸宿點,學習目標達成是導學案的落腳點。案例導學案設計可從課前,到課中,再到課后,形成問題思考、解決和拓展的一般過程。案例導學案設計要以問題引領、活動為載體,充分調動學生各種感官,通過“玩”“畫”“說”“對比”等具體活動,讓學生動起來、活起來、笑起來。
在課題中,課前和課中主要以簡單抽獎游戲的實現案例為主。在導學案中,基于學情的課前設計與實施流程如圖1所示。
圖1
首先,學生通過玩一玩教室中教師自制的抽獎轉盤,看看自己的手氣。學生在愉悅的氛圍中再次體驗抽獎游戲,畫一畫補充流程圖,明晰游戲的邏輯過程。接著,學生可思考使用剛學過的if語句翻譯流程圖,填一填條件代碼。最后教師鼓勵學生自學switch語句語法,并在家嘗試實現抽獎小游戲。
教師通過導學案課前部分的設計與實施,引導學生從玩游戲到嘗試編程實現,應用學生已有知識經驗,融合新知識的自學與嘗試,為課中進行實踐反思和分享交流打下扎實基礎。另外,這一過程也讓學生體驗了軟件工程程序開發中“事實/任務/問題—文字表述與分析(畫流程圖)—代碼書寫—完善程序”的一般工作過程,培養學生逐步形成規范的程序開發與思維習慣。
2.問題引領是關鍵
問題引領是激發學生自主學習的有效方法。教師通過問題引領將案例中的知識點、重難點轉化為探索性的小問題,并在課前和課中有層次的展現。首先,要適合學生學情,即問題應該設置在“最近發展區”,同時又要與“最近發展區”匹配,即能夠滿足培養學生潛在能力發展。其次,問題之間應是有序的、呈階梯性的、符合各層次學生認知規律的。
在抽獎游戲案例開發的教學中,教師根據學情問題進行了前置,課前學生便開始思考如何用已學和自學知識實現簡單抽獎游戲。在課中運行調試后,引導學生反思實踐,發現問題,并從圖2所示三個問題逐層遞進思考。
在實踐嘗試中,在剛開始使用switch語句抽獎游戲程序調試時,很多學生出現了一次中很多次獎的情況,程序運行不正確,這是為什么呢?這促使學生進一步回頭仔細研讀語法,對break的作用進行對比探究,從而理解它的作用。在問題(1)解決的基礎上,教師進一步提出問題(2)和問題(3)。如果輸入時是非法或超范圍的,程序如何處理更為健壯呢?多分支中同類項是否可以合并讓程序更簡潔呢?其實三個問題循序漸進,也是完善程序的一般思考路徑。學生基于實踐進行更深入的探究,在有趣的游戲案例實現中邊做邊思考,自然而然地習得重難點,解決問題,交流提升,獲得成就感。
圖2
這樣基于游戲開發的案例教學實施,在教師問題引領下,學生以“自學交流”和“自主嘗試”為主要學習方法,理實一體,在探究與交流中習得switch多分支語句的基本語法,并將其應用于游戲案例的實現,因此學生的學習興趣和學習效果大大提高。這樣徹底改變了傳統教學中以教師講授灌輸語法為主,學生讀懂幾個例子為目標的教學方式。
3.鞏固拓展是提高
鞏固和拓展是學習效果的檢驗與深化,對于單招學生來說,適當的鞏固案例十分重要,有助于對重難點知識技能進行有針對性的檢查。拓展案例是對所學知識技能的再整理和再運用。鞏固案例要注意全面性,既要照顧到全體學生,同時還要有層次性和階梯性,易于學習目標的進一步達成。拓展案例要有一定的開放性和靈活性,給學生留有思考的空間,使不同的學生得到不同的發展。
前面通過抽獎這個簡單游戲實例的開發實踐,學生基本了解了程序設計與完善的一般思維過程,基本掌握了switch多分支選擇結構。為進一步鞏固學習重難點,筆者選擇了如圖3所示兩個梯度鞏固案例,分別以改錯和填空的題型由易到難全面檢驗學生對switch語句基本語法、break的作用和條件的設置等重難點的學習情況。
圖3
為拓展學生的視野,了解常識,筆者提供一些閱讀資料,引導學生思考,課后實現“個人所得稅計算器”案例,給學生足夠的空間和時間,引導學生自主學習和合作探究,對所學再整理和再運用。在這個過程中,學生程序設計與完善的能力得以螺旋式上升。
參考文獻:
[1]譚浩強.C程序設計(第四版)[M].北京:清華大學出版社,2010.
[2]王麗紅.項目案例驅動教學法在單招C語言教學中的實踐與探索[J].理論研究,2013(11).
[3]倪建新.基于C語言的游戲開發教學平臺的設計與研究[J].電腦知識與技術,2012(12).
[4]喬良.C語言教學中的常見問題和解決方案[J].華北科技學院學報,2014(11).
(作者單位:江蘇省太倉中等專業學校)