无线应用程序开发技术探讨

2015-10-31 02:52林志红
中国科技纵横 2015年18期
关键词:程序开发网络应用C语言

林志红

(北京信息职业技术学院软件工程系,北京 100018)

无线应用程序开发技术探讨

林志红

(北京信息职业技术学院软件工程系,北京100018)

高职院校专业课建设是关系到高职学生培养质量的重大课题,也是困扰高职教师的难题。由于高职院校具有自己的特点和情况,在专业课程建设中,既不能照搬普通本科院校的教学模式,也要防止过度降低课程难度的倾向。本文基于《无线应用程序开发》课程的建设过程,结合教学实践体验,介绍了课程建设的一点心得体会。

无线应用程序计算机网络TCP/IPSocketHTTP

高职教育是以培养技术应用型人才为主要目标的高等教育,这就要求高职院校的专业课必须要有一定的深度,否则就很难使学生真正成为高技能人才。但是由于一些高职学生学习基础等方面的原因,使得他们学习上缺乏自信心,从而造成学习动机低下,最终导致学习成绩下降,进入恶性循环。为了尽量应对这种情况,教师在课程教学方案设计时,就要根据学习目标和学习者的具体情况制定正确的学习策略,要在学习过程中树立学生的自信心,而避免打击学生的自信心。在《无线应用程序开发》课程建设中,通过学习目标的确定,学习策略的制定,确定学习任务,学习活动方案设计等步骤,对教学方案进行了精心的设计。

1 学习目标的确定

要确定正确的学习目标,首先要弄清企业的真实需求。我们为此走访了一些企业,对企业专家进行了访谈。通过调查研究我们发现,随着无线通信以及网络技术的发展,特别是3G时代的到来,网络应用程序的位置显得越来越重要。无线终端产品进入人们生活的方方面面,同时也为社会创造了巨大的财富。越来越多的公司进入无线产品开发领域。这些公司在招聘技术人员的时候,几乎无一例外地提出如下要求:“具备C/C++/Java开发经验,熟悉多线程、Socket网络编程,熟悉TCP、UDP、HTTP、FTP等网络协议。”

作为嵌入式技术与应用专业的一门核心课,在课程内容设置,学生职业能力与职业素质培养目标设定方面应与时俱进,紧跟时代发展的步伐,这样才能培养出满足社会需要的合格高技能人才。

根据系内教师及项目组成员多次研讨的结果,我们决定课程要强化以TCP/IP协议、HTTP协议为基础的网络编程技术。我们将《无线应用程序开发》解读为两个部分,一部分为通用网络应用程序开发技术,另一部分是无线设备网络应用开发技术。第一部分是第二部分的基础。在第一部分学到的基本概念和基本技能在第二部分得到直接的应用,在项目开发过程中加深对所学知识的理解和掌握。

图1 

表1 

2 学习策略的制定

2.1通用网络应用程序开发技术的学习内容

通用网络应用程序开发技术的学习目标是使学生能够熟悉网络编程机制和工作过程。编程是一个实践性很强的活动,需要学生多多上机操作,这就要求所采用的编程环境必须是学习者能够经常接触到的。考虑到Windows目前的绝对垄断地位,加之Windows Socket已经成为网络编程事实上的标准,基于Windows Socket的编程实践可以使学生接触到更完整的网络编程知识。因此我们将Visual C++作为通用网络编程技术的学习平台,学习内容包括Winsock编程、C/S模式编程方法、TCP服务器程序开发以及TCP客户端程序开发。

Windows Socket网络编程技术综合性较强,学习难度较大。对于学生来说,既涉及到已学过的C语言编程技术的高级应用,又涉及到TCP/IP协议基础知识、客户机/服务器模型、Winsock 函数库等新概念和新技术的学习。

2.2无线设备网络应用开发技术的学习内容

关于第二部分的内容,考虑到学生刚刚学完《嵌入式应用软件开发(J2ME)》课程,我们决定以J2ME作为无线设备网络应用程序开发的训练平台。学生此前Java语言编程已经比较熟练,对于单机版的程序结构与设计已经掌握,为本课程的学习打下了比较扎实的基础。在这一部分中,将会增加HTTP协议、多线程、J2ME通用连接框架、基于Socket的多线程服务器设计、基于Socket的手机客户端设计,基于Http的手机客户端设计,并完成一个手机网络应用项目。

2.3学习策略的制定原则

《无线应用程序开发》这门课程安排在大二下学期,从大三开始,学生将进入生产性实训和毕业设计阶段。也就是说,这门课扮演着承上启下的重要角色。通过这门课程一方面要对以前的相关课程做一个完美的总结,另一方面要为后续的实训、实习及工作打下良好的基础。因此,通过本门课程的学习,应该达到以下两个目的:

