C#程序设计教学模式探索与实践

2016-10-12 05:23艳,郑
关键词:程序设计教学法知识点

黄 艳,郑 倩

(郑州轻工业学院 软件学院, 河南 郑州 450002)



C#程序设计教学模式探索与实践

黄艳,郑倩

(郑州轻工业学院 软件学院, 河南 郑州 450002)

针对C#程序设计课程概念复杂,规则繁多,运用灵活等教学特点,提出以任务为中心组织课程内容,多种教学模式相结合的教学方法.对新概念和新方法采用启发式教学法使学生形成稳定清晰的表象,对相似或相异概念采用比对式教学法展现其特点和规律,对前后连贯的知识点采用任务驱动的渐进式教学法使学生逐步掌握解决问题的具体方法.实践证明,该教学方法不仅激发了学生的求知欲和学习兴趣,而且有利于培养学生的创造思维能力和实践精神.

C#;任务驱动;教学方法;启发式教学;渐进式教学

0 引言

C#程序设计语言是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言,也是微软.NET公共语言运行环境中内置的核心程序设计语言.使用C#语言可以开发在.NET平台上运行的多种应用程序,包括Windows窗体应用程序、Web应用程序以及Web服务等.C#程序设计语言集中了目前几乎所有关于软件开发和软件工程研究的最新成果,包括类型安全、面向对象、组件技术、内存自动管理、版本控制、代码安全管理等,为在.NET环境下的计算机应用提供了功能强大、全新、易用的程序设计工具.

1 C#程序设计课程特点

C#程序设计是高校计算机相关专业必修的一门专业基础课,也是各高校许多专业的计算机高级语言,它是目前具有稳固阵地的计算机编程语言之一,功能强大,语句简洁,用它不仅可进行一般的程序设计,而且可进行大型的软件开发;不仅可用于编写科学计算程序、开发管理软件,而且可用于开发控制软件,它在计算机的实际应用中起着十分重要的作用[1-2].

C#程序设计是一门面向对象的高级编程语言课程,主要讲解高级编程语言的语法规则和程序设计、软件开发的方法,培养学生进行程序设计的思维方式,理解和掌握利用计算机进行程序设计和软件开发的技术,奠定在今后的学习和工作中应用计算机解决实际问题的能力[3].C#程序设计课程教学中,涉及的概念复杂,规则繁多,运用方法灵活,教师教学和学生学习都感到困难.然而,多数高校将C#程序设计作为计算机专业学生的一门专业基础课,C#程序设计课程学习效果的好坏直接影响到学生的专业水平.因此,该课程对于培养新世纪需要的面向现代化、面向未来、面向世界的人才具有重要的意义.

2 C#程序设计教学方法

C#程序设计课程应立足于实际能力培养,打破以知识传授为主要特征的传统学科课程模式,转变为以项目任务为中心组织课程内容和课程教学,让学生在完成具体任务的过程中来构建相关理论知识,并发展职业能力.

2.1启发式教学方法

C#是一门面向对象的现代语言,涉及面向对象的很多新概念、新方法.如果只是按照教材上的定义在课堂上给学生讲解这些新概念、新方法,学生理解起来将会非常困难.启发式教学法结合熟悉事物学习抽象概念和规律,使学生形成稳定清晰的表象,促进了学生对重点、难点知识的理解.

例如,针对“学生如何建立面向对象程序设计思想”的课程难点,把类和建筑物的设计图对应,把对象和建筑物的实体对应,如图1所示,启发学生对面向对象程序设计思想的理解.在C#程序设计课堂教学中灵活运用启发式教学,可激发学生思维,增强学生学习的主动性、积极性和创造性.

2.2对比式教学方法

教育家乌申藏斯基说过:“比较是一切理解和思维的基础.”对比式教学法就是通过比较相似或相异事物的一种学习方法.通过对C#语言的语法规则中相似或相异概念和方法进行比较,能更清楚地发现其特点和规律,并更深刻地理解和应用它们.

图1 启发式教学示例

图2 对比式教学示例

例如,“构造函数”和“方法重载”都是C#面向对象语言中的重要概念,应用场景也很多.通过对概念“构造函数”的初步学习,同学们了解C#语言中类的“构造函数”指与类同名的方法,用于创建类的对象.通过对概念“方法重载”的初步学习,同学们了解C#语言中的“方法重载”指具有相同名称不同参数列表的方法,旨在让类和对象以统一的方式处理不同形式数据.这两个看似毫不相关的概念实际上有着密切的联系和本质的区别.采用图2的对比式教学,通过在一个类定义中同时加入多个“构造函数” (加下划线部分)和多个重名方法(加粗部分),可以很清楚地看到“构造函数”就是一种特殊的方法,“构造函数”也可以重载.通过这个例子,老师可以清楚地讲解“构造函数”和“方法重载”之间的联系和区别,让学生深刻理解和区分这两个概念.

2.3任务驱动的渐进式教学方法

C#程序设计是一门实践性很强的专业课程,实践和实验教学是课堂教学中非常重要的一个环节.现有的C#程序设计教程中各个章节的案例都是依据各个章节的知识点编写的,各个章节的案例之间没有联系,学生在学习时无法连贯前后知识点,总是学习完新的知识点忘记了旧的知识点.而且书本上的案例多数是实验性质的案例,规模小,真实性不强,和企业要求脱节.

