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