Windows编程课实践教学探讨

时间:2022-08-15 03:44:11

Windows编程课实践教学探讨

学内容设置、实践教学手段实施和实践教学考核对授课效果的影响,通过实践教学发挥学生创造力,提高学生学习热情和专业素养。

关键词:实践教学;Windows编程;程序设计基础课

基于API(Application Programming Interface,应用编程接口)的Windows编程课属于基础程序设计课。虽然原始API函数编程方法由于开发效率低而在实际应用中使用受限,但对执行效率要求高的应用,仍然会使用这种方法编程,因为API编程提供了性能最佳、功能最完整、开发灵活的应用程序。更重要的是,从授课角度看,基于API的Windows程序可以控制Windows消息的发送和接收,并且调用各种系统功能,帮助学生更深入地理解Windows操作系统内部的运行机制[1-2]。多数基于Windows平台的开发工具实质上是对API函数的封装,若以基于API的编程方法为基础,学生可以更好地理解和使用这些工具软件。

基于API的Windows编程技术课程适合为计算机专业2、3年级的本科生开设,具有承接程序设计语言类课程和专业基础课、选修课的作用,是一门实践性很强的课程。本文对实践教学增进授课效果,通过实践教学带动学生的学习积极性、发挥学生的创造性进行论述,重点探讨如何通过实践教学发挥基于API的Windows编程课程的作用,帮助学生掌握基本技能、提高实践能力和自学能力、发挥创造力,帮助教师提高授课水平、促进教学方法的改革、探索研究型教学的新模式。

1实践教学增进授课效果

实践教学内容设置、教学手段和对学生完成实践任务的考核是实践教学的几个要素。这些要素实施与基于API的Windows编程课授课效果密切相关。

1.1实践教学内容

教学内容设置决定了实践教学对课堂授课的辅助效果。目前刊行的高校教材内容不充分、实验部分缺乏、例程不足,专门针对本科生的实践教学指导需要授课教师不断摸索、整理和积累。随着Windows操作系统的不断演进,高校也需要改进实践教学大纲、扩展实验课条件、更新实践课内容。

以本课程组从成立到发展至今10年间的实际经历看,Windows经历了从16位、32位到64位操作系统的演进,随之演化的主流操作系统版本从Windows 95、Windows 98再到Windows 2000、Windows XP[2],开发工具从Visual C++到的各个版本以及其他开发工具,都在升级换代之中,这些变化不仅要求课堂教学扩充新的知识,更要求实践教学与时俱进,改变授课内容,跟进实验条件。

本课程组的课堂授课和实践教学时间比为3:2,课堂教学以实例讲解为主,随着Windows操作系统的演进,教师不断积累更能反映教学要点的例程,通过讲解实例达到传授基础理论和为学生动手实践作准备的双重效果。实验教学以培养学生动手能力为主,在10周时间里循序渐进地安排2个验证性实验、6个设计性实验和1个综合性实验,涵盖了本课程的各个关键知识点,还通过综合实验使学生融会贯通地掌握各个知识要点。

1.2实践教学手段

有效的实践教学必须通过适合的教学手段来实施。对编程课而言,基本的教学手段就是集中学生在实验室进行代码开发调试、辅助指导学生并且进行进展和成果检查。师生在实验课上进行面对面交流,一来可以增进信任和了解,二来可以实时解决问题。在教学中,低年级程序设计课程中强调的语法、规则不再占据主要地位,而多数内容的理解(如Windows程序的消息处理机制等)必须通过学生亲自尝试才能融会贯通。一些不属于课堂授课内容的程序调制技巧(如设置断点、单步调试等),学生只有通过实验室程序调试的实践操作才能体会到开发工具的妙用。

除了经典的实验室实践教学模式,一些新型教学模式也可以作为实践教学的辅助手段。实践教学的许多任务,尤其是综合作业,往往需要学生在实验课以外开发,而遇到问题时难以及时获得有效指导,网络教学就可以提供有益的补充。通过网络教学,学生可以即时反馈问题,教师可以收集信息,通过网络教学集中给学生指导。另一个优点是,教师通过网络,在非授课时间逐步把大型开发任务的有用提示给学生,以启发学生更好地完成任务。

除了按部就班地开展实践教学,许多课外授课方式也成为实践教学的有效手段。比如我们组织学生参与各类程序设计竞赛、参与大学生创新课题开发、参与授课教师的科研课题研发,时间不局限于某门课程的授课期限。这为学生提供了课堂外的实践教学机会,更有效地发掘和利用学生资源,促进教学和研究相结合,通过教学相长强化实践教学成果。

经过多届学生的尝试,这种教学方式得到了学校和学生的有力支持。学生完成课堂以外真实开发任务时,成功实践了比较深奥、往往是大型项目才会涉及的编程方法,有效提高了实践教学质量。

1.3实践教学考核

学生完成的设计作品是考核学生的重要依据。作为编程类课程,如果采用传统的卷面笔试或者让学生提交源代码和可执行文件的运行结果,不仅难以考核学生的实际动手能力,也会因为存在抄袭等现象而缺乏公正性。

