《TCPP网络编程》课程教学大纲 一、课程概况 课程代码:04450310 课程名称:TCPP网络编程 课程学分:4 课程学时:64(理论学时:44;实验(实践)学时:20) 课程性质:专业必修课(必修) 开课部门:信工学院 建议修读学期:5 建议先修课程:面向对象程序设计,数据结构,计算机网络等 适用专业(方向):网络工程 二、课程地位、作用与任务 本课程是网络工程专业的专业必修课,主要培养学生的系统性、创新性思维、综合设计 能力和工程应用实践能力,提高学生的程序设计技能,具备网络系统设计思想。 本课程的主要任务在于让学生理解基于socket API网络编程知识。学生通过该课程的学 习,能够了解客户服务器网络编程的原理和基本方法,熟练掌握TCPP网络协议的基本概 念,socket网络编程的基本原理,网络服务器的各种类型及其特点,最后通过一个完整的综 合性实例说明一个CS网络系统的具体实现方法。为培养学生分析研究复杂工程问题提供系 统分析、设计基本理论和基本方法,支撑专业毕业要求中相应指标点的达成。 三、课程目标 (一)教学目标 TCPP网络编程课程具体要求达到的特定教学目标包括: 1教学目标1.包括TCPP网络协议的基本概念,客户服务器概念和原理。(指标点1.2) 2.救学目标2.socket网络编程的基本原理,数据流和数据报套接字编程原理,组播通信的编 程原理。网络服务器的各种类型及其特点,网络服务器编程技术。(指标点23)》 3.教学目标3.熟悉I/O复用Select编程技术,了解各种linux和windows下的高级网络编程 模型,线程和定时器在网络编程中的应用方法等。(指标点3.2) 4.教学目标4.通过一个完整的例子说明一个C/S网络系统的具体实现方法,Liux和 windows下网络编程的对比,了解可移植性网络编程注意事项及java等其他语言进行网络编 程等方法。(指标点5.1) 18
18 《TCP/IP 网络编程》课程教学大纲 一、课程概况 课程代码:04450310 课程名称:TCP/IP 网络编程 课程学分:4 课程学时:64(理论学时:44;实验(实践)学时:20) 课程性质:专业必修课(必修) 开课部门:信工学院 建议修读学期:5 建议先修课程:面向对象程序设计,数据结构,计算机网络等 适用专业(方向):网络工程 二、课程地位、作用与任务 本课程是网络工程专业的专业必修课,主要培养学生的系统性、创新性思维、综合设计 能力和工程应用实践能力,提高学生的程序设计技能,具备网络系统设计思想。 本课程的主要任务在于让学生理解基于 socket API 网络编程知识。学生通过该课程的学 习,能够了解客户服务器网络编程的原理和基本方法,熟练掌握 TCP/IP 网络协议的基本概 念,socket 网络编程的基本原理,网络服务器的各种类型及其特点,最后通过一个完整的综 合性实例说明一个 C/S 网络系统的具体实现方法。为培养学生分析研究复杂工程问题提供系 统分析、设计基本理论和基本方法,支撑专业毕业要求中相应指标点的达成。 三、课程目标 (一)教学目标 TCP/IP 网络编程课程具体要求达到的特定教学目标包括: 1.教学目标 1. 包括 TCP/IP 网络协议的基本概念,客户服务器概念和原理。(指标点 1.2) 2.教学目标 2. socket 网络编程的基本原理,数据流和数据报套接字编程原理,组播通信的编 程原理。网络服务器的各种类型及其特点,网络服务器编程技术。(指标点 2.3) 3.教学目标 3. 熟悉 I/O 复用 Select 编程技术,了解各种 linux 和 windows 下的高级网络编程 模型,线程和定时器在网络编程中的应用方法等。(指标点 3.2) 4.教学目标 4. 通过一个完整的例子说明一个 C/S 网络系统的具体实现方法,Linux 和 windows 下网络编程的对比,了解可移植性网络编程注意事项及 java 等其他语言进行网络编 程等方法。(指标点 5.1)
(二)本课程支撑的毕业要求 1.本课程支撑的毕业要求:(毕业要求1、2、3、5。)(毕业要求见2018版人才培养方案) 2.本课程支撑的指标点:指标点1.2、2.3、3.2、5.1 (1)指标点1.2:具有扎实的工程基础知识、网络通讯和安全运维专业基本理论知识。 (2)指标点23:能够运用数理、自然科学和工程科学的基本原理,通过查阅科技文献,解 决复杂工程中遇到的问题,并获得有效的结论。 (3)指标点3.2:使用特定设计工具正确进行系统规划刻,规划过程划分科学合理,确保目标 达成的可能性,能按照软硬件的功能和特点进行整体方案设计。 (4)指标点5.1:能选择与使用恰当的技术、资源、现代工程与信息技术工具定义与描述 一般工程问题。 (三)课程教学目标与毕业要求对应表 《TCPP网络编程》课程教学目标与半业要求的对应表 课程名称:TCP/IP网络编程 任课教师: 课程性质:专业必修 课程学分:4 课程支撑的毕业要求 课程目标、达成途径、评价依据 毕业要求1: 教学目标:培养学生综合应用专业知识解决工程问题的 1.2具有扎实的工程基础知识、网 能力。 络通讯和安全运维专业基本理论 达成途径:回忆计算机网络课程学习的基础知识,进 知识。 步掌握TCPP网络体系结构及特点,熟悉各层的功能。 重点掌握TCP和UDP协议的特点,并进行对比。然后 了解网络程序的三种体系结构的特点,从而深刻理解客 户服务器的工作原理。 评价依据:课堂提问、作业、期末考核。 毕业要求2: 教学目标:培养学生综合应用专业知识解决工程问题的 2.3能够运用数理、自然科学和 能力。 工程科学的基本原理,通过查阅 达成途径:首先了解socket网络编程的基本原理,然后 科技文献,解决复杂工程中遇到 重点熟悉数据流和数据报套接字编程原理以及组播通信 的问题,并获得有效的结论。 的编程原理。最后了解网络服务器的各种类型及其特点, 熟悉网络服务器编程所涉及的技术要求。利用实验加深 对上述知识的理解和应用。 评价依据:课堂提问、作业、实验报告及期末考核 毕业要求3: 教学目标:培养学生综合应用专业知识解决工程问题的 3.1使用特定设计工具正确进行 能力。 系统规划,规划过程划分科学合 达成途径:首先熟悉I/O复用Select编程技术原理,然 理,确保目标达成的可能性,能 后了解各种linux和windows下的高级网络编程模型及 按照软硬件的功能和特点进行整 通过实验加深对技术的理解,最后熟悉线程和定时器在 体方案设计。 网络编程中的应用方法等。掌握在真实环境下网络程序 的结构和关键技术。 评价依据:课堂提问、作业、实验报告及期末考核 半业要求5: 教学目标:培养学生综合应用专业知识解决工程问题的 5.1能选择与使用恰当的技术、资能力。 19
19 (二)本课程支撑的毕业要求 1. 本课程支撑的毕业要求:(毕业要求 1、2、3、5。)(毕业要求见 2018 版人才培养方案) 2. 本课程支撑的指标点:指标点 1.2、2.3、3.2、5.1 (1)指标点 1.2:具有扎实的工程基础知识、网络通讯和安全运维专业基本理论知识。 (2)指标点 2.3:能够运用数理、自然科学和工程科学的基本原理,通过查阅科技文献,解 决复杂工程中遇到的问题,并获得有效的结论。 (3)指标点 3.2:使用特定设计工具正确进行系统规划,规划过程划分科学合理,确保目标 达成的可能性,能按照软硬件的功能和特点进行整体方案设计。。 (4)指标点 5.1:能选择与使用恰当的技术、资源、现代工程与信息技术工具定义与描述 一般工程问题。 (三)课程教学目标与毕业要求对应表 《TCP/IP 网络编程》课程教学目标与毕业要求的对应表 课程名称:TCP/IP 网络编程 任课教师: 课程性质:专业必修 课程学分:4 课程支撑的毕业要求 课程目标、达成途径、评价依据 毕业要求 1: 1.2 具有扎实的工程基础知识、网 络通讯和安全运维专业基本理论 知识。 教学目标:培养学生综合应用专业知识解决工程问题的 能力。 达成途径:回忆计算机网络课程学习的基础知识,进一 步掌握 TCP/IP 网络体系结构及特点,熟悉各层的功能。 重点掌握 TCP 和 UDP 协议的特点,并进行对比。然后 了解网络程序的三种体系结构的特点,从而深刻理解客 户服务器的工作原理。 评价依据:课堂提问、作业、期末考核。 毕业要求 2: 2.3 能够运用数理、自然科学和 工程科学的基本原理,通过查阅 科技文献,解决复杂工程中遇到 的问题,并获得有效的结论。 教学目标:培养学生综合应用专业知识解决工程问题的 能力。 达成途径:首先了解 socket 网络编程的基本原理,然后 重点熟悉数据流和数据报套接字编程原理以及组播通信 的编程原理。最后了解网络服务器的各种类型及其特点, 熟悉网络服务器编程所涉及的技术要求。利用实验加深 对上述知识的理解和应用。 评价依据: 课堂提问、作业、实验报告及期末考核 毕业要求 3: 3.1 使用特定设计工具正确进行 系统规划,规划过程划分科学合 理,确保目标达成的可能性,能 按照软硬件的功能和特点进行整 体方案设计。 教学目标:培养学生综合应用专业知识解决工程问题的 能力。 达成途径:首先熟悉 I/O 复用 Select 编程技术原理,然 后了解各种 linux 和 windows 下的高级网络编程模型及 通过实验加深对技术的理解,最后熟悉线程和定时器在 网络编程中的应用方法等。掌握在真实环境下网络程序 的结构和关键技术。 评价依据: 课堂提问、作业、实验报告及期末考核 毕业要求 5: 5.1 能选择与使用恰当的技术、资 教学目标:培养学生综合应用专业知识解决工程问题的 能力
源、现代工程与信息技术工具定 达成途径:通过一个完整的例子说明一个C/S网络统的 义与描述一般工程问题。 具体实现方法,理解网络程序的设计方法以及需要解决 的问题。通过了解Linux和windows下网络编程的比较, 理解可移植性网络编程注意事项及使用java等其他语言 进行网络编程等方法。 评价依据:课堂提问、作业、实验报告及期末考核 四、课程内容 教学内容 作业要求 第一章网络编程相关基础知识介绍 自学内容:gcc、gdb、Vs使用方法。 1.10复习TCP/IP网络体系结构。 课堂作业: 111网络应用程序模型与客户服务器原理。 1.TCP和UDP协议的特点及对比? 知识点: 2网络应用程序有哪三种体系结构,各自的 1.TCP和UDP协议特点及对比。 特点是什么? 2.TCPP网络体系结构及特点。 课外作业: 3.网络应用程序的三种模型及其特点。 1.为什么网络编程要采用C/S体系? 4.客户服务器原理。 第二章基本套接字接口及筒单网络编程介绍 自学内容:Winsock的特点。 2.1套接字含义及其基本API应用。 课堂作业: 2.2套接字和组播编程介绍。 1简单数据流服务器套接字编程流程如何 知识点: 2.组播编程如何进行? 1.套接字及其基本API。 课外作业: 2.筒单套接字编程技术。 1.为什么windows和linux下网络编程有所 3.组播编程技术。 不同? 第三章网络服务器编程技术介绍 自学内容:线程的同步和互斥处理技术。 3.1掌握网络服务器编程思想。 课堂作业: 3.2IO复用—-select网络编程技术。 l.采用select进行网络编程的流程。 3.3利用多线程和定时器进行复杂网络编程 2.与客户相比,网络服务器具有什么特点? 的方法。 课外作业: 知识点: l.select网络服务器编程适用规模有什么限 1.网络服务器的编程特点。 制? 2.select编程思想和流程。 3.线程在网络编程中的作用。 4.定时器有哪些实现方法。 第四章网络编程模型及网络编程实例 自学内容:Java网络编程技术。 4.1套接字编程的平台特性。 课堂作业: 4.2网络应用程序设计实例。 1.Windows和Linux网络编程有哪些不同? 知识点: 2.Windows网络编程模型各有什么特点,分 1.Windows下的网络编程模型。 别适应什么场合? 2.Windows和Linux网络编程差异。 3.EPOLL网络编程与select编程模型相比有 3.网络协议设计要点。 哪些优点? 4.EPOLL网络编程模型。 课外作业: 1.要实现网络通信,除了基本的套接字编 20
20 源、现代工程与信息技术工具定 义与描述一般工程问题。 达成途径:通过一个完整的例子说明一个 C/S 网络统的 具体实现方法,理解网络程序的设计方法以及需要解决 的问题。通过了解 Linux 和 windows 下网络编程的比较, 理解可移植性网络编程注意事项及使用 java 等其他语言 进行网络编程等方法。 评价依据: 课堂提问、作业、实验报告及期末考核 四、课程内容 教学内容 作业要求 第一章 网络编程相关基础知识介绍 1.10 复习 TCP/IP 网络体系结构。 1.11 网络应用程序模型与客户服务器原理。 知识点: 1. TCP 和 UDP 协议特点及对比。 2. TCP/IP 网络体系结构及特点。 3. 网络应用程序的三种模型及其特点。 4. 客户服务器原理。 自学内容:gcc、gdb、vs 使用方法。 课堂作业: 1.TCP 和 UDP 协议的特点及对比? 2.网络应用程序有哪三种体系结构,各自的 特点是什么? 课外作业: 1.为什么网络编程要采用 C/S 体系? 第二章 基本套接字接口及简单网络编程介绍 2.1 套接字含义及其基本 API 应用。 2.2 套接字和组播编程介绍。 知识点: 1. 套接字及其基本 API。 2. 简单套接字编程技术。 3. 组播编程技术。 自学内容:Winsock 的特点。 课堂作业: 1.简单数据流服务器套接字编程流程如何 2.组播编程如何进行? 课外作业: 1.为什么 windows 和 linux 下网络编程有所 不同? 第三章 网络服务器编程技术介绍 3.1 掌握网络服务器编程思想。 3.2 IO 复用——select 网络编程技术。 3.3 利用多线程和定时器进行复杂网络编程 的方法。 知识点: 1.网络服务器的编程特点。 2. select 编程思想和流程。 3. 线程在网络编程中的作用。 4. 定时器有哪些实现方法。 自学内容:线程的同步和互斥处理技术。 课堂作业: 1.采用 select 进行网络编程的流程。 2.与客户相比,网络服务器具有什么特点? 课外作业: 1.select 网络服务器编程适用规模有什么限 制? 第四章 网络编程模型及网络编程实例 4.1 套接字编程的平台特性。 4.2 网络应用程序设计实例。 知识点: 1. Windows 下的网络编程模型。 2. Windows 和 Linux 网络编程差异。 3. 网络协议设计要点。 4. EPOLL 网络编程模型。 自学内容:Java 网络编程技术。 课堂作业: 1.Windows 和 Linux 网络编程有哪些不同? 2.Windows 网络编程模型各有什么特点,分 别适应什么场合? 3.EPOLL网络编程与select编程模型相比有 哪些优点? 课外作业: 1.要实现网络通信,除了基本的套接字编
程,还有哪些方法? 附注:实验教学安排见《TCPP网络编程》实验教学大纲 五、建议学时分配表 学时分配 序号 课程内容 对应教学目标 讲授 实验 习题课 小计 第一章网络编程相关基础 10 10 目标1 知识介绍 第二章基本套接字接口及 10 6 16 目标2 简单网络编程介绍 第三章网络服务器编程技 10 8 18 目标3 术介绍 第四章网络编程模型及网 10 6 16 目标5 络编程实例 课程复习及总结 4 4 目标5 合计 44 20 64 六、教学方法(本课程的主要教学方法) 网络编程技术的理论课程学习,主要的教学方法为课堂讲授,具体内容包括: 1.采用启发式教学,激发学生主动学习的兴趣,培养学生独立思考、分析问题和解决问题 的能力,引导学生主动通过实践和自学获得自己想学到的知识。 2.采用PPT课件,多媒体教学与传统板书相结合,提高课堂教学信息量,增强教学直观性。 3.采用案例教学:理论教学与工程实践相结合,通过实际开发环境演示编程开发方法,引 导学生能够自己动手进行编程开发。 4.采用互动式教学:课内提问讨论和答疑相结合,并围绕各章教学重点内容,针对课程目 标布置对应内容的课后作业。 七、课程考核内容及方式 1.考核方式考查 2考核形式平时考核、作业、实验和期末考核 3成绩评定采用五级分制,按以下2项考核指标进行成绩综合评定,其构成比例如下: 21
21 程,还有哪些方法? 附注:实验教学安排见《TCP/IP 网络编程》实验教学大纲 五、建议学时分配表 序号 课程内容 学 时 分 配 对应教学目标 讲 授 实 验 习题课 小 计 第一章 网络编程相关基础 知识介绍 10 10 目标 1 第二章 基本套接字接口及 简单网络编程介绍 10 6 16 目标 2 第三章 网络服务器编程技 术介绍 10 8 18 目标 3 第四章 网络编程模型及网 络编程实例 10 6 16 目标 5 课程复习及总结 4 4 目标 5 合 计 44 20 64 六、教学方法(本课程的主要教学方法) 网络编程技术的理论课程学习,主要的教学方法为课堂讲授,具体内容包括: 1. 采用启发式教学,激发学生主动学习的兴趣,培养学生独立思考、分析问题和解决问题 的能力,引导学生主动通过实践和自学获得自己想学到的知识。 2. 采用 PPT 课件,多媒体教学与传统板书相结合,提高课堂教学信息量,增强教学直观性。 3. 采用案例教学:理论教学与工程实践相结合,通过实际开发环境演示编程开发方法,引 导学生能够自己动手进行编程开发。 4. 采用互动式教学:课内提问讨论和答疑相结合,并围绕各章教学重点内容,针对课程目 标布置对应内容的课后作业。 七、课程考核内容及方式 1.考核方式 考查 2.考核形式 平时考核、作业、实验和期末考核 3.成绩评定 采用五级分制,按以下 2 项考核指标进行成绩综合评定,其构成比例如下:
平时考核成绩:占课程总成绩的15%:(其中考勤占40%,作业40%,课堂表现占 20%) 实验报告成绩:占课程总成绩的20%;(共5个实验,每个占20%) 期末考核成绩:占课程总成绩的65%; 八、推荐教材和教学参考书 教材:《TCPP网络编程技术基础》,王雷编著,清华大学出版社,2012年1版。 参考书:《TCPP协议及网络编程技术》,罗军舟编著,清华大学出版社,2006年第1版。 参考书:《用TCPP进行网际互连》,comer编著,电子工业出版社,2009年第1版。 撰写人:韩祺袆 审核人: 学院分管领导签字(盖章)上 年月日 22
22 平时考核成绩:占课程总成绩的 15%;(其中考勤占 40%,作业 40%,课堂表现占 20%) 实验报告成绩:占课程总成绩的 20%;(共 5 个实验,每个占 20%) 期末考核成绩:占课程总成绩的 65%; 八、推荐教材和教学参考书 教 材:《TCP/IP 网络编程技术基础》,王雷编著,清华大学出版社,2012 年 1 版。 参考书:《TCP/IP 协议及网络编程技术》,罗军舟编著,清华大学出版社,2006 年第 1 版。 参考书:《用 TCP/IP 进行网际互连》,comer 编著,电子工业出版社,2009 年第 1 版。 撰写人:韩祺祎 审核人: 学院分管领导签字(盖章): 年 月 日