收藏 分销(赏)

工程思维导向的网络编程技术教学探索.pdf

上传人:自信****多点 文档编号:580081 上传时间:2024-01-02 格式:PDF 页数:5 大小:1.49MB
下载 相关 举报
工程思维导向的网络编程技术教学探索.pdf_第1页
第1页 / 共5页
工程思维导向的网络编程技术教学探索.pdf_第2页
第2页 / 共5页
工程思维导向的网络编程技术教学探索.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、161计 算 机 教 育Computer Education第 8 期2023 年 8 月 10 日中图分类号:G642工程思维导向的网络编程技术教学探索游凤芹,陈琳琳(南京理工大学紫金学院 计算机学院,江苏 南京 210023)摘 要:针对网络编程技术课程知识覆盖面广、关联课程多、重知识传授、轻能力培养的特点,提出以工程思维为导向的网络编程技术课程教学模式,从定义学生的学习产出、科学安排教学内容、合理选择教学方法、分层设计实践任务、面向成果的多维评价、持续改进教学过程等方面介绍具体教学设计过程,最后通过教学效果说明该教学模式的有效性。关键词:新工科;网络编程技术;工程思维;成果导向教育(OB

2、E)文章编号:1672-5913(2023)08-0161-050引 言面对新一轮科技革命和产业变革的加速推进,我国迫切需要培养未来多元化、创新型卓越工程科技人才。麦肯锡全球研究所调查显示,有80.7%的美国工程师可在全球受雇,而只有 10%的中国工程师满足同样的要求。为应对新一轮科技革命与产业变革的挑战,主动服务国家创新驱动发展、实施“中国制造 2025”“互联网+”等重大战略,2017 年以来,教育部积极推动新工科建设,先后发布了关于开展新工程研究与实践的通知 关于推荐新工科研究与实践项目的通知 等,加快工程教育改革创新,推进新工科的建设与发展,支撑产业转型升级1-2。工程思维和工程设计能

3、力是工程师的核心能力3。当前,线上教学已经成为高校教学的重要组成部分。网络编程技术是计算机专业本科阶段一门理论难度大、实践要求高的课程,通过在引导学生深入理解计算机网络原理与协议的基础上,培养学生的编程能力。学生通过该课程的学习,具备在多种操作系统环境下设计和实现网络应用程序的能力。以“掌握工程思维方法,培养工程思维习惯,提升工程思维能力”为目标,从教学内容、教学方法、教学评价等方面开展教学探索与实践。1课程教学现状1.1教学目标网络编程通常可以分为 3 类:基于 TCP/IP 协议栈的网络编程、基于 Web Services 的网络编程和基于 Web 应用的网络编程。基于 TCP/IP 协议

4、栈的网络编程是最基本的网络编程方式4,也是课程的重点。采用这种编程方式要求学生:深入理解 TCP/IP 协议栈的相关知识,尤其是网络层、传输层及应用层常用的协议细节;熟练掌握至少一门高级程序设计语言,如 C/C+、Java、Python 等,能够独立设计、实现和调试网络应用程序;理解网络编程技术,运用操作系统提供的网络编程接口,选择恰当的技术方案,设计实现各类网络应用程序,并在真实网络环境中运行,具备解决实际工程问题的 能力。1.2教学问题现有教学模式难以取得预期培养目标,主要有几方面原因:教学方法沿用传统以教师为主导的模式,知识点多且杂,包含计算机网络、高级语言程序设计、操作系统、软件工程等

5、内容,教师讲解,学生被动接受,听了能懂、一做就废;实验课时不足,需要实验的知识点繁多,包括套接字数据结构、辅助函数,套接字编程接基金项目:江苏省计算机学会教学类专项(JSCS2022019)。第一作者简介:游凤芹,女,高级工程师,研究方向为计算机应用技术、网络空间安全,。2023162计 算 机 教 育Computer Education口、多线程编程、异步 I/O 模型等,每项实验都需要进行网络交互,但网络环境复杂,学生工程经验不足,难以在有限课时内完成实验任务;教学效果评价手段单一,往往基于独立的知识点或编程任务进行阶段性评价,学生存在突击学习或“搭便车”的现象5,难以评价学生综合运用网络

