洪宇
摘要:目前,全國(guó)范圍內(nèi)的教育改革已將高校本科生實(shí)踐能力的提升列為重要的發(fā)展目標(biāo)。本文將結(jié)合計(jì)算機(jī)軟件領(lǐng)域的人才需求,針對(duì)程序設(shè)計(jì)與實(shí)踐教學(xué)中存在的問(wèn)題展開(kāi)討論。重點(diǎn)闡述一種漸進(jìn)式的實(shí)踐教學(xué)方法,嘗試將程序語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)和算法三門系列課程的內(nèi)容,統(tǒng)一地融入工程實(shí)踐環(huán)節(jié),促進(jìn)學(xué)生的系統(tǒng)化和工程化思維模式。
關(guān)鍵詞:程序設(shè)計(jì)實(shí)踐;數(shù)據(jù)結(jié)構(gòu);算法;編程語(yǔ)言;漸進(jìn)式教學(xué)
中圖分類號(hào):G642.41 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2017)38-0267-02
互聯(lián)網(wǎng)與大數(shù)據(jù)時(shí)代背景下,國(guó)內(nèi)和國(guó)際的信息化處理行業(yè),對(duì)具有計(jì)算機(jī)軟件專業(yè)知識(shí)背景和工程實(shí)踐能力的高校畢業(yè)生有著廣泛而持續(xù)的需求。但是,應(yīng)屆畢業(yè)生在工程實(shí)踐方面的短板卻廣受詬病,具有堅(jiān)實(shí)理論基礎(chǔ)而不具備實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)的畢業(yè)生往往欠缺競(jìng)爭(zhēng)優(yōu)勢(shì)。目前,高校已著力開(kāi)展產(chǎn)學(xué)研合作,并增設(shè)工程實(shí)踐為重心的新課程,旨在“趁熱打鐵”,通過(guò)激勵(lì)在讀學(xué)生將所學(xué)知識(shí)應(yīng)用于實(shí)際工程開(kāi)發(fā),增進(jìn)知識(shí)的直觀理解和應(yīng)用技巧[1]。
本文針對(duì)計(jì)算機(jī)程序設(shè)計(jì)與實(shí)踐的教學(xué)方法展開(kāi)討論,重點(diǎn)研究綜合關(guān)聯(lián)課程(數(shù)據(jù)結(jié)構(gòu)、算法和編程語(yǔ)言)的前提下,如何有效實(shí)現(xiàn)一種工程實(shí)踐的漸進(jìn)式教學(xué)方法,將多門相關(guān)課程的內(nèi)容在系統(tǒng)化的工程實(shí)踐過(guò)程中,相互結(jié)合,協(xié)同運(yùn)用,并由淺入深地授予學(xué)生。
一、傳統(tǒng)程序設(shè)計(jì)教學(xué)中的知識(shí)孤島與無(wú)序流程
本節(jié)首先簡(jiǎn)單介紹計(jì)算機(jī)主修課程的教學(xué)與實(shí)驗(yàn)內(nèi)容,然后分析相互之間的關(guān)系,最后指出不足。
1.程序設(shè)計(jì)相關(guān)課程簡(jiǎn)介。目前,在計(jì)算機(jī)本科生教學(xué)大綱中,與程序設(shè)計(jì)緊密相關(guān)的課程包括數(shù)據(jù)結(jié)構(gòu)、算法和編程語(yǔ)言。數(shù)據(jù)結(jié)構(gòu)是一門分析數(shù)據(jù)表示、關(guān)系與組織的課程。比如,命名實(shí)體(人、機(jī)構(gòu)和地理)與屬性的文字串或數(shù)值一經(jīng)前端程序提取,需要建立一種方便表示與存儲(chǔ)的泛化而通用的結(jié)構(gòu)體,承載由樣本至結(jié)構(gòu)的賦值,支持后續(xù)使用時(shí)的提取與高效運(yùn)算。算法是一種控制計(jì)算流程的方法學(xué),其核心目標(biāo)是提高計(jì)算機(jī)完成特定任務(wù)的計(jì)算效率。比如:給定一個(gè)存儲(chǔ)隨機(jī)整數(shù)的數(shù)值集合,如何快速查找其中最大數(shù)值并輸出,即為一個(gè)算法問(wèn)題。編程語(yǔ)言是人類語(yǔ)言與機(jī)器語(yǔ)言的中間層,扮演人類與機(jī)器對(duì)話的重要角色,其核心是將人類命令轉(zhuǎn)化為機(jī)器可理解的信號(hào),從而形成控制流,驅(qū)動(dòng)造作系統(tǒng)調(diào)用計(jì)算機(jī)硬件完成存儲(chǔ)與計(jì)算。
2.程序設(shè)計(jì)相關(guān)課程關(guān)聯(lián)關(guān)系。數(shù)據(jù)結(jié)構(gòu)與計(jì)算機(jī)硬件有著密切的聯(lián)系,學(xué)生在設(shè)計(jì)特定數(shù)據(jù)的架構(gòu)化表示時(shí),需要考慮內(nèi)存的承載能力和CPU的運(yùn)算特點(diǎn),以此保證內(nèi)存的節(jié)約使用,以及計(jì)算過(guò)程調(diào)取數(shù)據(jù)的高效準(zhǔn)確[2]。算法與數(shù)據(jù)結(jié)構(gòu)有著重要的聯(lián)系,存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)模式和存儲(chǔ)方式,往往決定算法最優(yōu)解的選擇。編程語(yǔ)言往往是數(shù)據(jù)建模和算法流程的一種可見(jiàn)可控且機(jī)器可讀可解的簡(jiǎn)化表述??傮w上,數(shù)據(jù)結(jié)構(gòu)用于操作對(duì)象的表示與存儲(chǔ),算法用于操作與計(jì)算流程的優(yōu)化,編程語(yǔ)言對(duì)數(shù)據(jù)結(jié)構(gòu)和算法進(jìn)行描述,并控制運(yùn)算單元執(zhí)行指令。三者有著緊密的關(guān)系。
3.程序設(shè)計(jì)教學(xué)中有待解決的問(wèn)題。目前由嚴(yán)蔚敏編輯的《數(shù)據(jù)結(jié)構(gòu)C語(yǔ)言版》嘗試將編碼、結(jié)構(gòu)和算法統(tǒng)一到一套教材和授課過(guò)程當(dāng)中,展現(xiàn)了系統(tǒng)化教學(xué)的主流趨勢(shì)。但是,將教學(xué)過(guò)程映射至實(shí)踐過(guò)程,仍存在如下有待解決的問(wèn)題:①知識(shí)點(diǎn)孤立:實(shí)踐強(qiáng)調(diào)系統(tǒng)模塊的協(xié)作,現(xiàn)有教學(xué)局限于特定功能所需的結(jié)構(gòu)、算法和編程的局部特性,知識(shí)點(diǎn)內(nèi)容內(nèi)聚,缺少開(kāi)放性。②局部視角:學(xué)生往往實(shí)現(xiàn)相互孤立甚至無(wú)關(guān)的功能,或者隸屬不同應(yīng)用背景和項(xiàng)目需求的獨(dú)立模塊,無(wú)法嵌入大型系統(tǒng)進(jìn)行協(xié)作,從而,學(xué)生的開(kāi)發(fā)過(guò)程也欠缺全局視角,流暢性不佳;③流程無(wú)序:開(kāi)發(fā)過(guò)程欠缺流程性思考,對(duì)難易程度各不相同的系統(tǒng)模塊,欠缺優(yōu)先級(jí)判斷,開(kāi)發(fā)設(shè)計(jì)布局往往混亂。
二、漸進(jìn)式程序設(shè)計(jì)實(shí)踐教學(xué)方法
針對(duì)上述問(wèn)題,本文提出一種漸進(jìn)式教學(xué)方法,并應(yīng)用于相關(guān)課程學(xué)習(xí)完成后立刻開(kāi)展的實(shí)踐環(huán)節(jié),旨在以一種清晰、流暢且易于理解的方式,快速提升知識(shí)系統(tǒng)化教學(xué)的效果和學(xué)生的實(shí)踐能力。該方法包括五個(gè)組成部分:(1)應(yīng)用項(xiàng)目與系統(tǒng)的框架學(xué)習(xí);(2)評(píng)測(cè)模塊實(shí)現(xiàn);(3)簡(jiǎn)易功能流水線實(shí)現(xiàn);(4)對(duì)比實(shí)驗(yàn)與性能分析;(5)功能模塊優(yōu)化與強(qiáng)化學(xué)習(xí)。
1.系統(tǒng)框架設(shè)計(jì)交互式教學(xué)。作為第一個(gè)實(shí)踐步驟,系統(tǒng)框架學(xué)習(xí)過(guò)程要求指導(dǎo)教師清晰地給出系統(tǒng)需求分析,并針對(duì)需求給出整體系統(tǒng)的設(shè)計(jì)思路,這一過(guò)程首先由學(xué)生自主設(shè)計(jì)系統(tǒng)框架,并最終由教師經(jīng)過(guò)討論、修正與完善,在師生交互過(guò)程中透徹授予學(xué)生全局的系統(tǒng)架構(gòu)意識(shí)和功能劃分理解。
2.點(diǎn)對(duì)點(diǎn)系統(tǒng)評(píng)測(cè)與實(shí)現(xiàn)。在進(jìn)入實(shí)際系統(tǒng)功能模塊設(shè)計(jì)與實(shí)現(xiàn)之前,指導(dǎo)教師驅(qū)動(dòng)學(xué)生獨(dú)立思考輸入與輸出模式,以及滿足系統(tǒng)需求的正確解。在這一過(guò)程中,學(xué)生將人工收集、調(diào)查和標(biāo)記數(shù)據(jù),直接接觸機(jī)器將要處理的數(shù)據(jù)對(duì)象,并對(duì)系統(tǒng)輸出的正解給出人工的判定和標(biāo)記,增強(qiáng)學(xué)生對(duì)項(xiàng)目本源問(wèn)題的直觀了解,尤其是該階段將推動(dòng)學(xué)生編寫(xiě)程序,形成評(píng)測(cè)數(shù)據(jù)的功能模塊,比如:實(shí)現(xiàn)檢驗(yàn)系統(tǒng)輸出精度與效率的計(jì)算單元。
3.功能流水線開(kāi)發(fā)。針對(duì)系統(tǒng)框架內(nèi)包含的各個(gè)功能模塊,驅(qū)動(dòng)學(xué)生快速完成數(shù)據(jù)結(jié)構(gòu)和算法流程設(shè)計(jì),并逐一編程實(shí)現(xiàn)。要求從輸入流到輸出流,系統(tǒng)可運(yùn)行。這一過(guò)程指導(dǎo)教師不干預(yù)學(xué)生設(shè)計(jì),不對(duì)系統(tǒng)功能設(shè)計(jì)的合理性進(jìn)行判定,只對(duì)編碼異常和邏輯錯(cuò)誤進(jìn)行檢查與修正。
4.實(shí)驗(yàn)與分析。利用第二部中設(shè)計(jì)實(shí)現(xiàn)的評(píng)測(cè)單元,對(duì)學(xué)生開(kāi)發(fā)完成的簡(jiǎn)易系統(tǒng)進(jìn)行性能評(píng)估。針對(duì)系統(tǒng)性能和優(yōu)缺點(diǎn)展開(kāi)分析,尤其通過(guò)系統(tǒng)整體評(píng)測(cè)和局部模塊評(píng)測(cè),透徹解析缺陷與不足,除了結(jié)合實(shí)際問(wèn)題和功能需求分析方法學(xué)中存在的問(wèn)題,也需緊密依托數(shù)據(jù)結(jié)構(gòu)和算法知識(shí),對(duì)各個(gè)模塊數(shù)據(jù)表示、處理和計(jì)算進(jìn)行深度解析。
5.功能模塊優(yōu)化。通過(guò)實(shí)驗(yàn)分析階段,指導(dǎo)教師和學(xué)生共同獲知系統(tǒng)全局與局部的問(wèn)題和缺陷,在此基礎(chǔ)上,實(shí)踐教學(xué)進(jìn)入逐步優(yōu)化系統(tǒng)模塊的階段。教師將推動(dòng)學(xué)生,根據(jù)發(fā)現(xiàn)的問(wèn)題,提出新的模塊設(shè)計(jì)方案,在實(shí)現(xiàn)新的功能模塊后,立刻進(jìn)入新的實(shí)驗(yàn)與評(píng)測(cè)階段,對(duì)系統(tǒng)性能進(jìn)行評(píng)價(jià),并總結(jié)發(fā)現(xiàn)的新問(wèn)題。這一方式針對(duì)所有存在問(wèn)題的模塊進(jìn)行,并迭代循環(huán),不斷提升系統(tǒng)整體性能。
三、調(diào)查與評(píng)估
本文作者針對(duì)這一教學(xué)方法進(jìn)行了實(shí)際考核與評(píng)估,并根據(jù)對(duì)比實(shí)驗(yàn),獲得了第一手教學(xué)質(zhì)量的小規(guī)模檢驗(yàn)報(bào)告。本節(jié)即匯報(bào)這一成果。
評(píng)估對(duì)30名本科畢業(yè)生展開(kāi),通過(guò)問(wèn)卷調(diào)查,對(duì)未經(jīng)系統(tǒng)化知識(shí)授予(A類)、具備系統(tǒng)知識(shí)但未進(jìn)行500行以上代碼編寫(xiě)訓(xùn)練(B類)、知識(shí)和編程經(jīng)驗(yàn)過(guò)關(guān)但未經(jīng)漸進(jìn)式教學(xué)實(shí)踐(C類)、經(jīng)過(guò)嚴(yán)格漸進(jìn)式實(shí)踐(D類)和上述三項(xiàng)基礎(chǔ)課程(數(shù)據(jù)結(jié)構(gòu)、算法和編程語(yǔ)言)存在掛科現(xiàn)象(E類)的同學(xué)進(jìn)行考察,以企業(yè)開(kāi)發(fā)經(jīng)驗(yàn)面試通過(guò)率(1表示全部面試通過(guò),0.66表示三次中有一次未通過(guò),0.33表示三次中有兩次未通過(guò),0表示全部沒(méi)通過(guò))為標(biāo)準(zhǔn),評(píng)價(jià)上述A-E類人員的學(xué)習(xí)成果。
表1顯示了各類參評(píng)人員的人數(shù)和通過(guò)率分布情況,其證明了漸進(jìn)式教學(xué)存在的顯著優(yōu)勢(shì)。
四、結(jié)論
經(jīng)過(guò)對(duì)比試驗(yàn),經(jīng)過(guò)系統(tǒng)化漸進(jìn)式程序設(shè)計(jì)實(shí)踐的學(xué)生能夠較好地迎合企業(yè)的人才需求,證明了系統(tǒng)實(shí)踐過(guò)程本身和由淺入深實(shí)踐方法的重要價(jià)值。
參考文獻(xiàn):
[1]鄭春龍,邵紅艷.以創(chuàng)新實(shí)踐能力培養(yǎng)為目標(biāo)的高校實(shí)踐教學(xué)體系的構(gòu)建與實(shí)施[J].中國(guó)高教研究,2007,(4).
[2]黃麗達(dá),趙歡,楊科華,劉彥.計(jì)算機(jī)組成與結(jié)構(gòu)課程教學(xué)的探討與實(shí)踐[J].計(jì)算機(jī)教育,2016,(10).endprint