网络编程课程实验项目改革思路分析与实践

2019-12-24 08:56胡静
青年时代 2019年33期

摘 要:随着互联网技术的不断发展,国家对网络应用与开发技术高级人才的需求越来越旺盛。网络编程技术是互联网技术的重要分支,也是网络工程专业的一个重要培养方向,研究与改革网络编程技术课程一直都是网络工程专业的重要课程建设任务。本文重点介绍上海电机学院在网络编程课程实验项目上的改革思路与实践,为应用型本科的网络编程教学改革提供借鉴。

关键词:网络编程技术;网络编程实验项目;改革思路分析;改革内容实践

一、引言

随着计算机技术的高速发展,Internet迅速普及,网络工程专业的学生不仅要掌握计算机网络与通信协议等方面的基本知识,而且要掌握当前较为主流的计算机编程语言。在此基础上熟悉网络编程技术,具有一定的网络编程能力,能进行网络软件等方面的开发工作。

网络编程课程作为一门实践性很强的核心专业课程,由于网络编程技术发展更新快、涉及知识面宽,具有较大的实践性与逻辑性,使得网络编程课程的实验项目有一定的难度,传统的网络编程项目已不能满足网络编程技术发展的要求。

本文旨在对网络编程技术的实验项目进行分析讨论,结合网络编程的最新发展技术,激发学生的求知欲望,让学生主动学习编程技术知识;力求改进传统的网络编程实验项目,提出一套网络编程实验项目,丰富网络编程技术课程的内容,提高学生在网络编程方面的实践性、操作性;开发新的网络编程实验项目,让学生互相协作开发项目,培养学生的团队合作精神。通过开发设计若干网络编程实验项目,使学生对于网络编程模式有更直观的认识;通过实验,使学生更系统的掌握编程语言的语法与设计模式,如HTML 5最新控件、移动端页面设计、后台架构设计及数据库设计等。通过动手实践,学生不仅能够加深印象,更能将所学知识加以融会贯通。

二、网络编程课程实验项目不足之处分析

網络编程技术课程主要学习网络环境下的编程原理及方法,通过本课程学习掌握网页设计与制作、网站配置与建设以及移动互联网的应用与开发等知识与技能,传统的网络编程项目已不能满足网络编程技术发展的要求。传统实验项目在如下三方面不够完善。

第一,在网络发展技术方面。传统的网络编程实验项目主要的技术为HTML 4.0、JSP、ASP及ASP.NET等。传统的项目基本上覆盖在一些简单的管理系统,如图书管理、网上商店等Web管理系统,而现有的互联网发展已经发生巨大的变化:从行业来说,互联网应用逐渐发展到金融、商贸、公共服务、社会管理、新闻出版、广播影视等经济、社会、生活的各个领域;从开发模式上,开发从最初的CS发展到基于Web的B/S,再从MVC设计模式延伸到各种框架开发与模块化开发,如Spring+MVC;从编程语言方面,互联网公司也都采用的是多种编程语言配合开发,如HTML 5、PHP、Python、Scala、Ruby等新语言[1,2,5,6,7,8,9]。因此,传统的网络编程实验项目对于现有的网络技术来说,已经非常滞后。

第二,在网络设备方面,传统的网络编程实验项目基本上属于C/S或者B/S管理系统项目,在后台服务器部署web应用程序与数据库,但是这些项目通常在移动设备上无法正常显示。例如,一些手机端、平台电脑等设备在显示web应用方面,会出现显示不对称、页面比例失真,造成用户体验极差。

第三,在市场需求方面,在2010年以前,市场上对网络编程技术人才的需求基本上是基于ASP.NET、JAVA等编程语言;但近年来,市场对人才的技术需求趋于多样化,不仅仅需要掌握基本的管理系统开发,还需要掌握一些移动开发技术,如Android、iOS开发及微信开发等新型技术。对职业规划更明确化、专业化,传统的开发者为程序开发者,而现有的开发人员主要包含前端开发者、后台开发者、移动开发者、美工开发及公众号开发等,传统开发者技能单一,已经无法胜任各种实际角色。

三、网络编程课程实验项目改革思路分析

《网络编程技术》这门课程在我国高等院校中开设范围较广,包括计算机工程、网络工程、物联网工程及软件工程等若干个专业都有开设。虽然授课内容和实验项目都有所不同,但是,其特点大致相同。

首先,《网络编程技术》中的程序设计,有别于简单的程序设计。网络程序设计的规模增大,要解决的问题复杂性高,编程难度加大。利用不同课程、不同平台的数据访问与展现,因此后台架构需要使用多层次的编程架构,提供统一的后台数据通信。