6、编程技术解决实际问题的能力,因此无法指导对教学模式改进和优化。2工程思维引导的网络编程技术教学模式“新工科”要求高等工程教育将产业和技术的最新发展、行业对人才培养的最新要求引入教学过程,更新教学内容和课程体系,建成满足行业发展需要的课程体系和教学资源6。网络编程技术作为一门传统专业课程,亟须从“以学科为基础”向“以市场为导向”转变。采用“预测人才市场需求改造升级现有专业调整完善现有学科”的思路,将网络编程技术与计算机网络、操作系统、高级语言程序设计、软件工程、嵌入式系统应用等紧密联系的内容相融合。工程思维引导的网络编程技术教学设计模式,即从理论学习到动手实践再到探究学习的教学模式,通过做中学、

7、学中做培养工程思维,形成面向未来工程师的综合品质和工程能力。3工程思维引导的网络编程技术教学设计3.1教学设计模型立足工程教育专业认证的大背景,注重学生创新、实践能力的培养。以基于成果导向教育(Outcomes-Based Education,简 称 OBE)理 念7开展教学方法设计,以学生为中心,以预期的能力获得为导向,进行反向课程设计和正向教学实施,将教学的重点聚焦于“学生产出”(如图 1 所示)。定义产出。工程思维要求工程师能够在约束条件下进行设计,能够选择和决断解决方案。课程以“学生为中心”,培养目标包括知识、技能和情感 3 个维度:知识维度要求学生能够理解网络编程原理、掌握网络编程方

8、法、运用网络编程技术;技能维度要求学生具备在多操作系统中开发网络应用程序的能力,提升发现问题、分析问题、解决问题的工程实践能力;情感维度旨在增强学生的专业自信,培养职业习惯、提升责任意识、训练工程思维。实现产出。把学生课程的学习进程划分为不同的阶段,确定各阶段的学习目标,合理安排教学内容,促进学生的学习迁移。为具备不同学习能力的学生设计不同途径和方式。综合运用启发式、探究式等教学方法,引导学生强化对科学和工程原理的理解和运用。鼓励学生自学,提倡自主式学习、合作式学习和探究式学习。采用案例式教学将实践教学与理论教学相结合,基于产业发展和工程背景设计项目案例,开展需求分析、软件设计、编码实施、测试