(1)复习原有知识,深化对原有知识的理解。在本课程的学习过程中,要用到大量的编程知识。学生已经学过了《C语言程序设计》,具备了一定的编程技能。但是学生在《C语言程序设计》的学习中,更多注重的是基本语法的学习和训练,与走上工作岗位解决实际问题还有一定的差距。因此,本课程对于C语言编程进行复习时,没有仅仅停留在简单的知识回顾水平上,而是进行了一系列的强化。例如,我们为学生准备了一个单词计数器的例子,学生通过这个例子的实践,学习到了状态机的概念,为今后应付复杂的程序设计工作打下了思想基础。再如,Winsock编程中涉及到许多与TCP/IP协议相关的结构类型数据,这些结构类型数据多用于系统调用函数的参数,不仅内容相对繁琐,而且频繁地使用指针传递机制。这些都明显超过了通常C语言课程的练习难度,但是却更接近实际工作的需要。因此,在正式学习Winsock编程之前,使用了一定的课时量对学生进行C语言复杂结构类型数据和指针使用的强化训练。

(2)达到学习目标,对后续学习和工作产生积极影响。研讨交流中,企业专家建议我们通过一个网络聊天室项目作为学生的实战项目,原因在于即时通信是一种最基本最重要也最流行的网络应用类型,在手机上制作即时通信软件涉及到TCP/IP协议的使用,多线程服务器程序的开发,无线终端设备应用程序的开发、互联网中继交换原理及终端设备与服务器网络通信过程的实现,综合性强,实用性强,今天企业中许多主流软件开发技术仍然采用聊天室原理。因此完成一个手机聊天室项目的开发,不仅能够为本课程的学习画上完美的句号,而且可以为后续的实训、实习及工作打下良好基础。

2.4分析知识结构,合理统筹教学

《无线应用程序开发》涉及到众多的知识点,为了合理地安排教学内容,我们对课程的知识结构做了如下分析:

(1)确定知识点。

K1: 计算机网络基础

K2:TCP/IP协议概念

K3: HTTP协议概念

K4: Winsock网络编程原理

K5: TCP/UDP服务器编程

K6: TCP/UDP客户端编程

K7: 多线程服务器编程

K8: C/S架构系统开发

K9: 复杂结构类型

K10:指针

K11:多线程

K12:Http服务器编程

K13:J2ME通用连接框架

K14:手机阅读器客户端

K15:手机聊天室服务器

K16:手机聊天室客户端

(2)分析两两知识点之间的关系(如图1)。

(3)列出直接关系矩阵(如表1)。

(4)确定各知识点所在的层次

L1: K1,K9,K10,K11

L2:K2

L3: K3, K4

L4: K5,K12,K13

L5: K6,K7

L6: K8,K14

L7:K15,K16

(5)绘制各知识点之间的关系图(如图2)。

(6)设计讲解顺序。

K1→K9→K10→K2→K4→K5→K6→K11→K7→K8→K3→K13→K15→K16→K12→K14

2.5按照讲解顺序,安排学习活动

按照讲解顺序,为每个知识点设计相应的实践环节,落实在学中做、做中学。学生以项目小组的形式组织教学,每个小组6-7人。注重学生学习过程的考评,采用自我评价、小组评价和教师评价相结合的评价方式。要求学生编写程序代码及撰写相关的技术文档资料,学生实际任务完成的情况和提交的代码、技术文档资料作为学业评价的依据。

图2 

3 结语

教学方案设计是一项艰苦细致的工作,需要进行教学目标分析、学习者特征分析、教学模式与教学策略选择以及资源准备等各个环节工作,其中学习者特征分析尤为重要,特别是高职学生的特征分析。根据实际教学实践经验来看,由于基础的原因,高职学生的专业课知识一般都不太扎实,因此要注重知识的回顾与深化,要强调新知识点与以往学习的知识点之间的内在联系,让学生理解所学知识在整个知识体系结构中的位置和作用,力争在不同阶段的知识之间产生双向正迁移。从教学方案的实施情况来看,效果还比较令人满意。

[1]朱文彬,赵淑文.高等教育心理学.北京:首都师范大学出版社,2008,6.

[2]教育部考试中心.全国计算机等级考试二级教程:C++语言程序设计.北京:高等教育出版社,2010-9.

[3]代勇,李伟,杨宏帅.Visual C++网络通信编程技术详解.北京:机械工业出版社,2011,5.

[4]郑阿奇.Visual C++网络编程.北京:电子工业出版社,2011-7.

[5]仵博,张丽涓,池瑞楠.J2ME无线开发实用教程.北京:清华大学出版社,2006,8.

林志红(1966-),男,重庆市,硕士,副教授,从事嵌入式软件、图像处理的研究。

猜你喜欢
程序开发网络应用C语言
基于Visual Studio Code的C语言程序设计实践教学探索
APP应用程序开发模式探究
交通领域中面向D2D的5G通信网络应用探析
基于数字电子技术的通信网络应用研究
基于C语言的计算机软件编程
基于TestStand的自动检测程序开发
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
高职高专院校C语言程序设计教学改革探索
大气环境质量评价工作中基于MATLAB的BP神经网络应用探究