其次,《网络编程技术》的实验项目与市场企业的实际需求紧密结合,企业都有一定的信息化系统,都需要相关的网络编程技术工程师。因此,通过实验项目操作,可以提前让学生熟悉企事业的信息系统,提高学生的兴趣与开发能力。

最后,《网络编程技术》的实验项目与最新网络技术发展紧密相结合,紧跟时代步伐与互联网思维,需从物联网、移动开发、互联网+等需求去开发实验项目,让学生能够深入了解最新技术,拓宽学生的思维与技术面。

网络编程课程实验项目的设计需解决如下4种问题。

一是如何制定合理的实验项目计划,使得实验项目难度保持适中,既不过于简单,又不超出学生的能力范围。

二是如何确保实验项目的建立具有较好的区分度和完备性,实验项目类型多种多样,具体包括综合性、设计性、验证性及创新性实验;必选和任选实验项目数量配置合理,使得必选实验项目充分考察学生对理论知识的掌握,任选实验项目充分锻炼学有余力的学生的积极性和创造性。

三是如何使得实验项目类型的编排更为合理,其中中型及大型的实验项目能够锻炼学生的团队合作和协调能力。

四是如何让实验指导书的编订更为合理,做到条理清晰、步骤明确。

四、网络编程课程实验项目的改革与实践

针对改革思路的分析以及需解决的关键问题,本课题的研究目标是从多个开发平台、多种编程语言、多种设备、与市场需求出发,综合开发若干个网络编程实验项目,开发新的网络编程实验项目,让学生互相协作开发项目,培养学生的团队合作精神,加深学生对所学知识的印象,提高学生的实际动手能力,具体措施如下。

(一)合理制定教学大纲,加强网络编程技术课程群建设

网络编程课程教学内容覆盖面广,属于难度指数较高的专业课程。一是课程内容应包含数据库技术、移动客户端技术及数据通信等高级编程技术内容,与其他技术课程紧密结合;二是课程内容应包括互联网原理、数据库访问及移动设备通信等网络编程技术,还会用到计算机网络的网络应用层协议HTTP协议、传输层套接字等编程技术。它们环环相扣,缺一不可。如果不能很好的整合课程内容,在总课时的限制下,将会导致授课内容过多、顾此失彼。解决这个问题最好的办法就是以网络编程课程为主干课程,整合知识点,完善课程群建设。同时,将所需知识分散至每一学年的教学任务中,循序渐进地引导学生理解并掌握网络编程技术的理论与知识,培养网络环境下的编程能力。

此外,从选择的《网络编程技术》教材中选取具有代表性的章节,结合实际应用和能力培养设计开发出若干应用性的实验项目。设计实验项目内容时,应把握住实验不求多而全,但要力求使每个实验有代表性和启发性,能够启发学生解决一类问题或能触类旁通,促进学生思考。

(二)根据选取出来的章节,设计开发相应的实验项目并初步建立实验项目库

具有代表性的教学章节被选出之后,根据这些章节的内容开始设计实验项目。实验项目类型包括综合性、设计性、验证性及创新性实验。从实验项目中挑选典型的实验,在实验教学环节中加以试用,通过教师对学生的能力考察和学生的反馈意见筛选题库,剔除过于简单和过于复杂无法在课内完成的实验项目,最终确立实验项目库。

设计实验项目的原则包括:每个实验要有明确的目标和宏观的功能要求,并不限定实验方案和具体的实现方法;鼓励学生发挥主观能动性,自己设计实验方案并编程实现;实验难度要循序渐进,实验项目要具有可操作性。

表1列出了网络编程技术课程的一些基本实验和综合实验内容。

实验项目的设计与实施不是固定不变的,而是一个动态调整的过程。例如,在实施Servlet应用技术开发实验项目中,学生的表现以及实际实验效果不佳,大部分学生需要教师开小灶进行指导时,就应调整实验项目的内容与要求,更加详细的编写和修改实验指导书的内容;增加实验项目的启发点,增加理论教学内容,鼓励和帮助学生回顾课堂教学内容,思考实验原理与实验步骤,更好的独立完成实验项目。

網络编程综合提高型的实验项目设计,以引入企业生动案例为主,说明解决方案与应用场景之间关系。在企业的实际案例中,有关网络编程技术的解决方案有很多,无论是在课堂上还是在实验室,都要让学生明白网络编程的技术和方法很多,应用场景很广,没有任何一种方式可以解决所有问题,只有选择适合应用环境的方式才是最佳的。

