展开

计算机专业网络编程课程教学效果

发布时间:2019-12-01   |  所属分类:计算机应用:论文发表  |  浏览:  |  加入收藏

  这篇论文主要介绍的是计算机专业网络编程课程教学效果的内容,本文作者就是通过对计算机专业的内容做出详细的阐述与介绍,特推荐这篇优秀的文章供相关人士参考。

计算机专业网络编程课程教学效果

  关键词:计算机;编程

  1概述

  当今社会,网络通信是人们日常生活的重要部分,在电子邮件,QQ聊天等网络通信软件早已融入人们的日常工作和生活之后,移动互联网的爆发又带动了诸如微信,抖音,淘宝,滴滴打车等移动应用的广泛使用。现阶段,无论什么样的应用,几乎都离不开网络,那么计算机类专业学生掌握好网络编程课显得极为重要。目前为止,网络编程主要被分为两大类(林余义,计算机网络编程课程的教学改革与实践:计算机产品与流通,2018):第一,基于Web环境的编程,主要是面向网站的建设,和网络平台的开发。第二,基于套接字Socket的编程,需要结合网络编程方法、网络协议、多线程等综合技术。由于网络编程技术发展快,变化大的特点,传统的被动式教学方法已无法适应当前社会对于网络人才的需求。为了在有限的学习时间内,让学生在掌握基本网络协议知识的基础上,能够掌握网络编程的技术,提高学生对网络编程的兴趣,并在以后的工作中能够迅速融入开发团队,成为网络编程的技术骨干,笔者结合多年软件公司工作经验,和一定的网络编程的教学经验,总结了在实践教学环节的一些教学方法。

  2现状分析

  2.1传统教学缺乏开放性探讨性

  目前,我国大部分人才培养仍然以传统教学为主,缺乏真实有效的开放性的探讨,学生不能够把发现的问题及时探讨,缺乏互相交流的机会,缺少寻求答案的兴趣和途径(任华新,适应新常态人才需求的《网络编程》课程的教学改革研究:福建电脑,2016)。

  2.2教学形式缺乏实践性环节

  网络编程是一门实践性很强的计算机类专业课程,这就要求学生不仅仅掌握必要的先修课程,比如《计算机网络协议》,《操作系统》,和必要的编程语言,其次,要求学生有较完整的理论知识体系,能够理解网络通信的基本原理,基本模型,基本框架,更重要的是,需要学生有较强的动手能力,能够搭建基本的B/S模型,C/S模型,并独立完成一个完整的应用程序。目前高校的很多网络编程课仍然缺乏实践应用教学环节(武文馨,孙卫国,王建虎,项目学习在数字媒体艺术专业技能培训中的实践研究——《以网络编程语言》课程教学改革为例:微型电脑应用,2017)。

  2.3教学成果与实际工程应用差距较大

  学习的最终目的是掌握知识,并最终转化为专业知识技能。绝大部分学生毕业后都将面临择业,就业的问题。然而,由于高校的教学内容,教学环节与社会经验,与公司项目脱节严重,导致部分学生毕业即失业,无法找到适合本专业的工作,只好求助于社会培训机构,经过第三方培训机构的回炉再造,项目经验培训之后,才能适应当今社会对于软件人才的需求。

  2.4教学内容缺乏项目经验

  传统的课堂教学是以教师讲授知识为主,学生处于被动学习状态,并且缺乏对于软件项目的整体理解,对于软件的版本管理控制,软件的开发流程,软件项目的合作开发经验,软件测试的基本工具,基本流程等等,都缺乏相应的认识。

  3教学改革目标

  (1)培养学生对于网络编程课程的兴趣,发挥自主学习的能动性。(2)理论联系实际,真正理解和运用所学知识,融入到计算机应用开发中。(3)增强学生的动手能力,做到会计划,会开发,会调试,会测试。(4)拓展学生的项目开发经验,了解项目管理工具的使用,熟悉项目管理流程。(5)提高学生撰写文章的能力,融入软件工程的相关知识,练习写作需求分析文档,详细设计文档,测试文档等。

  4教学改革的研究与探索

  4.1教学理念的提升

  为了适应新时代信息产业的高速发展,对于学生的培养,不仅仅要求其掌握基本的专业理论知识,而是重点培养学生发现问题,探索问题,解决问题的意识和能力,让学生对所学知识和技能要知其然,也要知其所以然。例如:在学习网络编程基本知识,培养学生基本编程能力的基础上,让有精力的同学阅读rfc文档,理解协议,了解协议的工作原理,锻炼学生根据文档实现协议的能力,有助于学生发现和解决问题,从而提高学生综合素质。

  4.2教学形式的多样化

  (1)项目驱动式教学以一个完整的项目贯穿课程的始终,并按照软件工程的思想把项目划分为功能模块,在此基础上设计教学内容,让学生在完成项目任务的过程中学习知识与技能(林龙健,项目驱动式信息系统开发实训教程:清华大学出版社,2019)。例如:针对网络编程课程甄选出合适的项目,即一个完整的开发实例,在实验环节中,模仿实际工作中的场景,让学生几人一组,首先,从项目题目开始头脑风暴,讨论人员分工,项目进度,进行需求分析,概要设计,详细设计,撰写测试用例,测试文档,规划版本发布计划等,让学生了解一套完整的项目管理流程。其次,让学生了解代码版本管理工具,如SVN,CVS等工具,项目管理工具,如MPP等工具,和BUG管理工具等。(2)实践性教学把教学内容形成项目任务,在每个任务中强调知识目标和能力目标,并图文并茂的展现设计开发过程,同时在每个项目任务实施前,引入完成该任务的知识,体现素质教育中“实用、够用”的原则(林龙健,项目驱动式信息系统开发实训教程:清华大学出版社,2019)。在实际教学中,以学生为主,培养学生的兴趣,发挥学生的主观能动性,培养学生实际解决问题的能力。从目前的学生学习的成果来看,大部分学生普遍存在开发经验不足,编写代码的能力较弱,调试bug的本领不强,测试软件的理念缺失等一系列问题。针对这些问题,在教学形式上应该精心的设计问题,比如总结一些运行代码中普遍存在的bug,让学生针对性的训练,提高学生改bug的能力。让学生明白程序在运行过程中,存在编译错误,链接错误,运行错误,和逻辑错误。针对不同的错误类型,能够理解程序编译链接的基本原理,看懂错误提示信息,并试图找到解决问题的办法。

  4.3教学内容的体系建设

  网络编程课程涉及的内容繁杂,针对不同的操作系统,有基于Linux平台的,有基于Windows平台的;针对不同的架构,有B/S架构的,主要是Web开发,有C/S架构的,主要是Socket开发;针对不同的开发语言,有C语言,有JAVA、Python等语言。因此,根据教学重点的不同,应该开设相应的前导课程。但是,对于大部分学生而言,仍然难以把全部课程体系贯穿起来,形成完整的网络编程体系。例如:对于C/S架构的网络编程应用,除了掌握必要的Socket知识,相关的开发语言之外,学生还需要掌握相关的界面编程技术,如MFC等,没有相关的界面编程技术支撑,学生无法开发出一个完整的基于Socket的网络编程应用程序。因此,从教学内容的改革来说,应该帮助学生搭建完整的网络编程课程体系,具体如下:(1)对于C/S架构,补充文件操作的知识,因为在实际工程应用中,传输文件几乎是必须的,甚至是超大文件的传输。补充多线程的处理方法,因为真实的应用程序不可能是阻塞式的应用,必然是并发响应的,包括对于多任务的并发,多用户的并发等。补充回调函数的处理技术,在真实场景中,常常会遇到底层函数通过调用上层实现来达到传输信息的情况,比如传输文件时应用程序显示的进度条,就是通过函数指针,即回调函数来实现的。补充网络延时的处理方法,在真实的网络环境中,不可能与实验室开发环境相提并论,网络传输必然存在大量的延时,如何正确的处理延时在真实的网络应用程序中起着至关重要的作用,应该增加Socket参数调整,时延处理等相关技术。(2)对于B/S架构,补充服务器搭建的知识,例如针对阿里云服务器的搭建的一系列知识,包括域名购买,DNS映射,防火墙配置,远程服务器与数据库的连接等等。补充对Web应用体系的相关知识,例如一般Linux开发下,Apache+MySql+PHP是一个体系,Windows开发下,IIS+SqlServer+ASP是一个体系等等。

  4.4考核形式的创新

  传统的网络编程的考核形式一般采用笔试加平时成绩的方式,或者笔试加机试加平时成绩做为学生的最终成绩。可以大胆尝试采用项目的考核方式,给学生分组,几个人共同完成一个较复杂的网络应用程序,每个人负责不同的模块,包括文档的撰写,代码的开发,和软件的最终测试,加以答辩的方式,做为最终考核,让学生全方位的掌握软件工程的方法,并增加项目开发的经验。

  5总结

  在信息技术日新月异的时代,网络编程课程,及其他计算机类相关课程必然要进行相应的改革,以适应这个时代的发展,才能更好的跟上这个时代,甚至走在时代的前沿,通过对课程的教学形式,教学内容等的改革,让学生更快的适应工作环境,更快的融入到企业环境,才能培养出这个时代真正需要的人才。

  作者:刘力军 单位:南京审计大学金审学院

转载请注明来自:http://www.uuqikan.com/jisuanjiyingyonglw/20970.html


    上一篇:计算机专业英语教学改革问题
    下一篇:计算机软件技术应用开发机遇和挑战