任务驱动教学法来源于建构主义学习理论,与其相适应的任务驱动教学模式是以学生为中心、教师为主导,利用项目任务创建的情境、协作、会话、操作等学习环境要素,充分发挥学生的主动性、积极性和创新精神,使学生有效地建构所学知识,增强实践能力[4].任务驱动教学法在教学过程中以任务为主线展开,把相关知识点融入任务的各个环节中去,层层推进项目.通过对问题的深化或功能扩充,来拓宽知识的广度和深度,直至得到一个完整的项目解决方案,从而达到学习知识、培养能力的目的.在这种模式中,教师根据学生已有的经验、知识、水平和兴趣来选取适合的教学任务,使学生置身于探索知识的情境之中,综合运用知识和技能解决实际问题,并在真实的项目流程中体验项目管理的思想和团队协作精神,提升创新和实践能力.

例如,在学习C#面向对象语言中”类”这个重要概念时[5],同学们了解到类是对同一种对象的抽象描述,类的成员有字段、方法、构造函数和属性等.为了加强同学们对类成员的理解和认识,我们采用如图3、图4、图5所示任务驱动的渐进式教学方法示例,以任务“定义一个船台类”为目标,由易到难,由浅入深,先完成类成员字段和方法的定义,接着,在类中加入类成员构造函数的定义,最后,在类中加入成员属性的定义,每次新加入的类成员都突出显示.通过这种渐进式教学方法,同学们不仅对类的各个成员有更深刻的认识,而且能很快掌握定义一个类的具体方法和步骤.如果在C#程序设计课堂教学中贯穿这种任务驱动的渐进式教学方法,同学们会很容易掌握完成一个实际项目的具体方法和步骤.

图3 类的字段与方法

图4 类的构造函数

图5 类的属性

3 教学效果

C#程序设计课程知识点繁多,概念抽象,以前的教学模式在为每个知识点设计教学案例时,没有连续性,各案例相互独立没有关联,不利于学生对知识点的系统化掌握.通过以实际任务为驱动,把任务分解到各个知识点案例中,由浅入深,由点到面,学生逐步掌握解决任务问题的同时系统化地掌握C#程序设计课程知识点.对于相似的知识点,通过对比案例进一步剖析它们之间的区别和联系,教学效果显著.

1)采用“任务驱动”的渐进式教学模式,通过“提出问题→分析问题→解决问题→边学边做→总结”的过程,激发了学生的求知欲和学习兴趣,学生在获得良好心理体验的过程中产生“心向往之”的情感,实现学生的积极主动学习[6].

2)启发式教学法激发思维,增强学生学习的主动性、积极性和创造性.针对课程难点创设情境,突出了事物的本质特征,促进了学生形成稳定清晰的表象,给学生学习概念、规律创造了条件,促进了学生对重点、难点知识的理解.

3)对比式教学法对同一个案例,采用不同的实现方法,达到让学生在具体案例中对相似技术的深刻理解,使学生较之传统的知识形成过程产生耳目一新的感觉,极大地拓宽了学生的视野,培养了学生的创造思维能力和实践精神,使学生的综合素质得到进一步提高.

4 总结

在C#程序设计课堂教学中,以项目任务为驱动,在讲授任务项目开发的过程中,把C#程序设计思想和方法融入其中.通过把任务分解到各个知识点案例中,并针对不同的课程知识点,因地制宜地采用不同的教学方法,由浅入深,由点到面,使学生在系统化地掌握C#程序设计技术的同时积累项目开发的经验,取得良好的教学效果.

[1]周本海.浅析程序设计课程中编程技能的培养[J]. 考试周刊, 2015(13): 128-129.

[2]苏秀云.程序设计课程教学中开展项目教学法的研究[J]. 职业,2010(15): 16.

[3]蒋颖.提升计算机专业学生编程技能的改进与实践[J]. 计算机光盘软件与应用,2014(6): 241-241.

[4]何连连,宋欢.C#程序设计课程教学的心得与体会[J].科技创新,2014(3): 325-325.

[5]黄艳,郑倩,孙海燕,等. C#程序设计基础教程[M].北京:清华大学出版社,2015:73-80.

[6]常晓鹏,周雪燕.问题驱动模式在VB循环结构教学中的应用研究[J].河南教育学院学报(自然科学版), 2014,23(3):69-71.

Exploration and Practice of the Teaching Modes for C# Programming

HUANG Yan, ZHENG Qian

(College of Software, Zhengzhou University of Light Industry, Zhengzhou 450002, China)

The course “C# program design” involves a wide range of complex concepts, rules and flexible methods. A task-focused teaching method which combines various teaching modes is proposed. The heuristic teaching mode is complied in new concepts and methods to make students form a stable and clear image, the comparative teaching mode is complied in similarity or dissimilarity concepts to distinguish their characteristics and rules, the task driven progressive teaching mode is complied in coherent knowledge to make students gradually master the specific methods of solving problems. Practice has proved that this teaching method not only stimulates students’ curiosity and interest in learning, but also is conducive to the cultivation of students’ creative thinking ability and practical spirit.

C#; task driven; teaching method; heuristic teaching; progressive teaching

2016-03-22

郑州市科技攻关计划项目(20130725);郑州轻工业学院博士基金项目(2013BSJJ050)

黄艳(1976—),女,河南信阳人,郑州轻工业学院软件学院副教授,主要研究方向:程序设计课程教学.

10.3969/j.issn.1007-0834.2016.03.018

G642.0;TP312

A

1007-0834(2016)03-0065-04

猜你喜欢
程序设计教学法知识点
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
批注式阅读教学法探究
基于Visual Studio Code的C语言程序设计实践教学探索
实施“六步教学法”构建高中政治高效课堂
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
关于G20 的知识点
PLC梯形图程序设计技巧及应用