韓松
計(jì)算機(jī)發(fā)展到今天,硬件技術(shù)迅速發(fā)展,多媒體、網(wǎng)絡(luò)和通信突飛猛進(jìn)。計(jì)算機(jī)編程語(yǔ)言也在不斷地發(fā)展:從機(jī)器語(yǔ)言到匯編語(yǔ)言以及高級(jí)語(yǔ)言,甚至可能發(fā)展到智能開(kāi)發(fā)語(yǔ)言。高校在培養(yǎng)學(xué)生編程能力及編程思想上也不斷地發(fā)展和提高,通過(guò)課程設(shè)計(jì)等實(shí)戰(zhàn)型培訓(xùn)學(xué)生的團(tuán)隊(duì)合作能力、解決問(wèn)題能力以及創(chuàng)新能力。但學(xué)生在學(xué)習(xí)過(guò)程常會(huì)因多種聯(lián)系在一起的知識(shí)點(diǎn)和解決方法分散學(xué)習(xí)而浪費(fèi)時(shí)間,或因缺少項(xiàng)目實(shí)戰(zhàn),不能徹底學(xué)習(xí)到精髓。因而本文著重研究計(jì)算機(jī)語(yǔ)言類課程教學(xué)內(nèi)容整合和項(xiàng)目教學(xué)法應(yīng)用的可行性及帶來(lái)的優(yōu)勢(shì)。
C、C++和 Java 等計(jì)算機(jī)語(yǔ)言(也稱宿主語(yǔ)言)課程作為計(jì)算機(jī)專業(yè)重要的基礎(chǔ)課,在計(jì)算機(jī)專業(yè)本科教學(xué)和軟件開(kāi)發(fā)中起著重要的基礎(chǔ)作用,對(duì)學(xué)生用計(jì)算機(jī)解決實(shí)際問(wèn)題的思維能力訓(xùn)練也是非常重要的。而學(xué)生掌握計(jì)算機(jī)語(yǔ)言類課程的程度將直接影響到計(jì)算機(jī)在其專業(yè)領(lǐng)域中的應(yīng)用,如何提高學(xué)生的程序設(shè)計(jì)能力和軟件開(kāi)發(fā)思維將變得相當(dāng)重要。
一、計(jì)算機(jī)語(yǔ)言類課程的教學(xué)理念
計(jì)算機(jī)語(yǔ)言類課程所涉及的知識(shí)難度相對(duì)較高,而且其編程內(nèi)容、編程思想滲透到本專業(yè)的其他課程中。如果沒(méi)有學(xué)好計(jì)算機(jī)語(yǔ)言中編程方法、算法邏輯、設(shè)計(jì)思想、思維方式,就等于沒(méi)有學(xué)好這門課程,甚至影響其他專業(yè)課程的學(xué)習(xí)效果。加之計(jì)算機(jī)相關(guān)專業(yè)層次多,如本科、???、高職和研究生等,同一層次的生源質(zhì)量又參差不齊,在此情況下,教師應(yīng)該充分了解學(xué)生的實(shí)際情況,最大限度地調(diào)動(dòng)學(xué)生學(xué)習(xí)的主觀能動(dòng)性,使學(xué)生能主動(dòng)配合老師的教學(xué),實(shí)現(xiàn)該課程的教學(xué)目標(biāo)。例如,來(lái)自偏遠(yuǎn)地區(qū)的學(xué)生,在中學(xué)階段接觸計(jì)算機(jī)較少,水平相對(duì)低一些;相反,城市學(xué)生的計(jì)算機(jī)水平相對(duì)較高。針對(duì)這種情況,要利用一定的時(shí)間和方法使水平較差的同學(xué)及時(shí)補(bǔ)上相關(guān)知識(shí),不至于聽(tīng)不懂內(nèi)容而失去對(duì)計(jì)算機(jī)語(yǔ)言課程的興趣。
毋庸諱言,學(xué)生有時(shí)反映計(jì)算機(jī)語(yǔ)言聽(tīng)不懂、不知學(xué)了什么、難學(xué)等,固然有學(xué)生本身的原因,以及教學(xué)目標(biāo)和課程設(shè)置的偏差等因素,但教學(xué)內(nèi)容安排不合理應(yīng)該是主要問(wèn)題。在計(jì)算機(jī)語(yǔ)言的講解初期,如果不能抓住學(xué)生的學(xué)習(xí)心理,一開(kāi)始就給學(xué)生灌輸大量的、很難聽(tīng)懂的知識(shí),就會(huì)使學(xué)生感覺(jué)很難而無(wú)法聽(tīng)進(jìn)去,以至出現(xiàn)學(xué)生對(duì)后續(xù)內(nèi)容的講解都無(wú)法聽(tīng)懂的現(xiàn)象。如在 C或C++教學(xué)中,基本語(yǔ)法未充分理解,就安排難度較大的編程練習(xí);數(shù)組和指針的概念還未理解,就快速講解指針數(shù)組并配備較難的例題和習(xí)題;面向過(guò)程編程基礎(chǔ)未打好,就在面向過(guò)程的基礎(chǔ)上講解面向?qū)ο蟮木幊痰取?/p>
綜上所述,在計(jì)算機(jī)語(yǔ)言類課程的教學(xué)工作中,應(yīng)該具有良好的教學(xué)理念,要發(fā)揮教師專業(yè)知識(shí)和教學(xué)水平;充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)熱情,發(fā)揮其主觀能動(dòng)性;要合理安排教學(xué)內(nèi)容,以適應(yīng)教學(xué)的需要。
二、計(jì)算機(jī)語(yǔ)言類課程傳統(tǒng)教學(xué)模式中存在的弊端
(一)教學(xué)課時(shí)緊張,實(shí)踐環(huán)節(jié)欠缺
首先,計(jì)算機(jī)語(yǔ)言類課程中的實(shí)踐課時(shí)較少。目前我國(guó)高專教育學(xué)制是 3 年,在教學(xué)中教師為了完成教學(xué)任務(wù),安排基礎(chǔ)理論知識(shí)占用了大量的課時(shí),從而導(dǎo)致實(shí)踐課時(shí)不足,這樣學(xué)生動(dòng)手能力、實(shí)踐能力的培養(yǎng)就得不到保證,也就缺失了高專學(xué)生高等技術(shù)應(yīng)用型人才的特色。其次,與本科學(xué)生相比,高專學(xué)生的基礎(chǔ)知識(shí)相對(duì)較差,使得他們吸收知識(shí)的速度較慢,學(xué)習(xí)有一定的難度。
(二)學(xué)生學(xué)習(xí)缺乏動(dòng)力和興趣
興趣是學(xué)習(xí)的動(dòng)力,有些學(xué)生認(rèn)為學(xué)習(xí)語(yǔ)言類課程太枯燥而且用處不大,不如學(xué)習(xí)多媒體、應(yīng)用類的課程有趣; 另外從課程內(nèi)容安排上說(shuō),一般語(yǔ)言類課程安排都是前半部分講授基礎(chǔ)知識(shí),占用較長(zhǎng)的時(shí)間,內(nèi)容枯燥無(wú)味,不像應(yīng)用類的課程能讓學(xué)生馬上看到效果,因此就會(huì)大大降低學(xué)生學(xué)習(xí)的積極性,使他們產(chǎn)生厭倦情緒。而到了后半部分學(xué)習(xí)編程方法的時(shí)候,會(huì)出現(xiàn)一些抽象概念,這時(shí)往往需要較強(qiáng)的邏輯思維能力和一定的數(shù)學(xué)、英語(yǔ)基礎(chǔ),學(xué)生就會(huì)覺(jué)得無(wú)從下手,對(duì)語(yǔ)言類課程產(chǎn)生畏懼心理,就知難而退了。
(三)學(xué)生缺乏學(xué)習(xí)目標(biāo)
部分學(xué)生根本就沒(méi)有弄清楚學(xué)習(xí)這類課程是干什么用的,造成學(xué)習(xí)的時(shí)候找不到重點(diǎn)是什么,中心思想是什么,不知從何下手. 還有部分學(xué)生在學(xué)習(xí)過(guò)程中沒(méi)有經(jīng)歷過(guò)開(kāi)發(fā)項(xiàng)目、建立項(xiàng)目的過(guò)程,甚至有的同學(xué)沒(méi)有自己獨(dú)立編過(guò)程序,只是將現(xiàn)成的程序錄入計(jì)算機(jī)調(diào)試,忽略了編寫的過(guò)程。這樣學(xué)生通常只是為了考試、考級(jí)而學(xué)習(xí),忘記了最終獨(dú)立開(kāi)發(fā)項(xiàng)目的目的。
(四)教學(xué)方法缺乏創(chuàng)新,考核方式簡(jiǎn)單
高專計(jì)算機(jī)語(yǔ)言類課程一般采用課堂講授加上機(jī)實(shí)驗(yàn)相結(jié)合的教學(xué)形式。理論課上,老師通常將一些程序模式進(jìn)行固化,讓學(xué)生記憶、套用,進(jìn)行“填鴨式”教學(xué),學(xué)生缺少主動(dòng)思維,特別是編程題沒(méi)有自己的思路,無(wú)法獨(dú)立完成。上機(jī)實(shí)驗(yàn)時(shí)學(xué)生為了完成任務(wù),僅對(duì)課本上現(xiàn)有的例題進(jìn)行編輯調(diào)試。這樣學(xué)生根本不能掌握如何分析問(wèn)題、如何建立編程思維。再加上筆試這樣單一的考核方式也使老師和學(xué)生都忽視了實(shí)踐課的環(huán)節(jié),本末倒置。
三、課程整合及新型教學(xué)法應(yīng)用提高教學(xué)質(zhì)量的作用
通過(guò)整合計(jì)算機(jī)語(yǔ)言類課程教學(xué)內(nèi)容和新型教學(xué)法的應(yīng)用,學(xué)生能夠充分體會(huì)到多種語(yǔ)言在表達(dá)同一個(gè)算法思想及解決問(wèn)題方法的異同點(diǎn)以及在不同環(huán)境下的多種應(yīng)用(如:多種語(yǔ)言的混合編程等),進(jìn)而找到最有效解決問(wèn)題的方法。 分層次和專業(yè)需求地學(xué)習(xí)計(jì)算機(jī)編程語(yǔ)言,通過(guò)分初、中、高以及實(shí)戰(zhàn)型等不同層次培養(yǎng)學(xué)生的編程能力,同時(shí)也能減少學(xué)生在學(xué)習(xí)同一個(gè)知識(shí)點(diǎn)上浪費(fèi)時(shí)間和精力。 應(yīng)用項(xiàng)目教學(xué)法培養(yǎng)學(xué)生實(shí)戰(zhàn)工程項(xiàng)目的各種能力,包括團(tuán)隊(duì)協(xié)作、適合工作角色的工作能力等。 同時(shí)也要求教師教學(xué)思想不斷進(jìn)行創(chuàng)新、發(fā)展。 通過(guò)徹底研究一個(gè)最典型的例題,從數(shù)據(jù)結(jié)構(gòu)、語(yǔ)法、算法、優(yōu)化、規(guī)范化編寫代碼等不同方面和角度培養(yǎng)學(xué)生編程能力和編程思想,同時(shí)有效節(jié)約學(xué)生和教師為熟悉不同例題所花費(fèi)的時(shí)間和精力, 有利于學(xué)生從不同方面和角度學(xué)習(xí)體會(huì)計(jì)算機(jī)編程語(yǔ)言,從而更快更準(zhǔn)更有效地定位學(xué)習(xí)興趣和計(jì)算機(jī)編程語(yǔ)言選擇,化被動(dòng)學(xué)習(xí)為主動(dòng)學(xué)習(xí),從而達(dá)到高效率地學(xué)習(xí)。
(一)計(jì)算機(jī)語(yǔ)言類課程教學(xué)內(nèi)容整合的可行性和方法
在計(jì)算機(jī)語(yǔ)言類課程教學(xué)過(guò)程中,圍繞教學(xué)目標(biāo)提出項(xiàng)目教學(xué),圍繞項(xiàng)目展開(kāi)教學(xué)。以任務(wù)為驅(qū)動(dòng),師生雙方邊教、邊學(xué)、邊做來(lái)完成某個(gè)教學(xué)目標(biāo)和教學(xué)任務(wù),融理論教學(xué)、實(shí)踐教學(xué)、生產(chǎn)、技術(shù)服務(wù)于一體,充分發(fā)揮師生雙方的主動(dòng)性和互動(dòng)性;開(kāi)展多種教學(xué)方式,如互聯(lián)網(wǎng)教學(xué)、手機(jī) Wap 網(wǎng)絡(luò)教學(xué),以及多種自由化教學(xué)模式,盡可能發(fā)揮師生最大能動(dòng)性,使得師生同時(shí)進(jìn)步,使得程序設(shè)計(jì)的學(xué)習(xí)過(guò)程成為學(xué)生的興趣,而不再單純地作為一門課程。將計(jì)算機(jī)編程語(yǔ)言整合教學(xué),通過(guò)徹底研究一個(gè)最典型的例題在不同編程語(yǔ)言中的應(yīng)用,從而提升學(xué)生從不同角度分析、認(rèn)識(shí)、轉(zhuǎn)換、解決問(wèn)題的能力。項(xiàng)目實(shí)戰(zhàn)教學(xué)培養(yǎng)大學(xué)生自主創(chuàng)新、創(chuàng)造的獨(dú)立能力,從實(shí)戰(zhàn)中學(xué)習(xí)體會(huì)編程思想和團(tuán)隊(duì)合作能力,充分發(fā)揮個(gè)人在團(tuán)隊(duì)中的能動(dòng)性和創(chuàng)造性。
在計(jì)算機(jī)編程語(yǔ)言類課程中,很多內(nèi)容是十分相似的,可以整合到一門課程里來(lái)講授,這樣可以節(jié)省出更多的時(shí)間來(lái)給學(xué)生講授新技術(shù),新方法。例如,在 C 語(yǔ)言、C++語(yǔ)言、JAVA 語(yǔ)言中,有些內(nèi)容是類似的,在 C 語(yǔ)言、C++語(yǔ)言和 JAVA 語(yǔ)言中的數(shù)據(jù)類型,表達(dá)式、運(yùn)算符、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組和函數(shù)等非常類似。這樣一來(lái),我們?cè)诮虒W(xué)過(guò)程中,可以只在一門課程中將類似知識(shí)點(diǎn)講透徹,其他課程就有更多的時(shí)間去講解其他技術(shù),不但節(jié)約了時(shí)間,而且也擴(kuò)展了學(xué)生的知識(shí)面。
程序設(shè)計(jì)語(yǔ)言類課程的學(xué)習(xí)是為了解決實(shí)際應(yīng)用,而并非這類語(yǔ)言的本身。因此程序設(shè)計(jì)語(yǔ)言類課程整合教學(xué),就是分層次分專業(yè)進(jìn)行計(jì)算機(jī)編程語(yǔ)言的學(xué)習(xí),通過(guò)典型課程揭示各種計(jì)算機(jī)語(yǔ)言課程之間的相關(guān)性和延續(xù)性,體現(xiàn)程序設(shè)計(jì)語(yǔ)言之間的共性和內(nèi)在聯(lián)系,揭示各種計(jì)算機(jī)語(yǔ)言的共性本質(zhì),進(jìn)而找到解決問(wèn)題的最有效方法,達(dá)到能夠在運(yùn)用其他語(yǔ)言時(shí)觸類旁通,進(jìn)而提升從不同角度認(rèn)識(shí)、分析、轉(zhuǎn)換、解決問(wèn)題的能力。
程序設(shè)計(jì)語(yǔ)言類課程的整合教學(xué),可以不斷加強(qiáng)學(xué)生系統(tǒng)地掌握程序設(shè)計(jì)語(yǔ)言類課程的核心能力,也有助于培養(yǎng)學(xué)生適應(yīng)就業(yè)、提高競(jìng)爭(zhēng)和自主創(chuàng)業(yè)的能力。這種探索和實(shí)踐對(duì)于其他專業(yè)或課程的教學(xué)改革也將起到一定的借鑒作用。
(二)新型教學(xué)法的運(yùn)用
在計(jì)算機(jī)語(yǔ)言教學(xué)過(guò)程中,不僅要學(xué)習(xí)語(yǔ)言的語(yǔ)法和編譯器的相關(guān)知識(shí),更重要的是要學(xué)習(xí)程序設(shè)計(jì)的思想和算法,培養(yǎng)編程思維。在各種教學(xué)法中尤以問(wèn)題為主的教學(xué)法和強(qiáng)調(diào)實(shí)踐活動(dòng)的教學(xué)法見(jiàn)長(zhǎng),它們很適合計(jì)算機(jī)語(yǔ)言類課程的教學(xué)。
1.以問(wèn)題為主的教學(xué)法
創(chuàng)新的動(dòng)力在于不斷提問(wèn)。問(wèn)題是學(xué)生學(xué)習(xí)的驅(qū)動(dòng)力,沒(méi)有問(wèn)題便沒(méi)有深入。教學(xué)的目的就是激發(fā)和培養(yǎng)學(xué)生的問(wèn)題意識(shí)。所提“問(wèn)題”,也是以教學(xué)中相關(guān)的一些問(wèn)題為主。這樣把學(xué)習(xí)知識(shí)的過(guò)程化解為提出問(wèn)題、分析問(wèn)題和解決問(wèn)題的過(guò)程,促進(jìn)學(xué)生創(chuàng)新精神和創(chuàng)新能力的發(fā)展。這一類教學(xué)活動(dòng)的實(shí)際教學(xué)中以啟發(fā)式教學(xué)居多。如果在教學(xué)中很好地運(yùn)用啟發(fā)式教學(xué),就可以調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,又能啟發(fā)學(xué)生的思維。例如,在 C 的 main 函數(shù)指針數(shù)組參數(shù)的學(xué)習(xí)中,許多學(xué)生無(wú)法理解基于指針數(shù)組參數(shù)方式交換字符串的例子。此時(shí),教師應(yīng)解釋兩個(gè)概念:argv 內(nèi)存區(qū)和*argv 內(nèi)存區(qū),也就是說(shuō)這是兩個(gè)不同的內(nèi)存區(qū),根據(jù)數(shù)組表示和指針表示之間的法則,*argv 也就是 argv[0](這是編譯器的逆行為),對(duì)*(argv+i)的操作就是對(duì)指針數(shù)組元素(下標(biāo) i)的操作,而指針數(shù)組元素存放的是那些常量字符串的首地址。因而使用選擇法交換指針數(shù)組的值也就是交換指向那些“逆序”的字符串的首地址。在此基礎(chǔ)上學(xué)生就可以理解使用指針數(shù)組傳遞參數(shù)的過(guò)程。進(jìn)一步,我們可以在“電子黑板”上畫出 argv 和*argv 的內(nèi)存結(jié)構(gòu)圖。
2.強(qiáng)調(diào)實(shí)踐活動(dòng)的教學(xué)法
這一類教學(xué)活動(dòng)以探究式教學(xué)模式為主。“任務(wù)驅(qū)動(dòng)式”是實(shí)施探究式教學(xué)模式的一種教學(xué)方法,是一種新型的、以學(xué)生自主學(xué)習(xí)、教師加以引導(dǎo)的教學(xué)方法。它打破了傳統(tǒng)教學(xué)方法中注重學(xué)習(xí)的循序漸進(jìn)和積累的循規(guī)蹈矩,不再按照教學(xué)內(nèi)容從易到難的順序,而是以完成一個(gè)“任務(wù)”作為驅(qū)動(dòng)來(lái)進(jìn)行教學(xué),完成教學(xué)任務(wù)。在完成“任務(wù)”的過(guò)程中,又培養(yǎng)了學(xué)生的自學(xué)能力、創(chuàng)新精神和合作意識(shí)。
3. 輔助教學(xué)手段的使用
(1) 充分利用多媒體教學(xué)手段?;诙嗝襟w技術(shù)的教學(xué)能夠以豐富的信息展示在學(xué)生面前,使得教學(xué)內(nèi)容形象、生動(dòng)、更為直觀,教學(xué)秩序更加規(guī)范。
(2) 以網(wǎng)絡(luò)技術(shù)為支撐的網(wǎng)絡(luò)學(xué)習(xí)環(huán)境。以網(wǎng)絡(luò)環(huán)境為依托的計(jì)算機(jī)實(shí)驗(yàn)平臺(tái)為學(xué)生提供了豐富的教學(xué)資源。通過(guò)網(wǎng)絡(luò)教學(xué)平臺(tái),可以下載網(wǎng)絡(luò)課件、提交電子作業(yè),進(jìn)行在線答疑和自測(cè)練習(xí);可以展示方式多樣的信息,有利于學(xué)生對(duì)信息的加工和處理。教師還可以以此環(huán)境為依托進(jìn)行網(wǎng)絡(luò)教學(xué)和遠(yuǎn)程教學(xué)。
四、結(jié)語(yǔ)
通過(guò)實(shí)踐表明,整合計(jì)算機(jī)語(yǔ)言類課程教學(xué)內(nèi)容及多種新型項(xiàng)目教學(xué)法,更能激發(fā)學(xué)生主動(dòng)學(xué)習(xí),培養(yǎng)學(xué)生發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題的能力,進(jìn)而達(dá)到創(chuàng)新和自我總結(jié)能力,有助于培養(yǎng)學(xué)生適應(yīng)就業(yè)要求,提高競(jìng)爭(zhēng)能力和自主創(chuàng)業(yè)的能力。