【摘 要】本文闡述傳統(tǒng)的C#程序設計課程教學存在的課程入門受限、理論與實操脫節(jié)、課程教學手段創(chuàng)新能力不強等問題和不足,論述基于項目驅動的C#程序設計課程教學設計、實施與教學評價體系構建 ,并進行教學反思。
【關鍵詞】項目驅動? C#程序設計? 課程教學? 設計? 實施
【中圖分類號】G? 【文獻標識碼】A
【文章編號】0450-9889(2019)09C-0169-03
C#程序設計課程所教學的C#是微軟基于.NET Framework平臺所開發(fā)的面向對象的編程語言,不僅具備C語言和C++語言的應用特征,也全面繼承了面向對象的開發(fā)思想,而且兼具Delphi與VB語言優(yōu)勢。C#程序設計課程的教學目標為:掌握C#語言設計程序的基本技能,掌握面向對象和結構化的程序設計思路與方法,完成實用性強、可讀性強、規(guī)范性強的桌面應用程序的寫、調和運行工作。從現(xiàn)階段看,國內高校的計算機專業(yè)基本開設了C#程序設計課程,但多年來所用教學方法依然存在傳統(tǒng)教學的弊端,并不利于學生系統(tǒng)性知識構建。為此,現(xiàn)代教學主張引入項目驅動教學法,項目驅動教學法有別于傳統(tǒng)教學理念,是可以靈活變通和升級擴展的教學方法。對于C#程序設計這樣的課程,要求學生動手實踐能力夠強,采用傳統(tǒng)教學方法已經有些不合時宜,應在課程教學中引入項目驅動教學思想,從而持續(xù)有效提升學生的學習實踐與合作創(chuàng)新能力。
一、傳統(tǒng)的C#程序設計課程教學存在的問題和不足
(一)設計語言的學習基礎與掌握層次有別,課程入門受限
初入大學的學生,計算機基礎知識水平是有明顯區(qū)別的,在深入學習計算機設計語言方面的情況更加復雜且不容樂觀。很顯然,硬件設施投入相對欠缺的偏遠農村地區(qū)學生,計算機應用基礎較弱,掌握新的計算機理論與技能的消化和吸收效率也較低;部分學生的計算機基礎知識與應用理論學習毫無章法和規(guī)律,也無法集中注意力完成學習;有些學生對學習充滿了反抗與厭惡,在學業(yè)上頹廢消沉。除了這些主觀因素,C#程序設計中的語法規(guī)則、多變表達形式、抽象程序設計思想等客觀因素,同樣讓學生的學習處于被動狀態(tài)。相關專業(yè)的學生在課程學習中,對于設計出像樣的程序充滿渴望卻難以辦到,在實踐中多次出現(xiàn)錯誤后,也喪失了調試改進的能力與信心。因此,傳統(tǒng)C#程序設計課程教學的不足首先就在于學生對課程的興趣度不高,課程入門時受到諸多影響和限制。
(二)教學內容守舊,理論與實操脫節(jié)
隨著時代的不斷進步,計算機的軟硬件技術都在快速發(fā)展,但教育教學的內容更新始終無法與計算機技術革新保持同步,許多內容都可能短時間被推翻和修改,大量課堂沿用陳舊的教學內容。不少計算機教師在設計中偏重程序語言,并未在程序設計的結構、邏輯上花大力氣,更未明確學生需要在程序設計中完成怎樣的目標,理論與實操存在脫節(jié),以至于不少學生上過專業(yè)課程后,在實踐動手創(chuàng)新方面并無起色,學生無法用實踐操作來驗證自己的理論所學,也就無法鞏固和提升理論知識的構建,所有的知識點不能系統(tǒng)組合形成對解決實際問題有所幫助的實用性程序。
(三)課程教學手段的創(chuàng)新能力不強,教學效果不明顯
C#程序設計課程的教師雖然多數(shù)在編程方面技術出眾,但是要從教學的角度來傳播C#程序設計的思想與內容,還有很大的上升空間。雖然大多數(shù)教師尊重課程改革所提出的多樣化教學倡導,用多媒體教學替代了傳統(tǒng)的“黑板+粉筆”板書式教學,但是又會出現(xiàn)另一個極端,就是教師開始過多依賴多媒體技術手段,PPT制作畫面精良,但卻沒有取得明顯的教學效果。課程教學手段的創(chuàng)新能力不強,學生自主探究的學習積極性就難以被激發(fā),學生的課堂主體地位就難以得到真正的鞏固,程序設計的教學只會壓縮學生在課程教學中的學習創(chuàng)造力,發(fā)揮不出應有的教學作用。
二、基于項目驅動的C#程序設計課程教學設計與實施
(一)C#程序設計課程項目的設計
1.項目的合理化設置。項目設置是否合理化,決定了教學效果的好壞。C#程序設計課程中要運用項目驅動教學時,首先應明確設立項目,確保后續(xù)工作都能圍繞項目合理化展開。通過項目在不斷解析中學習,學生可體驗到實戰(zhàn)性的軟件程序開發(fā),從而積攢實戰(zhàn)經驗。
通常需要從以下幾方面加強項目合理化設置:第一,項目應源于真實實踐,具備典型性、實用性,關聯(lián)學生日常工作、學習或生活,可自我識別并激發(fā)主人翁意識,放大課程學習興趣。第二,項目應由教師開發(fā)設計,是教師深思熟慮后的成果,便于教師宏觀上統(tǒng)領,微觀處細化調整與控制。教師熟知其中重難點,因而便于實施針對性教學。第三,要控制好項目規(guī)模與難易度,超規(guī)模超難度的項目實施只會打擊學生信心與積極性;小規(guī)模低難度的項目又不能在相同教學資源上得到最優(yōu)教學效果。項目應涵蓋所有知識要點、難度中等且具有挑戰(zhàn)性,從這個角度出發(fā)選擇項目,學生的熱情度就會比較高。
2.項目的模塊化分解。C#的知識體系龐大,內容點多,項目設定完成后就需要考慮多項目進行模塊化分解,要讓各模塊具備獨立功能,然后再次對各模塊進行分解,直至可用不同知識點講解不同模塊時分解終止。通過模塊化分解,模塊與課程知識點之間的聯(lián)系變得更加清晰,也能驗證前期的項目設置合理性。若分解過程中出現(xiàn)某些知識點的遺漏,則應調整增設功能模塊,確保知識完整。分解中的不同模塊的知識順序并不統(tǒng)一,需要教師在教學中進行適度調整。實際教學中,教師對融合知識點的不同子模塊進行講解后,就完成整個課程項目的分解,也增進了對相關知識的理解和掌握。當然,對于一些重要知識點而言,并非通過獨立的單體子模塊所融合的知識理解就能掌握,而是需要結合多個子模塊來探索知識點的結構,并積極開展相應的實踐操作才可有效掌握重點知識點。這樣,通過模塊分解將一個綜合項目劃分成了相對容易的子模塊,不僅使得各個知識點融入模塊中,學生在完成項目模塊的同時也掌握了相關知識點,又可以使學生樹立完成任務的信心,充分調動積極性和主觀能動性。另外,通過教學實踐發(fā)現(xiàn),學生僅通過某個子模塊的實踐來掌握該模塊涉及的知識點是不夠的,還應對重要知識點設計多個配套小項目,讓學生通過大量的實踐真正掌握該知識點。
3.項目教學模式構建。項目驅動教學中,依然需要尋找恰當?shù)钠ヅ浣虒W方法與手段。C#程序設計開發(fā)項目多基于網(wǎng)絡B/S架構Web應用系統(tǒng),因此會出現(xiàn)大量功能化的復雜模塊,需要開發(fā)者在合作中才能出成果,因此在課堂上要鼓勵開展小組式團隊開發(fā),以小組為單位來執(zhí)行項目各環(huán)節(jié)決議。分組過程也含有一定的技術性,主要是確保組間同質、組內異質,這就需要教師把關,認真了解不同學生的優(yōu)點與個人表現(xiàn),綜合實際情況來兼顧優(yōu)等生與后進生的互補穿插。小組制項目教學過程中,小組長的責任重大,要富有協(xié)調統(tǒng)籌和決定權,各小組成員的責任分工也要明確,整體上推動小組團隊開發(fā)取得實效。
(二)C#程序設計課程項目教學實施
1.專業(yè)人士前期輔導。C#程序設計所要培養(yǎng)的專業(yè)人才是面向專業(yè)技術崗位的,需要有正確的開發(fā)理念和超前的設計技術。因此,學校不應讓課堂教學成為信息閉塞的孤島作業(yè),而是積極邀請富有項目開發(fā)經驗的專業(yè)人士到校輔導。特別是在教師設定好一個項目后,專業(yè)人員要從工程角度或專業(yè)技術要求出發(fā),為學生梳理項目開發(fā)流程,可以通過公開講座為學生傳授最新的項目開發(fā)理念與技術。學生在這樣的學前輔導中,能更清醒地認識到開發(fā)流程與環(huán)節(jié),激發(fā)熱情,提高興趣,真正保持激情與信心投入到學習中。
2.組織學生優(yōu)選項目。教學開始后,教師就應引導學生合理選擇項目。為了體現(xiàn)學生的課堂主體地位,文中建議不再沿用現(xiàn)今多數(shù)項目驅動教學中的慣用方式,即由教師前期設置項目并于啟動教學后直接提出項目組織模塊設計,學生只需接受教師指導完成開發(fā)即可。調整以后的思路應是:教學啟動后,要求學生自己尋找項目,并經過學生小組討論后提出項目,這樣在全班中會出現(xiàn)多個項目,由大家集中選擇其中的項目。原則上,教師應合理引導學生向已選項目靠攏,因為已選項目代表著教師已經做了充分的研究。
完成項目選題后,教師應盡快引導學生分析項目,并要求學生小組參考各種數(shù)據(jù)資料,并基于自己的認識完成項目的需求分析和可行性研究,同時將項目中的不同模塊進行分解,再由學生討論判定功能設定科學合理性。教師要注重以下兩點:一是自己要結合已有經驗,從工程理論與實踐應用等角度科學分析學生分解的功能模塊,給予必要的意見建議。二是對學生在查閱資料整理信息過程中所出現(xiàn)的創(chuàng)新想法,教師要及時給予肯定與鼓勵,適度加載兼具創(chuàng)意與實用性的功能模塊。
3.創(chuàng)新項目教學模式?;陧椖框寗拥腃#程序設計課程教學開展中,本文主張可用情境教學法,但需要進行必要的修正和完善。教師確定項目后,可參考項目的真實存在場景來構建課程教學中的程序設計開發(fā)場景,確保所有步驟都在操作規(guī)程與技術規(guī)范范圍內,增加學生了解真實項目開發(fā)的深刻度。當然,從C#程序設計的課程教學需求出發(fā),應圍繞實驗室中心開展教、學、練多位一體的教學模式。這主要是考慮到C#語言設計的強實踐性,若堅持重理論輕實踐,課程學習的意義就大大降低。因此,教師在對相關知識點做必要的講解點撥后,就要求學生動手,以完成各類實驗去驗證理論知識點,這樣掌握知識要點才會更快,也才有可能實現(xiàn)設計開發(fā)創(chuàng)新。在多功能一體的實驗室中開展課程教學后,學生隨時可以對教師說的某些語法技巧與知識結構進行實驗驗證,能夠第一時間加強印象,達到消化吸收的目的,學習效率容易得到提升。
(三)C#程序設計課程項目教學評價體系的構建
1.個人總結評價。課程教學過程中,當學生最終設計出產品后,教師和學生應從個人角度首先總結自查自評本項目的教學得失。教師要看是否為學生點撥到了教學方案中的所有重點,語法、多態(tài)、圖形圖像、網(wǎng)絡編程、數(shù)據(jù)庫等重點是否合理分配,是否有應用或開發(fā)編程風格的不正當誤導,是否成功激發(fā)學生興趣或與學生保持深度互動,還要自我反省對于課堂內容的控制有沒有把握到位,是否已為學生的上機實操提供代碼提示、程序調試、錯誤分析等專業(yè)指導。學生的自評主要包括:是否在教師的合理引導下加強創(chuàng)新和發(fā)散思維,是否將理論聯(lián)系實操后加強練習,是否掌握C#語言程序設計思想與方法等。
2.小組交流與評價。采用C#語言完成程序設計開發(fā)后,班級的小組團隊要首先對成員的作品進行檢驗和討論,要給出中肯的點評。特別是對于其中出現(xiàn)的富有創(chuàng)新性的且具有實用性的正確設計思路,要多展開討論交流,相互之間取長補短,不斷完善自身的思維缺陷,不斷強化自己的設計開發(fā)信心與技能。同時,小組中出現(xiàn)的主題鮮明且獨創(chuàng)性突出的作品,教師要首先給予表揚,并利用自己的專業(yè)評價標準為學生解釋作品的閃光點,鼓勵大家共同提升開發(fā)信心與熱情。
3.綜合能力考核測評。C#語言程序設計的技術性突出,知識架構分支多且聯(lián)系緊密,學生可以在不斷學習練習中主動掌握分析與解決問題的能力。課程最終的考核測評方式還應該考慮以上機實驗考核為主、以紙質筆試考核為輔的模式。成績分三部分:一是日常表現(xiàn),綜合成績占比40%,主要涵蓋學生日常各功能模塊完成情況、進度要求、重要知識點及不同項目完成情況。二是實操表現(xiàn),綜合成績占比30%,整體考核學生對全項目的設計開發(fā)、安裝調試等完成情況。三是筆試成績,綜合成績占比30%,主查專業(yè)課程基本知識點掌握情況。可見,綜合能力考核測評涉及學習、實踐、創(chuàng)新三方面能力的綜考,是十分標準和可行的手段。
三、教學反思
C#程序設計課程上所使用的項目驅動教學法,可以作為典型教法推廣到其他課程教學中去。項目驅動教學法其實對教師有相當高的要求,也對學校培養(yǎng)高素質高才干的“雙師型”教師隊伍提出了更高要求。因此,學校要注重開拓路徑加大“雙師型”教師培養(yǎng)力度,如可積極開展教師專業(yè)性技能比武,外派教師觀摩學習新知識、理念、技術、平臺,鼓勵教師合理規(guī)劃時間適度參加培訓進修、主動申報不同級別教學科研項目、主動進入社會企業(yè)中交流取經等。這些內容,對于培養(yǎng)C#程序設計課程的授課教師而言同樣重要。
項目驅動教學在C#程序設計課程中的應用已經得到了很多人的認可,但是依然會出現(xiàn)各種不理想問題,這就需要我們積極保持基于項目驅動的C#程序設計課程教學創(chuàng)新。如教師不必自選項目而讓學生通過整理、討論、對比后進行優(yōu)選項目,理念改變后對學生的幫助作用是明顯的。隨著課程改革的持續(xù)深入,項目驅動教學法還會在具體課程教學中得到完善和改進,以有效推動教學工作的開展。
【參考文獻】
[1]田雪.項目驅動教學在《C#程序設計》課程中的研究與應用[J].信息與電腦(理論版),2011(11)
[2]陳翠紅.項目導向、案例驅動在高職院校C#課程教學應用與實踐探析[J].科技創(chuàng)新導報,2014(16)
[3]黨蘭學.項目驅動教學在C#程序設計中的應用與實踐[J].科技創(chuàng)新導報,2014(17)
[4]司明,龍熙華嗎,李占利.構建虛實結合的計算機專業(yè)實驗教學平臺[J].高教論壇,2014(9)
[5]滕金芳.C語言程序設計課程教學方法的探討[J].高教論壇,2007(3)
[6]張振平.多平臺構建虛實結合的計算機網(wǎng)絡實驗教學體系研究[J].無線互聯(lián)科技,2016(22)
【基金項目】廣西職業(yè)教育教學改革立項項目“項目導向教學法在《C#程序設計》課程教學中的應用研究與實踐”(桂教職成〔2015〕22號)
【作者簡介】蔣紅軍(1982— ),男,廣西全州人,廣西農業(yè)職業(yè)技術學院講師,碩士研究生,研究方向:計算機軟件、計算機網(wǎng)絡。
(責編 蘇 洋)