吳全娥
(成都職業(yè)技術學院軟件分院,四川 成都 610041)
隨著教學方法的不斷改革,本學院軟件技術專業(yè)大多數(shù)課程都采用項目化教學法。在目前職業(yè)院校教學中,項目化教學法有了廣泛的應用,已經被很多教師和學生接受并認可。所謂項目化教學法即以一個小型項目為導向,圍繞實現(xiàn)項目功能需要用到的新知識進行講解,理論聯(lián)系實際,實現(xiàn)在“做中學”。項目化教學法能夠讓學生很好地掌握本門課程的相關知識。在課程設置過程中,教師雖然考慮了課程與課程之間的關聯(lián)性和邏輯順序,但是每門課程選取的教學項目和項目涉及的領域差異較大,學生需要有比較廣的知識面,此外不同課程教學項目之間沒有關聯(lián)性[1]。
高職學生的特點表現(xiàn)為文化基礎知識相對薄弱,知識面較為狹窄,學習自我管理能力較弱,缺乏學習動機,學習主動性較低;理解力較弱,缺乏對知識技能的融會貫通能力[2];有畏難心理,缺乏對陌生領域的主動探索能力,學習過程中容易出現(xiàn)退縮和放棄的行為。然而,高職學生在自己熟悉、喜歡及易于學習的事情上,能花費精力學習并努力探索,有較強的實際動手能力。
由于高職學生存在知識面狹窄、學習能力較弱的特點,在軟件技術專業(yè)的相關課程實際實施項目化教學的過程中,存在以下一些問題。
首先,教學項目繁多、涉及領域各不相同。要完成項目功能,學生需要先理解項目業(yè)務和流程,然后完成相關學習,可是很多的教學項目所涉及的領域是學生不熟悉甚至從未接觸過的,這對項目業(yè)務的理解造成了一定的困難。其次,項目的設計與實施過程中經常忽略了課程之間的關聯(lián)性和知識的連貫性,往往只關注了單一的課程甚至是單一的知識點,而這在無形中也對高職學生的學習能力有了更高的要求。最后,在規(guī)定的教學時段內,要求高職學生熟練地掌握每門課程的主要知識點并且能夠靈活應用到不同的項目中,在有限的時間內,學生基本不可能將各門課程都學習好[3]。
通過對軟件技術專業(yè)項目化教學現(xiàn)狀和教學問題分析后,總結出在教學過程中除了要不斷改進教學方法和教學模式,還得在項目化教學內容的載體即教學項目設計上改進。將軟件技術專業(yè)課程進行教學項目設計改革,提出跨課程項目設計理念。課程內容按照是否融合了其他課程以及融合程度的原則,將軟件技術專業(yè)課程分為3個層次,分別為:單點技術課程、系統(tǒng)集成課程和智能融創(chuàng)課程。同一層次課程學習具有相似性且開設時間相近,所以同一層次課程教學過程均使用同一個完整的教學項目。項目的設計和選擇上要做到以下幾點,首先,項目盡可能涉及同一層次多門課程的知識,當然不同課程有著不同的側重點。其次,為了避免挫傷學生的學習積極性,項目本身不宜太復雜。最后,項目所涉及的領域要求是學生經常接觸且易于理解的,以提高學生學習興趣,減少學生額外的付出。
以成都職業(yè)技術學院軟件技術專業(yè)的跨課程教學項目為例,對同一層次的不同課程采用同一個教學項目,該項目是學生在生活中可以經常接觸到的并且容易理解的系統(tǒng)。學生在熟悉的領域中更快進入角色,有效地減輕學習壓力,提高學習動力[4]。本文將闡述不同層次課程的項目設計,以及相關課程的學習。
這類課程的學習不依賴其他課程,課程開設時間為大一學年,主要課程有:“C語言程序設計”“Java桌面程序設計”“Python”“C++”“數(shù)據(jù)庫技術”。這部分課程的主要內容包括: 程序設計語言的語法、編程思想以及數(shù)據(jù)庫理論知識,主要目的是使學生掌握程序設計語言的語法和編程思想,掌握數(shù)據(jù)庫技術及其應用。由于學生一進學校就會涉及選課的問題,所以學校選擇了學生比較熟悉的學生選課及成績管理系統(tǒng)作為單點技術課程的項目載體。
程序設計語言的學習主要讓學生用所學的程序設計語言知識去實現(xiàn)項目的具體功能,更多的是程序設計語言基本語法和基礎知識的應用。
關于數(shù)據(jù)庫理論知識的學習,首先讓學生回顧本學院選課系統(tǒng)的使用過程,總結這個系統(tǒng)的特點。根據(jù)已有的選課系統(tǒng),反過來進行學生選課及成績管理系統(tǒng)功能需求分析,概要設計。概要設計的主要任務是讓學生學會數(shù)據(jù)庫設計。數(shù)據(jù)庫設計包括的內容有:數(shù)據(jù)建模,繪制E-R圖,將E-R圖轉換成關系數(shù)據(jù)模型,驗證數(shù)據(jù)庫設計的正確性和合理性。數(shù)據(jù)庫設計好后接下來根據(jù)數(shù)據(jù)庫表的設計原則進行數(shù)據(jù)庫表結構的設計和管理,在數(shù)據(jù)庫表結構中添加數(shù)據(jù)并對數(shù)據(jù)進行管理。概要設計涉及數(shù)據(jù)庫編程以及數(shù)據(jù)庫日常管理與維護,為學生選課及成績管理系統(tǒng)中數(shù)據(jù)庫的設計與實現(xiàn)打好基礎。
系統(tǒng)集成課程學習內容依賴于先修課程,融合了前一層次單點技術課程知識,課程開設時間為大二學年。這類課程是軟件開發(fā)技術專業(yè)崗位能力課程,通過這類課程的學習使學生能夠從事軟件開發(fā)方面的工作。主要課程有:“移動應用開發(fā)技術”“基于JSP的Web程序設計(簡稱JSP課程)”基于J2EE的框架程序設計(簡稱J2EE課程)。系統(tǒng)集成課程是前一層次單點技術課程基礎上的進階,經過前面單點技術課程的學習,學生已經具備了程序設計語言和數(shù)據(jù)庫的理論知識,可以做出復雜度略高、貼近生活的系統(tǒng)。作為高職院校主力軍的“00后”,他們是移動互聯(lián)網“原住民”的一代,日常生活和娛樂活動都和互聯(lián)網密不可分,他們普遍具有網絡消費經歷。為此選擇了學生都使用過的網上訂餐系統(tǒng)作為系統(tǒng)集成課程的項目載體。
在JSP課程教學過程中,教師首先讓學生觀看美團外賣使用過程,對網上訂餐系統(tǒng)進行需求分析、數(shù)據(jù)庫設計,整理出每個功能的流程圖,最后使用JSP網站開發(fā)技術實現(xiàn)網上訂餐系統(tǒng)。
J2EE課程實現(xiàn)網上訂餐系統(tǒng)功能與JSP課程實現(xiàn)的系統(tǒng)功能一樣,不同的是使用Spring+SpringMVC+Mybatis框架來實現(xiàn)。在前面的JSP課程學習中學生已經分析了網上訂餐系統(tǒng),實現(xiàn)了系統(tǒng)功能,對網上訂餐系統(tǒng)的業(yè)務邏輯已經熟悉。在J2EE課程中,學生可以把主要的精力投入框架的學習中。首先引入Spring容器;控制層由JSP課程使用Servlet實現(xiàn),替換成由J2EE課程的SpringMVC框架實現(xiàn);持久層由JSP課程使用JDBC操作數(shù)據(jù)庫,替換成由J2EE課程的Mybatis框架操作數(shù)據(jù)庫。如此,逐層替換使學生更容易理解框架的作用以及如何使用。
移動應用開發(fā)技術課程開發(fā)網上訂餐系統(tǒng)移動App,J2EE課程開發(fā)的網上訂餐系統(tǒng)是Web服務器,為移動應用開發(fā)技術課程開發(fā)移動App提供接口和數(shù)據(jù)源,這樣J2EE課程和移動應用開發(fā)技術課程合作開發(fā),符合企業(yè)開發(fā)過程和市場需求,使學生盡早熟悉企業(yè)開發(fā)過程。
代表性的課程有綜合項目開發(fā)。通過這類課程的學習,學生的綜合職業(yè)技能得到有效的鍛煉,學生應用所學知識進行綜合問題分析與解決的能力進一步提高,為日后走向社會打下堅實的基礎。智能融創(chuàng)課程是以前一層次系統(tǒng)集成課程為基礎,是對所學知識的綜合應用。選擇合適的程序設計語言,編碼實現(xiàn)分析設計好的系統(tǒng)。實現(xiàn)的過程中,使用軟件測試技術設計測試用例,修改完善系統(tǒng),最后完成系統(tǒng)。在實施過程中根據(jù)學生的特長,進行分工合作,使學生體驗工作角色,為以后找工作打下基礎[4]。
為了驗證跨課程項目的有效性,我們對軟件技術專業(yè)2019/2020屆學生進行實踐探索,通過教學反饋與學生調查得知,該教學項目設計及教學實施過程獲得了較好的成效。由于選擇的項目貼近生活、學生經常接觸且同一層次課程使用同一個項目,對項目業(yè)務了然于心,可以把主要精力用于課程知識的學習,課程知識掌握更為牢固;跨課程項目設計與實施過程使學生理解了課程間的關聯(lián)性和知識的連貫性,學生的綜合運用知識能力和綜合技能水平得到提升;通過同一項目在不同的專業(yè)課程中的學習與應用,學生也容易找準自己的定位,清楚自己適合哪個工作類型和哪一類崗位,為以后的找工作指明了方向。經過完整項目的實現(xiàn),為后繼工作打下了很好的基礎。