APP下载

电子专业C#程序设计课程教学方法探讨与研究

2019-09-10张胜兰

科学导报·学术 2019年43期
关键词:控件程序设计编程

张胜兰

摘  要:c#作为电子专业的专业课程之一,让学生掌握面向对象程序的编写和调试的能力,在以往教学中高职学生畏难情绪容易缺乏学习动力,影响教学效果。鉴于以上情况,本文针对各个教学板块的特点采取不同的教学方法,充分调动学生的积极性,让学生快速有效地学习

关键词:C#程序设计;教学方法

1、课程背景

C#程序设计课程是电子专业开设的一门专业课,是一门纯面向对象的程序设计语言,它主要面向的是上位机软件测试和开发岗位,。作为非计算机专业,以往的程序设计课程选择了VB程序设计,但是由于运用VB编写比较复杂和通用的高级应用程序,通常达不到要求。而目前流行Java、C#等语言,是现在高职学生更愿意去学和接触的。并且电子类专业学生有C语言的基础,能更专注于面向对象概念的理解和运用。基于这些原因,我们选择了C#程序设计作为教学内容。

2、教学现状

电子专业学生与计算机专业学生在知识能力结构上是不同的,纯编程类课程对于电子专业学生而言可能有一部分学生会觉得没有兴趣,或者觉得学不会。C#课程的教学全程都是在机房完成,通过讲练结合的项目式教学提高学生的编程能力。

但是在实际的教学过程中,学生很多时候表现为比较被动,缺乏主动参与意识和习惯,一味的按照老师的要求机械性地完成书本上的案例,不会思考,编程能力无法提高。这说明采用普通的项目教学,效果并不能很好的达到预期教学目标。

其次,高职学生理解能力不足,动手能力欠缺,对于较为难理解的面向对象的概念和机制,面对越来越长的代码,出现了程序调试不通过、畏难的情况,慢慢地就跟不上老师的进度了,也没有继续完成程序的强大动力了。

3、教学方法探讨

针对以上的教学情况,近几学期我对C#程序设计课程的教学进行了一系列探索和调整,在具体实施过程中不同教学内容采用不同的教学方法,让学生能快速有效地学习。

3.1 纠错法

C#基础语法部分,我首先会给出有瑕疵的案例让学生去做,通过一个个BUG的解决,让学生自己归纳出解决方法,。比如有这样一些BUG:无法将类型“string”隐式转换为“double”、应输入;、无效的表达式项“)”、当前上下文中不存在名称“s”。通过反复修改BUG来熟练对于数据类型转换、变量的定义、基本的结构的掌握情况,大大提高了程序的通过率。

3.2 比对法

C#面向对象部分,实现同样的问题采用不同的机制:比如虚方法、抽象方法、接口方法。我们可以给出3种机制实现的代码,让学生通过讨论找出这3种实现方法的不同點,从而达到进一步理解继承与多态的概念。

例如给出设计要求:描述一个几何图形类,派生出长方形类、正方形类、圆形类,并为每个图形对象计算面积。虚方法:public ;Virtual double Area(){return 0;}的关键字是Virtual,并且在基类于派生类定义之外的其他类定义中再声明一个含基类对象形参的方法:public statiic double FromArea(Dimension re){return re.Area();}抽象方法:public abstract double Area();的关键字是abstract,接口:public interface IArea{ double Area();}定义接口,其他类继承于接口,并且实现接口里面的所有成员。在程序编写和调试时,可以采用设置断点的方式,在FromArea这个方法里通过追踪可以看到不同的对象导致程序进入到不同的Area()方法里求面积,进而深刻地理解多态的含义。

3.3 拆分法

Windows窗体程序开发部分,窗体上各控件及其属性、方法比较多,综合应用起来难度很大。于是我们将一个“用户注册”的程序按控件拆分成TextBox、Button、RadioButton和CheckedListBox这4个部分,边讲解控件边完成程序,内容讲完这个程序就也写完了,最后再加入DateTimePicker控件和TabControl控件,整合以后就是完整程序了。拆分法将难点拆分开来,各个击破,让学生学习和应用起来感觉容易上手。当然,整个程序完成后,还需要引领着学生从整体上面对程序的结构有个清楚全面的认识。

3.4 真实案例法

访问数据库部分,通过图书馆的操作案例,让学生对比较抽象的数据库知识有了感性认识,同时对数据库的数据的操作5个部分:创建数据库和表、了解数据源、对数据源操作、通过数据集对数据进行各种操作、显示数据,有全面的了解和实操。为课程的综合项目实训打好基础。

3.5优化案例法

在每个任务之后都会提供给学生一个优化程序的建议或者思路,让学生主动去完善程序,调动所学的知识,可以打开思路天马行空,程序的优化是没有终点的,只要你愿意程序的优化永远在路上。针对每个程序的优化情况,记录分数作为平时成绩的一部分,这样坚持一段时间,同学们的思路更开阔了,经常会探讨书本上没有讲到的知识点,如果通过自己的研究学习实现了更强大的功能,那么编程的积极性就更高了。

4结束语

c#程序设计课程的教学不仅是编程能力,而是要通过该课程的学习培养学习的自学能力、实践能力、创新能力、分析问题和解决问题的能力、所学知识的运用能力以及项目团队团结协作能力。

本文从传统的C#课程教学存在的问题入手,探索了一系列适用于各教学模块的方法,在2017级2018级的电子专业学生中得到了应用,可以发现2017、2018级学生的编程能力有大幅提高,学生的学习积极性也明显提升。

参考文献

[1]  郭玲,袁满.基于案例驱动的研究性教学[J].计算机教,2011(5):75—78.

[2]  胡文君.《基于.NET的软件开发》教学方法初探[J].现代计算机,2012(5):45—46,50.

[3]  黄淼,高敬礼等.C#程序设计课程教学改革研究[J].计算机教育,2010,18

作者简介:张生兰(1983.12-),女(汉族),湖北武汉,武汉城市职业学院,职称:讲师;研究方向:数字电路。

猜你喜欢

控件程序设计编程
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
使用“填表单”微信小程序 统计信息很方便
医学专业“Python程序设计”课程教学改革总结与思考
基于.net的用户定义验证控件的应用分析
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画