秦 鵬 劉亮龍
(廣西師范大學漓江學院 廣西桂林 541000)
“面向?qū)ο蟪绦蛟O計”是計算機類專業(yè)的專業(yè)必修課,是支撐本科階段計算機專業(yè)培養(yǎng)目標的基礎骨干課程。教學對象是應用型本科院校計算機類專業(yè)大一年級學生。
a.選修課為“高級語言程序設計(C語言)”,具有一定的編程基礎和較強的動手能力。
b.對新事物有一定熱情、喜歡挑戰(zhàn)、主控性較強。
c.但自主學習能力較弱、工程實踐能力較差。
a.各章節(jié)內(nèi)容講解大多以單一的知識點、語法要點的理解和記憶為出發(fā)點,缺乏對知識的有機融合,忽視了對綜合問題分析能力的培養(yǎng)。b.理論教學大多以教師單純理論知識講解為主,學生對教學活動參與度不夠,忽略了學生的主體地位。c.實驗教學大多以驗證性實驗為主,學生只需機械地按照教師所講內(nèi)容驗證實驗結(jié)果是否正確,無法激發(fā)學生的積極性和創(chuàng)造性。d.課程考核形式單一,忽視過程監(jiān)控,缺乏可持續(xù)發(fā)展眼光。
作者通過爬蟲相關崗位職責及要求,制定了本課程的目標:a.掌握基本的軟件工程思想,明白軟件開發(fā)的基本流程;參與系統(tǒng)的需求調(diào)研和需求分析,參與項目概要設計、詳細設計、開發(fā)計劃等的編制;b.能夠根據(jù)文檔搭建系統(tǒng)開發(fā)環(huán)境,完成系統(tǒng)框架和核心代碼的實現(xiàn),進行程序代碼的編寫和測試。主要目標是強化對象分析能力、對象設計能力、規(guī)格化編程和測試能力。c.運用所學知識分析問題、探究性學習、解決問題,體會工程化軟件開發(fā)的思維過程。d.培養(yǎng)學生從理性角度透過現(xiàn)象深入本質(zhì),探究事物本源的精神,培養(yǎng)學生的思辨能力。e.培養(yǎng)學生愛國精神,提升文化素養(yǎng)。
本課程依托2020年校級B類教改立項項目“基于OBE應用型本科的程序設計類課程混合式教學探索與實踐”,主要教學思路如下:a.基于OBE教育理念,重新定義分層次、重實踐、重應用的課程目標,旨在培養(yǎng)學生掌握并應用主流軟件開發(fā)技術解決實際問題的能力、拓展自主學習能力和創(chuàng)新思維能力。b.以學生學習規(guī)律和學習心理為導向,借助精品資源和課堂派等教學平臺(工具),開展線上線下混合式教學,創(chuàng)新課堂的實施策略,促進教師與學生之間、學生與學生之間的交流互動和資源共享。c.線上線下課堂均設計了恰當、合理的預習、互動、測試、作業(yè)環(huán)節(jié),作為評價依據(jù),加強過程評價,完善反饋機制。
從工作過程需要的能力入手,反向設計,強調(diào)能力銜接。
1. 還原工作過程
作者圍繞傳統(tǒng)名著《西游記》,選取一些經(jīng)典橋段作為課程項目載體,按照工程化軟件開發(fā)的一般過程“需求分析——詳細設計——編碼實現(xiàn)——測試”,推動課堂教學,每個項目都按照軟件開發(fā)工作流程進行,從1.0 到2.0 遵循軟件開發(fā)的增量迭代思想,學習情景由易到難,技能掌握由淺入深,實施步驟由簡到繁,能力要求逐漸提高,提供素材越來越少,教師參與度逐漸降低,由學生主導學習過程。
2. 設定能力目標
工程化軟件開發(fā)過程37個能力單元(根據(jù)企業(yè)崗位職責設定每個單元的能力目標)考核形式需求分析1.1 深入分析市場需求,對項目或產(chǎn)品進行分析整理。1.2 持續(xù)分析客戶行為,深入挖掘業(yè)務功能,不斷完善產(chǎn)品功能。1.3 對產(chǎn)品進行需求驗證。1.4 與客戶溝通確認。完善《需求規(guī)格說明書》
詳細設計2.1 參與產(chǎn)品前期界面研究,構(gòu)建產(chǎn)品原型。2.2 利用原型進行任務分析、可行性測試,制作概念演示。2.3 對整個模塊軟件架構(gòu)、關鍵構(gòu)件、接口進行定義與設計。2.4 進行軟件系統(tǒng)框架設計,并完成框架驗證。完善《軟件詳細設計書》編碼實現(xiàn) 3.1 完成UI的詳細設計和產(chǎn)品實現(xiàn)工作。3.2 按《軟件詳細設計書》進行代碼實現(xiàn)。編碼測試 4.1 熟悉基本的測試方法、流程。4.2 編寫測試策略、測試用例,測試報告。編寫測試文檔并完成測試
3.歸納知識目標
從教材歸納出知識點,從面試重點當中梳理出核心知識點然后根據(jù)項目載體重構(gòu)知識體系,把這些知識點分布到每個項目當中去。
Java語法基礎JVM相關、Java運行機制、程序結(jié)構(gòu)、JDKJREJVMIDE、標識符、關鍵字、常量、變量、基本數(shù)據(jù)類型、引用數(shù)據(jù)類型、類型轉(zhuǎn)換、作用域、運算符、順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組JVM內(nèi)存模型和結(jié)構(gòu)面向?qū)ο箢惖亩x,對象的創(chuàng)建和引用,方法,成員變量,局部變量,封裝,構(gòu)造方法,重載,重寫,Static,this,super,final,繼承,抽象類,接口,多態(tài),instanceof,內(nèi)部類,Object類型:equals, hashcode,String 類型的特點,訪問權限修飾符重載與重寫的區(qū)別,覆蓋與隱藏,==和equals比較,抽象類與接口比較集合Collection和Iterator接口,Set集合,List集合,Queue集合,HashMap和HashSet,Collections工具類HashMap的工作原理,ArrayList和LinkedList區(qū)別異常異常處理機制,Runtime異常,Throwable,Exception,RuntimeException,Error throw和throws區(qū)別,finally代碼塊和finalize()方法區(qū)別AWT和Swing容器,布局管理器,常用組件,事件處理,監(jiān)聽器,繪圖布局管理器、事件處理,監(jiān)聽器
課程實施策略為“正向?qū)嵤?,強調(diào)實踐遞進,形成性培養(yǎng),采用“線上+線下,課內(nèi)+課外,企業(yè)+學?!被旌辖虒W組織模式。
a.線上(課前和課后)。借助QQ群、傳智播客、課堂派等工具(平臺),讓學生完成預習、測驗、作業(yè)、話題討論、觀看回放等任務,旨在培養(yǎng)學生自主拓展學習能力和科學嚴謹?shù)膶W習態(tài)度。
b.線下(課中)。設計出符合學生心理的產(chǎn)出目標,引導學生運用工程化軟件開發(fā)思維方式分析解決問題,借助課堂派推進考勤、直播、互動、測試、話題等活動,激發(fā)學生的學習熱情,使學生聚焦在課堂。
c.線上線下課堂環(huán)節(jié)均有數(shù)據(jù)留存和分析,作為平時成績(40%)。一方面,過程考核數(shù)據(jù)客觀;另一方面,可以督促學生自主學習。
d.軟件孵化中心全天候開放,保障課外訓練,企業(yè)實訓校外實習共同推進課程改革。學生可提前申請入駐,提供教學資源如開發(fā)環(huán)境、工具等,指導老師定期輔導。學生可以充分利用課余時間自由地到實訓室選擇自己感興趣的項目進行訓練。
與東軟、粵嵌、易唐等IT企業(yè)簽訂合作協(xié)議,打造校外實習基地,同時與多家企業(yè)合作校內(nèi)實訓課程,已經(jīng)初步形成校內(nèi)外結(jié)合、體系完善的IT人才培養(yǎng)模式。
圖1 教學組織形式
隨著教學改革的不斷深入,教學方法的改革,學生操作技能總體水平不斷提高。絕大部分學生操作基本功扎實,能夠獨立頂崗。學生對本課程的認可度大大提升,成績有明顯提高;用人單位對畢業(yè)生滿意度達到86%,認為本專業(yè)學生動手能力強,能很快適應崗位的要求,具有吃苦耐勞、團結(jié)協(xié)作的精神,具有較強的分析問題、解決問題的能力。歷屆學生在藍橋杯、中國高校計算機大賽——天梯賽、廣西大學生計算機應用大賽、全國大學生程序設計大賽等各類專業(yè)比賽中獲獎良多。
整門課程圍繞“西游記”經(jīng)典橋段展開,一方面,引起學生的學習興趣;另一方面,把中國傳統(tǒng)文化與專業(yè)知識相結(jié)合,提高工科生的文化素養(yǎng),這樣,學生們就會樂意去研讀類似文化名著,也愿意從專業(yè)知識角度思考問題、解決問題,文化素養(yǎng)與專業(yè)知識相互融合、相互滲透。
課程整體上基于OBE教育理念,首先,設計合理的產(chǎn)出目標,再運用工程化軟化開發(fā)方式一步步解決問題,最終達到產(chǎn)出目標。不同項目載體又滲透軟件開發(fā)中的持續(xù)改進和迭代思想。