美国部分大学Web应用类课程建设比较分析

时间:2022-08-22 12:43:44

美国部分大学Web应用类课程建设比较分析

摘要:Web应用类课程由于其固有特性,尚未形成稳定成熟的建设方案。文章调研国外若干知名大学计算机专业开设Web应用类课程的情况,从教学内容、课程实践、考核方式、教材资料等方面进行比较和分析。

关键词:Web应用;课程建设;课程设置分析

文章编号:1672-5913(2013)18-0052-06

中图分类号:G642

0 引言

传统上,Web应用类课程不属于计算机专业的经典核心课程,但随着应用和开发环境逐渐向Web迁移,国内外越来越多的高校开始在计算机专业中开设与该领域内容相关的课程,对其课程建设研究也随之得到相应的重视。国际上,IEEE-CS和ACM联合的本科生信息技术教育计划IT2008m中首次将Web系统和技术(Web Systems and Technologies,WS)作为基本知识领域,认为其是与程序设计、网络、数据库等并列的基本知识支柱,并给予了22个核心学时;2012年的本科生计算机科学教育计划草案CS2013中也首次添加了基于平台的开发(Platform-Based Development,PBD)这个可选基本知识领域,其中列举的典型平台就是Web和移动设备。

虽然有相关规范及建议做原则性的指引,Web应用类课程在内容设计和剪裁上仍然面临相对稳定的教学内容和飞速发展的业界技术,偏重理论讲解的课堂教学传统和注重动手实践的课程特性等突出矛盾,也面临如何与其他传统课程衔接和交叉的问题。近年来移动互联网、云计算、社会计算等领域的飞速发展进一步突出了上述矛盾和问题,使得形成稳定成熟建设方案的努力显得更为困难。为更好地借鉴国外先进教学经验,笔者对美国部分大学的Web应用类课程建设情况进行了调研、比较和分析。

1 课程开设情况

所调研的美国大学本科阶段Web应用基础类课程开设情况见表1。对比US News关于大学计算机排名和表1可以看出,美国大学Web应用类课程的开设反映了学校鲜明的学科和院系设置特点。从调研情况看,部分大学有优势的应用学科,相应地开设了Web应用类课程,甚至开设了多门;而其他大学则没有开设,甚至个别大学没有开设任何应用类课程,包括选修课。

2 课程要素分析

为进一步深入分析,本文选取了表l中斯坦福大学的CS142、华盛顿大学的CSE 154、北卡罗来纳大学的COMP 426和马萨诸塞大学的CMPSCI 326这4门课程作为典型课程。这4门课程具有以下共同特点:连续开设、面向无Web应用技术基础的学生、课程网站提供了详尽的公开材料。

2.1 课程概况

所选4门课程基本数据对比见表2。从相关院系的教学计划可以得知,CS142和CSE154相当于国内的基础课,COMP426相当于方向课,而CMPSC1326相当于专业选修课。从后继章节可以看出,不同的课程地位和学制(小学期或是大学期)直接影响了课程内容的安排。另外从前导课程情况看,一般Web应用课程都放在程序设计和数据结构课程之后,在学生对软件开发有了一定的基本概念后再开设。在调研过程中,也发现有个别高校将JavaScript作为新生程序设计的入门语言。从以往实践看,JavaScript语言虽然有开发环境设置简便的优点,但语言本身设计过于灵活,并不合适作为新生的入门语言;而把Web课程放在数据结构之后开设,学生确实更易接受。在调研中也发现,各课程均比较重视Lab或TAdiscuss section,这主要是因为Web应用开发涉及的语言、工具和环境多而复杂,因此有必要平缓学生在这方面的学习曲线,减轻其学习负担,使其可以将主要精力放在课程核心内容的理解和实践上,这也体现了Web应用课程的工程性特性。

2.2 课程内容

所选4门课程授课内容对比见表3。从调研情况看,Web应用课程内容一般均会覆盖客户端和服务器端,且在服务器端一般会选择PHP或者Ruby等开源语言,这点与国内主要选择C#或Java语言有较大差别。值得一提的是,随着Node.js的,JavaScript已经成为新兴的服务器端开发语言,CMPSCI326就选择JavaScript及其框架作为唯一的编程语言。考虑到Node,,js这种事件驱动型异步编程模型对传统服务器端开发模型的颠覆,在将来的课程设计中应关注这一趋势。根据调研,在课程内容安排中,在JavaScript语言介绍时各课程基本都会结合jQuery库进行讲解,这体现了jQuery已成为JavaScript客户端开发事实上的标准库这一现状;各课程也均为AjaX和安全安排了一定的课时,这既与业界现状相吻合,也符合IT2008中对WS知识领域的设定。

此次涉及的4门课程在设定开发环境时不约而同地提到,虽然现在存在Eclipse等功能强大的IDE开发环境,但由于这些环境设定比较复杂,本身有一定的学习难度和成本,所以均建议初学者使用普通的文本编辑器进行开发。

