董虎勝 陸 萍 李 冬
(蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院 江蘇 蘇州215009)
C# 是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.Net Framework 之上的高級(jí)程序設(shè)計(jì)語(yǔ)言, 它吸收了C++、Java、VB 等語(yǔ)言的優(yōu)點(diǎn), 體現(xiàn)了當(dāng)今最新的程序設(shè)計(jì)技術(shù)的功能和精華。 憑借著與Windows 操作系統(tǒng)的緊密聯(lián)系,以及微軟產(chǎn)品所共有的操作性強(qiáng)、開(kāi)發(fā)環(huán)境簡(jiǎn)單易用等特點(diǎn),C# 語(yǔ)言受到眾多程序開(kāi)發(fā)人員的青睞,成為當(dāng)前軟件開(kāi)發(fā)的首選語(yǔ)言。 當(dāng)前,我國(guó)高職院校軟件技術(shù)專(zhuān)業(yè)大都開(kāi)設(shè)了.Net 方向,《C# 程序設(shè)計(jì)》課程作為.Net 課程群的基礎(chǔ),在課程體系中占有重要地位。 但該課程知識(shí)內(nèi)容新、更新快,實(shí)踐性也相當(dāng)強(qiáng),在教學(xué)中采用傳統(tǒng)的教學(xué)方法,教學(xué)效果并不理想,尤其在培養(yǎng)學(xué)生的實(shí)際編程能力方面,沒(méi)有起到明顯的促進(jìn)作用。 因此,如何在C# 語(yǔ)言的教學(xué)中提高學(xué)生的學(xué)習(xí)效果,培養(yǎng)學(xué)生的程序開(kāi)發(fā)能力,是該課程任課教師值得深入探討的課題。
在《C# 程序設(shè)計(jì)》的課程教學(xué)中,筆者所在院系選擇了與江蘇微軟技術(shù)中心合作辦學(xué)的模式。 通過(guò)合作辦學(xué)、共建課程來(lái)培養(yǎng)更符合企業(yè)需求的、具有較高職業(yè)素養(yǎng)的學(xué)生。作為院級(jí)立項(xiàng)建設(shè)的精品課程,課程組在教學(xué)中以培養(yǎng)學(xué)生的職業(yè)能力為核心,在課程設(shè)計(jì)與課程內(nèi)容、課程教學(xué)方法與手段、課程考核等方面做了一系列的嘗試與改革,取得了良好的教學(xué)效果。
良好的教學(xué)效果不僅歸功于優(yōu)秀的教師,還要?dú)w結(jié)于優(yōu)秀的課程框架設(shè)計(jì),而課程框架設(shè)計(jì)的基礎(chǔ)則是課程的目標(biāo)與定位。在軟件技術(shù)專(zhuān)業(yè).Net 方向中,我們將該課程定位于.Net 課程群的底層基礎(chǔ)位置, 作為一門(mén)專(zhuān)業(yè)基礎(chǔ)課程。 該課程的目標(biāo)是培養(yǎng)具有.Net 崗位群所需的基礎(chǔ)開(kāi)發(fā)能力和專(zhuān)項(xiàng)技能,通過(guò)該課程的學(xué)習(xí)將為后續(xù).Net 系列課程打下堅(jiān)實(shí)的基礎(chǔ)。 根據(jù)該課程的定位,設(shè)計(jì)了《C# 程序設(shè)計(jì)》課程的教學(xué)內(nèi)容及培養(yǎng)模式的框架(如圖1 所示)。
圖1 《C# 程序設(shè)計(jì)》課程框架圖
在該課程框架圖中,根據(jù)課程定位與目標(biāo)確定教學(xué)內(nèi)容和培養(yǎng)模式。 針對(duì)學(xué)生在學(xué)習(xí)程序設(shè)計(jì)中對(duì)抽象與孤立的知識(shí)點(diǎn)不夠投入的情況, 我們將C# 開(kāi)發(fā)中涉及的知識(shí)點(diǎn)和技能點(diǎn)整合到6 個(gè)具體的項(xiàng)目中,并進(jìn)一步細(xì)化分解為30 個(gè)工作任務(wù)。 這樣就使教學(xué)內(nèi)容“基于工作過(guò)程,任務(wù)導(dǎo)向”,在教學(xué)中學(xué)生通過(guò)開(kāi)發(fā)項(xiàng)目來(lái)學(xué)習(xí)程序設(shè)計(jì),更容易獲得成就感與對(duì)學(xué)習(xí)新知識(shí)的渴望。
該課程框架不僅注重對(duì)知識(shí)的講授,更重視對(duì)學(xué)生職業(yè)能力的培養(yǎng)。 我們?cè)诮虒W(xué)中主要采用了項(xiàng)目教學(xué)法、分組教學(xué)法與角色扮演法等教學(xué)方法加強(qiáng)對(duì)學(xué)生職業(yè)能力的培養(yǎng)。 項(xiàng)目教學(xué)法有助于培養(yǎng)學(xué)生的實(shí)踐能力; 分組教學(xué)法有助于培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力; 角色扮演法可讓學(xué)生體驗(yàn)真實(shí)的軟件開(kāi)發(fā)過(guò)程,有助于培養(yǎng)崗位責(zé)任感。
本課程框架注重對(duì)學(xué)生能力的考核,而非對(duì)理論知識(shí)的再現(xiàn)。 我們?cè)陧?xiàng)目考核中采用了成員匯報(bào)打分、項(xiàng)目考核、小組互評(píng)互測(cè)相結(jié)合的方法。 通過(guò)成員匯報(bào)打分,有助于培養(yǎng)學(xué)生的溝通與表達(dá)能力;采用項(xiàng)目考核,能促使學(xué)生認(rèn)真學(xué)習(xí)、借鑒資料、協(xié)同開(kāi)發(fā)項(xiàng)目,培養(yǎng)自學(xué)能力;小組互測(cè)互評(píng)則可以培養(yǎng)程序員所需要的細(xì)致、嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度。
本課程框架始終以培養(yǎng)學(xué)生的職業(yè)能力作為出發(fā)點(diǎn),無(wú)論在教學(xué)內(nèi)容的組織上還是在教學(xué)過(guò)程的實(shí)施中無(wú)不體現(xiàn)出能力培養(yǎng)這一核心,而這正是軟件專(zhuān)業(yè)人才培養(yǎng)的重中之重。
高職教育提倡以項(xiàng)目為載體、基于工作過(guò)程的教學(xué)模式,注重對(duì)學(xué)生職業(yè)能力的培養(yǎng)。 根據(jù)這一指導(dǎo)方針,結(jié)合C# 程序設(shè)計(jì)語(yǔ)言的特點(diǎn),我們對(duì)C# 開(kāi)發(fā)涉及的知識(shí)點(diǎn)進(jìn)行了整合。 在教學(xué)中,我們選用6 個(gè)由易到難的實(shí)際項(xiàng)目來(lái)組織教學(xué)(如圖2 所示),通過(guò)開(kāi)發(fā)項(xiàng)目講解C# 知識(shí)點(diǎn), 同時(shí)組織實(shí)踐項(xiàng)目培養(yǎng)學(xué)生的程序設(shè)計(jì)與開(kāi)發(fā)能力。 對(duì)于每一個(gè)項(xiàng)目,又進(jìn)一步細(xì)化為多個(gè)具體的子任務(wù)與知識(shí)基礎(chǔ),這樣在項(xiàng)目的開(kāi)發(fā)中,就實(shí)現(xiàn)了教學(xué)、開(kāi)發(fā)一體化,且有利于分組教學(xué)、項(xiàng)目教學(xué)的組織與實(shí)施。 學(xué)生在學(xué)習(xí)中參與項(xiàng)目開(kāi)發(fā),在項(xiàng)目開(kāi)發(fā)中學(xué)習(xí)知識(shí),達(dá)到知識(shí)的擴(kuò)充與能力的提高雙線發(fā)展,不僅能學(xué)習(xí)到程序設(shè)計(jì)的基本語(yǔ)法結(jié)構(gòu)、流程邏輯、面向?qū)ο蟮乃枷胍约熬C合應(yīng)用等專(zhuān)業(yè)知識(shí),還可以全面培養(yǎng)學(xué)生的自學(xué)能力、分工協(xié)作、團(tuán)隊(duì)精神、語(yǔ)言表達(dá)等綜合能力素質(zhì),進(jìn)而掌握程序開(kāi)發(fā)所需的各項(xiàng)技能。 課程所選用的6 個(gè)學(xué)習(xí)項(xiàng)目遵循了從事初級(jí)程序員、中級(jí)程序員、高級(jí)程序員到軟件架構(gòu)設(shè)計(jì)師的技術(shù)進(jìn)階, 也對(duì)應(yīng)于軟件安裝、軟件調(diào)試、編程、系統(tǒng)調(diào)試、項(xiàng)目應(yīng)用等專(zhuān)業(yè)核心能力的培養(yǎng)。
圖2 課程教學(xué)內(nèi)容組織示意圖
對(duì)于優(yōu)秀的程序員,程序開(kāi)發(fā)規(guī)范十分重要。 在本課程的開(kāi)展過(guò)程中, 通過(guò)與江蘇微軟技術(shù)中心合作,引入微軟的編程規(guī)范,使得學(xué)生對(duì)開(kāi)發(fā)規(guī)范的意識(shí)得到了很大程度的提高, 養(yǎng)成了良好的編程習(xí)慣。在教學(xué)組織與項(xiàng)目開(kāi)發(fā)過(guò)程中, 一般以4~5 人為一組,在課程教師與企業(yè)教師的共同指導(dǎo)下,制定項(xiàng)目開(kāi)發(fā)計(jì)劃、時(shí)間進(jìn)度、工作流程、評(píng)估報(bào)告等,教師不僅在技術(shù)上予以指導(dǎo),也在質(zhì)量、進(jìn)度上給予把握和督促,從而確保項(xiàng)目開(kāi)發(fā)順利、規(guī)范地開(kāi)展。
優(yōu)秀的教學(xué)方法與手段要符合學(xué)生的認(rèn)知規(guī)律,能夠提高其學(xué)習(xí)積極性,實(shí)現(xiàn)對(duì)學(xué)生職業(yè)素質(zhì)的全方位培養(yǎng)。 在《C# 程序設(shè)計(jì)》教學(xué)改革中,拋棄了以知識(shí)傳授為主的傳統(tǒng)教學(xué)模式, 采用項(xiàng)目化的教學(xué)組織,理論與實(shí)踐穿插進(jìn)行。 借助于多媒體教學(xué)手段,整個(gè)教學(xué)活動(dòng)均在多媒體機(jī)房開(kāi)展,教學(xué)注重實(shí)用性與趣味性,一切以有利于學(xué)生能力培養(yǎng)作為出發(fā)點(diǎn)。
我院《C# 程序設(shè)計(jì)》課程組經(jīng)過(guò)多年的教學(xué)實(shí)踐,針對(duì)高職學(xué)生在C# 學(xué)習(xí)中表現(xiàn)的算法設(shè)計(jì)能力薄弱、潛質(zhì)生厭學(xué)、學(xué)生不重視課程學(xué)習(xí)、課后不復(fù)習(xí)、自學(xué)能力差等情況,采用多種教學(xué)方法相結(jié)合的方式解決這些問(wèn)題,以提高教學(xué)質(zhì)量,促進(jìn)學(xué)生知識(shí)與能力的提高。
算法設(shè)計(jì)五步走 《C# 程序設(shè)計(jì)》作為程序設(shè)計(jì)類(lèi)課程, 需要學(xué)生具有抽象思維以及邏輯推理能力。許多學(xué)生在學(xué)習(xí)“算法”時(shí)感到力不從心,學(xué)習(xí)積極性大幅下降,甚至于放棄了后續(xù)課程的學(xué)習(xí)。 針對(duì)這個(gè)在課程教學(xué)中遇到的最大難題,課程組提出了“算法設(shè)計(jì)五步走”的教學(xué)方法,其組織過(guò)程如圖3 所示。 具體有以下五個(gè)步驟:(1)對(duì)算法的功能進(jìn)行詳細(xì)分析;(2)對(duì)此類(lèi)算法的例題進(jìn)行詳細(xì)的代碼解析;(3)應(yīng)用啟發(fā)式教學(xué)法和課堂提問(wèn),引導(dǎo)學(xué)生在教師的關(guān)鍵點(diǎn)提醒下,畫(huà)出算法執(zhí)行過(guò)程,跟隨教師還原實(shí)現(xiàn)算法的代碼(具體方法為教師運(yùn)用廣播系統(tǒng)根據(jù)學(xué)生的回答,將代碼逐行輸入);(4)在將代碼還原之后,學(xué)生加深了對(duì)算法的理解, 也有了自己完成代碼的信心,此時(shí)安排學(xué)生自己“一展拳腳”,在電腦上動(dòng)手實(shí)踐,促使其進(jìn)一步加深對(duì)該算法的理解;(5)教師布置類(lèi)似的算法題,讓學(xué)生觸類(lèi)旁通,舉一反三,從而真正掌握對(duì)算法的理解。 在算法的講授過(guò)程中,教師不能急于求成,只有通過(guò)耐心細(xì)致地講解、引導(dǎo)遷移構(gòu)建、舉一反三實(shí)踐后,學(xué)生才能在這個(gè)環(huán)節(jié)中不掉隊(duì),繼續(xù)帶著飽滿的興趣學(xué)習(xí)課程。
圖3 算法設(shè)計(jì)“五步走”教學(xué)方法示意圖
小組教學(xué)法 有一部分學(xué)生程序設(shè)計(jì)基礎(chǔ)較薄弱,也不善于溝通,往往無(wú)法分析、解決在學(xué)習(xí)過(guò)程中遇到的各種難題。 他們漸漸不能順利完成課堂任務(wù),產(chǎn)生厭學(xué)情緒,并導(dǎo)致惡性循環(huán)。 針對(duì)這種情況,課程組采用了小組教學(xué)法,安排學(xué)生組成項(xiàng)目組,學(xué)生的平時(shí)分和最后的項(xiàng)目考核分評(píng)定與小組中每個(gè)學(xué)生的表現(xiàn)有關(guān)。 因此,作為組內(nèi)較優(yōu)秀的學(xué)生,有責(zé)任也有義務(wù)去幫助組內(nèi)完成情況較差的成員,輔導(dǎo)他們共同提高。 通過(guò)此方法,保證了所有學(xué)生都能始終融入教學(xué)過(guò)程。
項(xiàng)目教學(xué)法 有些學(xué)生不了解課程的作用,對(duì)課程不重視。 采用項(xiàng)目教學(xué)法可以讓學(xué)生直觀地看到課程中的知識(shí)點(diǎn)、技能點(diǎn),最終開(kāi)發(fā)出多個(gè)功能實(shí)用、界面美觀的軟件,體會(huì)到編程的快樂(lè)與成就感。 學(xué)生擁有了成就感才能對(duì)新知識(shí)充滿渴望,才會(huì)有學(xué)習(xí)的積極性。
借助課程論壇促進(jìn)學(xué)生課后交流 學(xué)生的學(xué)習(xí)效果與付出是成正比的,有部分學(xué)生課后不做任何功課,對(duì)教師布置的書(shū)面作業(yè)也抄襲應(yīng)付。 針對(duì)這種情況, 課程組采用了國(guó)外大學(xué)流行的論壇考核方式,即要求學(xué)生在該課程的學(xué)習(xí)論壇上多發(fā)帖,由任課教師評(píng)定發(fā)帖質(zhì)量。 帖子的質(zhì)量直接與平時(shí)成績(jī)掛鉤,帖子的內(nèi)容可以分為以下幾種類(lèi)型:(1) 對(duì)本課程學(xué)習(xí)過(guò)程中遇到的問(wèn)題進(jìn)行咨詢, 其他學(xué)生可以回復(fù)解答;(2)對(duì)本課程近期學(xué)習(xí)的總結(jié);(3)發(fā)布、展示自己應(yīng)用本課程知識(shí)設(shè)計(jì)的一個(gè)小軟件。 任課教師需經(jīng)常關(guān)注論壇,閱讀帖子,了解學(xué)生的學(xué)習(xí)狀態(tài),對(duì)每個(gè)學(xué)生的帖子質(zhì)量進(jìn)行評(píng)估并作記錄。 采用這種方法,能夠有效促進(jìn)學(xué)生的課后學(xué)習(xí)交流,保證學(xué)生在課后能夠整理自己所學(xué)的知識(shí),多做復(fù)習(xí)。
項(xiàng)目考核 高職學(xué)生自學(xué)能力相對(duì)較差,而企業(yè)環(huán)境則要求其員工必須具備良好的自學(xué)能力。 針對(duì)學(xué)生這一缺點(diǎn),課程組采用了項(xiàng)目考核的辦法。 整個(gè)項(xiàng)目在開(kāi)放性環(huán)境中完成, 對(duì)于在開(kāi)發(fā)中遇到的困難,鼓勵(lì)學(xué)生利用各種資源,如上網(wǎng)搜索、查閱參考書(shū)籍、向師生請(qǐng)教等途徑解決,從而迫使學(xué)生自覺(jué)采用各種辦法解決問(wèn)題,使學(xué)生的自學(xué)能力得到提升。
教學(xué)方法的實(shí)施依賴于教學(xué)手段,本課程注重教學(xué)手段的多樣化。 課程主要在多媒體機(jī)房開(kāi)展,利用多媒體課堂管理軟件等現(xiàn)代教育技術(shù)手段來(lái)組織教學(xué)。 任課教師鼓勵(lì)學(xué)生利用互聯(lián)網(wǎng)信息資源解決在實(shí)踐過(guò)程中遇到的難題, 鼓勵(lì)學(xué)生在C# 技術(shù)論壇中提問(wèn)、搜索技術(shù)主題尋求幫助與解決問(wèn)題。 在工作中必須養(yǎng)成良好的自學(xué)能力,掌握解決問(wèn)題的方法,才能更好地適應(yīng)企業(yè)的真實(shí)環(huán)境。 課程組通過(guò)提供C# 課程論壇, 讓學(xué)生隨時(shí)總結(jié)自己學(xué)習(xí)過(guò)程中的心得體會(huì),以有助于學(xué)習(xí)經(jīng)驗(yàn)的積累,通過(guò)發(fā)帖提問(wèn)促進(jìn)學(xué)生交流或?qū)で髱椭?課程組還提供了授課教師的QQ與E-mail, 讓學(xué)生在網(wǎng)絡(luò)搜索不能解決問(wèn)題的情況下,及時(shí)向教師求助。
學(xué)生非常重視課程的考試成績(jī),因此設(shè)計(jì)一個(gè)有利于提高學(xué)生學(xué)習(xí)積極性的考核方案,對(duì)提高教學(xué)效果、促進(jìn)學(xué)生能力的提高相當(dāng)重要。 圍繞能力的培養(yǎng)和素質(zhì)的提升,在《C# 程序設(shè)計(jì)》教學(xué)中,課程組采用了多種考核相結(jié)合的方式評(píng)定學(xué)生成績(jī),體現(xiàn)了課程評(píng)價(jià)的多元性和過(guò)程性。 學(xué)生的最終成績(jī)由3 部分組成:平時(shí)成績(jī)(占總成績(jī)的30%);基礎(chǔ)理論成績(jī)(占總成績(jī)的30%);項(xiàng)目成績(jī)(占總成績(jī)的40%)。
平時(shí)成績(jī)由出勤、課堂問(wèn)答和作業(yè)及論壇表現(xiàn)組成,基礎(chǔ)理論成績(jī)采用閉卷考試的形式,這既是對(duì)學(xué)生理論知識(shí)的考核,也有助于學(xué)生參加人力資源和社會(huì)保障部C# 開(kāi)發(fā)程序員考證。
在項(xiàng)目成績(jī)考核中,項(xiàng)目是在開(kāi)放性環(huán)境中完成的,主要是對(duì)學(xué)生利用網(wǎng)絡(luò)環(huán)境和小組其他成員共同協(xié)作開(kāi)發(fā)項(xiàng)目能力的考核。 通過(guò)這個(gè)項(xiàng)目的開(kāi)發(fā),提高學(xué)生的實(shí)踐能力、自學(xué)能力和協(xié)作開(kāi)發(fā)能力。 在項(xiàng)目成績(jī)?cè)u(píng)定時(shí)采用小組匯報(bào)形式,首先由項(xiàng)目組成員介紹各自所完成的工作, 再由項(xiàng)目組長(zhǎng)為各組員評(píng)分, 其他項(xiàng)目組長(zhǎng)作為評(píng)委一起為匯報(bào)項(xiàng)目組打分。最后,教師將對(duì)項(xiàng)目整體情況進(jìn)行點(diǎn)評(píng)和提問(wèn),對(duì)項(xiàng)目打分。
針對(duì)高職院校對(duì)學(xué)生的培養(yǎng)要求,筆者所在院系的《C# 程序設(shè)計(jì)》課程組提出了以職業(yè)能力培養(yǎng)為中心來(lái)組織教學(xué),并依此設(shè)計(jì)了課程框架和課程內(nèi)容組織,對(duì)教學(xué)方法、手段、考核方法作了一系列的改革探索與實(shí)踐。 以項(xiàng)目為中心展開(kāi)教學(xué)、以學(xué)生為主體實(shí)施教學(xué)、 以多種方式相結(jié)合進(jìn)行考核的教學(xué)方法,替代了傳統(tǒng)程序設(shè)計(jì)教學(xué)中不利于發(fā)揮學(xué)生學(xué)習(xí)積極性的教學(xué)方式方法。 實(shí)踐證明,這些教學(xué)改革措施有效地提高了學(xué)生的學(xué)習(xí)積極性,取得了良好的教學(xué)效果。 學(xué)生在學(xué)習(xí)中既掌握了理論知識(shí),又提高了職業(yè)能力和職業(yè)素養(yǎng),體現(xiàn)了高職課程的職業(yè)性、實(shí)踐性。
[1]喬梁,陳欣,宋文強(qiáng).C# 程序設(shè)計(jì)在非計(jì)算機(jī)專(zhuān)業(yè)計(jì)算機(jī)基礎(chǔ)教學(xué)中的實(shí)踐與探析[J].計(jì)算機(jī)教育,2010(10):111-113.
[2]李凌.基于工作過(guò)程的《C# 程序設(shè)計(jì)》課程教學(xué)改革[J].滁州學(xué)院學(xué)報(bào),2011(5):112-115.
[3]陳曉舟.高職院校C# 面向?qū)ο蟪绦蛟O(shè)計(jì)教學(xué)方法創(chuàng)新探討[J].無(wú)錫職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011(5):67-69.
[4]陸萍.淺談軟件技術(shù)專(zhuān)業(yè)學(xué)生的職業(yè)能力培養(yǎng)[J].福建電腦,2008(5).
[5]陸萍.淺議Java 程序設(shè)計(jì)教學(xué)改革[J].電腦知識(shí)與技術(shù)(學(xué)術(shù)交流),2007(15).
[6]翁幼珍.CDIO 戰(zhàn)略下高職學(xué)生職業(yè)能力的培養(yǎng)[J].教育與職業(yè),2013(5).
[7]劉雪梅.高職學(xué)生職業(yè)能力培養(yǎng)體系構(gòu)建研究[J].職教論壇,2012(27).