



摘要:Web應(yīng)用類課程由于其固有特性,尚未形成穩(wěn)定成熟的建設(shè)方案。文章調(diào)研國外若干知名大學(xué)計(jì)算機(jī)專業(yè)開設(shè)Web應(yīng)用類課程的情況,從教學(xué)內(nèi)容、課程實(shí)踐、考核方式、教材資料等方面進(jìn)行比較和分析。
關(guān)鍵詞:Web應(yīng)用;課程建設(shè);課程設(shè)置分析
文章編號:1672-5913(2013)18-0052-06
中圖分類號:G642
0 引言
傳統(tǒng)上,Web應(yīng)用類課程不屬于計(jì)算機(jī)專業(yè)的經(jīng)典核心課程,但隨著應(yīng)用和開發(fā)環(huán)境逐漸向Web遷移,國內(nèi)外越來越多的高校開始在計(jì)算機(jī)專業(yè)中開設(shè)與該領(lǐng)域內(nèi)容相關(guān)的課程,對其課程建設(shè)研究也隨之得到相應(yīng)的重視。國際上,IEEE-CS和ACM聯(lián)合發(fā)布的本科生信息技術(shù)教育計(jì)劃IT2008m中首次將Web系統(tǒng)和技術(shù)(Web Systems and Technologies,WS)作為基本知識領(lǐng)域,認(rèn)為其是與程序設(shè)計(jì)、網(wǎng)絡(luò)、數(shù)據(jù)庫等并列的基本知識支柱,并給予了22個(gè)核心學(xué)時(shí);2012年發(fā)布的本科生計(jì)算機(jī)科學(xué)教育計(jì)劃草案CS2013中也首次添加了基于平臺的開發(fā)(Platform-Based Development,PBD)這個(gè)可選基本知識領(lǐng)域,其中列舉的典型平臺就是Web和移動設(shè)備。
雖然有相關(guān)規(guī)范及建議做原則性的指引,Web應(yīng)用類課程在內(nèi)容設(shè)計(jì)和剪裁上仍然面臨相對穩(wěn)定的教學(xué)內(nèi)容和飛速發(fā)展的業(yè)界技術(shù),偏重理論講解的課堂教學(xué)傳統(tǒng)和注重動手實(shí)踐的課程特性等突出矛盾,也面臨如何與其他傳統(tǒng)課程銜接和交叉的問題。近年來移動互聯(lián)網(wǎng)、云計(jì)算、社會計(jì)算等領(lǐng)域的飛速發(fā)展進(jìn)一步突出了上述矛盾和問題,使得形成穩(wěn)定成熟建設(shè)方案的努力顯得更為困難。為更好地借鑒國外先進(jìn)教學(xué)經(jīng)驗(yàn),筆者對美國部分大學(xué)的Web應(yīng)用類課程建設(shè)情況進(jìn)行了調(diào)研、比較和分析。
1 課程開設(shè)情況
所調(diào)研的美國大學(xué)本科階段Web應(yīng)用基礎(chǔ)類課程開設(shè)情況見表1。對比US News關(guān)于大學(xué)計(jì)算機(jī)排名和表1可以看出,美國大學(xué)Web應(yīng)用類課程的開設(shè)反映了學(xué)校鮮明的學(xué)科和院系設(shè)置特點(diǎn)。從調(diào)研情況看,部分大學(xué)有優(yōu)勢的應(yīng)用學(xué)科,相應(yīng)地開設(shè)了Web應(yīng)用類課程,甚至開設(shè)了多門;而其他大學(xué)則沒有開設(shè),甚至個(gè)別大學(xué)沒有開設(shè)任何應(yīng)用類課程,包括選修課。
2 課程要素分析
為進(jìn)一步深入分析,本文選取了表l中斯坦福大學(xué)的CS142、華盛頓大學(xué)的CSE 154、北卡羅來納大學(xué)的COMP 426和馬薩諸塞大學(xué)的CMPSCI 326這4門課程作為典型課程。這4門課程具有以下共同特點(diǎn):連續(xù)開設(shè)、面向無Web應(yīng)用技術(shù)基礎(chǔ)的學(xué)生、課程網(wǎng)站提供了詳盡的公開材料。
2.1 課程概況
所選4門課程基本數(shù)據(jù)對比見表2。從相關(guān)院系的教學(xué)計(jì)劃可以得知,CS142和CSE154相當(dāng)于國內(nèi)的基礎(chǔ)課,COMP426相當(dāng)于方向課,而CMPSC1326相當(dāng)于專業(yè)選修課。從后繼章節(jié)可以看出,不同的課程地位和學(xué)制(小學(xué)期或是大學(xué)期)直接影響了課程內(nèi)容的安排。另外從前導(dǎo)課程情況看,一般Web應(yīng)用課程都放在程序設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)課程之后,在學(xué)生對軟件開發(fā)有了一定的基本概念后再開設(shè)。在調(diào)研過程中,也發(fā)現(xiàn)有個(gè)別高校將JavaScript作為新生程序設(shè)計(jì)的入門語言。從以往實(shí)踐看,JavaScript語言雖然有開發(fā)環(huán)境設(shè)置簡便的優(yōu)點(diǎn),但語言本身設(shè)計(jì)過于靈活,并不合適作為新生的入門語言;而把Web課程放在數(shù)據(jù)結(jié)構(gòu)之后開設(shè),學(xué)生確實(shí)更易接受。在調(diào)研中也發(fā)現(xiàn),各課程均比較重視Lab或TAdiscuss section,這主要是因?yàn)閃eb應(yīng)用開發(fā)涉及的語言、工具和環(huán)境多而復(fù)雜,因此有必要平緩學(xué)生在這方面的學(xué)習(xí)曲線,減輕其學(xué)習(xí)負(fù)擔(dān),使其可以將主要精力放在課程核心內(nèi)容的理解和實(shí)踐上,這也體現(xiàn)了Web應(yīng)用課程的工程性特性。
2.2 課程內(nèi)容
所選4門課程授課內(nèi)容對比見表3。從調(diào)研情況看,Web應(yīng)用課程內(nèi)容一般均會覆蓋客戶端和服務(wù)器端,且在服務(wù)器端一般會選擇PHP或者Ruby等開源語言,這點(diǎn)與國內(nèi)主要選擇C#或Java語言有較大差別。值得一提的是,隨著Node.js的發(fā)布,JavaScript已經(jīng)成為新興的服務(wù)器端開發(fā)語言,CMPSCI326就選擇JavaScript及其框架作為唯一的編程語言。考慮到Node,,js這種事件驅(qū)動型異步編程模型對傳統(tǒng)服務(wù)器端開發(fā)模型的顛覆,在將來的課程設(shè)計(jì)中應(yīng)關(guān)注這一趨勢。根據(jù)調(diào)研,在課程內(nèi)容安排中,在JavaScript語言介紹時(shí)各課程基本都會結(jié)合jQuery庫進(jìn)行講解,這體現(xiàn)了jQuery已成為JavaScript客戶端開發(fā)事實(shí)上的標(biāo)準(zhǔn)庫這一現(xiàn)狀;各課程也均為AjaX和安全安排了一定的課時(shí),這既與業(yè)界現(xiàn)狀相吻合,也符合IT2008中對WS知識領(lǐng)域的設(shè)定。
此次涉及的4門課程在設(shè)定開發(fā)環(huán)境時(shí)不約而同地提到,雖然現(xiàn)在存在Eclipse等功能強(qiáng)大的IDE開發(fā)環(huán)境,但由于這些環(huán)境設(shè)定比較復(fù)雜,本身有一定的學(xué)習(xí)難度和成本,所以均建議初學(xué)者使用普通的文本編輯器進(jìn)行開發(fā)。
在授課順序方面,調(diào)研中的大部分課程均選擇在簡單介紹HTML和CSS后,直接轉(zhuǎn)人服務(wù)器端,再轉(zhuǎn)回客戶端進(jìn)行JavaScript和DOM方面的講解。我們認(rèn)為,這有利于學(xué)生盡早對Web應(yīng)用的B/S架構(gòu)有個(gè)宏觀的認(rèn)識,也便于表單處理、Cookie和Ajax等內(nèi)容的講授和理解;尤其是HTML5規(guī)范的初步定型,在其中定義了很多涉及服務(wù)器端交互的API,在未來課程教授從傳統(tǒng)的XHTML向HTML5遷移的過程中,盡早形成這種宏觀認(rèn)識尤其重要。
在授課內(nèi)容的選擇方面,調(diào)研結(jié)果也顯示了相對穩(wěn)定的教學(xué)內(nèi)容和飛速發(fā)展的業(yè)界技術(shù)之間的矛盾。一方面,相對穩(wěn)定的前沿技術(shù)尚未被廣泛采納,如在2012-2013年,HTML5和CSS3已被現(xiàn)代瀏覽器廣泛支持,尤其在移動Web應(yīng)用領(lǐng)域應(yīng)用廣泛,但所調(diào)研的大部分課程尚未體現(xiàn)這方面的技術(shù)進(jìn)步,部分課程在最后的未來展望講座中對這方面進(jìn)行了簡要介紹;另一方面,對于一些有價(jià)值的前沿技術(shù),部分課程又做了相對激進(jìn)的引入,如作為課程典型的CMPSCI326,就摒棄了傳統(tǒng)的服務(wù)器端腳本語言,全程使用JavaScript進(jìn)行教授,并且在課程中使用大量課時(shí)廣泛介紹了Handlebars.js、Backbone.js、Requirejs、Heroku等前沿框架和平臺。在將來的課程設(shè)計(jì)中,對前沿技術(shù)的引入和剪裁,無疑是一個(gè)值得進(jìn)一步探討的問題。
2.3 課程考核
所選4門課程考核方式和內(nèi)容對比見表4。從調(diào)研情況看,大部分課程都將動手實(shí)踐作為主要的考核方式,在分?jǐn)?shù)配比中給予了首要權(quán)重。在動手實(shí)踐的具體表現(xiàn)上,基本上各課程均圍繞一個(gè)具體的網(wǎng)站項(xiàng)目組織,最終提交物都是一個(gè)完整的網(wǎng)站應(yīng)用;同時(shí)各課程基本都將完成應(yīng)用的過程分割為與課堂講解同步的若干獨(dú)立階段,要求分階段提交,每個(gè)階段時(shí)間不超過3周。在這點(diǎn)上,國外課程的組織明顯比國內(nèi)要更細(xì)致。國內(nèi)往往是以月為單位,甚至以學(xué)期為單位布置Project,使得對學(xué)生實(shí)踐學(xué)習(xí)部分的中間過程監(jiān)控不夠,既難以得到教學(xué)效果的反饋,也容易使學(xué)生產(chǎn)生最后突擊抄襲現(xiàn)象。當(dāng)然,多階段提交必然會對授課教師和助教產(chǎn)生較大壓力,因此必須借鑒國外經(jīng)驗(yàn),設(shè)計(jì)程序?qū)W(xué)生提交物進(jìn)行部分自動評判,這又需要一定的時(shí)間積累和工作量投入,應(yīng)是下階段課程建設(shè)的努力方向。
在Project內(nèi)容、難度和組織方式上,面向低年級學(xué)生課程和面向高年級學(xué)生課程明顯不同。面向低年級學(xué)生的課程Project內(nèi)容更多地圍繞具體的知識點(diǎn)組織,開放性小,難度較低,且多要求個(gè)人獨(dú)立完成;面向高年級學(xué)生的課程Project內(nèi)容更多地根據(jù)項(xiàng)目進(jìn)度組織,開放性較大,難度較高,往往會要求組隊(duì)完成。從實(shí)踐來看,組隊(duì)完成后的評分具有一定的難度,為平衡這點(diǎn),COMP426的組隊(duì)要求采用結(jié)對編程(Pair Programming)的模式,而CMPSC1326將每次的Project分為若干Task,部分Task要求個(gè)人獨(dú)立完成,部分Task要求團(tuán)隊(duì)完成,針對團(tuán)隊(duì)給分。
對期末考試形式和內(nèi)容的選擇充分體現(xiàn)了偏重理論講解的課堂教學(xué)傳統(tǒng)和注重動手實(shí)踐的課程特性等突出矛盾。雖然課程也有一定的理論內(nèi)容,但大部分內(nèi)容難以通過傳統(tǒng)的書面考試進(jìn)行考核。因此所調(diào)研的課程一方面普遍降低了書面考試的占比,另一方面通過開卷考核代碼讀寫的形式進(jìn)行變形的實(shí)踐測試。我們認(rèn)為,除非如CMPSCI326一樣完全取消書面考試,否則在目前上機(jī)考試難以實(shí)行的條件下,可行的方法應(yīng)是降低書面考試成績的占比,更多地通過Project的提交和面試來對學(xué)生進(jìn)行考核。
2.4 課程教材和資源
所選4門課程教材和參考資源情況對比見表5。從調(diào)研情況看,由于Web應(yīng)用類課程所具有的尚未形成成熟穩(wěn)定的建設(shè)方案,沒有形成經(jīng)典的教科書;課程內(nèi)容龐雜,涉及面廣;在線資源豐富;技術(shù)更新迅速等特點(diǎn),大部分課程均不指定教材,而以眾多的在線資源和閱讀材料代替,所指定的教材一般也注明為參考教材,多是經(jīng)典的指南類書籍。由于近幾年正處于Web技術(shù)的快速發(fā)展期,我們認(rèn)為這樣的狀況還將持續(xù)一段時(shí)間。目前的做法也是一種較好的解決方案,但是需要授課教師為學(xué)生梳理較好的知識架構(gòu),準(zhǔn)備較好的閱讀指引,并給予持續(xù)更新,避免學(xué)生陷入信息過載、無所適從的境地。
3 結(jié)語
從調(diào)研結(jié)果看,Web應(yīng)用基礎(chǔ)類課程初步形成了一些相對穩(wěn)定的教學(xué)經(jīng)驗(yàn),如由HTML、CSS、JavaScript、DOM、jQuery、Ajax、服務(wù)器端腳本語言如PHP、SQL、Security等組成的教學(xué)內(nèi)容,以分階段實(shí)際Web應(yīng)用Project為主的考核方式,而新興前沿技術(shù)的引入和剪裁、Project的自動評判機(jī)制以及課程教材編寫等將成為下階段課程建設(shè)的重點(diǎn)。
在調(diào)研過程中我們還發(fā)現(xiàn),隨著移動互聯(lián)網(wǎng)的興起,同時(shí)面向PC端和移動端的跨平臺WebApp的開發(fā)技術(shù)在教學(xué)中的引入也許將成為下階段的研究熱點(diǎn)。部分高校已在現(xiàn)有Web應(yīng)用課程最后加入這方面介紹,部分高校單獨(dú)開設(shè)了選修課,還有部分高校則將該部分內(nèi)容放入面向特定平臺(如iOS、Android等)本地應(yīng)用(NativeApp)的開發(fā)課程中。從工業(yè)界看,web應(yīng)用開發(fā)中“移動優(yōu)先”的觀念已得到了廣泛認(rèn)同,但如何在課堂教學(xué)中引入這方面內(nèi)容,目前尚處于起步階段,值得我們做進(jìn)一步探討。
(見習(xí)編輯:劉麗麗)