魏 揚
(呂梁職業(yè)技術學院,山西 呂梁 032300)
學習C語言是為了培養(yǎng)學生結(jié)構(gòu)化的編程思想與技能,為他們今后的專業(yè)學習打好基礎。然而由于高職生的整體學習基礎薄弱,再加上C語言的抽象性與復雜性,傳統(tǒng)的教學模式早已無法適應新時期高職院校的人才培養(yǎng)目標要求。如何進行課程教學改革,充分激發(fā)學生的學習興趣,培養(yǎng)他們C語言的基本運用技能,是高職計算機專業(yè)教師亟待解決的重要課題。
大多數(shù)教師都從語法知識開始講授C語言,教學內(nèi)容安排順序大致如下:數(shù)據(jù)類型、表達式、基本的輸入輸出、分支結(jié)構(gòu)、選擇結(jié)構(gòu)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、文件。C語言通常開設在第一學期,而絕大多數(shù)高職生是初次接觸計算機語言,有的甚至沒有一點計算機基礎知識。如此的教學內(nèi)容安排最直接的后果就是學生一頭霧水,自己對各種標識符與概念不明白。因此,這極大地降低了學生對C語言的學習熱情,甚至會讓他們產(chǎn)生抵觸與厭學心理。
在教學實踐中,教師往往處于主體地位,講得過多,力求面面俱到,而留給學生思考、練習的機會極少,忽略了學生在教學中的主體地位,也忽視了對學生學習興趣與學習方法的培養(yǎng)。教師只是關注如何將知識講得順暢,講得正確,而將課堂教學等同于簡單的知識灌輸,教師自己則成為動態(tài)的語法說明書。在教學中所選用的案例往往比較抽象,脫離實際。因此,這樣的教學方法對高職生來說很難產(chǎn)生學習動力,學習效果也不理想。
C語言一般在高職院校一年級就開設有,而很多學生剛?cè)雽W時對計算機語言類課程一無所知。因此,在開課前教師應該先讓學生明白這門課的重要性,介紹學習C語言的正確方法,并激發(fā)學生對這門課的學習興趣。首先,在第一節(jié)課上教師可先展示幾個用C語言制作的小游戲,如掃雷,或者由C語言編程的小動畫,如升國旗,以吸引學生的注意力。然后告訴學生當今市面上所銷售的電腦游戲、手機游戲大部分都是用C語言或類C語言編程設計的。C語言程序設計的應用也是非常廣泛的,從而讓學生了解C語言的用途與魅力所在,激發(fā)他們的學習動力。隨后,教師可強調(diào)這門課的重要性,它是后續(xù)學習計算機語言的基礎與重要工具。同時,也屬于全國計算機等級考試、專升本、研究生入學考試中的一個必考內(nèi)容,從而引起學生的重視,明確學習目的。
當前,高職教育中的《C語言程序設計》教材版本有很多種,但普遍存在的一個問題就是崗位針對性不強,技能訓練的實踐性不夠[1]。而教學內(nèi)容是否合理直接影響著教學成效。因此,教師在教學中應結(jié)合教學目標與學生實際,對教學內(nèi)容進行合理的整合與規(guī)劃,以期獲得更好的教學效果。
首先,在整合規(guī)劃教學內(nèi)容的時候必須突破舊有教學內(nèi)容體系的桎梏。教師將教學內(nèi)容合理劃分層次,并將教學內(nèi)容與教學任務逐一分解融合,將與教學任務相對應的知識點穿插在一起。這樣就能使語法教學更加直觀、形象,利于學生理解與掌握。其次,根據(jù)教學目標對教學內(nèi)容進行分類處理。C語言中涉及的知識點有不少都存在緊密的聯(lián)系,從而讓這些知識變得更加復雜晦澀,增加了學習難度。對此,教師可將這些知識點梳理后進行分類處理,將編程設計中最常見的知識點歸納在一起,作為課堂教學的重點內(nèi)容。對與之聯(lián)系密切,但是實際中極少用到的知識點,則進行簡單的講解即可。
在C語言教學中常常會碰到很多晦澀難懂的術語,包括常量、變量、格式化輸入輸出、算法、函數(shù)等[2]。如果教師只是照本宣科,學生容易感到厭煩,甚至產(chǎn)生排斥心理。為解決這一教學難題,筆者認為教師可采用生動有趣的語言進行授課,為學生創(chuàng)設具體的教學情境,通過生活中的某個場景來調(diào)動學生的學習興趣,讓學生迅速進入學習狀態(tài)。通過與實際生活的聯(lián)系,降低學習難度,讓學生在更輕松的學習氛圍中學到各種復雜的概念與抽象的知識。
比如,告訴學生在C語言學習中可以將自己的電腦當作一只小寵物,能否讓小寵物聽話,關鍵就在于“主人”能否學會與小寵物溝通的語言—C語言。輸出函數(shù)printf就好比寵物說話的工具;輸入函數(shù)scanf則是讓寵物聽話的工具。如果我們要想寵物有計算能力,則必須學好各種算術運算符的用法;如果想讓寵物具有判斷能力,則需要學好各種關系運算符的用法與選擇結(jié)構(gòu)程序設計。若要讓寵物可以重復干一件事,那么我們需要掌握好while循環(huán)、for循環(huán)等循環(huán)結(jié)構(gòu)程序設計。采用上述方法能夠讓高職生告別枯燥乏味的學習,在游戲中收獲成就感。
課堂教學效果的優(yōu)劣除了與教師的教學水平有關以外,更關鍵的因素是教師的教學內(nèi)容與教學方式,是否能充分調(diào)動學生的學習熱情,吸引學生的注意力,使其能主動配合教學工作。教師可根據(jù)教學需要選擇合適的教學手段。(1)啟發(fā)式教學法。通過創(chuàng)設問題情境,引導學生思考,分析問題,最終解決問題。(2)任務驅(qū)動教學法。任務設計是其中最核心的環(huán)節(jié),教師在設計任務的時候必須站在學生的立場考慮,注意激發(fā)學習興趣,保證任務設計的合理性、典型型、實用性與層次性[3]。任務設計要與學生的現(xiàn)實生活相符,突出重點,確保不同層次的學生都能完成任務,從中獲得自信。比如,要求學生設計一個學生管理系統(tǒng),將其分解為若干個子任務,再分配給各個學習小組,各組完成一部分。學生在實際操作中能夠培養(yǎng)編程能力,也能培養(yǎng)他們宏觀審視問題、團隊合作能力。(3)案例教學法。教師選取一些典型案例來講解語法或重要知識。案例不應局限于教材,可來自參考書、習題、網(wǎng)絡。案例教學法是將理論知識與實際問題相結(jié)合,通過展示案例,讓學生分析案例,并找到解決方案[4]。
教師要合理安排上機實踐課時與理論課時的比例,確保兩種教學步調(diào)一致。要注意在時間、內(nèi)容上必須銜接好,通常在教學完畢后就應及時安排上機操作,確保上機效果。實踐課內(nèi)容的安排應遵循“由淺到深、循序漸進”的原則。
(1)基本概念,這屬于最基本的內(nèi)容,主要包括運算符、數(shù)據(jù)類型、輸入輸出等。上機操作任務以方程求解、菜單顯示、學生管理系統(tǒng)數(shù)據(jù)的輸入與輸出為主。(2)對基本知識的簡單應用。要求學生能掌握3種基本程序結(jié)構(gòu),上機任務以設計小程序為主,包括簡單的計算器設計、學生成績排名設計等[5]。(3)對基本方法的熟練應用。要求學生能夠?qū)⑺鶎W的相關知識與方法結(jié)合起來,靈活運用。上機任務主要包括對學生記錄的修改、增刪操作;數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計等。(4)綜合性實踐。當一個階段性教學結(jié)束后,教師可安排一個相對應的軟件開發(fā)任務,由學生自主開發(fā)設計,并將結(jié)果作為日常成績。
很多學生在上機實踐中都存在一個不好的習慣,喜歡帶教材,照搬教材上面的例題,順利輸入電腦就算完成上機實踐任務了。這容易讓學生養(yǎng)成不動腦筋的習慣,也不利于他們實踐操作水平的提升。為此,筆者每次會提前提出上機任務,要求學生做好相關準備,完成預習報告。在第二次上機實踐操作時,禁止學生將教材帶入機房,之后每次上機實踐課前都會檢查他們的預習報告,并要求他們在規(guī)定時間內(nèi)獨立完成上機任務。筆者根據(jù)學生任務完成情況,記錄平時成績。在上機過程中,教師對學生遇到的問題加以引導與啟發(fā),讓學生通過思考找到解決方案。上機結(jié)束后,由學生完成上機報告與小結(jié),總結(jié)分析上機存在的問題與解決辦法。
學好C語言是高職計算機專業(yè)學生的基本任務,也是他們今后學習其他專業(yè)課程的基礎。為此,教師要改進教學手段,精選教學案例,充分激發(fā)學生的學習興趣,加強上機實訓,最終實現(xiàn)學生C語言程序設計能力的提升。
[1]崔婭萍.高職C語言教學探討與研究[J].中國科教創(chuàng)新導刊,2010(28):55-56.
[2]李凌.以學生為中心的高職C語言課程教學改革[J].商丘職業(yè)技術學院學報,2015(2):16-18.
[3]張傳學.高職C語言教學方法改革探討[J].軟件,2012(10):136-137.
[4]袁喜連.“產(chǎn)教融合”思想指導下改進高職《C語言》課程教學的探索與實踐[J].快樂學習報(信息教研周刊),2014(9):85-86.
[5]李學剛,楊丹,張靜,等.C語言程序設計[M].北京:高等教育出版社,2013.