非计算机专业“网页程序设计”课程教学探讨
2009-02-04黄蔚王朝晖
黄 蔚 王朝晖
摘要:本文针对当前中小学已开设信息技术课程的现状,提出了在非计算机专业开设“网页程序设计”课程,部分替代与中小学课程内容重复的“计算机应用基础”的新思路,给出了“网页程序设计”课程的教学内容设置,并对在非计算机专业中如何因材施教及有效地组织教学进行了探讨。
关键词:ASP;网页程序设计;计算机文化;教学改革
中图分类号:G642 文献标识码:B
1概述
当前,我国非常重视信息技术的教育,从小学三年级直至高中二年级均开设信息技术课程。尽管各年级学习的内容有所重复,但深度逐年递增,主要的学习方式是“任务驱动”,通过一个个简单的、生动有趣的案例来学习信息技术的基本知识。表1所示为各年级的主要学习内容。
进入大学后,信息技术依然非常受重视,相当多高校开设了大学信息技术课程。然而,大学信息技术课程仍以信息技术基础和硬件、软件、网络等基本概念及Word、Excel、PowerPoint和FrontPage等常用软件为主,如表2所示。
由表1和表2可以看出,教学内容不仅在常用软件的操作上大量重复,而且基本理论,如软、硬件和网络及多媒体知识都有相当部分的重复,这就导致大学生往往不重视信息技术课程的学习。
随着Internet越来越普及,WWW成为Internet最重要的一种服务,它将数以万计的信息以超文本形式存放在网页,即Web中,通过图形界面给网络用户提供了快速查找信息的服务,成为Internet上最受欢迎、最为流行的信息检索服务系统。网页设计不仅仅是对静态页面的设计,还常常使用动态网页设计技术,跟数据库等后台技术结合起来,发挥Web的强大功能,因此,社会上对网站开发人才需求量很大。以往,建立功能完备的网站只有计算机专业的专门人才才能胜任,现在很多中小企业的网站建设常常由业务人员兼任,因此,许多非计算机专业也要求学生掌握一定的网络编程技术。因此我们认为,在非计算机专业开设“网页程序设计”课程是一种新的趋势。
作为江苏省省属重点综合性大学和国家“211工程”重点建设高校,苏州大学已经在二级独立学院文正学院尝试开设“网页程序设计”课程,分成文科生和理科生两大类别,取得了不错的效果。其中在文科生中开设的是选修课,主要为了拓展学生的思维视野,培养他们的综合素质,并在一定程度上提高他们的就业竞争力;而在理科生中开设的课程可以是必修课,用以替换原来的计算机应用基础。
2课程设置
尽管网页程序设计与通常的程序设计有较大区别,但动态网页中经常用到的脚本语言与一般的程序设计语言有很多相似之处,并且不需要很复杂的算法,学生可以通过对这些脚本语言的掌握初步了解程序设计的一般方法,加深对算法设计的理解。
网页程序设计时通常要用到数据库,虽然“计算机应用基础”包括了数据库及软件开发部分,但学生无法真正理解它们的应用。学习动态网页设计之后,通过简单的网站设计,学生可以真正体会到如何进行软件开发和数据库设计。
Web是Internet的主要构成部分,通过对网页的设计,学生可以进一步理解HTTP、FTP、C/S、B/S等诸多网络知识。因此,网页程序设计课程将有助于学生理解计算机文化中的网络。
综上所述,用网页程序设计课程替换“计算机文化”,不仅可以加深学生对计算机软硬件、网络和Internet、多媒体等概念的理解,也有助于提高他们在系统开发方面的实践能力。根据学生的基础及企业信息化建设的实际需求,在设置网页程序设计课程的教学内容时,我们主要安排了如下内容,如表3所示。
Web基础部分主要让学生了解Internet以及WWW的工作原理,以便继续后续内容的学习。该部分重点要掌握HTML和CSS,因为网页是用HTML来表示的,而为了将精力更多地投入到内容,而非外观的设计,也需要有CSS的协助。
VBScript基础重点讲授脚本语言有VBScript,目的是学习通过在HTML中嵌入脚本来控制网页中运行在客户端的代码部分。通过编写过程化的代码(包括子程序或函数),能够实现在网页上控制显示内容,而文档对象模型DOM是VBScript的扩展部分,提供了大量的对象,如Window、Screen、Frames、History、Navigator、Location、Scripts、Document、Link、Anchors、Forms等,通过对这些对象的属性设置或调用提供的方法,可以实现更为强大的功能。由于时间关系,教师不可能对每个对象进行全部介绍,只能有重点地选取最常用的Window和Document对象讲解面向对象技术,掌握了对象的概念后,学生在将来的实际应用中可以查阅相关资料,实现更多功能。
ASP初步及ASP内置对象与组件主要包括运行在服务器端的ASP程序,即ASP的基本概念、运行环境以及ASP代码的语法特点等。而ASP的强大功能主要是由内置的6个对象和一些组件来实现的,通过这些对象的学习,结合一些简单实例,如聊天室、网站计数器等,学生可以掌握有效地利用ASP进行网页编程。
Web数据库应用技术包括数据库的基本概念、在桌面型数据库Access中建表、查询以及SQL语句。Web数据库程序设计重点介绍在ASP中利用ADO组件操作数据库,包括用Connection对象连接数据库的方法、用Command对象执行数据操作、用RecordSet控制数据等。
通过对该门课程的学习,学生不仅进一步加深了对信息技术相关概念及原理的理解,同时在网页程序设计和网站建设的过程中,增强了实践动手能力,提高了学习兴趣。
3教学方法
在教学过程中,由于对文科生和理科生的教学目的不同,所以教学的侧重点也不同。文科生选修网页程序设计的多是新闻、广告、外语、汉语、城建等专业的学生,这些学生有不同的兴趣爱好,比如广告专业一般都喜欢艺术,因此在教学时可以多使用图文并茂的网页,甚至可以在上机实验时指导学生利用Photoshop、Fireworks以及Flash等工具制作出美观的图片和动画,提高他们在广告设计方面的才能;而新闻和汉语言专业都比较重视文字,教师可以在布置上机实验作业时要求学生建立一个新闻频道,内容可以是关于学校或院系发生的事情。总之,对文科生的不同专业学生授课时,尽量结合他们的专业特点,兼顾他们的兴趣,强调扩充他们在计算机信息技术领域的知识面以及掌握实用工具的能力,使他们初步具备设计简单网页的能力。
另外,由于选修课的课时较少,教学内容又较多,教师无法对每一个知识点作详细阐述,因此多采用案例教程的方式,尽量使用一个个小例子教会学生建立网站。在讲授中,淡化脚本语言的语法,不拘泥于算法,更强调学生的自学能力,要求他们利用Internet等现代工具,从网上获取已有的源代码,提高代码的复用性,通过分析这些代码建立自己的网站。图1是某文科生设计的同学录主页界面。
对理工科的学生,要强调知识的理解和综合运用能力,可以适当地加强对语法的要求,使他们掌握一些常用的算法。但需要注意的是,不能把网页程序设计等同于普通的程序设计课程,过分强调了算法的要求,而应该把重点放在综合运用脚本控制客户端或服务器端的程序运行上。由于ASP是运行在服务器端的一种文件,因此教师重点讲授的内容是ASP内置的6大对象,对数据库只作简单介绍,仅仅要求学生能自行设计并建立数据库,能够利用ADO组件连接数据库并操纵数据库。
以下给出了一个注册用户的后台处理程序register.asp的例子。这段代码利用request对象,从表单中获取各项注册信息,然后连接并打开数据库,查找数据库中是否已经存在该用户名,如果已存在,给出已经存在该用户的提示信息,否则把获取的信息写入数据库中,最后关闭该连接。
该例子很好地说明了ADO编程模型的基本步骤:①连接数据库;②设置SQL命令;③执行SQL命令;④控制数据。方法简单,浅显易行。
<%
'*****从表单中获取来自客户端的注册信息*****
username1=trim(request.form("username"))
password1=trim(request.form("password"))
realname1=trim(request.form("realname"))
sex1=trim(request.form("sex"))
email1=trim(request.form("email"))
tele1=trim(request.form("tele"))
work1=trim(request.form("work"))
address1=trim(request.form("address"))
postcode1=trim(request.form("postcode"))
qq1=trim(request.form("qq"))
other1=trim(request.form("other"))
'***********创建ADO连接对象**********
Set Cnn=Server.CreateObject("ADODB.Connection")
StrCnn="Dbq=" & Server.Mappath("dbdbc.mdb")
StrCnn=StrCnn & ";Driver={Microsoft Access Driver (*.mdb)}"
Cnn.Open StrCnn ' 打开数据库
'**********设置查询用户名的SQL语句************
sqlstr="select * from user where username='" & username1 & "'"
Set rs=Cnn.Execute(sqlstr) ' 执行SQL语句
if not rs.eof then ' 查找结果不为空
response.write "对不起!你所注册的用户已经存在!"
response.write "请返回上一页重新注册!"
else
'*********设置插入用户信息的SQL语句***********
ins="insert into user"
ins=ins & "(username,password,realname,sex,email,tele,work,address,"
ins=ins & "postcode,qq,other)"
ins=ins & " values('" & username1 & "','" & password1 & "','" & realname1 & "','"
ins=ins & sex1 & "','" & email1 & "','" & tele1 & "','" & work1 & "','" & address1 & "','"
ins=ins & postcode1 & "','" & qq1 & "','" & other1 & "')"
set rs=Cnn.execute(ins) ' 执行SQL语句
response.write "注册成功!请返回首页登录!" ' 显示提示信息
end if
Cnn.close ' 关闭数据库
%>
学习网页设计的最终目的是能够建立自己的网站。作为本课程的大型作业,学生要提交一个完整的同学录网站,该网站具有基本功能,如用户注册、用户登录、用户信息维护、好友列表、留言板、聊天室等,除此之外,学生也可以自由发挥想象,或者参考5460等网站,设计出更为完善的同学录。
4结束语
本文探索了在中小学已经开设信息技术的背景下,大学非计算机专业开设信息技术课程的教学理念,提出用网页程序设计课程来部分替代计算机文化基础的新思路,并进一步阐述了课程内容的安排和讲授方法等,力争做到因材施教。然而,具体实施中仍存在不少问题,如文科学生的逻辑思维能力较弱,用脚本编程时无法理解一些算法;整个课程需要掌握的内容较多,学生在编程和数据库应用方面要具有较强的综合应用能力;由于教学时间短暂,学生无法很深入地掌握网络编程的精髓,这些都是今后教学中需要继续解决的问题。
参考文献:
[1] 苗逢春.信息技术[M].河北:河北大学出版社,2005.
[2] James F.Kurose,Keith W.Ross.计算机网络——自顶向下方法与Internet特色[M].北京:清华大学出版社,2003.
[3] 徐进华,崔建忠.Web程序设计教程——ASP[M].苏州:苏州大学出版社,2005.
[4] 赵妮,熊高君.激活课堂气氛,提升学习情趣——谈C语言课堂教学方法[J].计算机教育,2008(12):41-43.