“网络编程”教学方法的探索

合集下载

jsp网络编程课程设计

jsp网络编程课程设计

jsp网络编程课程设计一、课程目标知识目标:1. 掌握JSP(Java Server Pages)的基本概念、原理和编程方法;2. 理解JSP的运行环境,了解Web服务器的配置和调试;3. 学会使用JSP内置对象,如request、response、session等,实现客户端与服务器端的交互;4. 掌握JSP与JavaBean、Servlet的联合使用,实现MVC设计模式;5. 了解JSP的安全性和性能优化。

技能目标:1. 能够独立搭建JSP开发环境,配置Web服务器;2. 能够编写简单的JSP页面,实现数据的显示、提交和处理;3. 能够运用JSP内置对象进行页面间的数据传递和状态管理;4. 能够结合JavaBean和Servlet,设计并实现具有较高可维护性的JSP应用程序;5. 能够对JSP程序进行基本的调试和优化。

情感态度价值观目标:1. 培养学生对网络编程的兴趣,激发学生主动学习和探索的精神;2. 培养学生严谨、细心的编程习惯,提高学生的编程素养;3. 培养学生团队合作意识,学会与他人共同解决问题;4. 使学生认识到网络编程在现代社会中的重要性,增强学生的职业责任感。

课程性质:本课程为实践性较强的课程,旨在使学生掌握JSP网络编程的基本知识和技能,培养实际编程能力。

学生特点:学生已经具备一定的Java基础,了解基本的Web知识,但对JSP 编程尚属初学者。

教学要求:以实际应用为导向,注重理论与实践相结合,强化动手实践,培养学生解决实际问题的能力。

在教学过程中,注重引导学生主动学习,培养学生的创新思维和团队协作能力。

通过本课程的学习,使学生能够独立完成简单的JSP应用程序开发。

二、教学内容1. JSP基本概念与运行原理:介绍JSP的定义、特点,分析JSP的运行机制及与Servlet的关系。

教材章节:第1章 JSP概述。

2. JSP开发环境搭建:讲解JDK、Tomcat的安装与配置,创建并部署第一个JSP页面。

高中信息技术python教案

高中信息技术python教案

高中信息技术python教案高中信息技术(Python)教案引言:在高中阶段,信息技术的学习变得日益重要。

学生们需要从基础开始学习计算机科学的原理和编程语言,以便为未来的学习和职业发展打下坚实的基础。

Python 编程语言作为一种易于学习和使用的语言,被广泛应用于各个领域。

本教案将介绍如何以Python为工具,为高中信息技术的学习提供指导。

一、教学目标1. 了解Python编程语言的特点和应用领域。

2. 掌握Python编程的基本语法和控制结构。

3. 学习使用Python进行数据处理、图形化和网络编程。

4. 应用Python完成简单的项目和实践。

二、教学内容:1. Python的介绍和安装- 介绍Python的起源、特点和应用领域。

- 下载和安装Python的最新版本。

2. Python基础知识- 学习Python的基本数据类型(数字、字符串、列表、字典等)。

- 理解Python中变量的概念和使用。

- 掌握Python中的输入和输出操作。

- 学习使用Python的运算符和表达式。

3. Python的控制结构- 学习Python中的条件语句(if语句)和循环语句(for循环和while循环)。

- 理解条件语句和循环语句的作用和使用方法。

- 学习使用条件语句和循环语句解决实际问题。

4. Python的函数和模块- 学习使用Python中的函数,以组织和重复使用代码。

- 了解Python的库和模块的概念,以提供更强大的功能。

- 探索常用的Python库和模块,如NumPy、Pandas和Matplotlib等。

5. Python的数据处理和图形化- 学习使用Python进行数据处理和分析。

- 掌握Python中的图形化工具,如Matplotlib和Seaborn等。

- 应用Python进行数据可视化和统计分析。

6. Python的网络编程- 学习使用Python进行网络编程。

- 理解网络的基本概念和通信协议。

c网络编程的课程设计

c网络编程的课程设计

