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