针对研究生新生的网络编程能力的调查报告
2016-03-22曹佳王思檬
曹佳 王思檬
摘要:了解研究生新生的网络基础理论知识和相关网络编程技能的掌握情况,有助于合理设置研究生的专业课程。本调研采用问卷调查的形式,问卷结构遵循计算机网络的ISO/RM七层网络结构,分别调研了学生在应用层、表示层、会话层、传输层、网络层和数据链路层的掌握情况。调查结果显示除了应用层的Web程序设计,在其他网络层次上学生的网络编程能力普遍弱于网络基础理论知识的掌握程度;学生对上层网络的学习期望普遍强于对底层网络的学习期望。因此,研究生新生普遍欠缺网络编程方面知识训练,为了适合云计算、移动服务、大数据时代的到来,需要在研究生阶段开设以信息处理为导向的网络编程类课程。
关键词:网络编程;调查报告;研究生教育;编程能力
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)02-0093-01
随着云计算、移动服务、大数据时代的到来,计算机网络已经成为各个专业和行业必须接触和了解的信息技术,具有越来越广泛的应用人群。针对这个需求,我们以问卷调查的形式调研了研究生新生的网络基础理论知识和相关网络编程技能的掌握情况。
1 问卷设计
1.1 问卷内容结构
本问卷主要基于计算机网络的ISO/RM七层网络结构,分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。不同的网络层次涉及不同的编程知识,参考来自国内外教学实例、教材和文献[1-4],网络编程涉及以下内容,如表1所示:应用层对应B/S系统、C/S系统、Web Services网络编程;表示层对应各种编码转换技术,包括主机序和网络序的转换、Unicode和UTF-8的转换;会话层对应多会话管理,需和并发通讯相结合;传输层和网络层对应套接字(Socket)编程;底层类(数据链路层和物理层)对应网卡驱动编程和数据帧处理;此外,并发通讯决定网络应用的执行效率,具体包括多线程/多进程编程、I/O复用技术;网络协议的编程,具体包括协议状态机的设计与开发、协议栈编程。
1.2 问卷形式
该问卷的题目形式以选择题为主,如表2所示。
2 调查结果
本次调查的对象是选修《网络编程》课程的30位研究生新生。这些研究生的教育背景不太相同,有些是同等学力或跨专业的学生,研究方向也各不相同:网络工程、数据挖掘、物联网、软件工程、移动计算、地理信息系统等。当学生听完2个小时的课程介绍后,提交了30份不记名调查结果。
问卷结果总结如图1所示,其中横坐标为网络编程的内容分类,纵坐标为百分比,其中分别统计了基础网络知识掌握程度较好的学生人数的百分比,具备相关网络编程能力的学生人数的百分比和希望进行详细学习的学生百分比。Pearson系数计算了网络基础理论知识掌握程度和相关编程能力之间的相关性,该系数越大,表明学生在该部分的理论知识和编程能力越一致。
分析结果如下:(1)在不同网络层次上的基础理论知识的掌握程度不同:学生对应用层的了解最多,传输层和网络层次之,底层最少。(2)学生的网络编程能力普遍弱于基础理论知识的掌握程度:应用层上二者的落差较少,这是因为大部分学生已经在本科阶段掌握了动态Web编程的技术。(3)学生学习不同网络层次的编程意愿是不均匀的:对应用层、传输层和网络层的学习意愿较高,对底层数据链路层的学习意愿较低。这也符合当前的网络技术的应用背景,底层应用较少,主要是网络监控等网络工程方面的应用。
3 结束语
研究生新生多数是刚完成本科四年学习的学生。本调研结果基本符合目前本科教学的现状:一二年级学生主修基础理论知识,三年级学生主修以广度为主的专业应用知识,四年级学生升学考试和实习工作。这导致在具体编程能力方面的锻炼非常有限。因此,为了适合云计算、移动服务、大数据时代的到来,或者在本科课程安排上需要加强锻炼学生的网络编程能力,或者在研究生阶段继续开设相关课程。
参考文献:
[1] 胡静,赵雷,罗宜元,赵莹. 网络工程专业的网络编程课程教学与改革[J].计算机教育, 2014(18):35-38.
[2] 谭献海. 网络编程技术及应用[M]. 北京:清华大学出版社, 2006: 68-313.
[3] 尹圣雨. TCP/IP网络编程[M]. 北京:人民邮电出版社, 2014:1-240.
[4] Course: ECE-C433. Network Programming. Spring, 2014. http://www.ece.drexel.edu/sethu/ ECE-C433/index.html