快速了解學(xué)術(shù)期刊目錄級別、選刊、行業(yè)刊物等解決方案
近些年,越來越多高校的計算機(jī)科學(xué)與技術(shù)專業(yè)將鍛煉及培養(yǎng)學(xué)生的計算思維能力作為計算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)。計算思維在地理信息科學(xué)專業(yè)也越來越受到人們的關(guān)注!禬eb程序設(shè)計》是一門綜合性和實踐性較強(qiáng)的課程,對于學(xué)生操作技能、創(chuàng)新能力以及其綜合素質(zhì)等方面有著舉足輕重的作用。對基于計算思維能力培養(yǎng)的Web程序設(shè)計教學(xué)進(jìn)行研究和分析,設(shè)計以計算思維模式為主線的課程教學(xué)目標(biāo)及內(nèi)容。
《教育科學(xué)》主要刊登:教育改革方面的論文及實驗報告、當(dāng)前社會和教育界關(guān)注的重大教育方面的問題、國內(nèi)外教育理論與實踐研究的最新成果。讀者對象為教育科學(xué)研究工作者、教育行政管理人員、師范院校師生。
《Web程序設(shè)計》課程是利用Java服務(wù)器頁面(Java Server Pages, JSP)、交互服務(wù)器頁面(Active Server Pages, ASP)或超文本預(yù)處理器(Hypertext Preprocessor, PHP)等網(wǎng)頁設(shè)計技術(shù),進(jìn)行Web應(yīng)用程序的開發(fā)教學(xué)課程。其通常作為本科計算機(jī)科學(xué)與技術(shù)的專業(yè)必修課,其先修課程包括《計算機(jī)網(wǎng)絡(luò)》和《Java程序設(shè)計》等課程,是一門理論與實踐緊密結(jié)合且應(yīng)用廣泛的課程。該課程能夠鍛煉學(xué)生的網(wǎng)頁工程項目設(shè)計與編程能力。
筆者從事地理信息科學(xué)(Geographic Information Science, GIS)專業(yè)的教學(xué)與科研工作,由于專業(yè)領(lǐng)域不同和學(xué)時少等方面的限制,與計算機(jī)科學(xué)與技術(shù)專業(yè)不同,本專業(yè)并未開設(shè)《計算機(jī)網(wǎng)絡(luò)》和《Java程序設(shè)計》等相關(guān)先修課程。而開設(shè)的先修計算機(jī)課程包括《計算機(jī)基礎(chǔ)》《C程序設(shè)計》《C#程序設(shè)計》《數(shù)據(jù)庫原理及方法》《計算方法》,這些課程為理解和掌握編程設(shè)計及計算思維埋下伏筆,本課程的開設(shè)為后修課程《WebGIS開發(fā)及應(yīng)用》等課程的學(xué)習(xí)奠定良好的Web開發(fā)基礎(chǔ)。因此,《Web程序設(shè)計》課程同樣具有非常重要的地位。
由于本課程涉及的知識面相對較廣,具體包括面向?qū)ο蟪绦蛟O(shè)計、Java、HTML、CSS、JavaScript以及JSP等方面的內(nèi)容,該課程設(shè)計的總課時為48學(xué)時,其中理論學(xué)時為32學(xué)時,實踐學(xué)時為16學(xué)時。由于該課程學(xué)時少和內(nèi)容多,給筆者在講授時增加了一些難度,并給學(xué)生全面理解、掌握及實踐本課程帶來了一定的困難。為克服以上困難,筆者采用面向計算思維的方式講授該課程,以構(gòu)建學(xué)生計算思維為主導(dǎo)的教學(xué)方式提升學(xué)生的知識理解能力和運用能力。
1 以計算思維能力培養(yǎng)為課程教學(xué)體系
計算思維(Computational Thinking)是借助計算機(jī)科學(xué)的基本原理和核心概念去解決問題、設(shè)計程序和理解人類的日常活動,是計算機(jī)類相關(guān)課程不可或缺的基礎(chǔ)思維模式[1]。計算思維主要特點是采用啟發(fā)式推理方式對問題進(jìn)行建模求解,換言之,不確定情況下的規(guī)劃、學(xué)習(xí)和調(diào)度[1-2]。近些年,許多高校將培養(yǎng)學(xué)生的計算思維能力作為計算機(jī)基礎(chǔ)教學(xué)的核心任務(wù)。事實上,目前計算思維融入非計算機(jī)本科專業(yè)的培養(yǎng)方案的層次仍然尚淺,教師和學(xué)生對計算思維綜合理解程度不深[3-4]。
通過筆者近些年的講授計算機(jī)類課程的教學(xué)經(jīng)驗,總結(jié)該課程的特點即綜合性與實踐性較強(qiáng),不同于其他GIS專業(yè)課程,由于Web技術(shù)的推陳出新,通常造成教材無法及時滿足教學(xué)的需要,以往機(jī)械的教學(xué)方式已無法滿足學(xué)生掌握Web程序設(shè)計能力的需要[5-6]。培養(yǎng)編程設(shè)計類課程思維模式的構(gòu)建非常重要,能夠讓學(xué)生建立自身的計算思維模式,計算思維相比于機(jī)械的代碼編寫,目標(biāo)性、自主性以及趣聞性增加了許多[7-8],運用面向計算思維模式的Web程序設(shè)計教學(xué),實現(xiàn)對相關(guān)類編程設(shè)計的理解與運用,能起到觸類旁通的效果。
2 面向計算思維模式的Web程序設(shè)計教學(xué)設(shè)計
2.1 面向計算思維教學(xué)目標(biāo)的設(shè)立
在開展學(xué)習(xí)本課程前,學(xué)生已完成計算機(jī)編程類若干先修課程的學(xué)習(xí),通過《C程序設(shè)計》的學(xué)習(xí)到基本的編程結(jié)構(gòu)思想,如順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu);與此同時也學(xué)習(xí)到C#中面向?qū)ο蟮念、接口、命名空間、委托與事件等方面內(nèi)容;诖,在確立本專業(yè)《Web程序設(shè)計》課程教學(xué)目標(biāo)時,應(yīng)充分考慮當(dāng)前授課對象、先修課程及學(xué)習(xí)能力,重點培養(yǎng)學(xué)生面向計算思維Web編程設(shè)計能力,并據(jù)此設(shè)計本課程面向計算思維的教學(xué)目標(biāo)。
由于在先修課程《C程序設(shè)計》和《C#程序設(shè)計》尚未涉及計算思維培養(yǎng)方面,造成學(xué)生學(xué)習(xí)的編程設(shè)計知識相對比較零散,缺乏整體性和側(cè)重性。因此在制定本課程教學(xué)目標(biāo)時,應(yīng)充分挖掘計算思維在計算機(jī)類型課程中的作用。實際上,在本課程教學(xué)過程中,計算思維能力不僅僅作為一種核心能力來培養(yǎng),同時也是教學(xué)中的核心內(nèi)容。本課程教學(xué)中以理論教學(xué)與實踐教學(xué)相結(jié)合,教學(xué)目標(biāo)主要為計算機(jī)思維的培養(yǎng),教學(xué)主要內(nèi)容為程序設(shè)計思維的引導(dǎo)與構(gòu)建,并在課上進(jìn)行適當(dāng)?shù)陌咐绦蛘{(diào)試演示,并結(jié)合上機(jī)實踐增加學(xué)生學(xué)習(xí)本課程的計算思維實踐能力的培養(yǎng),在每次上機(jī)實踐中,為學(xué)生準(zhǔn)備若干上機(jī)編程測試題,并將其作為實踐訓(xùn)練,并將完成編程測試完成較好的同學(xué)的作品作為范本,并提供其在講臺上匯報、講解其編程作品的機(jī)會。以此形式來激勵學(xué)生的本課程編程興趣,提升學(xué)生獲得編程鍛煉后成功的認(rèn)同感。
2.2 面向計算思維教學(xué)內(nèi)容的設(shè)計
在GIS學(xué)科中,本課程屬于理論與實踐并重型課程。要求教師運用理論與實踐結(jié)合的方式,具體地,結(jié)合每一章節(jié)所需完成的知識目標(biāo)和技能目標(biāo),將本課程的教學(xué)模塊分為三個部分:分別是Java(后端開發(fā)基礎(chǔ))、Web基礎(chǔ)編程(前端開發(fā)基礎(chǔ))和Web高級編程。教學(xué)內(nèi)容安排及教學(xué)目標(biāo)如表 1所示。
從表 1中可以看出,將教學(xué)內(nèi)容分為理論和實踐教學(xué)兩個部分,其課時安排為32:16學(xué)時。平均來講,每周4學(xué)時的理論課和2學(xué)時的實踐課。由于Java在編程程序設(shè)計領(lǐng)域中具有較高市場占有率,如圖 1所示。從圖中可以看出,截至2016年各類編程語言的使用頻率統(tǒng)計,Java程序設(shè)計語言排名僅次于SQL。由于筆者所在學(xué)院先修課程中并未開設(shè)Java課程,而是取而代之的《C#程序設(shè)計》課程。該課程的開設(shè)與Java課程并不矛盾,Java與C#兩者均為完全的面向?qū)ο蟪绦蛟O(shè)計,在程序設(shè)計課程中有較多的相似之處,如本專業(yè)均未開設(shè)這門課程《面向?qū)ο蟪绦蛟O(shè)計》,而面向?qū)ο蟮乃枷朐贘ava與C#中有著重要體現(xiàn),筆者借助于這些相似之處將這兩門面向?qū)ο笳Z言進(jìn)行有機(jī)融合,利用知識遷移的方式將C#學(xué)習(xí)過的面向?qū)ο蟮木幊趟枷脒w移至Java教學(xué)中去,使學(xué)生更容易理解Java的核心原理。
在完成第一分部Java(后端開發(fā)基礎(chǔ))學(xué)習(xí)后,由于本專業(yè)學(xué)生先修課程中并無Web相關(guān)課程,其Web基礎(chǔ)幾乎為零,因此,本課程在第二部分開設(shè)Web編程知識的講解,主要包括對HTML、CSS和JavaScript三類前端開發(fā)進(jìn)行講解,該部分內(nèi)容的開設(shè)為最后一部分Web高級編程奠定基礎(chǔ);最后一部分是本課程的核心,其中包括JSP、JavaBean、Servlet、MVC和Struts等內(nèi)容,通過該部分使學(xué)生掌握實際工程項目開發(fā)的編程思想、結(jié)構(gòu)、框架、理念等知識,并結(jié)合工程案例進(jìn)行系統(tǒng)闡述與講解,提升項目實踐動手能力及完整項目研發(fā)能力。
在本課程實踐教學(xué)方面,將綜合驗證實驗、綜合實驗以及設(shè)計性實驗等方式完成實踐教學(xué),積極促進(jìn)理論知識和方法的理解與運用,使學(xué)生在積極動手編程中培養(yǎng)計算思維能力。
2.3 面向計算思維教學(xué)效果評價
本課程教學(xué)的最終目的是分析解決工程項目中的實際問題,并運用計算思維來對問題進(jìn)行抽象、分析、構(gòu)建問題模型,對問題進(jìn)行總體設(shè)計、詳細(xì)設(shè)計以及編程實現(xiàn)。計算思維在系統(tǒng)設(shè)計階段至關(guān)重要,而編程語言是實現(xiàn)計算思維的載體。對于某種編程語言中的語法、語句細(xì)節(jié)的學(xué)習(xí),是具有較多相似之處的。對于解決問題的思路、算法以及設(shè)計及編程實現(xiàn)是實現(xiàn)問題有效解決的主要手段及過程。應(yīng)對此過程進(jìn)行重點講解與考察,避免知識點的孤立與分散,促進(jìn)學(xué)生聚焦本課程所需掌握的重點知識。
為衡量教學(xué)效果,對學(xué)生的考核評價,倡導(dǎo)靈活多樣的考核原則,根據(jù)學(xué)生的平時出勤、課堂提問、完成作業(yè)的情況以及期末考試卷面成績來進(jìn)行綜合評定?紤]到本課程是一門編程類課程,對動手能力的要求比較高,因此,筆者在布置作業(yè)方面,應(yīng)盡量減少書面部分,增加實踐上機(jī)部分。
3 結(jié)論
本文針對面向計算思維的Web程序設(shè)計課程的教學(xué)目標(biāo)、內(nèi)容、方法、考核及評價方式等方面進(jìn)行了有益的探索,取得了較為良好的教學(xué)效果,學(xué)生的學(xué)習(xí)興趣和動手能力得到了大大提高。今后,筆者將繼續(xù)努力提高計算機(jī)類型課程的教學(xué)水平與能力,逐步推廣計算思維在該類型課程中發(fā)揮的功效,更好地滿足學(xué)生的就業(yè)需求和市場對人才的需求。
參考文獻(xiàn):
[1] Wing J M. Computational thinking[J]. Communications of the Acm, 2006, 49(3):33-35.
[2] 李曉明, 蔣宗禮, 王志英, 等. 積極研究和推進(jìn)計算思維能力的培養(yǎng)[J]. 計算機(jī)教育, 2012, 161(5):1-1.
[3] 王節(jié). 高職學(xué)生計算思維現(xiàn)狀及發(fā)展對策的研究與實踐[D]. 重慶師范大學(xué), 2015.
[4] 郭喜鳳, 武仁杰, 米海英. 計算思維能力培養(yǎng)模式探索[J]. 河北北方學(xué)院學(xué)報(社會科學(xué)版), 2012, 28(5):115-116.
[5] 楊孜茁, 方志軍, 黃勃. 《Web程序設(shè)計》課程建設(shè)策略研究[J]. 軟件導(dǎo)刊(教育技術(shù), 2017, 16(1):18-20.
[6] 李余琪. “web程序設(shè)計”教學(xué)改革探討[J]. 中國電力教育, 2012(19):65-66.
[7] 梁艷瑞. 基于App Inventor的高職學(xué)生計算思維培養(yǎng)研究[D]. 四川師范大學(xué), 2015.
[8] 葛明珠. 基于計算思維的協(xié)作學(xué)習(xí)模式在中學(xué)信息技術(shù)課程中的實踐與研究[D]. 陜西師范大學(xué), 2014.
硬核推薦閱讀
SCI、SCIE
SCIE、SCI
SCIE
SCIE
SCIE
SCI、SCIE
SCIE
SSCI、SCI、SCIE
SCIE
SCIE
SCI、SCIE
SSCI、SCIE