为了解决上述问题,我们课程组采用了以下考核方式:1)所有的实践作业必须通过教师和学生一对一的验收才能获得成绩,在验收过程中教师提问、学生回答,并介绍自己完成的系统,帮助老师准确判断学生对各个实践要点的实际掌握能力,加强师生之间的教学交流;2)针对单个知识点的小型实践作业作为平时作业计入平时成绩;3)综合性实践作业成绩计入期末考试成绩,目前我们以实践能力考核(40%)和卷面理论知识考核(60%)的比例安排。这对激励学生参与实践教学、按质量完成实践作品起到了有力促进作用,也提升了授课效果。

2实践教学提高学习兴趣

实践性教学的成败在于能否按照既定的教学目标完成对学生的培养。我们课程组为基于API的Windows编程技术课制定了以下教学目标:帮助学生掌握Windows下高级语言编程的技巧,使用Windows的资源以及用户输入、输出界面,掌握面向对象的程序设计方法及消息驱动的程序结构,了解多任务及数据共享等概念,全面提高学生的专业编程能力。为了实现这样的教学目标,我们在实践教学中提高学生的学习的积极性,并鼓励学生发挥创造力。

2.1提高学生积极性

为了提高学生学习的积极性,首先要使学生明白学习该课程的目的和意义。Windows操作系统是应用最广泛的操作系统之一,计算机专业的学生必须要学习Windows编程课。课堂教学直接灌输难以令学生信服,实践教学是使学生明白Windows编程课意义的有效途径。在教学过程中,我们也采用了“Hello world!”程序作为入门练习,要求学生把实现程序的效果和程序设计语言课老师教授的“Hello world!”程序实现结果作比较。学生的第一反应是,如此简单的功能为何需要如此冗长的代码来实现?接下来,我们指导学生采用5行代码,并加入了对键盘消息响应后随机改变字符串颜色的功能,然后让学生考虑如何用程序设计语言实现这样的功能。这样一个小小的实践作业帮助学生明白了Windows编程和操作系统紧密相关;让学生了解如何通过消息响应调用API,进行操作系统的底层开发;也让学生深刻体会到,字符串像动画一样神奇地改变颜色闪烁,是操作系统控制的结果。

循序渐进的实践教学可以帮助学生细嚼慢咽地打好课程基础,掌握课程的核心思想方法,有助于学生树立信心,提高学习积极性。以基于API的Windows编程课为例,我们把综合性实践作业(设计具有角色动画功能的游戏)成绩记入了期末考试,第一堂课就布置给学生构思。在授课过程中,我们对综合作业的功能进行了分解,把每一个小模块都变成了一个实践课平时作业。比如游戏中的角色移动,我们首先要求学生实现“字符移动”小程序,进行GDI编程讲解后,再让学生实现位图显示和透明位图显示,将这两个小作业的设计方法结合起来,就能实现综合大作业里角色的移动动画功能。如果把综合作业比作一幢楼,那么各个实践课的小作业就是在为这幢楼添砖加瓦,等到一个学期的小作业都完成时,综合性作业也就水到渠成。回首实践课中不断积累,直至完成一个完整项目的经历,学生的成就感就会加倍,提高了对编程的兴趣。这一过程帮助我们实现了授课目标:让学生明白API开发应用系统和操作系统平台调用API的机制。

2.2激发学生创造力

实践教学的任务选择决定了学生能够自由发挥的空间。在设计作业时,我们对程序的功能设置和运行效果的要求往往只设置了下限,鼓励学生把实践作业当作真实的应用程序开发,尽其所能地发挥,许多富有创造力的作品因此而完成。

另外,我们在实践教学中采用一些诱导式教学方法,激发学生的创造力。通过多年的积累,我们筛选和保留了历届学生作业的精品,在实践教学中演示,学长们的创意程序作品激励着学弟学妹们发挥个人创造力。对具有个人创造力的作品,我们也在课堂上给予表扬和鼓励,并且让这些学生在专门时间内演示,讲解设计要点。例如,在讲授GDI绘图函数时,有一名同学灵感突发,采用简单的绘制圆形和直线函数完成了一个桌面时钟程序,这些创意作品一经宣传就极具吸引力,在班级中营造出一种创新上进的氛围。

3结语

本文以基于API的Windows编程课为例,从教学内容设置、教学手段和考核方法三方面探讨了通过实践教学增进教学效果,通过实践教学提高学生积极性和发挥学生创造力的做法。编程类课程的实践教学对培养具有软件编程能力的应用型人才,提高我国计算机软件行业的水平具有举足轻重的作用。

参考文献:

[1] H.Schildt. Windows 98 Programming From the Ground Up[M]. Columbus:McGraw-Hill Companies, 1998:5-6.

[2] 王强. Windows API for 2000/XP实例精解[M]. 北京:机械工业出版社,2002:1-5.

上一篇:基于复合控制的电力系统稳定器设计 下一篇:借鉴CDIO理念构建实践教学体系