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