多样化的实验项目方案设计既能提高学生的学习热情与兴趣,也能激发他们的自主学习积极性。

(三)根据实验项目编写实验任务,并给出标准的实验流程

根据实验项目,建立标准实验流程,让学生在操作过程中能够顺利完成实验,编写实验项目任务书,也是网络编程课程实验项目改革的关键内容。以网络编程技术的综合实训项目为例,这门课程要求学生综合应用已学过的网络编程技术课程基础知识,熟练进行网络编程方案的设计与部署,进一步熟练使用网络编程的新技术与技能,独立或者以小组合作形式完成实训任务。以往,此门课程都是由任课教师自选课题,自行设计课题的解决方案,非常容易产生课题固化不变,解决方案不能够和企业的最新技术更新同步。同时,由于教师的一线实践经验不足,课题以及解决方案也难以得到学生的满意和认同。借助于和企业之间的协同育人项目开展,校企共建网络工程实验室,共同设计实验案例,共同撰写实验指导书,共同指导学生完成课程实验。网络编程的综合实训课程是协同育人项目的主要实施课程,在实训项目的选择上主动与企业工程师联合,联系实际生产工程过程,以企业的实际项目贯穿始终,采用中小企业的网络编程主流技术,简化了一些与实际应用关系不大的理论知识和算法,侧重工作过程需要用到的基本原理和技能,突出实际应用,采用理论与实践一体化的方法构建项目化的实训课程内容。

在合作撰写实验任务书和实验指导书时,注重理论联系实际,指导学生不仅顺利完成其实验项目,还要深刻理解其基本原理与基础知识。例如,编写JAVA WEB编程技术的实训项目指导书时,还详细地介绍了基于Java的Web编程新技术,主要内容包括:Java Web技术概述,Servlet技术模型和Servlet容器模型,JSP的各种元素、生命周期、作用域对象、组件重用以及表达式语言的使用等,JDBC以及连接池和DAO模型的使用,Web监听器和过滤器以及安全性等问题。随后还介绍了AJAX技术、Hibernate框架和Struts 2框架基础。这些内容较全面地体现了应用Java技术开发Web应用的发展特性,涉及当前应用广泛的开发规范和最新流行的开发框架。这较好地启发学生在完成实验项目的同时,了解并掌握最新技术和发展趋势。

为了保证本课题的研究得以顺利实施,已进行了大量的研究与实践工作,包括教学计划的制订、课内实验指导书的编订、实验代码的调试、课堂教学和实验环节教学的调研等工作。目前,《网络编程技术》课程正在进行中,通过课堂教学以及课堂上对学生进行的调研,已初步发现并整理出一些学生普遍感兴趣,并且内容丰富、较容易实现的实验。课内调研对于本课题的实施大有帮助。

五、结语

本课题的研究成果是对现有《网络编程技术》课程的有益补充,弥补了课堂教学的不足,同时又是现有实验环节的有益补充。本文所介绍的网络编程课程实验项目改革思路与实践,目的是为学生创造坚实知识底蕴的平台、多元化的教学实验内容。目前,采取一套行之有效的教学理论实践相结合手段,强化校企合作的实验项目改革与实践是摆在我们面前的一项重要而紧迫的任务,也是我校提高人才输出质量的重要保障。相关课程的教学改革与实践经验,可以为应用型本科院校网络编程技术课程的实验教学改革提供借鉴和参考。

参考文献:

[1]马科.HTML5APP商业开发实用教材[M].北京:高等教育出版社,2016.

[2]丁士峰.网页制作与网站建设实战大全[M].北京:清华大学出版社,2015.

[3]王一飞,吴素芹.《网络编程技术》课程教学研究与探索[J].科技信息,2008(34).

[4]唐玄,刘娟.以《网络编程技术》课程为例的工程化教学改革研究[J].商丘师范学院学报,2014(12).

[5] Harold Elliotte. Java Network Programming[M]. New York: O'Reilly Media, Inc., 2014.

[6] Lubbers Peter. Pro HTML5 Programming[M]. New York: Apress, 2011.

[7] Van Rossum Guido. Python Programming Language[C]. USENIX Annual Technical Conference, 2007.

[8] Gramlich Nicolas. Android programming. andbook. anddev. org (2008).

[9]沈泽刚,秦玉平.Java Web编程技术[M].2版.北京:清华大学出版社,2015.

[10]胡静,赵雷,罗宜元,等.网络工程专业的网络编程课程教学与改革[J].计算机教育,2014(18).

作者简介:胡静(1964—),安徽合肥人,女,博士,副教授,研究方向:网络工程与安全、智能信息处理。