邢冬梅 江蘇省南京工程高等職業(yè)學(xué)校
眾所周知,計(jì)算機(jī)學(xué)科正處于飛速發(fā)展過程中,無論是核心專業(yè)基礎(chǔ)知識還是學(xué)科知識都在不斷擴(kuò)大。面對這種現(xiàn)實(shí)狀況,教師和學(xué)生都在學(xué)習(xí)方向細(xì)化上犯了難,計(jì)算機(jī)學(xué)科教學(xué)內(nèi)容與學(xué)科發(fā)展需要脫節(jié)也成了相關(guān)教學(xué)領(lǐng)域的常態(tài)現(xiàn)象。在這種教學(xué)環(huán)境下,學(xué)生自然無法高效提升以程序設(shè)計(jì)能力為代表的計(jì)算機(jī)素養(yǎng)。對此,學(xué)校和教師應(yīng)當(dāng)對原有計(jì)算機(jī)人才培養(yǎng)模式進(jìn)行反思,然后去蕪存菁、與時(shí)俱進(jìn),提出精微、科學(xué)的人才培養(yǎng)模式,從培養(yǎng)出更高水平的計(jì)算機(jī)專業(yè)人才。
算法和結(jié)構(gòu)是計(jì)算機(jī)發(fā)展不變的方向,對學(xué)生程序設(shè)計(jì)能力的培養(yǎng)必須圍繞這兩個(gè)方面展開。結(jié)合外國程序設(shè)計(jì)教學(xué)案例可以認(rèn)識到,外國通常以“語言+數(shù)據(jù)結(jié)構(gòu)及算法”的課程模式為主,如佛羅里達(dá)大學(xué)將java與數(shù)據(jù)結(jié)構(gòu)算法進(jìn)行整合教學(xué),這種教學(xué)方法可以在很大程度上兼顧程序?qū)W習(xí)中的概念和設(shè)計(jì)。反觀我國程序設(shè)計(jì)能力教學(xué)實(shí)際狀況,雖然很多高校已經(jīng)對專業(yè)課程實(shí)施了課程整合,但是整體效果卻不甚理想,至今依然存在難以解決的問題。
我國高校在程序設(shè)計(jì)課程中采用的教學(xué)模式多為“語法+練習(xí)”,這種教學(xué)方式要求學(xué)生在短時(shí)間內(nèi)完成大量練習(xí),而這也會直接導(dǎo)致學(xué)生的實(shí)踐課時(shí)被擠占,課堂積極性降低。尤其需要注意的是,該教學(xué)模式在效率方面也存在明顯的短板,學(xué)生通過一個(gè)學(xué)期的學(xué)習(xí)后,可能還無法有效掌握C++或Java。還有,程序設(shè)計(jì)能力培養(yǎng)需要“概念+設(shè)計(jì)”,但是學(xué)生在實(shí)際學(xué)習(xí)中往往會因?yàn)檎Z言能力的問題無法理解抽象概念,最終導(dǎo)致程序設(shè)計(jì)能力低下。
眾所周知,高校大學(xué)生的課程內(nèi)容包括專業(yè)課程和公共必修課程,所以計(jì)算機(jī)專業(yè)的學(xué)生除了要面臨專業(yè)方向的壓力,還要分出很大一部分精力應(yīng)對公共學(xué)科。另外,部分學(xué)校的課時(shí)分配上也不是很合理,將過多的時(shí)間分在公共必修課中,攤薄程序設(shè)計(jì)及其他專業(yè)課程的教學(xué)時(shí)間。
樹立準(zhǔn)確、長遠(yuǎn)的目標(biāo)才能得到持續(xù)進(jìn)步,高校大學(xué)生受應(yīng)試教育的長期影響,很容易形成“學(xué)校要我學(xué)什么,我就學(xué)什么”的想法。在這種想法的支配下,學(xué)生對程序設(shè)計(jì)的理解只是停留在應(yīng)付考試,無法將其與自身的未來發(fā)展串聯(lián)起來;發(fā)展目標(biāo)的缺乏還體現(xiàn)在具體能力的培養(yǎng)上,多數(shù)學(xué)生在基礎(chǔ)知識方面可以符合要求,但能夠建立起宏觀工程項(xiàng)目整體感知的學(xué)生卻寥寥無幾。
程序設(shè)計(jì)課程是理論與實(shí)踐緊密結(jié)合的課程,在計(jì)算機(jī)專業(yè)的課程體系中,程序設(shè)計(jì)課程的地位十分突出。教師應(yīng)當(dāng)充分認(rèn)識到程序設(shè)計(jì)教學(xué)對學(xué)生的作用,通過多樣化的教學(xué)方式幫助學(xué)生提高程序設(shè)計(jì)能力,更好地適應(yīng)未來學(xué)習(xí)和生活的需要。在實(shí)際教學(xué)過程中,教師首先要做的就是向?qū)W生申明這門課程的意義,讓學(xué)生明白應(yīng)該用怎樣的態(tài)度對待程序設(shè)計(jì)課程。為了保證學(xué)生切實(shí)有效地獲得程序設(shè)計(jì)能力的發(fā)展,教師和學(xué)校要聯(lián)系教學(xué)目標(biāo)和教學(xué)實(shí)際,逐步改革教學(xué)方法、修改課程教學(xué)大綱,樹立明確的培養(yǎng)目標(biāo);教學(xué)策略實(shí)施過程中,教師要以學(xué)生的態(tài)度和反響為基礎(chǔ)調(diào)整教學(xué)有關(guān)的內(nèi)容,如教案、課件、實(shí)驗(yàn)內(nèi)容等,確保學(xué)生能夠在合適的環(huán)境下進(jìn)行學(xué)習(xí);為了方便學(xué)生自學(xué),教師可以借助互聯(lián)網(wǎng)平臺,將自己收集的教學(xué)資源上傳到網(wǎng)絡(luò)上和學(xué)生共享,給予學(xué)生充足的學(xué)習(xí)資源。
結(jié)合編程技術(shù)的發(fā)展和人才培養(yǎng)的各項(xiàng)要求調(diào)整教學(xué)內(nèi)容。基礎(chǔ)教學(xué)應(yīng)當(dāng)涵蓋C++語言基本語法和編程方法、程序設(shè)計(jì)的基本概念和方法等,系統(tǒng)的教學(xué)會給學(xué)生往后的計(jì)算機(jī)學(xué)習(xí)提供堅(jiān)實(shí)的基礎(chǔ);在編碼思維和技術(shù)的教學(xué)上,應(yīng)當(dāng)就問題內(nèi)容的設(shè)計(jì)、順序編排、分析和解決等方面入手,循序漸進(jìn)的實(shí)施案例教學(xué),讓學(xué)生從簡單的問題開始,一步步積累編程經(jīng)驗(yàn),然后在長時(shí)間實(shí)踐中錘煉出系統(tǒng)的編程思維。
3個(gè)層次依次遞進(jìn)設(shè)計(jì)計(jì)算機(jī)軟件系列課程模塊化方案,如圖 1所示。
編程設(shè)計(jì)的各項(xiàng)課程相互關(guān)聯(lián),若是僵硬地進(jìn)行分化學(xué)習(xí),很容易導(dǎo)致學(xué)生知識體系不完整、不連續(xù)。因此,教師要從課程內(nèi)容出發(fā),將相關(guān)性比較強(qiáng)的課程進(jìn)行合理編排,從系統(tǒng)的角度教授知識,以免學(xué)生記憶不牢、理解不全面。分層次模塊化課程應(yīng)當(dāng)從這三個(gè)層次遞進(jìn):
(1)程序設(shè)計(jì)基礎(chǔ)系列模塊
以《編程導(dǎo)論》為重點(diǎn),促進(jìn)學(xué)生編程基礎(chǔ)能力形成,讓學(xué)生全面掌握編程基礎(chǔ)知識。
(2)程序設(shè)計(jì)系列模塊
《C和 C++的語言編程基礎(chǔ)》、《數(shù)據(jù)結(jié)構(gòu)的算法設(shè)計(jì)》,這兩門課程的有效實(shí)施可以讓學(xué)生掌握程序設(shè)計(jì)知識。
(3)軟件開發(fā)系列模塊
軟件開發(fā)系列主要用于培養(yǎng)學(xué)生系統(tǒng)開發(fā)能力。在三大模塊緊密銜接下,從 C 到 C++,再從 C++標(biāo)準(zhǔn)模板庫到數(shù)據(jù)結(jié)構(gòu)及算法,學(xué)生的程序設(shè)計(jì)能力顯著提升,實(shí)踐經(jīng)驗(yàn)的積累也促使學(xué)生逐步適應(yīng)IT職業(yè)角色。模塊分層如圖1。
圖1 模塊化計(jì)算機(jī)軟件系列課程設(shè)計(jì)方案
在傳統(tǒng)課堂教學(xué)模式的作用下,教師和學(xué)生缺乏活動(dòng),教學(xué)模式停留在“教師講,學(xué)生聽”的階段。這樣的教學(xué)方法顯然不適合學(xué)生參與課堂、發(fā)揮主觀能動(dòng)性。因此,教師可以將項(xiàng)目驅(qū)動(dòng)式教學(xué)模式引入教學(xué)中,讓學(xué)生以小組為單位,獨(dú)立承擔(dān)小型研究項(xiàng)目。在學(xué)生研究的過程中,教師要盡可能減少干預(yù),僅對學(xué)生做出必要指導(dǎo)即可。經(jīng)過一段時(shí)間的研究后,研究小組在磨合中實(shí)現(xiàn)了合理分工,學(xué)生們對項(xiàng)目開發(fā)產(chǎn)生了更為全面地認(rèn)識。尤其是在項(xiàng)目驅(qū)動(dòng)教學(xué)的作用下,學(xué)生的協(xié)作能力與團(tuán)隊(duì)合作意識顯著提高。
程序設(shè)計(jì)能力的培養(yǎng)需要大量實(shí)踐機(jī)會,若是學(xué)生只在學(xué)校里“閉門造車”,那么最終培養(yǎng)出的專業(yè)人才就會呈現(xiàn)出,基礎(chǔ)知識強(qiáng),宏觀工程整體感知弱的特征。為此,學(xué)校要積極尋求和軟件開發(fā)、服務(wù)企業(yè)的合作,在條件允許的情況下采用實(shí)際項(xiàng)目開發(fā)的形式進(jìn)行實(shí)訓(xùn)和實(shí)習(xí)工作。比較理想的校企合作方法分為兩種,一種是邀請企業(yè)內(nèi)程序設(shè)計(jì)專業(yè)人才進(jìn)入高校,向?qū)W生分享計(jì)算機(jī)行業(yè)的發(fā)展現(xiàn)狀,并且解答學(xué)生對編程設(shè)計(jì)的疑問和職業(yè)規(guī)劃問題。另一種則是學(xué)生直接進(jìn)入企業(yè)實(shí)訓(xùn),開展為期一個(gè)月的實(shí)訓(xùn),實(shí)訓(xùn)期間學(xué)生由企業(yè)和教師共同管理。
綜上所述,信息社會的發(fā)展給高校計(jì)算機(jī)畢業(yè)生提出了更高的要求,以程序設(shè)計(jì)能力為代表的計(jì)算機(jī)能力越來越受到企業(yè)的重視。學(xué)校應(yīng)當(dāng)對現(xiàn)有培養(yǎng)模式中的不合理部分做出調(diào)整,以此保證課程設(shè)計(jì)的科學(xué)性,促進(jìn)學(xué)生程序設(shè)計(jì)能力的提高,幫助學(xué)生在激烈的就業(yè)競爭中獲得專業(yè)優(yōu)勢。