吳粉俠,李 紅,王 維
(咸陽師范學(xué)院 計算機學(xué)院,陜西 咸陽 712000)
2001年教育部4號文件中明確要求,各高校需要在3年內(nèi)開設(shè)5%~10%的雙語教學(xué)課程。2007年進一步提出鼓勵雙語(主要指使用英漢雙語)教學(xué)工作,自此雙語教學(xué)備受關(guān)注。在我國高校中,雙語教學(xué)課程是指采用外文教材并用外語授課的課時達到課程課時的50%及其以上的課程[1]。
雙語教學(xué)是以教育國際化為背景,旨在培養(yǎng)學(xué)生利用外語學(xué)習(xí)專業(yè)知識、解決專業(yè)問題的能力。以培養(yǎng)國際型人才為目標(biāo),是高等教育發(fā)展的必然趨勢。開設(shè)雙語課程是解決高等教育國際化問題的重要途徑。
“C++程序設(shè)計”是計算機學(xué)科中一門實踐性很強的專業(yè)基礎(chǔ)課。既有面向過程的思想,又有面向?qū)ο蟮乃枷耄瑫r具有泛型編程思想,在整個課程體系中下接專業(yè)基礎(chǔ)教育,上承專業(yè)核心能力培養(yǎng),可以為后繼專業(yè)核心課程奠定良好基礎(chǔ)[2]。該課程引入雙語教學(xué)優(yōu)勢如下。
C++語言中的關(guān)鍵字、控制語句等都是用英語表述的,程序結(jié)構(gòu)也接近英語的自然表達。因此,良好的英語基礎(chǔ)有助于學(xué)生掌握C++語言的編程技術(shù)。
C++語言的大多數(shù)編譯環(huán)境者是英文的,如Qt,Visual Studio等。雖然也有漢化的,但漢化界面生澀,不好理解。編譯器的報錯信息也都是英文的,如果英語水平不好就很難理解錯誤提示信息。因此,學(xué)生具有良好的英語基礎(chǔ),有助于使用編譯環(huán)境調(diào)試C++程序。
該學(xué)科的技術(shù)、理論、方法都源于西方,學(xué)科相關(guān)第一手資料、著作、期刊都是英文。閱讀英文文獻是了解該領(lǐng)域最新前沿動態(tài)和發(fā)展方向的重要渠道。因此計算機專業(yè)學(xué)生必須具備較高的英語水平才能滿足專業(yè)學(xué)習(xí)的需求,適應(yīng)未來的發(fā)展[3]。
用C++語言編寫程序解決實際問題時也會遇到一些意想不到的錯誤,經(jīng)常需要查閱幫助文檔,最權(quán)威的幫助文檔基本都是英文。只有具備較好的英語水平才能正確理解其含義糾正錯誤。
在國家政策的推動下,各高校均積極開展雙語課程的建設(shè)。學(xué)校在制定相應(yīng)政策上存在以提高英語授課比例為目標(biāo)的誤區(qū),忽視了不同層次學(xué)生的英語水平差異,影響了專業(yè)知識的掌握。
目前,雙語課大多采用英文原版教材。這些教材講解詳盡、內(nèi)容豐富、頁數(shù)多,學(xué)生易產(chǎn)生畏難心理。另外,由于中西方思維方式不同,外文教材的陳述思路不太適合中國人學(xué)習(xí),這也影響了雙語課的教學(xué)效果。
雙語課程給學(xué)生的學(xué)習(xí)帶來了兩方面的困難:(1)英文的理解;(2)C++語言的面向?qū)ο蟮木幊趟枷腚y以理解。若不考慮學(xué)生的情況,采用雙英語教學(xué),將會事倍功半。
由于咸陽師范學(xué)院學(xué)生英語水平較低,所以教材采用的是全英文教材、中英文雙語PPT(中文小字體呈現(xiàn))、英文板書。簡單知識采用英文講解,復(fù)雜抽象的概念和思想結(jié)合英文課本,英語講一句,中文譯一句。這樣學(xué)生既能正確理解英語,又能掌握專業(yè)核心知識、思想和技術(shù)。
清華出版的鄭莉老師的全英文C++教材的編寫思路符合中國人的思維邏輯,英語表述清晰易懂,知識體系完備,融入了軟件工程的思想。講解和學(xué)習(xí)都相對輕松。
多維互動教學(xué)模式是在開放的教育環(huán)境下,把 “教”和“學(xué)”相關(guān)的各種教學(xué)要素優(yōu)化組合,調(diào)節(jié)它們之間的內(nèi)在關(guān)系及其相互作用,調(diào)動學(xué)生的學(xué)習(xí)積極主動性,形成多角度、多層次、多方式、多主體的和諧互動,最終提高教學(xué)效果的一種全新的教學(xué)模式[4]。
在“C++程序設(shè)計”雙語課中引入多維互動教學(xué)模式的具體措施有以下7個方面。
3.3.1 學(xué)生分組以團隊形式開展教學(xué)
將學(xué)生以3~5人分組,課堂任務(wù)以小組形式開展,互相討論,互相幫助,但每個同學(xué)都得獨立完成程序任務(wù),以達到每個學(xué)生都能掌握任務(wù)所要求的知識點。這種模式可以增強學(xué)生對知識點的理解和應(yīng)用,培養(yǎng)學(xué)生的溝通能力、互助合作能力及團隊精神。
3.3.2 教師啟發(fā)引導(dǎo),學(xué)生編程實現(xiàn)
在整個教學(xué)過程中,教師扮演指導(dǎo)者的角色。在任務(wù)開始時,教師分析問題給出初步的解決方案,并針對性地講解重難點,由學(xué)生編程實現(xiàn)。及時發(fā)現(xiàn)各小組存在的問題,幫助學(xué)生完成任務(wù),讓學(xué)生體驗完全成任務(wù)的小成就感,增加學(xué)習(xí)的樂趣,激發(fā)學(xué)習(xí)的熱情和積極性。這種方式拉近了師生距離,增進師生的感情,實現(xiàn)有效互動。
3.3.3 任務(wù)驅(qū)動式案例教學(xué)法
任務(wù)驅(qū)動式案例教學(xué)法是將任務(wù)驅(qū)動與案例教學(xué)深度融合,以任務(wù)為載體,將項目案例與相應(yīng)理論知識、基本原理有機結(jié)合,通過任務(wù)驅(qū)動,引導(dǎo)學(xué)習(xí)者自主學(xué)習(xí)[5]。教學(xué)過程中主要采用任務(wù)推動模式,圍繞知識點精心設(shè)計程序案例,指導(dǎo)學(xué)生編程實現(xiàn)。任務(wù)使用英語描述,要求學(xué)生編程使用正確的英語單詞。通過任務(wù)來組織教學(xué),達到在做中學(xué),學(xué)中理解,最終達到學(xué)以致用的目的。任務(wù)的表達采用規(guī)范的UML建模語言,有利于建立軟件工程的思想,類名屬性方法都是英語,有利于學(xué)生實現(xiàn)編程。所展示的任務(wù)如圖1—4所示。
圖1 任務(wù)1 Complex運算符重載
圖2 任務(wù)2 Point運算符重載
3.3.4 精心設(shè)計教學(xué)案例,調(diào)動學(xué)生的學(xué)習(xí)興趣
教學(xué)案例不僅要能涵蓋知識,而且要生動有趣,吸引學(xué)生,同時又要保證大多數(shù)同學(xué)通過努力,在課堂上就能完成任務(wù)。設(shè)計思路是把每節(jié)課的知識點設(shè)計成多個遞進小任務(wù)。例如,運算符重載與類型轉(zhuǎn)換的知識點,在2學(xué)時里設(shè)計了如圖2—4所示的3個逐層深入的案例。對于繼承與組合,教師設(shè)計了如圖4所示的畫圖程序作為案例。
圖3 任務(wù)3-Point和Complex之間的相互轉(zhuǎn)換
圖4 繼承與組合的繪圖案例
3.3.5 對學(xué)生的學(xué)習(xí)及時評價反饋。
每節(jié)課,學(xué)生都是帶著任務(wù)學(xué)習(xí),教師對學(xué)生的任務(wù)完成情況進行總結(jié),將寫得好的程序演示給大家,開拓學(xué)生的編程思路。為了更好地督促學(xué)生完成任務(wù),對學(xué)生的任務(wù)打分并記入平時成績。這樣做不僅調(diào)動了學(xué)生的積極主動性,而且培養(yǎng)了學(xué)生的進取心及創(chuàng)新能力。
3.3.6 錄制微課,輔助教學(xué)
鑒于雙語講授“C++語言程序設(shè)計”給學(xué)生增加了學(xué)習(xí)難度,所以教師對類、繼承、虛函數(shù)、模板及標(biāo)準(zhǔn)模板庫STL等核心概念和方法都錄制了微視頻,以輔助學(xué)生的課后學(xué)習(xí)。
3.3.7 改革考試方式為上機考試
上機考試模式可以排除考試各環(huán)節(jié)中人為因素的影響,比如評分標(biāo)準(zhǔn)不一致等現(xiàn)象,能真正檢測學(xué)生的程序設(shè)計能力。該課程考核方式采用考試系統(tǒng)上機考試[6],有效地引起了學(xué)生對實踐的重視,實現(xiàn)了編程能力的有效檢測。
本文針對“C++程序設(shè)計”雙語課中存在的問題進行了研究和探討,并結(jié)合雙語教學(xué)實踐提出了“C++程序設(shè)計”課程雙語教學(xué)的解決方案。即:因材施教,選用適合的教材,以英語為工具語言,以激發(fā)學(xué)生自主學(xué)習(xí)能力為先導(dǎo),以多維互動為手段,以提高學(xué)生程序設(shè)計能力為目標(biāo),提升利用外語學(xué)習(xí)專業(yè)知識、解決專業(yè)問題的能力。