于海燕 牛慶麗
摘要:計(jì)算機(jī)軟件是工科的重要組成部分,新工科背景下開展軟件類課程教學(xué)改革研究勢(shì)在必行。針對(duì)軟件類課程教學(xué)過程中存在知識(shí)重復(fù)、忽略課程銜接,不利于軟件人才培養(yǎng)的問題,提出新工科背景下多課程交叉軟件類課程教學(xué)改革思路,并以Java程序設(shè)計(jì)為例從修訂教學(xué)目標(biāo)、重構(gòu)教學(xué)內(nèi)容,設(shè)計(jì)優(yōu)秀案例,改革教學(xué)方法等方面進(jìn)行了教學(xué)改革,取得一定成效,為同類課程教學(xué)改革提供了參考。
關(guān)鍵詞:新工科;多課程交叉;軟件類;Java程序設(shè)計(jì);教學(xué)改革
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)31-0083-02
1概述
我國(guó)工科在校生約占高等教育在校生總數(shù)的1/3。然而,目前高等教育培養(yǎng)的工科人才與行業(yè)企業(yè)實(shí)際脫節(jié)太大,甚至存在綜合素質(zhì)與知識(shí)結(jié)構(gòu)方面的缺陷,無法滿足實(shí)現(xiàn)國(guó)家提出的“中國(guó)制造2025”、“互聯(lián)網(wǎng)+”等重大經(jīng)濟(jì)目標(biāo)的工科人才需求。在此背景下2017年,教育部提出新工科的概念,強(qiáng)調(diào)以信息化帶動(dòng)工業(yè)化,重新構(gòu)建核心知識(shí),將原來老知識(shí)升級(jí)換代,培養(yǎng)工程實(shí)踐能力強(qiáng)、創(chuàng)新能力強(qiáng)、具備國(guó)際競(jìng)爭(zhēng)力的高素質(zhì)復(fù)合型“新工科”人才。這個(gè)建設(shè)過程中需要大量以軟件開發(fā)為核心的信息技術(shù)對(duì)各專業(yè)提供支撐,據(jù)預(yù)測(cè)到2025年,新一代信息技術(shù)產(chǎn)業(yè)人才缺口將達(dá)到950萬人。作為信息化引領(lǐng)者的軟件類課程改革勢(shì)在必行,需要構(gòu)建全新的、適應(yīng)新工科建設(shè)的課程教學(xué)體系。
2軟件類課程教學(xué)現(xiàn)狀
軟件開發(fā)是針對(duì)現(xiàn)實(shí)中的特定問題進(jìn)行建模并最終利用計(jì)算機(jī)求解或控制。該過程可分為建模和實(shí)現(xiàn)兩部分,通常我們將實(shí)基于現(xiàn)軟件工程過程的關(guān)鍵理論知識(shí)分散在大學(xué)四年學(xué)習(xí)中,分為不同科目,最終實(shí)現(xiàn)對(duì)整個(gè)軟件工程開發(fā)過程的知識(shí)構(gòu)建,理想狀態(tài)是這些知識(shí)無縫銜接,實(shí)際上多數(shù)課程都是單一的知識(shí)傳授,忽視了基于多課程交叉的能力和素質(zhì)培養(yǎng),使得最后培養(yǎng)的人才無法滿足企業(yè)需求。
近年來,在新工科背景下許多學(xué)者對(duì)計(jì)算機(jī)軟件人才培養(yǎng)改革進(jìn)行了研究,研究者普遍認(rèn)為新工科背景下計(jì)算機(jī)軟件人才培養(yǎng)改革勢(shì)在必行,但多是對(duì)培養(yǎng)方案改革的理論研究,針對(duì)課程體系多課程交叉內(nèi)容的研究較少,付諸實(shí)施的更少。因此,研究軟件類課程體系中多課程交叉內(nèi)容,并以Java程序設(shè)計(jì)課程為例進(jìn)行實(shí)施非常必要。
3多課程交叉教學(xué)改革
3.1改革目標(biāo)
改革的目標(biāo)是通過梳理軟件類課程體系,確定具體課程在課程體系中的作用,進(jìn)而確定課程教學(xué)內(nèi)容和教學(xué)模式,使各門課程之間實(shí)現(xiàn)知識(shí)無縫銜接,實(shí)現(xiàn)計(jì)算機(jī)相關(guān)專業(yè)人才培養(yǎng)目標(biāo)。
3.2教學(xué)改革思路
按照改革目標(biāo)及人才培養(yǎng)課程體系將專業(yè)主干課程分為四個(gè)模塊:基礎(chǔ)類、設(shè)計(jì)類、建模類和實(shí)踐類。
基礎(chǔ)類包括數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng),計(jì)算機(jī)組成原理、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等,主要講授計(jì)算機(jī)學(xué)科基礎(chǔ)理論知識(shí)。基礎(chǔ)類在整個(gè)課程體系中起到理論支撐作用,在實(shí)際教學(xué)過程中往往存在講授理論學(xué)生不知以后有什么應(yīng)用,無法將后續(xù)課程與前面理論進(jìn)行連接,導(dǎo)致學(xué)生對(duì)課程重視程度不夠。改革過程中基礎(chǔ)類課程理論講解的同時(shí),在授課過程中注重后續(xù)課程學(xué)習(xí)的引導(dǎo)。
設(shè)計(jì)類包括c、Java、JSP、J2EE等,主要講授編程語(yǔ)言,開設(shè)在不同年級(jí),C主要注重基礎(chǔ)語(yǔ)法講解,Java注重面向?qū)ο笏枷?、JSP注重網(wǎng)絡(luò)編程,每個(gè)語(yǔ)言既有不同也相互聯(lián)系。設(shè)計(jì)類主要是現(xiàn)實(shí)軟件設(shè)計(jì),即編碼實(shí)現(xiàn),僅僅理解為編碼實(shí)現(xiàn)是狹隘的,也不利于整個(gè)人才培養(yǎng)目標(biāo)實(shí)現(xiàn),設(shè)計(jì)過程應(yīng)該包括建模及編碼實(shí)現(xiàn),實(shí)際上課過程中往往忽略,另外語(yǔ)言也是基礎(chǔ)類課程理論具體實(shí)踐的通道。改革過程中首先將不同語(yǔ)言重復(fù)部分縮減課時(shí),其次對(duì)后續(xù)課程作用不大的教學(xué)內(nèi)容刪減,再次將軟件開發(fā)理論滲透到課程中,程序設(shè)計(jì)過程按照軟件開發(fā)標(biāo)準(zhǔn)進(jìn)行,最后對(duì)理論在語(yǔ)言中的具體實(shí)現(xiàn)進(jìn)行說明,鞏固所學(xué)理論知識(shí)。
建模類包括軟件工程。建模類:整個(gè)軟件開發(fā)過程的理論,能夠?qū)⑿枨蠓治?,?shù)據(jù)庫(kù)設(shè)計(jì),項(xiàng)目管理、代碼實(shí)現(xiàn)等軟件開發(fā)過程系統(tǒng)。改革過程中理論聯(lián)系實(shí)際,以具體項(xiàng)目為切人點(diǎn)進(jìn)行分析。
實(shí)踐類主要有課程設(shè)計(jì)及課程實(shí)訓(xùn)。改革過程中,以某個(gè)語(yǔ)言為基礎(chǔ),以項(xiàng)目形式,按照軟件開發(fā)流程分析設(shè)計(jì)編碼實(shí)現(xiàn)整個(gè)軟件,將理論知識(shí)、程序設(shè)計(jì)語(yǔ)言、軟件開發(fā)理論有機(jī)結(jié)合,注重三者的實(shí)踐類性質(zhì)。
整個(gè)教學(xué)改革思路是首先課程定位,確定課程所在模塊及對(duì)整個(gè)人才培養(yǎng)目標(biāo)的支撐作用;其次優(yōu)化教學(xué)內(nèi)容,將教學(xué)內(nèi)容分解,對(duì)于重復(fù)或者支撐不強(qiáng)的教學(xué)內(nèi)容進(jìn)行刪減;最后具體實(shí)踐。
4Java程序設(shè)計(jì)課程改革實(shí)踐
按照多課程交叉軟件類教學(xué)改革思路,對(duì)Java程序設(shè)計(jì)課程進(jìn)行教學(xué)改革,根據(jù)其在課程體系中作用從修訂教學(xué)目標(biāo)、重構(gòu)教學(xué)內(nèi)容,設(shè)計(jì)優(yōu)秀案例,改革教學(xué)方法等方面進(jìn)行了教學(xué)改革。
4.1修訂教學(xué)目標(biāo)
根據(jù)軟件類專業(yè)培養(yǎng)目標(biāo),將Java語(yǔ)言定位為培養(yǎng)學(xué)生具備面向?qū)ο蟪绦蛟O(shè)計(jì)基本原理、通用Java編程技術(shù)及其對(duì)應(yīng)組件或者類庫(kù)等理論知識(shí)和開發(fā)技巧,使學(xué)生具備項(xiàng)目設(shè)計(jì)實(shí)施能力、團(tuán)隊(duì)協(xié)作能力,并能夠結(jié)合需求分析和建模技術(shù),設(shè)計(jì)出滿足實(shí)際需求的PC端Java程序,為后續(xù)課程打下堅(jiān)實(shí)基礎(chǔ)。
教學(xué)目標(biāo)強(qiáng)調(diào)不是啟蒙教學(xué),而是面向?qū)ο螅枰欢ㄕZ(yǔ)言基礎(chǔ),另外對(duì)后續(xù)課程的支撐作用。
4.2重構(gòu)教學(xué)內(nèi)容
根據(jù)教學(xué)目標(biāo),制定教學(xué)大綱,按照課程體系將教學(xué)內(nèi)容進(jìn)行重構(gòu),將教學(xué)內(nèi)容分成三部分,第一部分程序語(yǔ)言基礎(chǔ),第二部分面向?qū)ο蟪绦蛟O(shè)計(jì),第三部分通用JavaAPI及應(yīng)用。程序語(yǔ)言部分刪減了部分與c語(yǔ)言重復(fù)內(nèi)容課時(shí),此部分以c語(yǔ)言為基礎(chǔ)快速進(jìn)入Java語(yǔ)言環(huán)境,主要注重引導(dǎo)和熟悉Java環(huán)境。第二部分是重點(diǎn),理論與應(yīng)用并重,并將面向?qū)ο蠓庋b、繼承和多態(tài)靈活應(yīng)用在現(xiàn)實(shí)問題中。第三部分主要是掌握通用Java技術(shù),包括輸入出、集合、多線程、GUI、JDBC、網(wǎng)絡(luò)編程等內(nèi)容,此部分注重項(xiàng)目設(shè)計(jì),并將軟件開發(fā)規(guī)范融入課堂。在具體課時(shí)分配上與原來教學(xué)大綱相比,減少了程序語(yǔ)言基礎(chǔ)和GUI設(shè)計(jì)學(xué)時(shí),增加了面向?qū)ο笤O(shè)計(jì)學(xué)時(shí),主要考慮程序語(yǔ)言基礎(chǔ)與c語(yǔ)言大部分重復(fù),GUI設(shè)計(jì)在后續(xù)課程JSP、J2EE中用到較少。另外,為配合教學(xué)改革實(shí)施,在改革后對(duì)教材進(jìn)行了更換,選用傳智播客的《Java基礎(chǔ)案例教程》,教材內(nèi)容與教學(xué)大綱要求基本相符。
4.3設(shè)計(jì)優(yōu)秀教學(xué)案例
設(shè)計(jì)優(yōu)秀教學(xué)案例,原則是可重復(fù)、可迭代。比如面向?qū)ο笤O(shè)計(jì)這部分主要是類、封裝、繼承、多態(tài)的模擬,可采用Ani-mal和Dog類,每增加一部分內(nèi)容,在原有例子基礎(chǔ)上依次增加,這樣有助于學(xué)生理解。在通用Java技術(shù)部分也是采用學(xué)生類,分別在集合、輸入輸出、GUI、數(shù)據(jù)庫(kù)中使用,分別以不同方式實(shí)現(xiàn)數(shù)據(jù)操作,學(xué)生對(duì)比明顯也容易掌握J(rèn)ava對(duì)應(yīng)技術(shù)。
4.4改革教學(xué)方法
為保障教學(xué)改革實(shí)施效果,根據(jù)不同課程內(nèi)容改進(jìn)了教學(xué)方法,主要采用:多媒體教學(xué)、案例教學(xué)和基于問題式教學(xué)。
多媒體教學(xué):PPT講解+現(xiàn)場(chǎng)編程,將每一節(jié)課的內(nèi)容要點(diǎn),以PPT形式放映,同時(shí)配以板書形式,將授課內(nèi)容加以分類、整理和圖示,教學(xué)過程中將求解問題的過程以完整的、現(xiàn)場(chǎng)編程的形式,編寫成可運(yùn)行的程序進(jìn)行演示。
案例教學(xué):在第二和第三部分教學(xué)過程中,解釋完內(nèi)容要點(diǎn)和背后的理論、原理和思想后,提出一個(gè)案例需求用例,使用編程軟件,建立新的項(xiàng)目,現(xiàn)場(chǎng)編程完成需求分析,將課本理論知識(shí)應(yīng)用于案例中,使理論知識(shí)和編程實(shí)踐有效連接,增加感性認(rèn)識(shí),強(qiáng)化和鞏固所學(xué)內(nèi)容。
基于問題式教學(xué):在講解和編程穿插進(jìn)行的過程中,強(qiáng)調(diào)和學(xué)生的雙向互動(dòng),通過信息化軟件如學(xué)習(xí)通發(fā)布問題,調(diào)動(dòng)學(xué)生思考的積極性,運(yùn)用當(dāng)堂所學(xué)內(nèi)容解決實(shí)際需求問題,培養(yǎng)學(xué)生分析和解決問題的能力。
4.5改革實(shí)踐教學(xué)環(huán)節(jié)
傳統(tǒng)上機(jī)課以教師布置任務(wù),學(xué)生完成,講評(píng)的方式進(jìn)行,多年教學(xué)實(shí)踐過程中發(fā)現(xiàn)學(xué)生上機(jī)課學(xué)習(xí)興趣不足,個(gè)別存在網(wǎng)上搜索答案,應(yīng)付上機(jī)過程。通過調(diào)研發(fā)現(xiàn)學(xué)生對(duì)于上機(jī)內(nèi)容不感興趣,有兩個(gè)方面原因一是教師多是布置數(shù)學(xué)類型題目或者課后題,二是后期程序太長(zhǎng),上機(jī)課做不完。實(shí)踐教學(xué)改革中將上機(jī)題目進(jìn)行整改設(shè)置成貼近生活的題目,比如用多態(tài)模擬鋼琴、小提琴演奏,對(duì)后期有較長(zhǎng)程序,我們采用多次重復(fù)應(yīng)用題目,再原有基礎(chǔ)上增加新要求。另外上課過程中增加了教師知識(shí)點(diǎn)回顧、案例講解和課堂點(diǎn)評(píng),引導(dǎo)學(xué)生完成題目,增加學(xué)生學(xué)習(xí)興趣和動(dòng)力。
5改革成效
(1)新版人才培養(yǎng)方案體現(xiàn)了改革思路
多課程交叉軟件類教學(xué)改革思路已經(jīng)應(yīng)用在最新版人才培養(yǎng)方案修訂中,重新修訂了人才培養(yǎng)方案和教學(xué)大綱。
(2)取得教改項(xiàng)目支持
2018年獲得校級(jí)教學(xué)改革立項(xiàng)支持,2019年針對(duì)Java課程的混合式教學(xué)改革獲得河南省十三五規(guī)劃課題立項(xiàng)支持。
(3)學(xué)生成績(jī)較往年有顯著提高。
與改革前對(duì)比發(fā)現(xiàn)班級(jí)平均成績(jī)有顯著提高,另外學(xué)生學(xué)習(xí)興趣濃厚,個(gè)別學(xué)生獲得軟件設(shè)計(jì)大賽獎(jiǎng)項(xiàng)。
6結(jié)論
計(jì)算機(jī)軟件是工科的重要組成部分,新工科背景下開展軟件類課程教學(xué)改革研究勢(shì)在必行,基于多課程交叉的軟件類課程改革梳理了課程體系,以Java程序設(shè)計(jì)為實(shí)踐進(jìn)行了實(shí)施,取得一定成效,將繼續(xù)檢驗(yàn)、修正和完善教學(xué)改革。