在授课顺序方面,调研中的大部分课程均选择在简单介绍HTML和CSS后,直接转人服务器端,再转回客户端进行JavaScript和DOM方面的讲解。我们认为,这有利于学生尽早对Web应用的B/S架构有个宏观的认识,也便于表单处理、Cookie和Ajax等内容的讲授和理解;尤其是HTML5规范的初步定型,在其中定义了很多涉及服务器端交互的API,在未来课程教授从传统的XHTML向HTML5迁移的过程中,尽早形成这种宏观认识尤其重要。

在授课内容的选择方面,调研结果也显示了相对稳定的教学内容和飞速发展的业界技术之间的矛盾。一方面,相对稳定的前沿技术尚未被广泛采纳,如在2012-2013年,HTML5和CSS3已被现代浏览器广泛支持,尤其在移动Web应用领域应用广泛,但所调研的大部分课程尚未体现这方面的技术进步,部分课程在最后的未来展望讲座中对这方面进行了简要介绍;另一方面,对于一些有价值的前沿技术,部分课程又做了相对激进的引入,如作为课程典型的CMPSCI326,就摒弃了传统的服务器端脚本语言,全程使用JavaScript进行教授,并且在课程中使用大量课时广泛介绍了Handlebars.js、Backbone.js、Requirejs、Heroku等前沿框架和平台。在将来的课程设计中,对前沿技术的引入和剪裁,无疑是一个值得进一步探讨的问题。

2.3 课程考核

所选4门课程考核方式和内容对比见表4。从调研情况看,大部分课程都将动手实践作为主要的考核方式,在分数配比中给予了首要权重。在动手实践的具体表现上,基本上各课程均围绕一个具体的网站项目组织,最终提交物都是一个完整的网站应用;同时各课程基本都将完成应用的过程分割为与课堂讲解同步的若干独立阶段,要求分阶段提交,每个阶段时间不超过3周。在这点上,国外课程的组织明显比国内要更细致。国内往往是以月为单位,甚至以学期为单位布置Project,使得对学生实践学习部分的中间过程监控不够,既难以得到教学效果的反馈,也容易使学生产生最后突击抄袭现象。当然,多阶段提交必然会对授课教师和助教产生较大压力,因此必须借鉴国外经验,设计程序对学生提交物进行部分自动评判,这又需要一定的时间积累和工作量投入,应是下阶段课程建设的努力方向。

在Project内容、难度和组织方式上,面向低年级学生课程和面向高年级学生课程明显不同。面向低年级学生的课程Project内容更多地围绕具体的知识点组织,开放性小,难度较低,且多要求个人独立完成;面向高年级学生的课程Project内容更多地根据项目进度组织,开放性较大,难度较高,往往会要求组队完成。从实践来看,组队完成后的评分具有一定的难度,为平衡这点,COMP426的组队要求采用结对编程(Pair Programming)的模式,而CMPSC1326将每次的Project分为若干Task,部分Task要求个人独立完成,部分Task要求团队完成,针对团队给分。

对期末考试形式和内容的选择充分体现了偏重理论讲解的课堂教学传统和注重动手实践的课程特性等突出矛盾。虽然课程也有一定的理论内容,但大部分内容难以通过传统的书面考试进行考核。因此所调研的课程一方面普遍降低了书面考试的占比,另一方面通过开卷考核代码读写的形式进行变形的实践测试。我们认为,除非如CMPSCI326一样完全取消书面考试,否则在目前上机考试难以实行的条件下,可行的方法应是降低书面考试成绩的占比,更多地通过Project的提交和面试来对学生进行考核。

2.4 课程教材和资源

所选4门课程教材和参考资源情况对比见表5。从调研情况看,由于Web应用类课程所具有的尚未形成成熟稳定的建设方案,没有形成经典的教科书;课程内容庞杂,涉及面广;在线资源丰富;技术更新迅速等特点,大部分课程均不指定教材,而以众多的在线资源和阅读材料代替,所指定的教材一般也注明为参考教材,多是经典的指南类书籍。由于近几年正处于Web技术的快速发展期,我们认为这样的状况还将持续一段时间。目前的做法也是一种较好的解决方案,但是需要授课教师为学生梳理较好的知识架构,准备较好的阅读指引,并给予持续更新,避免学生陷入信息过载、无所适从的境地。

3 结语

从调研结果看,Web应用基础类课程初步形成了一些相对稳定的教学经验,如由HTML、CSS、JavaScript、DOM、jQuery、Ajax、服务器端脚本语言如PHP、SQL、Security等组成的教学内容,以分阶段实际Web应用Project为主的考核方式,而新兴前沿技术的引入和剪裁、Project的自动评判机制以及课程教材编写等将成为下阶段课程建设的重点。

在调研过程中我们还发现,随着移动互联网的兴起,同时面向PC端和移动端的跨平台WebApp的开发技术在教学中的引入也许将成为下阶段的研究热点。部分高校已在现有Web应用课程最后加入这方面介绍,部分高校单独开设了选修课,还有部分高校则将该部分内容放入面向特定平台(如iOS、Android等)本地应用(NativeApp)的开发课程中。从工业界看,web应用开发中“移动优先”的观念已得到了广泛认同,但如何在课堂教学中引入这方面内容,目前尚处于起步阶段,值得我们做进一步探讨。

上一篇:基于严肃游戏的计算思维培养 下一篇:计算机创新人才培养模式的探索