课程名称 |
网络程序设计实验 |
Experiments of Network Programming |
开课单位 |
计算机科学与工程学院 |
课程性质 |
必修课 |
课程类别 |
(实践环节) |
课程代码 |
210731104301 |
学分 |
1 |
学时 |
22 |
适用专业 |
物联网工程 |
先修课程 |
程序设计基础、计算机网络 |
支撑课程 |
网络程序设计 |
授课语言 |
中文 |
一、课程简介
(一)课程中文简介
《网络程序设计实验》是物联网工程专业实践环节的一门课程,本课程将重点在Linux平台的进行TCP/IP网络编程实践,实现TCP/DUP的客户服务器模型编程,完成并发、循环服务器的设计与实现;使学生掌握客户端软件设计和服务器端软件设计的相关问题和算法,对基于TCP/IP的客户-服务器模型编程技术有一个全面的了解,为后续物联网实训奠定基础。
(二)课程英文简介
"Experiments ofNetwork Programming" is one of professional development courses of the Internet of Things, this course will focus on programming practice on Linux platform for TCP/IP network, programming to realize TCP/DUP client/server model, completing the design and implementation of concurrent and circulating server; Enable students to master the design of the client and server software, the problems about the design of software and algorithm. For the client-server model based on TCP/IP programming techniques, it helps the students have a comprehensive understanding and lay the foundation for the follow-up.
二、实验课程目标
本课程的目标包括:
CO1:掌握Linux操作系统TCP/IP编程的基础;能够实现简单的TCP/UDP客服服务器模型。
CO2:掌握循环、并发、有连接、无连接服务器模型的算法,能够完成循环面向连接的服务器算法、循环无连接服务器算法、并发无连接服务器算法和并发面向连接服务器的设计与实现。
CO3:掌握复杂服务器模型,能够实现多协议、多服务的复杂服务器的设计与实现。
课程目标与所支撑的毕业要求指标点的对应关系如表所示。
适用专业 |
毕业要求内涵观测点 |
课程目标 |
物联网工程 |
GR5.3根据工程问题需要,能够运用多种编程工具和语言,开发适当工具对设计进行检验和评价。 |
CO1 |
CO2 |
CO3 |
三、实验内容与要求
(一)实验设计(实验类型及内容)
实验课程目标 |
实验模块(可选) |
对应实验 |
CO1 |
|
实验1、实验2 |
CO2 |
|
实验3、实验4、实验5 |
CO3 |
|
实验6 |
(二)实验内容及要求
编号 |
实验项目 |
学时数 |
实验内容 |
实验类型 |
实验要求 |
实验1 |
TCP、UDP编程实验 |
2 |
分别基于TCP、UDP完成客户服务器编程 |
验证性 |
必做 |
实验2 |
TCP、UDP实现文件传输 |
2 |
分别基于TCP、UDP完成文件传输和接收的设计和编程 |
设计性 |
必做 |
实验3 |
基于TCP完成 跨平台的文件传输 |
2 |
基于TCP和UDP完成linux和windows 跨平台的文件传输 |
设计性 |
必做 |
实验4 |
并发服务器设计 |
4 |
利用多进程和多线程实现服务器端的并发处理 |
设计性 |
必做 |
实验5 |
I/O复用 |
4 |
利用I/O复用完成单进程并发服务器的处理 |
验证性 |
必做 |
实验6 |
复杂服务器设计 |
8 |
多协议、多服务的服务 器设计 |
综合性 |
必做 |
四、实验设备与环境配置
1. 计算机:Intel Core2 Duo E4300 1.8GHZ、内存512MB、硬盘15GB以上。
2. 编译器:支持ISO C++ 98标准特性,如GCC、VC++7以上;或支持ISO C++ 11标准特性,如GCC 4.8.1、VC++ 2013以上。
3. 开发环境:Linux系统、windows系统、
五、课程思政、创新创业元素
教学章节 |
知识点 |
思政元素案例 |
培养目标 |
备注 |
实验1 |
TCP、UDP编程实验 |
分别基于TCP、UDP完成客户服务器编程 |
了解计算机网络发展史 |
|
实验2 |
TCP、UDP实现文件传输 |
分别基于TCP、UDP完成文件传输和接收的设计和编程 |
了解文件传输的设计要点 |
|
实验3 |
基于TCP完成 跨平台的文件传输 |
基于TCP和UDP完成linux和windows 跨平台的文件传输 |
了解Windows操作系统和linux操作系统发展史 |
创新创业教育 |
实验4 |
并发服务器设计 |
利用多进程和多线程实现服务器端的并发处理 |
Tiktok发展史 |
创新创业教育 |
实验5 |
I/O复用 |
利用I/O复用完成单进程并发服务器的处理 |
了解套接字的产生背景 |
|
实验6 |
复杂服务器设计 |
多协议、多服务的服务器设计 |
学会模型的甄别和选择 |
|
实验6 |
复杂服务器设计 |
多协议、多服务的服务器设计案例 |
掌握模型的实现 |
|
六、主要参考资料
[1] Comer D.E.,《用TCP/IP进行网际互联》第三卷:客户-服务器编程与应用(Linux版),北京:电子工业出版社,2008年10月
[2] W. Richard Stevens,《Unix网络编程》卷1 套接字联网API(第3版),北京:人民邮电出版社,2014年4月
七、考核方式、方法及实验成绩评定方法
考核成绩可以采用五级制或百分制。课程成绩考核主要由平时成绩组成,可以进行期末考核。平时考核包括出勤、展示、各次实验考核等形式。
(一)评分标准
考核 环节 |
<60 (不及格) |
60-69 (及格) |
70-79 (中等) |
80-89 (良好) |
90-100 (优秀) |
平时 |
实验过程中不能完成实验要求,不能得到正确的实验结果,不能从技术角度优选解决方案获得有效的结论 |
实验过程中认真完成实验要求,不能得到正确的实验结果,实验报告格式正确,步骤叙述清楚,没有正确分析实验数据,但是结合理论分析可以从技术角度优选解决方案获得有效的结论 |
实验过程中认真完成实验要求,得到正确的实验结果,实验报告格式正确,步骤叙述比较清楚,正确分析实验数据,从技术角度优选解决方案获得比较有效的结论 |
实验过程中认真完成实验要求,得到正确的实验结果,实验报告格式正确,步骤叙述清楚,正确分析实验数据,从技术角度优选解决方案获得有效结论 |
实验过程中不能完成实验要求,不能得到正确的实验结果,不能从技术角度优选解决方案获得有效的结论 |
大作业 |
所选网络应用系统过于简单、给出的设计方案不合理、不完善。文档不规范。 |
所选网络应用系统规模适中、给出的设计方案基本合理。文档较规范。 |
所选网络应用系统规模适中,给出的服务器、客户端模型合理,选用的技术可行。文档较规范。文笔流畅。 |
所选网络应用系统较复杂;服务器、客户端模型合理,有创意或代价低。文档较规范。文笔流畅。图表规范,参考近期文献。 |
所选网络应用系统过于简单、给出的设计方案不合理、不完善。文档不规范。 |
(二)实验项目(或考核环节)权重
考核环节 |
CO1 |
CO2 |
CO3 |
平时 |
50% |
50% |
50% |
大作业 |
50% |
50% |
50% |
总权重 |
100% |
100% |
100% |
撰稿人:赵建立
审核人:罗汉江
批准人:崔焕庆