c 网络编程的课程设计一、课程目标知识目标:1. 让学生理解网络编程的基本概念,掌握套接字编程的基础知识。

2. 学会使用至少一种编程语言(如Python)进行网络编程,实现客户端与服务器之间的通信。

3. 了解网络协议的基本原理,如TCP/IP协议,并能在实际编程中正确运用。

技能目标:1. 培养学生独立编写网络程序的能力,能根据需求设计和实现简单的网络应用。

2. 培养学生运用所学知识解决实际问题的能力,如网络通信中的异常处理、数据传输优化等。

3. 提高学生的团队协作能力,能在小组项目中分工合作,共同完成网络编程任务。

情感态度价值观目标:1. 培养学生对网络编程的兴趣,激发学习积极性,提高自主学习能力。

2. 培养学生具备良好的编程习惯,注重代码规范和优化,提高代码质量。

3. 培养学生的创新精神,敢于尝试新技术和新方法,为我国网络技术的发展贡献力量。

分析课程性质、学生特点和教学要求,本课程目标旨在让学生掌握网络编程的基本知识和技能,培养学生具备实际编程能力和团队协作精神。

通过本课程的学习,学生将能够独立设计和实现简单的网络应用,为今后的学习和工作打下坚实基础。

同时,注重培养学生的编程兴趣和创新精神,提高我国网络技术人才的素质。

和二、教学内容教学内容围绕课程目标进行选择和组织,确保科学性和系统性。

主要包括以下几部分:1. 网络编程基本概念:介绍网络编程的目的、意义和基本原理,如IP地址、端口号、网络协议等,为学生打下网络编程的基础。

2. 套接字编程:详细讲解套接字的原理和使用方法,包括TCP和UDP协议的套接字编程,以及客户端与服务器之间的通信过程。

3. 编程语言实践:以Python语言为例,教授学生如何利用套接字库进行网络编程,实现简单的客户端和服务器程序。

4. 网络协议原理:介绍TCP/IP协议栈的基本原理,重点讲解IP、TCP、UDP 等协议的工作机制。

5. 网络编程实例分析:分析经典网络编程案例,如聊天室、文件传输等,让学生了解实际应用场景。

“计算机网络”课程教学改革的探索

“计算机网络”课程教学改革的探索

导书、 参考 资 料 、 习题 、 参考 答案 等 资料在 网上 开放 , 实 现优 质资 源共 享 。 -
收 稿 日期 : 2 0 1 3 - 0 4 — 1 8 。
作者简介 : 杨松 波( 1 9 7 5 一) , 女, 辽 宁 辽 阳人 , 讲 师。
第3 期
杨松 波 , 等: “ 计 算机 网络” 课 程教 学改革 的探 索
关键 词 : 计算机 网络 ; 课 程体 系; 教 学改革
中图分 类号 : G 6 4 2 . 0 文 献标 识码 : A 文章 编号 : 1 6 7 4 — 1 0 4 8 ( 2 0 1 3 ) 0 3 ~ 0 2 8 1 — 0 3
“ 计 算机 网络 ” 是计 算机 与通 信技 术 相结 合并 不 断发 展 的一 门学科 , 是 计算 机 科 学 与技 术 专 业 和软
( 1 )教 材选 用 最新 版本 的“ 计 算机 网络” 内容 进行 教 学 。在 讲 授计 算 机 网络基 本 原 理 的 同时 , 增 加
许 多新技 术 的介 绍 , 并 与 学生 一起 讨论计 算 机 网络新 的发 展方 向 , 适 应其 迅速 发展 的教 学要 求 ] 。 ( 2 )选 择合 适 的教 学 内容 。在实 际 的教 学 中 , 考虑 实 际 教 学状 况 和 学生 的接受 能力 , 以物 理层 、 数
第 3 6卷 第 3期 2 O 1 3年 6月
辽 宁 科 技 大 学 学 报
J o u r n a l o f Un i v e r s i t y o f S c i e n c e a n d Te c h n o l o g y Li a o n i n g
・2 8 3・
机 网络 的原 理 及协 议有 更深 的 理解 , 提 高学生 动手 能 力 , 还 给 学 生安 排 了一 周 的课程 设 计 , 提 炼 出与 主 教 材结 构 和进 度相适 应 的ห้องสมุดไป่ตู้网络 编程课 题 , 将 网络与 软件 编程 有机 地结 合起来 , 从 总体 上进一 步提 高学 生 的对 网络工 作 基本 原理 及协议 的理解 , 进 一步 掌握 套 接字 编 程方 法 , 提 高 了学 生 的编 程 能力 , 为大 型 网

