您好, 访客   登录/注册

基于Python的网络程序设计教学改革探索

来源:用户上传      作者:饶雪峰 郭振军

  摘要:针对原有网络程序设计教学方案的不足,结合应用型本科高校的实际情况,从教学内容、教学方法进行了改革探索和研究。新的教学方案在考虑学生原有知识能力水平的基础上,反映了物联网、大数据时代对网络编程能力的内在需求,在引导学生把知识与实践相结合的过程中,提升了学生自主学习的积极性,对培养学生的理论知识和实践运用能力,起到了积极作用。
  关键词:网络编程;教学改革;Python
  中图分类号:G642.0     文献标志码:A     文章编号:1674-9324(2019)39-0100-02
   网络程序设计课程是物联网工程、网络工程专业的专业限选课,目的是培养学生掌握网络系统开发的基本原理,具备网络应用系统的开发和设计能力。
  目前,国内多所大学的计算机相关专业,均开设了此类课程[1]。在教学内容上,强调与操作系统Socket套接字机制相结合,以套接字的应用为核心,辅以网络报文的构造及解析,多进程、多线程等并发编程方法的讲解,并以实现简单应用层协议的软件系统作为实践教学内容。然而,教学编程语言较为底层,开发环境较为复杂,对学生的编程能力和计算机系统理论基础要求较高,对于应用型本科院校的学生,掌握起来有一定困难[2]。基于以上现实,提出了基于Python进行教学改革的设想并加以实践,让学生专注于对知识逻辑层面的理解、组织和运用,减轻开发任务中对编程技术细节的掌握负担,在有限的学时内,开发出贴近实际需求的网络应用。这对增强学生的专业学习信念、激发自主学习动力,能起到积极的促进作用。
  一、现有教学方案的不足
  现有方案以操作系统和协议报文结构为核心,强调对计算机网络、操作系统、C/C++等先修课程的综合运用,对于培养专门从事网络软件系统开发的人才,起到了重要作用。
  然而,随着近年来技术的迅猛发展和社会需求的演变,原有教学方案中的不足也越发明显:
  1.技术路线略显陈旧。Windows下的MFC已经相对陈旧,微软官方和业界已经逐渐弃用MFC框架,转向纯WindowsAPI+C++11或.NET平台。
  2.教学内容偏重底层,未能充分贴合当前技术热点和需求焦点。现有方案通常基于MFC/C++代码,展示网络报文解包和封包过程,虽对掌握计算机网络体系理论有着重要的意义,但其内容在实际应用开发中,并非不可替代。随着云计算、大数据、物联网等应用的迅猛发展,诸如Web API、网络数据采集、分布式系统、自动化运维等各类网络应用层出不穷[3],新时代的网络程序设计课程,应当讲求时效,让学生能够登堂入室,树立崭新的网络系统全局观。
  二、教学方案设计
  1.调整思路。(1)反思课程定位,突出培养目标。结合应用型本科院校的培养实际情况,授课重点应从协议底层向应用系统开发基础转移。通过对典型网络应用案例的剖析讲解,呈现知识之间的关联性,并加以总结,帮助学生领会网络体系结构的内在规律。在socket编程的基础上,围绕并发编程代码模式、应用层围绕诸如HTTP协议进行讲解实践,在具备较强的实用性和趣味性的同时,仍要突出其基础性和系统性。(2)改用解释型语言作为教学语言,充分发挥其开发高效性。为突出互联网、大数据的应用需求,适宜选择更易学习上手的编程语言。Python具备C的简洁、解释性语言的开发高效性和Java的跨平台部署能力,在网络编程应用中也得到了业界的充分认可,目前,Python在TOIBE编程语言排行榜上位列第4,从众多语言中脱颖而出[4]。
  2.教学内容设计。(1)内容选取和编排的原则。①知识贵在精而不在多。在保证知识体系完整性的前提下,优先保证核心知识的理解和掌握,不贪大求全。②讲述顺序应強调其知识点之间的内在逻辑性。a.突出Socket套接字编程和传输层协议特性的关联性。b.突出HTTP协议在当前实际应用中的主体地位。c.结合操作系统机制,讲解网络应用的IO密集性,如何选取合适的并发编程策略。(2)总体内容安排及学习分配。突出基础和贯通性,课程内容具备自包含性,课程中会安排适度的冗余,强调把关键问题讲透,体现出课程之间的关联性[5]。
  三、教学方法设计
  1.强调学生对知识的理解和运用。通过采取提问式的教学讲解,培养学生主动思考的意识;强调案例演示,用贴近实际应用的程序,揭示知识点之间的联系[6],从而加深学生对问题的理解,提升其解决问题的能力。
  2.充分考虑学生对新知识的接受能力,提升知识传达的有效性。每次教学,应当围绕一到两个中心概念进行学习,否则教学强度较大,易产生超限效应。根据构建主义学习理论,用学生已有的概念经验来描述新的知识点。比如在讲解Python协程的行为时,用给被调试语句下断点的方式进行类比,有效消除了学生对新知识点的陌生感。
  3.对教学过程实施反馈收集和动态调控策略。以填写在线问卷的方式,既可以提前了解学生对先修知识的掌握情况,又可以检查课程教学是否达到了预期效果。通过反馈,设置有针对性的巩固练习,最终达成培养目标。
  四、结语
  通过此次教学改革探索,将Python语言引入课堂,配合贴近实际的案例讲解,有效提升了学生的学习热情。通过积极对教学内容进行反馈调控,提高了学生的课堂参与度。反馈结果表明,学生的网络系统全局观得到提升,对网络编程方法有了初步掌握,达到了学以致用的目的。
  受限于多方面因素,探索实践中仍存在较多不足,有待后续改进:
  1.考虑到学生的专业基础,部分内容并没有作较高要求,比如并发编程的部分。
  2.Python在培养方案上未作为必修课程,难免会占用一些宝贵的课时。
  3.课堂教学手段较为传统。后续应考虑利用翻转课堂等方法,提高学生的学习自主积极性。   参考文献:
  [1]纪其进.网络工程专业网络程序设计课程探讨[J].计算机教育,2010,(23):74-77.
  [2]胡庆辉,阮晓霞,陆玉靖.应用型本科计算机专业“网络程序设计”课程教学改革探索[J].教育教学论坛,2015,(28):276-278.
  [3]肖鹏,路莹,李媛媛.以就业为导向的网络程序设计课程教学改革[J].计算机教育,2013,(14):21-23.
  [4]嵩天,黄天羽,礼欣.Python语言:程序设计课程教学改革的理想选择[J].中国大学教学,2016,(02):42-47.
  [5]祁晖,崔广才,从立钢.网络程序设计教学改革探索[J].重庆与世界:学术版,2013,30(8):70-72.
  [6]蒋峥峥,陈晓红,王进,等.网络工程专业“网络程序设计”课程的案例教學实践[J].计算机教育,2013,(2):27-31.
  Exploration on Teaching Reform of Network Programming in Python
  RAO Xue-feng,GUO Zhen-jun
  (Guilin University of Aerospace Technology,Guilin,Guangxi 541004,China)
  Abstract:Aiming to resolve shortcomings of the original network programming course teaching scheme,combined with the actual situation of the applied undergraduate colleges,the reform and exploration of the teaching content and teaching methods were carried out.Based on the students' original knowledge ability,the new teaching plan reflects the inherent needs of the Internet programming ability in the Internet of Things and Big Data era.It promotes students' independent learning in the process of guiding students to combine knowledge and practice.The enthusiasm has played a positive role in cultivating students' theoretical knowledge and practical application ability.
  Key words:Network Programming;teaching reform exploration;Python
转载注明来源:https://www.xzbu.com/9/view-15025366.htm