9、完善的全生命周期教图 1 网络编程技术教学设计模型 定义产出 学生能理解知识原理 学生能掌握工程方法 学生能解决实际问题 学生能提高实践能力 实现产出 启发式教学 探究式教学 案例式教学 个性化指导 以学论教 多维评价 增值评价 PCDA循环 持续精进 教育与教学研究第 8 期163学,引导学生领略软件工程之美,感受分析、解决复杂工程问题的过程。持续精进。建立完善的持续精进机制,设计以成果为导向的多维评价方法,动态掌握学生知识、能力和素质的发展水平,评估课程培养目标与毕业要求的符合度与达成度,并制订课程教学活动的持续精进计划,通过 PDCA 循环(Plan(计划)、Do(执行)、Check(检

10、查)、Action(处理)来实现教学过程的精益求精,最终促进学生能力的“增量”发展。3.2教学内容安排套 接 字 规 范 起 源 于 Linux 操 作 系 统,Windows Sockets 规范全面继承了 Linux 套接字网络编程接口,传统课程大多基于 Windows 进行套接字编程的学习。随着 5G 与物联网时代的到来,智能设备飞速发展,基于 UDP 的套接字编程技术广泛运用于各类嵌入式系统的研制中。为了紧跟产业发展脉搏,为了培养学生的应变能力和综合素质,本课程基于 Berkeley Sockets 规范开展套接字编程原理和模型的学习,使学生“知其然,知其所以然”,进而具备跨平台网络编

11、程的能力。网络编程技术课程教学内容安排主要包括4 个模块:网络编程基础、套接字编程原理、基本套接字编程和高级套接字编程(如图 2 所示)。在复习网络通信模型和 TCP/IP 协议栈的基础上,通过网络封包分析工具(如 Wireshark)抓取网络报文并分析网络协议,加深对协议的理解。套接字编程原理模块知识点多且杂,分析 Windows和 Linux 操作系统网络编程接口的异同,通过编程实例验证套接字的特色数据结构和工具函数。基本套接字编程模块包括面向连接的流式套接字、无连接的数据包套接字和原始套接字 3 种,该模块是网络编程技术的基石。在学习套接字原理的基础上,探究 Windows 和 Linu

12、x 操作系统的特色接口,引导学生认识跨平台开发,并通过案例式教学加深学生的理解。高级套接字编程模块理论难度大,在复习进程与线程、回调函数和设计模式相关知识点的基础上,引导学生学习阻塞与非阻塞模式、多线程编程和 5 种套接字 I/O 模型。创设工程情境,发展探索思维能力。选用科大讯飞公司的国产智能开发设备,基于厂家提供的 SDK 编程实现设备的网络操控,提高学生综合应用知识解决实际问题的能力。3.3实践项目设计工程思维导向的网络编程技术的教学目标是引导学生综合运用知识、利用各种工具和资源解释现象、解决问题,并形成满足发展需要的综合知识体系,训练应对日益复杂多变环境的挑战能力。为此,本课程共有 4

13、 次主要的实验,前 3 次为单元实践,第 4 次为综合实践(见表 1)。理论学习和实践操作同步,综合采用线上和线下、集中式讲授和个性化指导的方式,教师对关键问题适当引导,学生自主探究、小组讨论、协同合作。同时,结合学生培养目标,关注学科发展、基于行业前景和产业发展趋势,挖掘思政元素,提炼思想价值和精神内涵。以单元实践 1为例,对应面向连接的套接字编程:通过介绍流图 2 网络编程技术教学内容网络编程基础TCP/IP 协议栈网络通信模型客户机/服务器模型网间进程标识网络应用程序使用网络封包分析工具深入理解网络协议交叉学科套接字数据结构工具函数套接字工作原理能够编码验证套接字数据结构、字节序转换等辅

14、助函数高级程序设计语言Windows 操作系统Linux 操作系统能够设计并实现 3种套接字模型的应用程序流式套接字编程数据报套接字编程原始套接字编程阻塞 VS 非阻塞同步 VS 异步ICMP 协议能够根据需求选用特定技术方案实现工程目标套接字 I/O 模型多线程编程阻塞与非阻塞模式广播、多播设计模式进程与多线程套接字编程原理基本套接字编程高级套接字编程理论知识工程技能2023164计 算 机 教 育Computer Education式套接字在网络中的广泛应用,如各类 Web 服务、邮件服务,增强学生的专业自信,启发学生的职业理想;在掌握 Socket 相关数据结构、字节序转换函数、信息查询

15、函数的基础上,以小组合作的方式完成基于流式套接字的客户/服务器通信程序;2 人一组,分别完成客户端和服务器端;通过小组合作、协同编程,提高沟通能力和团队协作能力。综合实践是本课程的综合与升华,要求学生从 3 个不同层次的题目中任选一个,独立探索或小组合作完成。提升学生整合与应用知识的能力,训练学生掌握和运用工程思维方法,对于复杂工程项目能够化繁为简、分而治之,结合实际在“妥协”中循序渐进,感悟工匠精神和责任意识,为未来有创意的运用科学定律系统化解决实际问题奠定基础。3.4教学评价构建传统的课程考核重理论轻实践、多定性少定量。通常采用选择、判断、填空、简答等便于评价的客观形式。着重考查学生对所学

16、知识点的记忆和理解,无法考核学生解决实际问题的思路和方法,无法评价学生的思维习惯与能力。在工程思维引导的网络编程技术课程中,设计以成果为导向的多元形成性评价模型,全方位、全周期、多维度开展评价,强调学生的知识和技能、思维和能力、工程与创新。总成绩包括理论成绩和实践成绩(见公式 1)。理论成绩由课堂成绩和期末考试组成(见公式 2):课堂成绩包括理论课堂评价和实验课堂评价(见公式 3),设计“五会”评价指标(满分各为 20 分),主要考查学生听课状态(会听)、讨论参与度(会沟通)、发言积极性(会说)、随堂练习(会思考);期末试题侧重于知识的应用,避免死记硬背,生搬乱造,题型包括选择、填空、阅读代码

17、、程序设计等。实践成绩综合考查学生的软件工程技能(会做),由单元实践和综合实践成绩加权求和(见公式 4),以工程问题的解决过程与效果作为重点考查依据,基于实验表现、代码质量、实验报告定量评价学生的动手实践能力、解决问题的能力、系统级工程实践能力。总成绩=0.5 理论成绩+0.5 实践成绩(1)理论成绩=0.7 课堂成绩+0.3 期末成绩(2)课堂成绩=会听+会说+会沟通+会思考+会做(3)实践成绩=0.6 实验 1实验 3单元实践+0.4 综合实践(4)4教学实施及效果以南京理工大学紫金学院计算机学院学生作为教学改革的实施对象,教学课时为 40 学时,其中理论 32 学时、实验 8 学时。20

18、21 年秋学期授课对象为网络工程专业学生 48 人,2022 年秋学期授课对象为计算机科学与技术、软件工程、网络工程专业共 104 人。课程的实施以学生为中心,以成果为导向,合理安排教学内容,科学设计教学方法,持续改进教学过程。以高级套接字编程为例,该章节是网络编程技术的难点,以现表 1 实验内容设置序号类型内容思政元素1单元实践 Socket 相关数据结构、字节序转换函数、信息查询函数基于流式套接字实现一个简单的客户/服务器文字通信程序职业理想团队协作2单元实践单播/组播通信、套接字选项设置使用数据报套接字实现组播通信(模拟视频弹幕系统)职业规范科学研究3单元实践进程与多线程、异步 I/O

19、模型基于 C/S 架构实现多用户的聊天室程序职业品德协同攻关4综合实践设计并实现简单网盘传输软件设计并实现科大讯飞智能设备操控软件设计并实现一个 RESTFUL 接口的功能测试软件责任意识工匠精神探索精神教育与教学研究第 8 期165实生活中使用普通水壶和响水壶烧水为例导入新课,启发学生理解套接字的阻塞模式和非阻塞模式。为了提高学生的工程能力,以软件工程方法为背景,以项目为驱动,教师分析如何选用高级套接字编程技术方案解决实际问题。设计综合实践项目,2 人一组分别实现客户端和服务端,要求学生熟练运用工具、解释现象,分析实际网络环境中的问题,选择和判定解决方案,加深对网络编程原理的理解。通过上述教

20、学模式,学生的主观能动性增强,课堂活跃度提高,实验课积极性改善。图 3显示学生“五会”指标的平均得分。因 2022 年所授课班级学生人数比 2021 年学生人数倍增,学生课堂的发言机会减少,因此平均沟通和课堂发言得分有所降低。通过分析实验报告,学生能够通过合作方式解决一些较为复杂的工程问题,综合运用知识的能力得到提高,协作能力和专业自信获得提升。通过 2021 秋和 2022 秋两学期学生的总成绩分布(如图 4 所示),可以发现低分人数减少、高分人数增加,学生的理论知识更加扎实。参考文献:1 高等教育司.教育部高等教育司关于开展新工科研究与实践的通知EB/OL.(2017-02-20)2022

21、-11-19.http:/ 教育部办公厅.教育部办公厅关于推荐新工科研究与实践项目的通知EB/OL.(2017-06-21)2022-11-19.http:/ 马克 N.霍伦斯坦.工程思维 M.宫晓莉,张金,赵子平,译.5版.北京:机械工业出版社,2017:181.4 鲁斌,朵春红,宋亚奇,等.网络编程技术M.北京:清华大学出版社,2019:345 杜少勇,杨春芳,刘琰.网络编程技术课程形成性评价方法探索J.计算机教育,2022(1):148-151.6 庞继芳,张夏蕾,王元龙,等.以“双一流”和“新工科”为导向的数据库系统课程教学改革研究J.计算机教育,2022(5):150-154.7 S

22、yeed M,Shihavuddin A,Uddin M,et al.Outcome based education(OBE):Defining the process and practice for engineering educationJ.IEEE Access,2022(10):119170-119192.(编辑:史志伟)5结 语技术的发展对人才培养提出了更高要求,也是新工科建设的要义所在。当科技与人文越来越交织在一起时,尤其需要“工程思维”。工程思维引导的网络编程技术课程,在引导学生掌握网络编程技术原理的基础上,提升整合和运用知识、解释现象、分析问题、解决问题的工程实践能力。经过 2 年的教学验证,学生能够以独立探索和团队协作相结合的方式实现基于网络编程技术的网络应用程序,如简单网盘传输软件、嵌入式设备操控、Web 接口功能测试软件等工程任务,能够分析网络环境出现的实际问题并给出解决方案。学生提升了工程设计能力,感悟到工匠精神和职业理想,培养了工程思维习惯。由于对比的样本还不够丰富,未来继续立足工程教育专业认证背景、基于产业需求和行业发展趋势,持续开展教学实践改革创新。以期面向未来、布局工程科技人才培养。图 3 20212022 课堂成绩分析图 4 20212022 总成绩分析

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服