从培养计算思维角度谈高中python教学模式

从培养计算思维角度谈高中python教学模式

从培养计算思维角度谈高中python教学模式 计算思维是指运用计算机科学中的概念、方法和技术,处理各类问题时所需要的一种思维方式。在现代社会中,计算机已经渗透到了我们的日常生活中的方方面面,所以培养计算思维具有重要的现实意义和发展前景。在高中阶段,Python作为一门易学易用且功能强大的编程语言,越来越多的学校开始把Python编程纳入到高中计算机课程中。本文就从培养计算思维的角度谈谈高中Python教学模式。

一、Python的优势 Python最大的优势就是它可以快速的实现各种算法和程序,因为它是一门解释性语言,没有编译时间的消耗。此外,Python有着清晰而简洁的语法,对初学者来说入门非常容易,同时也可以实现复杂而功能强大的编程任务。Python还有着庞大的生态系统,有许多开源的库和工具可以提高学生们的学习效率,同时也是科学家和工程师使用的最常见的编程语言之一。

二、高中Python教学模式 1. 从基础开始 Python语言有着非常简单的语法和易于学习的特点,因此可以慢慢从基础开始教学。在高中阶段,可以先教授基本的语法和数据类型,包括变量、条件、循环、列表、字符串和函数等基础概念。然后可以逐渐引入更高级的主题,例如面向对象编程、网络编程和GUI编程等。 2. 项目驱动教学 在Python的教学中,可以采用项目驱动的教学方式,使用真实的应用场景来让学生们进行探索和实践。例如,可以让学生们通过编写一个简单的游戏或者一个控制电子设备的程序来学习Python编程。这样的教学方式能够让学生们更加深入地理解Python编程的应用价值和意义。

3. 引导求知 高中生往往存在极大的好奇心和求知欲,需要将这些特点充分利用,让学生们自主探索编程世界。在Python教学中,可以采用引导求知的方式,让学生们在问题中寻找并解决问题。例如,可以出一些需要用到Python编程解决的实际问题,让学生们通过学习编程来解决这些问题,从而达到学以致用的效果。

基于案例驱动教学法的“计算机网络编程技术”教学改革研究

基于案例驱动教学法的“计算机网络编程技术”教学改革研究

