隨著信息時代的到來,經(jīng)濟(jì)社會的發(fā)展及計算機(jī)和網(wǎng)絡(luò)的普及,計算機(jī)技術(shù)已經(jīng)滲透到各行各業(yè),并成為推動各個行業(yè)和領(lǐng)域快速發(fā)展的重要工具。相關(guān)部門的統(tǒng)計資料和各類人才招聘會傳達(dá)出的信息表明,計算機(jī)編程是目前最熱門的職業(yè)之一,但有一個奇怪的現(xiàn)象:一方面學(xué)生就業(yè)壓力大,另一方面卻是企業(yè)招聘不到滿意的員工。分析其中緣由,企業(yè)需要的人才應(yīng)具備直接面對問題、解決問題的技能,而不是對書本知識的掌握,這就要求我們必須把“就業(yè)”的需求放在第一位,重新審視我們的教學(xué)目標(biāo)和教學(xué)方法。現(xiàn)以筆者學(xué)校計算機(jī)語言課程的教學(xué)情況為例來進(jìn)行探討。
一、計算機(jī)語言教學(xué)現(xiàn)狀分析
1.課程設(shè)置不恰當(dāng),課程間思維模式的轉(zhuǎn)換不夠
計算機(jī)語言的種類繁多,總的來說可以分為機(jī)器語言、匯編語言和高級語言三大類。根據(jù)教學(xué)大綱的要求,筆者學(xué)校的計算機(jī)應(yīng)用(大專)專業(yè)開設(shè)了匯編語言、C語言和面向?qū)ο蟮腃++語言課程。課程設(shè)置先后順序為C語言、匯編語言、C++語言,C語言是高級語言,匯編語言是面向機(jī)器的語言,它相對于高級語言來說難學(xué)、難用、適用范圍小,雖然簡單,但是過于靈活,學(xué)習(xí)過高級語言的人再去學(xué)習(xí)匯編比一開始學(xué)匯編難得多,簡從繁易,繁從簡難,影響了學(xué)習(xí)效果。又比如先學(xué)C語言,學(xué)生養(yǎng)成了面向過程的思維模式,到學(xué)C++時,還是面向過程的思維模式,根本沒有發(fā)揮出面向?qū)ο笳Z言的優(yōu)勢來。
2.教材及課時的限制
現(xiàn)在的一些計算機(jī)語言教材,對教材中的所有的習(xí)題和上機(jī)操作題都附上答案,這為教師備課提供了方便,對學(xué)生的學(xué)習(xí)卻沒有好處,容易將學(xué)生的編程思維套入一個固定的模式當(dāng)中,也給偷懶的學(xué)生創(chuàng)造了條件。另外,課時的限制導(dǎo)致了教學(xué)深度不夠。學(xué)校開設(shè)的C++課程只有60學(xué)時,教材采用的是譚浩強(qiáng)主編的《C++面向?qū)ο蟪绦蛟O(shè)計》,由于課時及學(xué)生接受慢等種種原因,經(jīng)常只能講完“運算符重載”,而“繼承與派生”以及后面的內(nèi)容只能略有涉及或根本講不到,而這些都是很重要的內(nèi)容,導(dǎo)致學(xué)生沒學(xué)到什么東西,老師也很為難。
3.教學(xué)方法滯后
教師在上計算機(jī)語言課程時,大多側(cè)重語法的格式、功能、用法等方面的分析和講解,而不是學(xué)生思維能力的培養(yǎng)。課堂教學(xué)教會了學(xué)生是什么、怎么樣的問題,卻沒有教會學(xué)生如何用、靈活用。而且課堂內(nèi)容多,教師忙于講解,留給學(xué)生練習(xí)的時間太少,學(xué)生需要在動手實踐中切身體會并消化知識的環(huán)節(jié)薄弱了,這是我們教學(xué)中經(jīng)常忽視的部分。
二、計算機(jī)語言課程教學(xué)對象分析
1.學(xué)生基礎(chǔ)較差、興趣不高
技工院校的學(xué)生普遍存在基礎(chǔ)較薄弱、自覺性較差和自學(xué)能力不強(qiáng)的特點,在學(xué)習(xí)計算機(jī)語言時,開始會懷著神秘、好奇的心情,隨著教學(xué)內(nèi)容的深入,有的內(nèi)容比較抽象,有的內(nèi)容需要記憶、思考,更甚于還要自己動手寫程序,難度增大了,就失去了興趣,調(diào)動不起積極性。蘇霍姆林斯基認(rèn)為,學(xué)生對學(xué)習(xí)的冷淡態(tài)度比學(xué)業(yè)不良更為可怕。當(dāng)學(xué)生對語言學(xué)習(xí)的興趣消失殆盡時,再美妙的語言結(jié)構(gòu)體、再嚴(yán)謹(jǐn)?shù)木幊趟季S也無法激發(fā)出學(xué)生的學(xué)習(xí)熱情,所以上機(jī)練習(xí)時,只會照著書上的例子,輸入計算機(jī),得出與書上結(jié)果一致的答案就交作業(yè),并沒有真正掌握語句的真正用法,到了要獨立完成編程時就無從下手,而這常常會讓計算機(jī)教師在語言教學(xué)中覺得毫無成就感,直接或間接影響教學(xué),造成惡性循環(huán)。
2.學(xué)生學(xué)習(xí)有偏向,偏應(yīng)用型軟件的學(xué)習(xí)
以筆者學(xué)校為例,學(xué)生希望能在校多考取一些職業(yè)資格證以增加就業(yè)的砝碼,學(xué)校的考證安排往往是以應(yīng)用型軟件比如辦公軟件應(yīng)用、Photoshop、Flash等為主,因為這些課程更直觀易懂,只要有足夠的上機(jī)時間,大部分同學(xué)可以訓(xùn)練成為熟練的“操作員”,而語言方面的課程就是組織一些統(tǒng)考,學(xué)生只需應(yīng)付理論考試就行,這些都直接導(dǎo)致了學(xué)生的學(xué)習(xí)偏向。
三、計算機(jī)語言課程教學(xué)探討與思考
1.優(yōu)化課程設(shè)置,根據(jù)各語言的特點開展教學(xué)
針對前面所述學(xué)校計算機(jī)語言課程設(shè)置的問題,應(yīng)向?qū)W校教務(wù)部門提出,對三門課程的先后順序進(jìn)行修改,先上匯編語言,再上C語言,然后上C++,順應(yīng)學(xué)習(xí)計算機(jī)語言的規(guī)律。語言課程課時和其他課程課時、理論課時和上機(jī)課時應(yīng)該科學(xué)分配,讓學(xué)生不會出現(xiàn)專業(yè)課程上的偏向以及實踐學(xué)習(xí)不足等情況。在教材的選取上,應(yīng)綜合考慮學(xué)生和老師的情況,擇優(yōu)選取。我們的教師也要加強(qiáng)對各種語言核心的理解,在教學(xué)過程中抓住該課程的本質(zhì),不僅要教給學(xué)生語言本身的知識,還要很好地滲透程序設(shè)計的思想方法,讓學(xué)生養(yǎng)成良好的思維模式以適應(yīng)時代的
發(fā)展。
2.明確教學(xué)目標(biāo),精心設(shè)計教學(xué)內(nèi)容
任何一門課程,教學(xué)目標(biāo)的正確確定可以為教學(xué)的實施指明方向。在課堂上我們不僅要教會學(xué)生如何讀懂程序,如何根據(jù)需求編寫一段正確的代碼,并且在此基礎(chǔ)上將獨立的知識點串起來,形成自己的知識體系,而且要讓學(xué)生真正體會到學(xué)這門課的的用途,學(xué)會獨立思考、協(xié)同合作,學(xué)會用所學(xué)知識來解決實際的問題。所以我們在備課時,一定要兼顧知識與知識之間、知識與應(yīng)用之間的關(guān)聯(lián),設(shè)計一些具有實用性的課堂練習(xí),能把與練習(xí)有關(guān)的知識點緊密聯(lián)系在一起而形成一張網(wǎng),在這張網(wǎng)中,既能回顧舊知識,又能引入新知識,從而實現(xiàn)知識的綜合運用。
3.改進(jìn)教學(xué)方法,培養(yǎng)形象思維
計算機(jī)語言教與學(xué)的困惑的根源在于教師過于強(qiáng)調(diào)語法的教學(xué),一開始就一股腦地向?qū)W生灌輸數(shù)據(jù)類型、運算符、各種語句的用法等知識,只注重抽象、邏輯性思維,忽略形象思維,學(xué)生的學(xué)習(xí)熱情在瑣碎且枯燥的知識點中消磨殆盡,教與學(xué)進(jìn)入了一個死胡同。在講解計算機(jī)語言的概念、理論、方法時,可引導(dǎo)學(xué)生比對現(xiàn)實中的“生活原型”。比如C語言的指針概念是一大難點,我們找“地址”作為它的原型,“地址”是一個“范圍”概念,它不僅包含開始信息,也包含結(jié)束信息,還包含此范圍內(nèi)數(shù)據(jù)的特征的信息,形象地理解了指針的概念后,對指針的重要性、指針的運算、通過指針獲取數(shù)據(jù)的運算就有了一個實實在在的理解。這樣的例子舉不勝舉,如變量和“容器”,循環(huán)和“時分秒的變化”,樹結(jié)構(gòu)和“族譜”等。因此,我們要注重培養(yǎng)學(xué)生的形象思維,引導(dǎo)他們養(yǎng)成科學(xué)的思維習(xí)慣。
4.重視啟發(fā),培養(yǎng)求異精神
目前的教學(xué)過程大多存在一個問題:學(xué)生的思維不夠活躍,這與教師的授課方式很有關(guān)系。我們的課堂不應(yīng)該還是那種“填鴨式”的課堂,應(yīng)該更注重啟發(fā)式的教學(xué)。比如講C語言的賦值語句時,A和B的值分別為1和2,用賦值語句交換它們的值,我們可以啟發(fā)學(xué)生,如果你有兩只飯盒,一只盒裝米飯,一只盒裝菜,怎樣將它們裝著的東西交換過來?學(xué)生很容易想到,再找一個飯盒來進(jìn)行交換操作?;氐街暗膯栴},學(xué)生便能寫出賦值語句:C=A;A=B;B=C。啟發(fā)式教學(xué)還可以用在“求異”的時候,何為求異呢?任何一個程序的代碼都不是唯一的,特別是涉及到一些算法或模塊化的程序,都可以通過多種途徑來實現(xiàn)。例如,講循環(huán)結(jié)構(gòu)程序設(shè)計時,求1+11+111+1111+……前n項的和。在找數(shù)列規(guī)律時大部分同學(xué)可以發(fā)現(xiàn),第m項的值可以用t=t*10+1得出,這時應(yīng)該再啟發(fā)學(xué)生,是不是可以用其他方法呢?部分同學(xué)又找出也可以用t=t+10m-1得出。因此這種求異的態(tài)度能活躍學(xué)生的思維,激發(fā)學(xué)生的求知欲。
技工院校計算機(jī)語言課程教學(xué)在計算機(jī)教學(xué)中占有重要地位,需要我們不斷探索與思考,不斷總結(jié)自己的教學(xué)經(jīng)驗、改進(jìn)自己的教學(xué)方法,以滿足學(xué)生的需要、社會的需求,培養(yǎng)更多從事計算機(jī)語言工作的技能人才。
(作者單位:廣東省南方高級技工學(xué)校)