尹志宇 白旭 姜興華
摘要:本文提出了以軟件工程、Web程序設(shè)計(jì)和數(shù)據(jù)庫(kù)技術(shù)課程為例的多課程相結(jié)合的綜合實(shí)踐教學(xué)模式。每門課程在各自一學(xué)期的基礎(chǔ)教學(xué)和實(shí)踐后,教學(xué)團(tuán)隊(duì)和企業(yè)專家組織學(xué)生進(jìn)行為期兩周的綜合實(shí)踐教學(xué),包括項(xiàng)目案例教學(xué)和學(xué)生項(xiàng)目實(shí)戰(zhàn),充分培養(yǎng)了學(xué)生的綜合實(shí)踐能力、團(tuán)隊(duì)協(xié)作能力、溝通能力、自主學(xué)習(xí)能力等,滿足了用人單位對(duì)計(jì)算機(jī)專業(yè)高素質(zhì)人才的需求。
關(guān)鍵詞:計(jì)算機(jī)類專業(yè);多課程結(jié)合;綜合實(shí)踐;校企合作
一、緒論
目前,全國(guó)有900多所大學(xué)開設(shè)有計(jì)算機(jī)專業(yè),從用人單位的反饋結(jié)果來看,應(yīng)屆畢業(yè)生一般存在基礎(chǔ)知識(shí)比較薄弱、實(shí)踐能力普遍較差等問題[1]。
實(shí)際上普通高校的大學(xué)教育是很注重基礎(chǔ)知識(shí)方面的教學(xué)的,但由于每門課程每周的教學(xué)時(shí)間過于集中,課程教學(xué)密度很大,教師講授的知識(shí)繁多,單靠課下的書面作業(yè)或驗(yàn)證性實(shí)驗(yàn)環(huán)節(jié)或?qū)嵺`課程環(huán)節(jié)的應(yīng)用實(shí)踐無法對(duì)所學(xué)知識(shí)完全鞏固,也無法獲得系統(tǒng)、完備的知識(shí)體系,導(dǎo)致所學(xué)基礎(chǔ)知識(shí)容易遺忘。另外,多課程都是單一的知識(shí)傳授,忽視了綜合能力的培養(yǎng),無法滿足企業(yè)對(duì)人才的需求,所以大學(xué)期間在注重基礎(chǔ)知識(shí)教學(xué)和簡(jiǎn)單實(shí)踐環(huán)節(jié)的前提下,應(yīng)加強(qiáng)綜合實(shí)踐能力的培養(yǎng),從而為社會(huì)輸送具有過硬的基礎(chǔ)知識(shí)功底的高技能畢業(yè)生。
近幾年,有許多大學(xué)開始執(zhí)行“16+X”教學(xué)安排,明確“X”為實(shí)踐教學(xué)周,以強(qiáng)化實(shí)踐教學(xué),提高學(xué)生實(shí)踐能力。本文以軟件工程、Web程序設(shè)計(jì)和數(shù)據(jù)庫(kù)技術(shù)課程為例提出多課程相結(jié)合的綜合實(shí)踐教學(xué)模式。
二、課程特點(diǎn)和教學(xué)現(xiàn)狀
(一)軟件工程課程的特點(diǎn)和教學(xué)現(xiàn)狀
“軟件工程”是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科[2]。它注重的是軟件設(shè)計(jì)和開發(fā)的過程指導(dǎo),不涉及應(yīng)用程序開發(fā)的具體語言和實(shí)現(xiàn)細(xì)節(jié),也不涉及數(shù)據(jù)庫(kù)服務(wù)器的管理及SQL語言編程,理論性更強(qiáng)一些,但需要與實(shí)際的項(xiàng)目開發(fā)相結(jié)合。
軟件工程課程的理論內(nèi)容非常多,要求學(xué)生必須掌握扎實(shí)的軟件工程理論知識(shí),理解軟件生命周期中每一個(gè)階段的作用和應(yīng)用,掌握軟件項(xiàng)目管理的相關(guān)理論和技能。另外,軟件工程課程還要求學(xué)生掌握科學(xué)的軟件設(shè)計(jì)方法和開發(fā)、維護(hù)高質(zhì)量軟件的技能,掌握在軟件生命周期中如何完成需求、設(shè)計(jì)和測(cè)試等文檔的編寫工作。這就需要學(xué)生具有足夠的項(xiàng)目開發(fā)實(shí)踐,通過項(xiàng)目來理解和掌握相關(guān)的理論和技術(shù)方法[3]。
由于學(xué)時(shí)的限制,大部分高校軟件工程課程是不安排實(shí)踐操作學(xué)時(shí)的,一般會(huì)安排課程設(shè)計(jì)作業(yè)[4]。理論與實(shí)踐脫節(jié)的教學(xué)方式,使得學(xué)生無法理解軟件工程的意義和價(jià)值;沒有參與軟件項(xiàng)目的開發(fā),更無法理解如何采用軟件工程的理論和方法解決軟件開發(fā)工程中的問題。
(二)Web程序設(shè)計(jì)課程的特點(diǎn)和教學(xué)現(xiàn)狀
“Web程序設(shè)計(jì)”注重的是Web應(yīng)用程序的前臺(tái)開發(fā),即利用某種程序設(shè)計(jì)語言進(jìn)行軟件編程,不涉及軟件生命周期中需求分析、軟件設(shè)計(jì)及測(cè)試、維護(hù)等階段的技術(shù)和應(yīng)用,也不研究后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的編程和數(shù)據(jù)庫(kù)的安全性、完整性、并發(fā)操作等問題。
Web程序設(shè)計(jì)課程編程實(shí)踐內(nèi)容非常多,是一門專業(yè)技能課程,培養(yǎng)學(xué)生熟練掌握基于面向?qū)ο笳Z言的Web編程技能,重在技能培養(yǎng),使學(xué)生能夠熟練掌握相關(guān)技術(shù),具備開發(fā)Web系統(tǒng)的技能,達(dá)到獨(dú)立或合作完成中小型網(wǎng)站的建設(shè)與開發(fā)的目的。
依據(jù)教學(xué)計(jì)劃和教學(xué)進(jìn)度,本課程會(huì)在每次教學(xué)的同時(shí)安排學(xué)生完成相應(yīng)的編程實(shí)踐,一直到學(xué)期末,一個(gè)諸如聊天室、博客、網(wǎng)上書店之類的小型網(wǎng)站最終成型。由于課程側(cè)重點(diǎn)的單一性,本課程一般不會(huì)將軟件工程理論和技術(shù)以及數(shù)據(jù)庫(kù)理論和技術(shù)與Web編程相融合,導(dǎo)致學(xué)生雖然具有了一定的Web編程技能,卻不清楚軟件的需求分析、設(shè)計(jì)、測(cè)試、維護(hù)等與Web編程的關(guān)系,也不清楚高效的數(shù)據(jù)庫(kù)設(shè)計(jì)以及數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全、完整性保護(hù)等問題與Web編程的關(guān)系。
(三)數(shù)據(jù)庫(kù)技術(shù)課程的特點(diǎn)和教學(xué)現(xiàn)狀
“數(shù)據(jù)庫(kù)技術(shù)”是研究如何科學(xué)的組織和存儲(chǔ)數(shù)據(jù)以及如何高效地獲取和管理數(shù)據(jù)[5]。它注重的是數(shù)據(jù)庫(kù)的設(shè)計(jì)理論以及后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的操作和管理,不研究與前臺(tái)應(yīng)用程序的結(jié)合進(jìn)行完整的項(xiàng)目開發(fā)。
數(shù)據(jù)庫(kù)技術(shù)課程要求學(xué)生具備數(shù)據(jù)庫(kù)設(shè)計(jì)理論,包括概念模型、數(shù)據(jù)模型以及物理模型的設(shè)計(jì),要求學(xué)生掌握數(shù)據(jù)庫(kù)服務(wù)器端的編程和管理,包括數(shù)據(jù)庫(kù)、表、視圖、索引、函數(shù)、存儲(chǔ)過程、觸發(fā)器、事務(wù)等操作以及數(shù)據(jù)的完整性、安全性、并發(fā)控制等的數(shù)據(jù)庫(kù)保護(hù)。所以在教師授課的同時(shí)需要安排學(xué)生進(jìn)行相應(yīng)的實(shí)踐環(huán)節(jié),以鞏固理論、培養(yǎng)數(shù)據(jù)庫(kù)操作和管理的動(dòng)手實(shí)踐能力。
本課程會(huì)在每次教學(xué)的同時(shí)安排學(xué)生完成相應(yīng)的數(shù)據(jù)庫(kù)操作和管理實(shí)踐,一直到學(xué)期末,一個(gè)完整的數(shù)據(jù)庫(kù)設(shè)計(jì)和服務(wù)器端操作和管理的實(shí)例(如教務(wù)管理系統(tǒng)、圖書館借閱系統(tǒng)等)最終完成。但由于課程側(cè)重點(diǎn)的單一性和學(xué)時(shí)的限制,本課程一般不會(huì)將軟件工程理論和技術(shù)以及應(yīng)用程序前臺(tái)的Web編程相結(jié)合,導(dǎo)致學(xué)生雖然具有了一定的數(shù)據(jù)庫(kù)設(shè)計(jì)和服務(wù)器端操作和管理技能,卻不清楚如何將數(shù)據(jù)庫(kù)技術(shù)與軟件工程理論和技術(shù)以及應(yīng)用程序前臺(tái)的Web編程相融合。
三、綜合實(shí)踐教學(xué)模式設(shè)計(jì)
經(jīng)過一學(xué)期的軟件工程課程教學(xué)加課程設(shè)計(jì)、Web程序設(shè)計(jì)課程教學(xué)加編程實(shí)踐、數(shù)據(jù)庫(kù)技術(shù)課程教學(xué)加數(shù)據(jù)庫(kù)操作和管理實(shí)踐,學(xué)生具備了每門課程的基本理論和設(shè)計(jì)及實(shí)踐技能;同時(shí)在軟件工程課程的學(xué)習(xí)中了解到軟件生命周期中包括數(shù)據(jù)庫(kù)設(shè)計(jì)和軟件實(shí)現(xiàn),在Web程序設(shè)計(jì)課程的學(xué)習(xí)中了解到Web編程需要與后臺(tái)數(shù)據(jù)庫(kù)相結(jié)合,在數(shù)據(jù)庫(kù)技術(shù)課程的學(xué)習(xí)中了解到數(shù)據(jù)庫(kù)的設(shè)計(jì)和服務(wù)器端編程是為前臺(tái)Web應(yīng)用程序服務(wù)的。
根據(jù)多年教學(xué)經(jīng)驗(yàn),我們提出為期兩周的軟件工程、Web程序設(shè)計(jì)和數(shù)據(jù)庫(kù)技術(shù)課程相結(jié)合的實(shí)踐周綜合實(shí)踐教學(xué)模式,為滿足企業(yè)對(duì)人才的需求,我們還聘請(qǐng)了與我們有長(zhǎng)期合作的企業(yè)專家做技術(shù)指導(dǎo)。
(一)教學(xué)案例設(shè)計(jì)
在實(shí)踐周的教學(xué)活動(dòng)開始之前,我們首先要設(shè)計(jì)實(shí)踐項(xiàng)目教學(xué)案例。
為了設(shè)計(jì)出系統(tǒng)、完備又具有綜合性、現(xiàn)實(shí)意義和參考價(jià)值的教學(xué)案例,我們組建了教學(xué)團(tuán)隊(duì),團(tuán)隊(duì)中包括教學(xué)經(jīng)驗(yàn)豐富的老教師,深受學(xué)生好評(píng)的明星授課教師以及軟件開發(fā)課程教師,也包括軟件工程、Web程序設(shè)計(jì)和數(shù)據(jù)庫(kù)技術(shù)三門課程的主講教師以及企業(yè)專家。
經(jīng)過近半年的調(diào)研、討論、設(shè)計(jì)和開發(fā),我們最終設(shè)計(jì)的教學(xué)案例項(xiàng)目是“簡(jiǎn)單教務(wù)管理系統(tǒng)”,就目前的社會(huì)環(huán)境來講,非常具有實(shí)用價(jià)值,對(duì)于教學(xué)來講,也易于學(xué)生學(xué)習(xí)、理解和參考。
首先,利用軟件工程理論和技術(shù)進(jìn)行軟件生存期各種模型的設(shè)計(jì)和各種文檔的編寫,主要包括用例圖、類圖、順序圖、活動(dòng)圖等模型以及需求、設(shè)計(jì)和測(cè)試等文檔。然后,利用數(shù)據(jù)庫(kù)設(shè)計(jì)理論設(shè)計(jì)出滿足用戶需求并具有完整性的數(shù)據(jù)庫(kù)模型,利用數(shù)據(jù)庫(kù)服務(wù)器端的編程和管理技術(shù)設(shè)計(jì)視圖、索引、函數(shù)、存儲(chǔ)過程、觸發(fā)器、事務(wù)等,并實(shí)現(xiàn)加密、備份等安全性保護(hù)。最后,我們利用Web程序設(shè)計(jì)技術(shù)進(jìn)行應(yīng)用程序前臺(tái)開發(fā),本案例采用微軟VS軟件和C#語言進(jìn)行Web編程,并利用軟件工程理論和技術(shù)設(shè)計(jì)測(cè)試用例,完成項(xiàng)目測(cè)試。
(二)學(xué)生項(xiàng)目實(shí)戰(zhàn)
實(shí)踐周的第一周,我們首先進(jìn)行項(xiàng)目案例教學(xué)。在進(jìn)行軟件生存期各種模型的設(shè)計(jì)和各種文檔的編寫的教學(xué)過程中,我們就啟發(fā)學(xué)生開始自己的項(xiàng)目實(shí)戰(zhàn),學(xué)生自由組合,七個(gè)人左右組成一個(gè)項(xiàng)目小組,參考教師的教學(xué)案例討論并確定自己的項(xiàng)目方案。在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的教學(xué)過程中,引導(dǎo)學(xué)生如何利用前期需求分析、軟件設(shè)計(jì)等模型及文檔設(shè)計(jì)出高質(zhì)量的數(shù)據(jù)庫(kù),從而使學(xué)生深刻理解和掌握軟件工程理論和技術(shù)在項(xiàng)目開發(fā)中的重要作用。當(dāng)然,在進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的過程當(dāng)中也可能發(fā)現(xiàn)前期模型或文檔中存在的問題,需及時(shí)進(jìn)行修正。在進(jìn)行應(yīng)用程序前臺(tái)開發(fā)的講解過程中,我們需要將Web編程與數(shù)據(jù)庫(kù)服務(wù)器管理緊密結(jié)合,使學(xué)生充分理解軟件前后臺(tái)的關(guān)系和各自的作用。在最后測(cè)試用例設(shè)計(jì)的講解中,需要將前期的所有工作與測(cè)試的關(guān)系講解清楚,讓學(xué)生學(xué)會(huì)測(cè)試技術(shù)的同時(shí),深刻理解測(cè)試的重要性。
每個(gè)項(xiàng)目小組在確定了自己的項(xiàng)目主題后,在第一周就可以在老師和企業(yè)專家的指導(dǎo)下同時(shí)完成軟件生存期各種模型的設(shè)計(jì)和各種文檔的編寫以及后臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的編程。第二周,各小組著手完成前臺(tái)編程和最后的項(xiàng)目測(cè)試。各項(xiàng)目組的項(xiàng)目設(shè)計(jì)都非常具有現(xiàn)實(shí)意義,包括“電影廳售票系統(tǒng)”“校園卡管理系統(tǒng)”“共享單車系統(tǒng)”“外賣點(diǎn)餐系統(tǒng)”“圖書館借閱系統(tǒng)”“網(wǎng)上書店系統(tǒng)”等。
在學(xué)生進(jìn)行項(xiàng)目實(shí)戰(zhàn)的過程中,同學(xué)們熱情高漲、廢寢忘食,各小組團(tuán)結(jié)一心、氣氛熱烈,小組之間有一種參加大賽的競(jìng)爭(zhēng)感,遇到問題積極向老師和企業(yè)專家請(qǐng)教,實(shí)踐效果非常好。實(shí)踐周的最后,企業(yè)專家對(duì)各小組的項(xiàng)目進(jìn)行點(diǎn)評(píng),同學(xué)們決定寒假期間對(duì)自己的項(xiàng)目作進(jìn)一步的完善。
四、結(jié)語
實(shí)踐周多課程相結(jié)合的綜合實(shí)踐教學(xué)充分歷練了學(xué)生的實(shí)踐性、自主性、協(xié)作性、創(chuàng)新性,同時(shí)也促進(jìn)了教師素質(zhì)的全面發(fā)展。在實(shí)踐活動(dòng)中,學(xué)生自主選擇項(xiàng)目小組,自主選擇項(xiàng)目主題和內(nèi)容,提升了團(tuán)隊(duì)協(xié)作能力和溝通能力,不僅培養(yǎng)了學(xué)生的綜合實(shí)踐能力,也夯實(shí)了理論基礎(chǔ),同時(shí)也培養(yǎng)了學(xué)生自主和持續(xù)性的學(xué)習(xí)能力,滿足了企業(yè)對(duì)高素質(zhì)人才的需求??傊?,這種多課程相結(jié)合的綜合實(shí)踐教學(xué),對(duì)于教學(xué)模式的改革具有很好的實(shí)用價(jià)值和參考意義。
參考文獻(xiàn):
[1]張曉利.淺談高校計(jì)算機(jī)專業(yè)教育教學(xué)改革[J].當(dāng)代教育實(shí)踐與教學(xué)研究,2019(24):5152.
[2]黃亞平.項(xiàng)目教學(xué)法在“軟件工程”教學(xué)中的理論與實(shí)踐[J].浙江工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2009(2):226231.
[3]鄔少飛.服務(wù)外包產(chǎn)業(yè)的軟件工程專業(yè)人才培養(yǎng)平臺(tái)建設(shè)研究[J].計(jì)算機(jī)產(chǎn)品與流通,2019(7):238.
[4]范雙南,趙輝煌,等.“項(xiàng)目驅(qū)動(dòng)教學(xué)法”在《軟件工程》課程教學(xué)模式改革應(yīng)用研究[J].輕工科技,2019(12):154156.
[5]王婷,鄒茂揚(yáng),等.計(jì)算機(jī)專業(yè)的”數(shù)據(jù)庫(kù)原理及應(yīng)用”課程教學(xué)實(shí)踐與研究[J].無線互聯(lián)科技,2019(21):100101.
基金項(xiàng)目:受河北省教育廳20192020年度河北省高等教育教學(xué)改革研究與實(shí)踐項(xiàng)目資助(項(xiàng)目編號(hào):2019GJJG116)
作者簡(jiǎn)介:尹志宇(1970—),女,漢族,河北樂亭人,碩士研究生,副教授,研究方向:計(jì)算機(jī)類專業(yè)教學(xué);白旭(1963—),男,蒙古族,遼寧遼陽人,碩士研究生,正高級(jí)工程師,研究方向:軟件工程教學(xué);姜興華(1962—),女,漢族,山東煙臺(tái)人,本科,副教授,研究方向:計(jì)算機(jī)類專業(yè)教學(xué)。