线程编程等 。网络编程技术作为应用型课 程, 强调基本概念 的理 解与实践 相融合 。如何在有限的学时 内, 让 学生最 大限度地 了解 网络编程技 术 . 增
加课 程的信息量 , 提高学生的学 习兴趣 , 培 养学生 的问题 求解能 力是该课 程讲授的关键 。我们 以案例教学法对教学内容进行实施 , 所 有的教学内容 以案例 的形式 出现在课堂 中。例如 , QQ及 时通讯 、 网络会 议、 在线 五子棋 等设计 , 既形象地将理论和实 践结合起 来 , 又提 高了学 生的学 习兴趣。从 案例式 教学启发 了学生 的兴趣 , 丰富 了学 生的知识 结 构。 生来说 。 学 习《 计算机网络编程技术》 课程的主要 目标是“ 面向应用 , 突出实 教学效 果上看 , 践” 。传 统 的 以课 堂 为 中心 、 以教 师 为 中心 的 教 学 方 法 不 再 适 合 本 课 程 的 为了避 免课堂上少量案例不能覆 盖全部 的实际应 用 , 在教 学方法 上 , 老 师 教学 , 因此该课程教学模式的改革也势在必行 。基于 “ 案例驱动 的教 学法” 注重由点及面 的教学思路 , 引导学生的思维 , 举一反三。 是以任务为目标 , 将教学过程 中的重点 和难点 以案例 的形式提 炼出来 , 让 3 . 2实 践 教 学 设 计 学生据题而恩 、 据题而想 、 据题而做 。“ 案例驱动教学法” 教学模式在《 计 算 网络编程技术课程的实践性很 强, 学 生只听不练很难达 到学 习该课程 机网络 编程技术》 课程教学中 , 为全体 师生构 建了一个学 习情景 , 学习内容 的 目的 , 因 此在 理 论 教 学 的 同 时 还 要 加 强 上 机 实 践 教 学 , 将 上 机 实 践 环 节 围绕 一个确定 的目标 , 有重点 有主次 的了解相 关理论和 方法 , 有 效地提 高 贯 穿 于课 程 教 学 的 全 过 程 。 在 实验 内容 组 织 上 , 老 师 充 分 考 虑 实验 题 和 理 了学 生的学 习效率和学 习兴趣 , 充分培 养学生 的 自主学 习能 力、 协作精 神 论教学的衔接 。 以及实验题 目的综合可操 作性和难 度 , 将 实验题 目分为设 和创 新能力 , 因此 它适合《 计算机 网络编程技术》 课程教学的开展 。 计 题 和 综合 题 , 如 下 表 1所 示 : 2基于“ 案例驱动教 学法” 教学特点 表1 实验教学内容安排 “ 案例驱动教学” 是在 老师 的指导下 , 学生 针对具 有代 表性 的典型 案 例, 进行针对性 的分析和讨论 , 做出 自己独立 的判断和评价的教学方 法, 从 而实现 一定 的教学 目标。这是一 种具有 启发性 、 实践性 , 能开发 学生思 维 能力 。 提 高 学生 判 断能 力 , 决 策 能 力 和 综 合 素 质 的新 型教 学 方 法 。 传统教 学模式一般是“ 提出概念——解释概念——举例说 明” , 是一种 以教 师讲授 为主 的教学 。而案例 驱动 教学 法采用 “ 提 出案例—— 分析 案 例—— 完成 案例——评价小结”, 是 以布置案例 为 出发点 , 以分 析、 完成 案 例为中心点 , 以评价案例 为延伸点 , 符合新课 程“ 改变课程实施过 于强调接 受学习、 死记硬背 、 机械训练的现状 , 倡导学生 主动参 与、 乐于探究 、 勤于 动 手, 培养学生搜集 和处理信息的能力。它具有以下特点 : ( 1 ) 老师启发性。和传统的“ 填鸭式 ” 教 学相 比, 案例 驱动教学 法是一 种启发性教学 。由老 师提 出问题和与教学 内容相 关的案例给学生分析 , 改 变传统的教 学过程 中学生被动接受的状况 , 有效地 激发了学生独 立思考 问 题的能力 , 启 发 学 生解 决 问题 分 析 问 题 的 思 维 方 式 。 ( 2 ) 学生主动性。与传统 的教学不 同, 案例驱动教学 以教 师为引导, 以 学生为主体 。学生在老 师的指 导下 , 输 入案例 , 通过对 案例进 行分析 和讨 论, 深入理解和掌握案例本身所反映 出的基本 原理 。 进而提高分析 问题、 解 决问题的能力。 ( 3 ) 老 师学生互动性。根据 案例 的难易 程度 , 可 以采取 灵活 多样 的实 训 方 法 。 可 以 独 立 完 成也 可 以和 其 他 同 学 交 流 完 成 。 由 于 学 生 的 水 平 存 实验的实现虽然不与具体的编程语言有必然 的联 系, 但 是编程语言 在 教 学 环 节 中有 非常 重 要 。 对 于 学 生 而 言 , 学 习网络编程 是在高 年级阶 段, 必修课 程学过 高级程 序设计 ( c或 c+ +) 、 面 向对 象程序 设计 ( J a v a ) 、 . N E T开发 ( C # . n e t ) , 任选其中一种语言似乎都 可行。但据开课前我们 对学 生的调查显示 , 大部分 同学首选 c } } 进 行编程 。因此 , 课程教学课 题组 决定, 老师上课注 重网络基本理论的讲解 , 编程实践 以 C # 为主。 4结 束语

web程序设计课程中任务驱动教学模式探索与实践

• 94•Web程序设计课程中教学模式探索与实践对计算机专业应用型人才培养、学生创新实践能力提高有着重要的意义。

本文以实施多样化人才培养方案为目标对基于任务驱动教学模进行探索与实践,以Web程序设计课程为基础,针对其课程知识点宽泛的特点,梳理整合课程知识体系,形成以任务驱动突出实践能力培养的课程模块,通过一个具体任务驱动的Web程序教学过程,为计算机专业课程教学模式提出新的思路和建议,以体现计算机行业产业发展、技术进步和社会建设要求的课程体系改革。

引言:任务驱动教与学的方式为学生提供项目实践体验,项目围绕任务展开,以任务的完成结果检验和总结,更好提高学生运用任务进行学习和交流,并使其专业知识能够真正成为学生核心竞争力的组成部分,以适应人才竞争的需要。

为了实现国家人才培养的战略目标和学生培养的教学需要,按照教育部的要求培养高层次技术应用和管理人才,秉承在教学过程中,根据WEB程序设计教学要求提出有实际意义的任务,以完成具体任务为线索,建构新的教学内容,从对人才培养需求出发,加强本课程的建设对计算机人才素质的提高有着重要的意义(朱曼,基于CDIO理念的Web程序设计课程教学模式探索,福建电脑,2015年第7期144-145页;王志瑞,项目教学法与微课在“Web程序设计”课程中的应用,软件导刊(教育技术),2015年第1期31-33页;谭琦;《网页设计与制作》中任务驱动教学法的实践与研究,国际公关,2019年第7期40-41页)。

WEB程序设计课程任务驱动教学实践过程采用任务驱动教学,对任务的设定、任务模块协作、执行结果评定;探索过程采用任务分级分配,分层考核。

通过实践和探索,解决本课程教学过程中存在的一般问题,提高学生对程序开发过程认知程度和Web程序设计能力。

本文以任务为中心引领知识和技能、指导教学过程、实现理论与实践的一体化教学三部分作为WEB程序设计课程教学模式实现,以个人动漫博客网站设计与实现为任务,让学生在完成工作任务的过程中学习相关理论知识并评价教学效果(高贤强,基于任务驱动的《Java程序设计》课程翻转课堂教学模式研究,教育现代化,2019年第53期249-251页;裴晓敏,刘英为,微课和任务驱动相结合的翻转课堂教学模式探索——以“模拟电子技术”课程为例,工业和信息化教育,2019年第6期61-66页)。

网络编程技术课程的教学改革思路

2010年3月第15卷第2期 西 安 邮 电 学 院 学 报JOURNAL OF XI ’AN UNIVERS ITY OF POSTS AND TE L ECOMMUN ICATIONS Mar.2010Vol 115No 12收稿日期5基金项目南京邮电大学教学改革研究项目(项目编号G X ,S 3)作者简介李鹏(),男,福建省长汀人,南京邮电大学计算机学院讲师。

网络编程技术课程的教学改革思路李 鹏(南京邮电大学计算机学院,江苏南京 210003)摘要:在分析网络编程技术课程的教学地位和国内外教学现状的基础上,从课程教学内容衔接、理论与实践结合、以IP 为核心、最小化的资源需求和合理的编程单元训练等五个方面对网络编程技术的课程教学和实践进行了探讨。

关键词:网络编程;教学改革;通信与网络课程;计算机教学中图分类号:G 642 文献标识码:A 文章编号:1007-3264(2010)02-0166-03引言随着计算机技术和通信网络技术的迅速发展,社会对网络人才的需求十分强烈,网络通信编程在程序设计开发领域变得越来越重要。

然而高校中深入讲解网络协议内部应用系统设计和通信网络软件协议编程的课程很少,而且大都是放置在选修课的教学中。

本科教学中对于网络编程技术的课程,从教材、教学内容等方面都有待规范,以适应社会对网络类人才的需求。

1 课程的地位《网络编程技术》作为计算机科学与技术专业的专业课,主要涉及到网络和通信两方面的内容。

课程的目的是在学习《计算机通信与网络》等网络类理论课程和《程序设计》等基本编程技术的基础上,深入系统地学习计算机网络编程技术,从而培养学生分析和解决网络问题的能力和创新能力。

《网络编程技术》课程在网络类的课程地位如图1所示。

2 课程的教学现状国内的网络编程教学方面,有《TCP/IP 协议及网络编程技术》教材[1],覆盖了TC P/IP 的理论知识和网络编程的基础知识,重点讲述了客户端和服务器端编程应注意的问题、可用的模式和技术。

linux网络编程课程设计

linux网络编程课程设计一、课程目标知识目标:1. 学生理解Linux操作系统的网络编程基本原理,掌握套接字编程的基础知识。

2. 学生能够描述TCP/IP协议栈的基本工作流程,并运用到实际的编程中。

3. 学生掌握常用的网络通信函数和数据结构,能够实现基础的客户端和服务器端通信程序。

技能目标:1. 学生能够编写简单的基于TCP和UDP协议的网络程序,具备解决实际网络编程问题的能力。

2. 学生通过动手实践,提升问题解决能力和程序调试技巧,能够分析和修正网络编程中的常见错误。

3. 学生通过小组合作,培养团队协作能力,学会在团队中有效沟通与分工。

情感态度价值观目标:1. 学生培养对网络编程的兴趣,激发深入学习计算机网络的热情。

2. 学生在学习过程中,培养严谨的科学态度,遵循编程规范,养成良好的编程习惯。

3. 学生通过学习网络编程,认识到网络技术对社会的重要性,增强网络安全意识和社会责任感。

课程性质分析:本课程为高中信息技术学科选修课,旨在帮助学生掌握Linux网络编程的基础知识和技能,培养实际编程能力。

学生特点分析:高中学生已具备一定的计算机操作和编程基础,对网络编程有一定的好奇心,但需注重理论与实践相结合,提高学习的趣味性和实用性。

教学要求:1. 注重理论与实践相结合,让学生在实际操作中掌握网络编程知识。

2. 结合实例进行教学,引导学生运用所学知识解决实际问题。

3. 激发学生的兴趣,注重培养学生的学习主动性和团队合作精神。

二、教学内容1. Linux网络编程基础- 网络编程概念与套接字编程原理- Linux网络编程环境搭建- 常用网络数据结构和函数介绍2. TCP/IP协议栈原理与应用- TCP/IP协议栈的分层结构- TCP与UDP协议的特点与应用场景- 套接字编程中的TCP/UDP协议使用3. 网络编程实践- 编写简单的TCP客户端与服务器端程序- 编写简单的UDP客户端与服务器端程序- 网络程序调试与错误处理4. 网络编程进阶- 多客户端服务器模型- 非阻塞IO与多路复用IO- 网络安全基础及编程实践5. 综合项目实践- 设计并实现一个简易聊天室- 设计并实现一个文件传输系统- 小组合作,完成一个综合网络编程项目教学内容安排与进度:第一周:Linux网络编程基础第二周:TCP/IP协议栈原理与应用第三周:网络编程实践(一)第四周:网络编程实践(二)第五周:网络编程进阶第六周:综合项目实践教材关联:教学内容与教材《Linux网络编程》相关章节紧密关联,确保学生能够结合教材深入理解网络编程知识。

网络编程基础教程

网络编程基础教程在现代计算机科学中,网络编程一直是重要的部分。

无论是我们日常使用的社交网络、购物网站,还是各种金融交易和数据传输,都不可缺少网络编程的支持。

因此,对于计算机科学学习者来说,学好网络编程是非常必要的。

基本概念网络编程是指在网络上实现不同计算机之间数据交换的过程。

它涉及到多个主题,包括网络基础架构、编程模型、网络协议、套接字等。

在网络编程中,套接字是重要的概念。

套接字是协议的一种实现,它在网络套接字上提供了一种应用接口,用于发送和接收数据。

编程模型在网络编程中,有两种主要的编程模型:客户端-服务器模型和点对点(P2P)模型。

在客户端-服务器模型中,客户端向服务器发送请求,并获得服务器的响应。

这种模型是现代网络中最常见的编程模型。

在点对点模型中,每个计算机都可以作为客户端和服务器,它们可以在互相之间进行通信。

网络协议网络协议是网络编程的基础。

一个协议定义了一组规则,用于在网络上通信。

TCP/IP是最常用的网络协议,它提供了一种可靠的数据传输方式。

其它常见的协议包括HTTP、FTP和SMTP等。

套接字编程套接字编程是网络编程中最重要的部分。

套接字是网络编程中传输数据的主要方法。

当应用程序需要与另一个应用程序进行通信时,它会创建一个套接字用于在网络上传输数据。

在套接字编程中,有两种类型的套接字:流式套接字和数据报套接字。

流式套接字是一种经典的套接字类型,它使用TCP/IP协议在网络上进行数据传输。

这种套接字可以实现可靠数据传输,且可以在收到数据并发送响应后关闭连接。

数据报套接字是另一种套接字类型,它使用UDP协议在网络上进行数据传输。

这种套接字比流式套接字更加灵活,但也更加不可靠。

数据报套接字适用于需要快速传输数据的应用程序。

总结网络编程是现代计算机科学中最重要的部分之一。

学好网络编程需要我们掌握一个广泛的知识范围,包括网络基础架构、编程模型、网络协议、套接字编程等。

在学习过程中,我们应该重视实践,多写网络编程相关的代码,不断提高自己的编程技能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

“网络编程”教学方法的探索
摘要:本文根据“网络编程”教学课题组多年的实际教学经验,分别对理论、实践、考核教学环节中的教学方法进行了总结,强调以学生为主体,结合案例教学,采用启发式、互动式、目标式多种教学方法,在实际教学中取得了较好的效果。

关键词:网络编程;教学方法;理论教学;实践教学
1课程介绍
网络编程通常包括3类编程[1]:基于TCP/IP协议簇的网络编程、基于WWW 应用的网络编程、Web Service网络编程。

“网络编程”课程主要是指基于TCP/IP 协议簇的编程方式,作为“计算机网络”的后续课程,在计算机类专业课程体系中占有十分重要的位置,是网络工程专业的必修课。

本课程要求学生在理解计算机网络的基本理论的基础上,运用高级语言进行编程开发,注重实践环节。

因此我们在大四上学期开设本课程,总学时为54(34+20)学时。

2教学方法设计
2.1理论教学
(1) 以人为本,学生自选编程语言。

现有的网络编程语言主要有MFC C++/C#.NET/Java[1-3],后两种语言是目前的主流选择。

早期的网络编程大都是基于UNIX或Windows的套接字API,采用C或C++作为编程语言。

此后由于Java 鲜明的网络特色和跨平台特性,J2EE技术的推广普及,使用Java进行网络编程比较普及;而微软推出的.NET开发平台,由于其与Windows操作系统的无缝集成,开发工具的便捷、高效性,使得以C#.NET进行网络编程也逐渐流行。

“网络编程”课程强调基于网络基本理论的编程实践,虽然不与具体的编程语言有必然的联系,但是编程语言在教学环节中又非常重要。

就学生来说,学习网络编程时正是高年级阶段,必修课程学过高级程序设计(C或C++)、面向对象程序设计(Java)、.NET开发(C#.net),任选其中的一种语言似乎都可行。

但据开课前我们对学生的调查显示,92%的学生愿意选择Java或C#中的一种,其中部分同学首选Java(有部分同学未修C#课程),另有部分同学强烈希望使用C#进行编程。

因此,课程教学课题组决定,学生可以根据个人的实际或兴趣任选其中一种编程语言,教师上课侧重网络基本理论的讲解,编程实践以C#和Java为主,并给出两种示例代码。

(2) 结合案例,强调基本概念的理解与实践相融合。

网络编程作为应用型课程,其理论基础部分已在计算机网络课程中学习过,但偏重理论介绍,学习偏于单调枯燥,不排除学生死记硬背的可能。

上课时结合实践中的具体案例进行讲解,如网络游戏、即时通信工具(如QQ)的实现原理,无疑会提高学习兴趣,真正做到理论与实践相融合。

但是如果不能真正理解基础概念,进行网络编程实践则相当困难,因此,
在网络编程学习中需要强调基本概念的理解与实践。

下面举例说明。

套接字(Socket):是对网络中不同主机上应用进程之间进行双向通信的端点的抽象,如图1所示,一个套接字就是网络上进程通信的一端,两个应用进程只要分别连接到自己的套接字,就能方便地通过计算机网络进行通信。

套接字是一个复杂的软件机构,由操作系统内核管理。

套接字生成后用一个整数(套接字描述符)来代表,使用时要与计算机上的特定IP地址和传输层端口号相关联,这个过程称为绑定。

②对比分析建立连接的3次握手过程。

为确保连接的建立和终止都是可靠的,TCP使用3次握手(3-way handshake)的方式来建立连接。

图2示范了“计算机网络”课程中建立连接的典型示意图,图3示范了流式套接字建立连接的过程,通过对比分析,学生可以一目了然的理解连接是如何建立的。

图2TCP的3次握手过程
③多线程的使用。

在网络应用进程通信时,普遍采用客户机/服务器交互模式(Client-Server paradigm of interaction),简称C/S模式。

如图4所示,作为服务器的一方,如果需要同时与多个客户端进行通信,服务端应用程序的设计就必然使用多线程编程。

因此,熟练操作线程是实现网络应用程序的关键。

在Socket的C#程序设计中,服务器端监听线程创建多个线程与客户端进行通信的过程示例代码为:
图3流式套接字编程的基本步骤
图4服务器创建多个线程与多个客户通信
IPEndPoint ipep = new IPEndPoint(IPAddress.Any,6001);
Socket serverSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
serverSocket.Bind(ipep);
serverSocket.Listen(10);
while (true)
{//循环监听
try
{
//在套接字上接收接入的连接
clientSocket = serverSocket.Accept();
clientThread = new Thread(new ThreadStart(ReceiveData));
clientThread.Start();
}
catch (Exception ex)
{ MessageBox.Show(“监听错误:” + ex.Message); }
}
客户端与服务器建立连接代码片断:
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(“127.0.0.1”),6001);
Socket clientSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
clientSocket.Connect(ipep);//阻塞模式,连接服务器(本机)
(3) 启发兴趣、加强互动,丰富教学资源。

兴趣是学习的动力,在教学过程中提供丰富的教学资源和多种教学形式是提高学生学习兴趣,促进其主动学习的关键。

①公布电子课件、示例源代码,学生可自由下载,并鼓励在课前进行预习。

对于完成效果较好、有创新点的学生实验作品,提出嘉奖并在网上公开。

②加强教与学的互动,切实做好答疑环节。

学生可以方便地通过邮件、短信、QQ等形式与课题组所有老师联系或提出疑问,而教师也会及时进行回复。

③结合课程特点和互联网应用的实际情况,设计受欢迎的实验题目。

目前流行的互联网应用系统,如网络游戏、即时通信系统等,学生自己独立完成都成为可能。

④介绍Linux及Unix操作系统下网络编程的实现。

目前的编程环境以Windows操作系统为主,而了解其他的开发环境和实现方式也会提高学习的兴趣。

2.2实践教学
如表1所示,将8个实验总学时数定为20,分为选做实验和必做实验,两种实验都必须按要求完成。

选做实验主要是指验证性实验,上机调试通过即可;必做实验为教师重点检查实验,要求提交实验报告,上机运行并根据实验的完成效果由教师现场给出成绩。

综合性实验是必做实验,可以单人完成,也可小组(2~3人)合作实现。

表1 实验课程安排
实验名称学时说明
Socket 2 必做,验证性实验。

相关文档
最新文档